iptables-Regel für eingehende IP-Adressen und Ports

461
MajAfy

Ich habe 2 Server, einen für Webanfragen (ich nannte ihn den web) und einer ist für Datenbank (ich nannte ihn den db). Beide Server sind CentOS 7.

Ich möchte diese Regeln in iptables:

  • Alle Anfragen an den dbServer sollten blockiert sein (alle IPs an allen Ports).
  • Nur webServer ( y.y.y.y) kann dbüber Ports auf den Server zugreifen 5432und 6379;
  • Nur eine statische IP ( x.x.x.x) kann auf den Port zugreifen 22.

Ich habe diese Regeln geschrieben, bin aber nicht sicher, ob sie richtig sind

iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -p tcp --dport 5432 -s y.y.y.y -j ACCEPT iptables -A INPUT -p tcp --dport 6379 -s y.y.y.y -j ACCEPT iptables -A INPUT -p tcp --dport 22 -s x.x.x.x -j ACCEPT 
0

1 Antwort auf die Frage

0
Mr Shunz

Obwohl diese Regeln korrekt sind (vorausgesetzt, sie gehen zum dbServer "), fehlt Ihnen eine wichtige Regel:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 

Ohne diese Regel, und mit der INPUTStandardpolitik DROP, Ihre dbServer selbst werden nicht auf das Netzwerk zugreifen können, beispielsweise Upgrades installieren oder ping/ tracerouteErreichbarkeitsprüfung usw.

Also sollte ein vollständiger iptablesRegelsatz sein

iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp --dport 5432 -s y.y.y.y -j ACCEPT iptables -A INPUT -p tcp --dport 6379 -s y.y.y.y -j ACCEPT iptables -A INPUT -p tcp --dport 22 -s x.x.x.x -j ACCEPT 

Bitte stellen Sie sicher, dass Sie nicht iptables -P INPUT DROPvia gehen, sshda Sie dadurch von Ihrem Server ausgeschlossen werden.

Danke, sollte ich meine Regeln und Ihre Regel verwenden? MajAfy vor 5 Jahren 0
@MajAfy Ich habe meine Antwort mit vollem Regelsatz aktualisiert. Mr Shunz vor 5 Jahren 0
Danke, ich werde es testen MajAfy vor 5 Jahren 0