У меня есть настройка сервера, которая выглядит следующим образом:
example.com
;80
перенаправляется на 443
;443
перенаправляется в проект Symfony;http://127.0.0.1:8030
(нет поддержки SSL/TLS);https://example.com/api
— прокси к локальному серверу API(ProxyPass
и ProxyPassReverse
, см. приведенную ниже конфигурацию Apache), чтобы:
Примечание:Я сделал эту настройку с прокси-сервером для локального API, потому что у меня было много проблем с правилами CORS; но это не предмет моего вопроса (Я думаю, что есть гораздо, гораздо лучшие установки).
Можно ли считать такую настройку безопасной или стоит добавить поддержку SSL/TLS для локального API?
<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>
Зависит от разрешения на доступ к самому хосту. В случае, если система просто обрабатывает трафик http/https и ни один пользователь (, кроме администраторов), не может войти в систему, я бы сказал ДА, это безопасный дизайн...
Вопрос в том, КТО и КОГДА может получить доступ к конфиденциальным данным. Завершение SSL в любом случае выполняется на сервере, поэтому есть часть, где в любом случае существуют незащищенные данные(, например. ОЗУ). Таким образом, пока система не будет ограничена в доступе и незащищенные данные не покинут систему (, например. без передачи сетевой карты)данные будут в безопасности.
Уровень SSL в локальном соединении не принесет большой пользы, так как все ключи в любом случае находятся в системе. Ресурс, сэкономленный на де-/шифровании локального трафика, можно использовать для большего количества подключений, которые может обработать система...