Apache - разрешить прокси, заблокировать прямой вызов порта

У меня есть VPS, который действует как прокси для ssh-туннелированных веб-серверов. Прямо сейчас вы можете позвонить: http://myserverdomain.com:1234 и вы подключаетесь к server1 http://myserverdomain.com:2345 и вы подключаетесь к server2

Я добавил конфигурацию apache со строками:

ProxyPass /server1 http://localhost:1234/
ProxyPassReverse /server1 http://localhost:1234/

И я могу получить доступ к этому серверу, позвонив http: // myserverdomain .com / server1 (Я должен изменить относительные URL-адреса, но это уже другая история)

Проблема в том, что я хотел бы заблокировать прямой вызов по номеру порта, чтобы никто не мог обнаружить все туннелированные веб-серверы, которые в настоящее время подключены, просто путем сканирования http://myserverdomain.com для открытых портов.

Я попытался настроить iptables с помощью iptables -A INPUT -p tcp --destination-port 1234 -j DROP , но он также заблокировал мой прокси apache (если я правильно понял, это потому, что iptables работает на более низких уровня, чем сервер apache - поправьте меня, если я ошибаюсь).

Если да, то как я могу достичь своей цели - заблокировать порт от прямого вызова, но не перенаправления прокси-сервера apache?

0
задан 4 October 2016 в 12:54
1 ответ

Если у вас и туннели, и Apache на одной машине, просто используйте 127.0.0.1:1234 и 127.0.0.1:2345 для туннелей.

В противном случае, с iptables в машине, где у вас есть туннели:

iptables -I INPUT -p tcp --dport 1234 -J DROP
iptables -I INPUT -p tcp -s 127.0.0.1 -J ACCEPT
iptables -I INPUT -p tcp -s $APACHE_IP -J ACCEPT

должны работать

.
0
ответ дан 5 December 2019 в 09:28

Теги

Похожие вопросы