[Linux] Zugriff von bestimmten IP-Adressen und Portnummern mit iptables zulassen / blockieren

Ich werde ein Memo schreiben, wie man iptables setzt.

iptables ist eine der Linux-Firewalls. Wenn Sie sie auf dem Server festlegen, können Sie den Zugriff oder den Zugriff von diesem Server aus einschränken.

Dieses Mal habe ich jeder Person in der Testumgebung meines Unternehmens die Portnummer zugewiesen, sodass ich sie zu diesem Zeitpunkt festlegen musste. Ich werde es zu diesem Zeitpunkt als Memorandum schreiben.

Ich werde nur über die grundlegende Art des Schreibens von iptable schreiben, daher würde ich mich freuen, wenn Sie denken könnten: "Oh, ich werde es zu solchen Zeiten verwenden."

--Was ist iptable?

Was ist iptables?

iptables sind Firewalls, deren Betriebssystem standardmäßig auf Linux-basierten Servern installiert ist. Sie können dies auch verwenden, um den Zugriff von IP-Adressen zu blockieren, die Sie nicht mögen, oder um den Zugriff auf bestimmte Portnummern zu ermöglichen. Angenommen, Sie betreiben eine große EC-Site. Dann werden Sie möglicherweise von DoS aus Übersee angegriffen. In diesem Fall müssen Sie die IP-Adresse, auf die Sie zugreifen, verhindern. Eine der wirksamen Methoden in diesem Fall ist iptable. Es wird auch verwendet, um den Zugriff auf die Portnummer zu ermöglichen. Anstatt 80 oder 443 zu verwenden, wenn Sie auf das neue Web zugreifen möchten, können Sie es verwenden, wenn Sie Ihre eigene Portnummer wie 8003 verwenden möchten oder wenn Sie die Verwendung beenden möchten.

Grundlegende Art, iptable zu schreiben

Lassen Sie uns zunächst sehen, ob iptable überhaupt installiert ist.

which iptables

Sie können überprüfen, wo der Befehl iptables mit welchem Befehl gespeichert ist. mit diesem

/usr/sbin/iptables

Wenn es herauskommt, bedeutet es, dass es ohne Probleme installiert wird.

Öffne es mit vim und schau dir den Inhalt an.

*filter:INPUT DROP [0:0]:OUTPUT ACCEPT [0:0]

Ich denke, es ist am Anfang so geschrieben. INPUT DROP [0: 0] legt den Empfang für diesen Server fest. Auf jeden Fall wird die Kommunikation abgelehnt. AKZEPTIEREN ist okay. Mit dieser Einstellung akzeptiert dieser Server keine Kommunikation. Der grundlegende EINGANG ist also AKZEPTIEREN.

Steuern Sie den Zugriff auf IP-Adressen und Ports

IP-Adresse ist

iptables -A INPUT -s 192.168.xxx.xxx/32 -i eth0 -p tcp -m state --state NEW -m tcp --dport 22 -j DROP

So was. Ignorieren Sie diesmal die Option und sehen Sie sich nur den Teil von 192.168.xxx.xxx an. Es ist in Ordnung, wenn Sie eine IP-Adresse ändern, auf die Sie nicht zugreifen möchten. Die Portnummer lautet

-A INPUT -p tcp -m tcp --dport 8001 -j ACCEPT

Dies ermöglicht den Zugriff auf die 8001-Portnummer. Wenn Sie ACCEPT in DROP ändern, wird es geschlossen und ist nicht zugänglich. Das Bild des Zugriffs durch Angabe der Portnummer ist übrigens

https://qiita.com:8001

Es ist so. Qiita öffnet 8001 übrigens nicht, daher können Sie natürlich nicht darauf zugreifen. aber

https://qiita.com:443

Sie können normal darauf zugreifen! (Da der Port automatisch durch Angabe von https, ... festgelegt wird) Als Ganzes

# Generated by iptables-save v1.4.21 on Mon Jan 1 19:00:00 2019
*filter
:INPUT DROP [0:0]:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [37:2217]
-A INPUT -s 192.111.11.1/11 -p tcp -j ACCEPT
-A INPUT -s 58.111.11.111/11 -p tcp -m tcp --dport 29870 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 10050 -j ACCEPT
-A INPUT -p icmp -j ACCEPT-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8001 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8002 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8003 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8004 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8005 -j ACCEPT
COMMIT# Completed on Mon Jan 1 19:00:00 2019

Es ist so. Wenn Sie die Einstellungen geändert haben, starten Sie sie am Ende neu.


service iptables restart

Ich denke, das spiegelt das Ergebnis wider. Danke für deine harte Arbeit.

Recommended Posts

[Linux] Zugriff von bestimmten IP-Adressen und Portnummern mit iptables zulassen / blockieren
Erlauben Sie firewalld, nur bestimmte IP-Adressen zu ssh
ODBC-Zugriff auf SQL Server von Linux mit Python