Puncte:0

Docker și Iptables

drapel cn

Am instalat mai multe containere docker pe serverul meu. Toate containerele sunt în interiorul aceleiași rețele docker și, în principiu, structura este aceea că fiecare container se află în spatele containerului proxy invers nginxproxymanager.

Până acum e bine, totul merge bine.Așa că încerc să întăresc structura adăugând fail2ban, pe care nu am reușit să o fac să funcționeze. Mă străduiesc să înțeleg mai bine iptables, dar nu pot să funcționeze. După ce repornesc docker și inspectez fișierul iptables (/etc/iptables/iptables.rules) am asta

# Generat de iptables-save v1.8.7 pe vineri, 29 octombrie 09:48:00 2021
*nat
:ACCEPTAREA PRE-ROUTARE [82:13454]
:INPUT ACCEPT [71:12758]
: ACCEPT IEȘIRE [72:4846]
: POSTROUTING ACCEPT [858:45979]
:DOCKER - [0:0]
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-O IEȘIRE! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
-A POSTOUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
-A POSTOUTING -s 172.19.0.0/16 ! -o br-0aee38841ef3 -j MASQUERADE
-A POSTROUTING -s 172.19.0.2/32 -d 172.19.0.2/32 -p tcp -m tcp --dport 3000 -j MASQUERADE
-A DOCKER -i docker0 -j RETURN
-A DOCKER -i br-0aee38841ef3 -j RETURN
-UN DOCKER! -i br-0aee38841ef3 -p tcp -m tcp --dport 3000 -j DNAT --la-destinație 172.19.0.2:3000
COMMIT
# Finalizat vineri, 29 octombrie 09:48:00 2021
# Generat de iptables-save v1.8.7 pe vineri, 29 octombrie 09:48:00 2021
*filtru
:INPUT ACCEPT [98:7750]
: FORWARD ACCEPT [0:0]
: ACCEPT IEȘIRE [77:11194]
:DOCKER - [0:0]
:DOCKER-ISOLATION-STAGE-1 - [0:0]
:DOCKER-ISOLATION-STAGE-2 - [0:0]
:DOCKER-USER - [0:0]
-A INTRARE -s 37.XXX.XXX.XX/32 -j DROP
-A INTRARE -j DOCKER-UTILIZATOR
-UN FORWARD -j DOCKER-UTILIZATOR
-A ÎNAINTE -j DOCKER-ETAPA DE IZOLARE-1
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,STABLISHED -j ACCEPT
-A FORWARD -o docker0 -j DOCKER
-A ÎNTÂMPRE -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A FORWARD -o br-0aee38841ef3 -m conntrack --ctstate RELATED,STABLISHED -j ACCEPT
-A FORWARD -o br-0aee38841ef3 -j DOCKER
-A FORWARD -i br-0aee38841ef3 ! -o br-0aee38841ef3 -j ACCEPT
-A FORWARD -i br-0aee38841ef3 -o br-0aee38841ef3 -j ACCEPT
-A DOCKER -d 172.19.0.2/32 ! -i br-0aee38841ef3 -o br-0aee38841ef3 -p tcp -m tcp --dport 3000 -j ACCEPT    
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -i br-0aee38841ef3 ! -o br-0aee38841ef3 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-IZOLARE-ETAPA-1 -j RETURNARE
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -o br-0aee38841ef3 -j DROP
-A DOCKER-IZOLARE-ETAPA-2 -j RETURNARE
-A DOCKER-USER -s 37.XXX.XXX.XX/32 -j DROP
COMMIT
# Finalizat vineri, 29 octombrie 09:48:00 2021

Tocmai am eliminat regulile celorlalte containere, deoarece sunt același concept cu cel pe care l-am lăsat (dport 3000).

br-0aee38841ef3

este puntea creată când am creat rețeaua docker în care se află containerele mele.

După cum puteți vedea, am încercat să adaug o regulă DROP pe adresa mea IP publică (37.XXX.XXX.XX) atât în ​​lanțurile INPUT și DOCKER-USER, dar încă pot naviga prin containerele mele (am un domeniu personalizat pe care A înregistrările indică IP-ul meu), așa că regula nu funcționează. Desigur, iptables sunt pornite și reîncărcate cu noile reguli, deci ce îmi lipsește pentru a interzice un IP?

Puncte:0
drapel hu

Este posibil să aveți nevoie să:

iptables -A DOCKER-USER -j RETURN

Cred că controlul cade de la capătul lanțului tău fără nicio decizie.

A.B avatar
drapel cl
A.B
Aș crede că este opusul: această regulă este deja adăugată de Docker și împiedică regulile atașate la ea (mai degrabă decât introduse înaintea ei) să funcționeze.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.