Назад | Перейти на главную страницу

Apache2: безопасен ли прокси с https на http

Я новичок во всем этом серверном материале, и у меня есть вопрос относительно безопасности прокси-сервера apache.

Что я делаю: у меня есть сервер websocket, работающий в небезопасном режиме на порту 11221 в той же системе (только localhost, но с apache это другое приложение).

В моем apache я создал конфигурацию с прокси для этого сервера:

ServerName websocket.example.com

SSLCertificateFile /path/to/fullchain.pem
SSLCertificateKeyFile /path/to/privkey.pem

ProxyPass / ws://localhost:11221/
ProxyPassReverse / ws://localhost:11221/

Эта комбинация работает безупречно, я могу подключиться через безопасный подключение через веб-сокет к серверу (используя wss://websocket.example.com). И я проверил, что напрямую к нему не могу подключиться. ws://websocket.example.com:11221 завершится ошибкой при отказе в соединении (как и ожидалось).

Мой вопрос теперь: это безопасно? Т.е. остается ли соединение зашифрованным даже после переключения на протокол веб-сокета? Насколько я понял из своего исследования, он остается зашифрованным, но я не смог найти однозначного ответа.

Очевидно, что уровень SSL применяется только к соединению от клиента к apache; вот почему вы все-таки настроили apache, не так ли? (Также называется «разгрузкой SSL». Я обычно использую для этого pound или haproxy, что намного проще / меньше, чем apache, если это все, для чего вы используете apache.)

Связь между apache и всем, что слушает порт 11221, обязательно не зашифрована; в противном случае вам также потребуется установить сертификат SLL в приложение websocket (а также использовать https: //, а не ws: //).

Тем не менее, если вы не можете один процесс передавать данные другому процессу в той же системе (в конце концов, вы используете localhost общаться), то у вас большие проблемы. Теоретически кто-то с соответствующими привилегиями в локальной системе может подслушивать общение, но этот человек также может просто использовать strace о процессе получения данных.