Am iptables configurat cu docker-compose, dar lista mea albă numai a adreselor IP pe care le doresc nu pare să funcționeze, deoarece serverul primește încă încercări de acces la distanță:
Conexiunea s-a potrivit cu pg_hba.conf linia 95: „gazdă toate toate toate md5”
2021-09-01 21:36:42.132 UTC [8821] FATAL: autentificarea parolei a eșuat pentru utilizatorul „postgres”
2021-09-01 21:36:42.132 UTC [8821] DETALII: Rolul „postgres” nu există.
Cum îmi pot repara iptables pentru a fi configurat corect? Ce am greșit aici?
-P CĂDERARE INTRARE
-P PĂDURA ÎNTÂMPRE
-P ACCEPT IEȘIRE
-N DOCKER
-N DOCKER-IZOLARE-ETAPA-1
-N DOCKER-ETAPA DE IZOLARE-2
-N DOCKER-UTILIZATOR
-A INTRARE -i lo -j ACCEPT
-A INTRARE -i eth1 -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,STABLISHED -j ACCEPT
-A INTRARE -p tcp -m tcp --dport 22 -j ACCEPT
-A INTRARE -p tcp -m tcp --dport 80 -j ACCEPT
-A INTRARE -p tcp -m tcp --dport 443 -j ACCEPT
-A INTRARE -s xxx.xxx.xx.xx/xx -p tcp -m tcp --dport 5432 -j ACCEPT (unde x este eliminat adresele IP)
-A INTRARE -s xxx.xxx.xx.xx/xx -p tcp -m tcp --dport 5432 -j ACCEPT
-A INTRARE -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A INTRARE -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A INTRARE -p icmp -m icmp --icmp-type 11 -j ACCEPT
-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-1de8a78b46b8 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o br-1de8a78b46b8 -j DOCKER
-A FORWARD -i br-1de8a78b46b8 ! -o br-1de8a78b46b8 -j ACCEPT
-A FORWARD -i br-1de8a78b46b8 -o br-1de8a78b46b8 -j ACCEPT
-A FORWARD -p tcp -m tcp --dport 5432 -m iprange --src-range 82.208.14.110-82.208.14.119 -j ACCEPT
-A FORWARD -p tcp -m tcp --dport 5432 -j REJECT --reject-with icmp-port-unreachable
-A DOCKER -d 172.18.0.2/32 ! -i br-1de8a78b46b8 -o br-1de8a78b46b8 -p tcp -m tcp --dport 6379 -j ACCEPT
-A DOCKER -d 172.18.0.3/32 ! -i br-1de8a78b46b8 -o br-1de8a78b46b8 -p tcp -m tcp --dport 2368 -j ACCEPT
-A DOCKER -d 172.18.0.4/32 ! -i br-1de8a78b46b8 -o br-1de8a78b46b8 -p tcp -m tcp --dport 5432 -j ACCEPT
-A DOCKER -d 172.18.0.5/32 ! -i br-1de8a78b46b8 -o br-1de8a78b46b8 -p tcp -m tcp --dport 5900 -j ACCEPT
-A DOCKER -d 172.18.0.5/32 ! -i br-1de8a78b46b8 -o br-1de8a78b46b8 -p tcp -m tcp --dport 4444 -j ACCEPT
-A DOCKER -d 172.18.0.8/32 ! -i br-1de8a78b46b8 -o br-1de8a78b46b8 -p tcp -m tcp --dport 8000 -j ACCEPT
-A DOCKER -d 172.18.0.9/32 ! -i br-1de8a78b46b8 -o br-1de8a78b46b8 -p tcp -m tcp --dport 443 -j ACCEPT
-A DOCKER -d 172.18.0.9/32 ! -i br-1de8a78b46b8 -o br-1de8a78b46b8 -p tcp -m tcp --dport 80 -j ACCEPT
-A DOCKER -d 172.18.0.6/32 ! -i br-1de8a78b46b8 -o br-1de8a78b46b8 -p tcp -m tcp --dport 9300 -j ACCEPT
-A DOCKER -d 172.18.0.6/32 ! -i br-1de8a78b46b8 -o br-1de8a78b46b8 -p tcp -m tcp --dport 9200 -j ACCEPT
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-IZOLARE-ETAPA-1 -i br-1de8a78b46b8 ! -o br-1de8a78b46b8 -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-1de8a78b46b8 -j DROP
-A DOCKER-IZOLARE-ETAPA-2 -j RETURNARE
-UN DOCKER-USER -j RETURN
EDITAȚI | ×:
Iată configurația mea pentru docker-compose:
postgres:
imagine: "postgres:12.1"
env_file:
- „.env”
porturi:
- '5432:5432' # eliminat 127.0.0.1: - adăugarea de firewall-uri în iptables
reporniți: „${DOCKER_RESTART_POLICY:-unless-stopped}”
stop_grace_period: „${DOCKER_STOP_GRACE_PERIOD:-3s}”
volume:
- postgres:/var/lib/postgresql/data
- /opt/ghost_postgres:/var/lib/postgres
retele:
- esnet
redis:
imagine: redis:5.0.6-alpin
comandă: redis-server --requirepass „${REDIS_PASS}”
reporniți: „${DOCKER_RESTART_POLICY:-unless-stopped}”
stop_grace_period: „${DOCKER_STOP_GRACE_PERIOD:-3s}”
porturi:
- „6379:6379”
volume:
- redis:/var/lib/redis/data
retele:
- esnet
prosebit:
construi:
context: "."
argumente:
- „FLASK_ENV=${FLASK_ENV:-producție}”
- „NODE_ENV=${NODE_ENV:-producție}”
depinde de:
- "postgres"
- "redis"
env_file:
- „.env”
porturi:
- „${DOCKER_WEB_PORT:-127.0.0.1:8000}:8000”
reporniți: „${DOCKER_RESTART_POLICY:-unless-stopped}”
stop_grace_period: „${DOCKER_STOP_GRACE_PERIOD:-3s}”
volume:
- „${DOCKER_WEB_VOLUME:-./public:/app/public}”
retele:
- esnet
web:
depinde de:
- prosebit
reporniți: întotdeauna
construi:
context: ../nginx #added /deploy pentru dezvoltare, eliminați pentru producție
dockerfile: Dockerfile
volume:
...
porturi:
- 80:80
- 443:443
retele:
- "esnet"
țelină:
construi:
context: "."
argumente:
- „FLASK_ENV=${FLASK_ENV:-producție}”
- „NODE_ENV=${NODE_ENV:-producție}”
comanda: lucrator telina -B -l info -A
env_file:
- „.env”
depinde de:
- "postgres"
- "redis"
env_file:
- „.env”
reporniți: „${DOCKER_RESTART_POLICY:-unless-stopped}”
stop_grace_period: „${DOCKER_STOP_GRACE_PERIOD:-3s}”
volume:
- „${DOCKER_WEB_VOLUME:-./public:/app/public}”
retele:
- "esnet"