Ausführliche Erklärung, wie man bösartige IP-Adressen stapelweise blockiert, um Angriffe unter Linux zu verhindern

巴扎黑
Freigeben: 2017-08-21 15:22:46
Original
2862 Leute haben es durchsucht

In vielen Fällen müssen Sie möglicherweise IP-Adressen unter Linux blockieren. Beispielsweise möchten Sie als Endbenutzer möglicherweise vor Spyware oder IP-Tracking geschützt werden. Wenn Sie ein Systemadministrator sind, möchten Sie möglicherweise Spam-IP-Adressen den Zugriff auf Ihren Unternehmens-Mailserver verbieten. Oder Sie möchten bestimmten Ländern aus irgendeinem Grund den Zugriff auf Ihren Webdienst verbieten. In vielen Fällen kann Ihre IP-Adress-Sperrliste jedoch schnell auf Zehntausende IPs anwachsen. Wie gehe ich damit um?

Lösung: ipset + iblocklist2ipset

Installation:

Offizielle Website: http://ipset.netfilter.org/install.html

Die einfachste Methode ist die Yum-Installation, aber die Version dieser Methode ist relativ niedrig und es fehlen einige verwendete Modulparameter usw., daher wird sie nicht empfohlen

yum install ipset -y
Nach dem Login kopieren

Kompilieren und installieren:

1. Abhängigkeitsumgebung:

yum install libmnl libmnl-devel kernel-devel libtool-devel -y
Nach dem Login kopieren

(Installationsmethode der neuen Version: git pull git://git.netfilter.org/libmnl.git run ./autogen.sh)

( Hinweis: Wenn Sie nur libmnl installieren, wird der folgende Fehler angezeigt:

checking for libmnl... configure: error: Package requirements (libmnl >= 1) were not met:
No package 'libmnl' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables libmnl_CFLAGS
and libmnl_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
)
Nach dem Login kopieren

Beim Kompilieren kann es sein, dass /lib/modules/2.6.32-431.el6.x86_64/source

Nach der Untersuchung wurde festgestellt, dass der Softlink /lib/modules/2.6.32-431.el6.x86_64/build -->/usr/src/kernels/2.6.32-431.el6 .x86_64 existiert nicht

Lösung: Stellen Sie die Soft-Verbindung erneut her

ln -sb /usr/src/kernels/2.6.32-573.3.1.el6.x86_64 /lib/modules/2.6.32-431.el6.x86_64/build
Nach dem Login kopieren

Beim Ausführen von ./autogen.sh wird eine Fehlermeldung gemeldet:

Kann nicht gefunden werden /usr/share/libtool/

Lösung: Installieren Sie das libtool-devel-Toolpaket mit yum install libtool-devel

2. Kompilieren und installieren Sie ipset (Linux-Kernel-Quellcode (Version >= 2.6.32))

wget -P /usr/local/src http://ipset.netfilter.org/ipset-6.26.tar.bz2
cd /usr/local/src && tar xjf ipset-6.26.tar.bz2 && cd ipset-6.26
./autogen.sh
./configure
make
make modules
make install 
make modules_install
Nach dem Login kopieren

Hinweis: Verschiedene Linux-Kernel verwenden unterschiedliche Versionen von Quellcodepaketen

Hinweis: Linux-Kernel-Quellcode (Version >= 2.6.16 oder >= 2.4.36)

Kompilieren und installieren:

wget -P /usr/local/src http://ipset.netfilter.org/ipset-4.5.tar.bz2
cd /usr/local/src && tar xf ipset-4.5.tar.bz2 && cd ipset-4.5
make KERNEL_DIR=http://img.xue163.com/lib/modules/$(shell uname -r)/build     #$(shell uname -r)使用shell命令获取
make KERNEL_DIR=http://img.xue163.com/lib/modules/$(shell uname -r)/build install
Nach dem Login kopieren

Häufig verwendete Befehle:

ipset list 查看ip集列表信息
ipset create pythontab hash:ip maxelem 1000000  创建一个IP集pythontab,指定类型为hash:ip,设置ip集最多存储IP数为1000000
ipset add pythontab X.X.X.X  增加一个ip地址到IP集pythontab中去
ipset add pythontab X.X.X.X/24  增加一个网段到IP集pythontab中去
ipset dell pythontab X.X.X.X   删除IP集中指定的IP地址
ipset list 查看当前所有list
ipset save pythontab -f pythontab.txt  将IP集pythontab中的信息保存到当前文件目录下面的文件pythontab.txt中
ipset destroy pythontab   删除指定的IP集pythontab  
ipset restore -f pythontab.txt  将保存的pythontab.txt文件中的IP集信息重新导入到ipset中
其他命令参考 ipset --help
iptable命令参考:
iptables -I INPUT -m set --match-set pythontab src -p tcp --destination-port 80 -j DROP #拒绝ipset IP集pythontab中的地址访问服务器的80端口
service iptables save
service iptables restart
Nach dem Login kopieren

Automatische Deaktivierung der IP-Adresse

Jetzt sollten Sie sehen Die Macht der Pflege von IP-Blacklists ist eine mühsame und zeitaufwendige Aufgabe. Es gibt tatsächlich viele kostenlose oder kostenpflichtige Dienste, die Ihnen dabei helfen können. Als zusätzlichen Bonus schauen wir uns an, wie Sie IP-Blacklists automatisch hinzufügen >Besorgen Sie sich zunächst eine kostenlose Blacklist von iblocklist.com

Als nächstes verwende ich ein Open-Source-Python-Tool namens iblocklist2ipset, um die Blacklist in einen IP-Satz umzuwandeln

Zuerst Sie . Sie müssen pip

installieren und den folgenden Befehl verwenden, um iblocklist2ipset zu installieren.

In einigen Distributionen wie Fedora müssen Sie möglicherweise Folgendes ausführen:
$ pip install iblocklist2ipset
Nach dem Login kopieren

Gehen Sie nun zu iblocklist.com und holen Sie sich die URL einer beliebigen P2P-Liste (z. B. „ Liste „level1“ ).
$ python-pip install iblocklist2ipset
Nach dem Login kopieren

Laden Sie es herunter, entpacken Sie es und speichern Sie es dann als TXT-Datei, beispielsweise mit dem Namen pythontab.txt. Da iblocklist2ipset nur URLs zum Abrufen der Liste unterstützt, legen Sie pythontab.txt in einem beliebigen Verzeichnis Ihrer Website ab. Beispiel: ipset-Verzeichnis

Nachdem Sie den obigen Befehl ausgeführt haben, erhalten Sie eine Datei mit dem Namen pythontab.txt. Wenn Sie sich den Inhalt ansehen, sehen Sie etwa Folgendes:
$ iblocklist2ipset generate --ipset pythontab "http://www.pythontab.com/ipset/pythontab.txt" > pythontab.txt
Nach dem Login kopieren

Sie können diese Datei mit dem folgenden ipset-Befehl laden:
create pythontab hash:net family inet hashsize 131072 maxelem 237302
add pythontab 1.2.4.0/24
add pythontab 1.2.8.0/24
add pythontab 1.9.75.8/32
add pythontab 1.9.96.105/32
add pythontab 1.9.102.251/32
add pythontab 1.9.189.65/32
Nach dem Login kopieren

Sie können jetzt die automatisch erstellten IPs anzeigen Festlegen:
$ ipset restore -f pythontab.txt
Nach dem Login kopieren

Dies erspart Ihnen die Mühe der manuellen Verwaltung.
$ ipset list pythontab
Nach dem Login kopieren

Beachten Sie, dass die mit yum unter Centos installierte Version möglicherweise nicht die neueste Version unterstützt und die Blacklist-Datei nicht importiert. Daher wird empfohlen, das Quellpaket zur Installation zu verwenden neueste Version

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung, wie man bösartige IP-Adressen stapelweise blockiert, um Angriffe unter Linux zu verhindern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage