Score:0

ปลอดภัยไหมที่จะพูดคุยกับ Local API ด้วย http เมื่อปลายทางสาธารณะคือ https

ธง ng

บริบท

ฉันมีการตั้งค่าเซิร์ฟเวอร์ที่มีลักษณะดังนี้:

  • เซิร์ฟเวอร์ Apache กำลังรับฟัง ตัวอย่าง.คอม;
  • ท่าเรือสาธารณะ 80 ถูกเปลี่ยนเส้นทางไปที่ 443;
  • ท่าเรือสาธารณะ 443 ถูกส่งต่อไปยังโครงการ Symfony
  • ในเครื่องเดียวกันมีเซิร์ฟเวอร์ API ภายในเครื่องที่เขียนด้วย Rust ซึ่งกำลังฟังอยู่ http://127.0.0.1:8030 (ไม่รองรับ SSL/TLS);
  • API ภายในเครื่องสามารถตอบสนองข้อมูลที่ละเอียดอ่อนบางอย่าง เช่น โทเค็นการตรวจสอบสิทธิ์ JWT;
  • https://example.com/api เป็นพร็อกซีไปยังเซิร์ฟเวอร์ API ภายในเครื่อง (พร็อกซีพาส และ ProxyPassย้อนกลับ, ดูการกำหนดค่า Apache ด้านล่าง) เพื่อ:
    • เปิดเผย API ต่อผู้ใช้ขั้นสุดท้าย พร้อมรองรับ SSL/TLS,
    • และเพื่อให้สามารถส่งคำขอจาวาสคริปต์ XHR จากเว็บไซต์ Symfony สาธารณะได้

บันทึก: ฉันทำการตั้งค่านี้ด้วยพร็อกซีสำหรับ Local API เนื่องจากฉันมีปัญหามากมายเกี่ยวกับกฎ CORS; แต่ นี่คือ ไม่ เรื่องของคำถามของฉัน (ฉันเดาว่ามีการตั้งค่าที่ดีกว่ามาก)

คำถาม

การตั้งค่านี้ถือว่าปลอดภัยหรือไม่ หรือควรเพิ่มการรองรับ SSL/TLS สำหรับ API ภายในเครื่องเป็นจุดที่ดีหรือไม่

การกำหนดค่า Apache ง่ายขึ้นเล็กน้อย

<VirtualHost *:80>
   ServerName example.com
   Redirect / https://example.com
</VirtualHost>

<VirtualHost *:443>
    ServerName example.com

    DirectoryIndex /index.php

    ProxyPass /api http://127.0.0.1:8030/
    ProxyPassReverse /api http://127.0.0.1:8030/

    SSLEngine on
    SSLProtocol -ALL +TLSv1.2 +TLSv1.3
    SSLCompression off
    SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
    SSLCACertificateFile /etc/letsencrypt/live/example.com/fullchain.pem

    DocumentRoot /var/www/html/symfony_project/public
    <Directory /var/www/html/symfony_project/public>
        AllowOverride All
        Require all granted
        Allow from All
        FallbackResource /index.php
    </Directory>

    ErrorLog /var/log/apache2/symfony_project_error.log
    CustomLog /var/log/apache2/symfony_project_access.log combined
</VirtualHost>
Score:0
ธง it

ขึ้นอยู่กับการอนุญาตการเข้าถึงของโฮสต์เองในกรณีที่ระบบจัดการการรับส่งข้อมูล http/https และไม่อนุญาตให้ผู้ใช้ (ยกเว้นผู้ดูแลระบบ) เข้าสู่ระบบ ฉันจะบอกว่า ใช่ มันเป็นการออกแบบที่ปลอดภัย...

คำถามคือใครและเมื่อใดที่สามารถจับข้อมูลที่ละเอียดอ่อนได้ การยกเลิก SSL นั้นทำบนเซิร์ฟเวอร์อยู่แล้ว ดังนั้นจึงมีส่วนที่มีข้อมูลที่ไม่ปลอดภัยอยู่ (เช่น RAM) ดังนั้น จนกว่าระบบจะถูกจำกัดการเข้าถึงและข้อมูลที่ไม่ปลอดภัยจะไม่ออกจากระบบ (เช่น ไม่ผ่านการ์ดเครือข่าย) ข้อมูลจึงจะปลอดภัย

เลเยอร์ SSL บนการเชื่อมต่อภายในจะไม่มีประโยชน์มากนักเนื่องจากคีย์ทั้งหมดอยู่ในระบบอยู่ดี ทรัพยากรที่บันทึกไว้ในการถอดรหัส / เข้ารหัสทราฟฟิกในเครื่องสามารถใช้สำหรับปริมาณการเชื่อมต่อที่สูงกว่าที่ระบบสามารถจัดการได้...

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา