Запретить входящий трафик c с docker и ansible iptables - PullRequest
2 голосов
/ 28 апреля 2020

На автономном сервере у меня есть docker контейнер с jenkins. Я хочу написать сборник пьес, который позволит мне (некоторые publi c ip, скажем, 107.33.11.111) подключаться через 22 и 8080 к серверу jenkins на моем автономном сервере, но больше никому. Publi c traffi c выходит на eth0 на моем автономном сервере. Я использую это руководство , чтобы попытаться сделать это.

Вот пример того, как я запускаю jenkins:

# privileged is needed to allow browser based testing via chrome
- name: Run jenkins container
  command: docker run --privileged -d -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts-jdk11

Затем я устанавливаю это правило брандмауэра:

- name: Firewall rule - allow port 22/SSH traffic only for me
  iptables:
    chain: INPUT
    in_interface: eth0
    destination_port: 22
    jump: ACCEPT
    protocol: tcp
    source: 107.33.11.111

- name: Firewall rule - allow port 8080 traffic only for me
  iptables:
    chain: INPUT
    in_interface: eth0
    destination_port: 8080
    jump: ACCEPT
    protocol: tcp
    source: 107.33.11.111

- name: Firewall rule - drop any traffic without rule
  iptables:
    chain: INPUT
    jump: DROP
    in_interface: eth0

Когда я запускаю вышеприведенную пьесу и запускаю iptables -L, мой вывод обрезается до:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination 

Когда я удаляю последнее правило, чтобы отбросить все траффи c Я могу наблюдать весь вывод, а в таблицах ip показан мой ip, разрешенный для портов 22 и 8080. Однако все остальные трафики c, поступающие на eth0, также могут достигать этих портов.

Что мне нужно сделать, чтобы разрешить 22 и 8080 только для определенного c publi c адреса в моей ansible playbook?

1 Ответ

3 голосов
/ 07 мая 2020

Для указанного вами варианта использования c вам не нужно переходить к другой цепочке, но вы можете установить политику по умолчанию DROP после разрешения 8080 и 22.

Заменить последний раздел в ваша книга с

- name: Firewall rule - drop any traffic without rule
  iptables:
    chain: INPUT
    policy: DROP
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...