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

Блокировка Jenkins на порту 8080

Мой коллега установил Jenkins на один из наших тестовых серверов. Когда я получаю доступ к IP-адресу сервера и порту 8080, Jenkins работает, то есть 99.999.999.999:8080

Я хочу заблокировать приложение Jenkins для внешнего мира и сделать его доступным только с внутренних IP-адресов.

Итак, я установил VirtualHost в apache следующим образом:

<VirtualHost *:80>
   ServerName jenkins.mytestserver.com
   ErrorLog logs/jenkins.mytestserver.com-error_log
   CustomLog logs/jenkins.mytestserver.com-access_log common

   #ProxyPass  /usr/share/tomcat6/webapps/ ajp://127.0.0.1:8080/usr/share/tomcat6/webapps/
   #ProxyPassReverse /usr/share/tomcat6/webapps/ ajp://127.0.0.1:8080/usr/share/tomcat6/webapps/
   #ProxyRequests Off

   ProxyPass / http://localhost:8080/ nocanon
   ProxyPassReverse / http://localhost:8080/
   ProxyRequests Off
   ProxyPreserveHost On

   <Location />
     order deny,allow
     deny from all
     Allow from 11.111.111.111 
   </Location>
</VirtualHost>

Vhost работает, я могу получить доступ к jenkins через jenkins.mytestserver.com, и он заблокирован от внешнего мира.

Как запретить внешнему миру доступ к нему через 99.999.999.999:8080?

Я чувствую, что способ, которым я сделал ReverseProxy выше, неверен, поскольку он просто передает запрос http: // локальный: 8080 / что то же самое, что http://99.999.999.999:8080

Я ссылался на следующие документы:

https://wiki.jenkins-ci.org/display/JENKINS/Apache+frontend+for+security

https://www.mulesoft.com/tcat/tomcat-connectors (Я думаю, что ответ на мой вопрос находится в этом документе, но я не могу его понять).

Любая помощь приветствуется.

С уважением, Стивен

Поскольку вы проксируете трафик с веб-сервера Apache на http://localhost:8080/, вы можете настроить в Tomcat соединитель что это должно быть связано с address=127.0.0.1 вместо поведения по умолчанию, которое заключается в привязке ко всем интерфейсам.

Таким образом, единственный путь к вашей службе jenkins - через ваш прокси (если, конечно, вы не подключаетесь с той же машины, на которой запущены jenkins)

Если вы также хотите включить SSL в конфигурацию, вы также можете использовать proxyPass, но для порта, прослушивающего 443, и также поместить свою конфигурацию SSL в apache httpd (и иметь перенаправление с порта 80 на 443).

Простой способ заблокировать трафик с помощью iptables

IPTables Как сделать довольно хорошо, как

Основная идея того, как блокировать, будет

sudo iptables -A INPUT -s 192.168.x.x -p tcp --dport 8080 -j ACCEPT ко всей вашей сети sudo iptables -A INPUT -p tcp --dport 8080 -j REJECT отклонить все другие сети