Heim > Betrieb und Instandhaltung > Betrieb und Wartung von Linux > Fallstudie zum stapelweisen Blockieren bösartiger IP-Adressen, um Angriffe unter Linux zu verhindern

Fallstudie zum stapelweisen Blockieren bösartiger IP-Adressen, um Angriffe unter Linux zu verhindern

黄舟
Freigeben: 2017-06-07 10:28:43
Original
2304 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

Installieren:

Die einfachste Methode ist die Installation von yum, 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 Ausführen ./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/Modul angezeigt wird kann s/2.6.32-431.el6.x86_64/source nicht gefunden werden

Nach einer Untersuchung wurde festgestellt, dass dieser 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 wieder 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. /autogen.sh, ein Fehler wird gemeldet:

Kann /usr/share/libtool/ nicht finden

Lösung: Installieren Sie das libtool-devel-Toolpaket, installieren Sie einfach 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 Quellcode-Paketen

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 IP-Adressen-Deaktivierung

Jetzt sollten Sie sehen, wie leistungsfähig die IP-Erfassung ist. Tatsächlich gibt es viele kostenlose oder kostenpflichtige Dienste, die helfen können Sie tun dies. Mal sehen, wie Sie eine IP-Blacklist automatisch zum IP-Set hinzufügen können.

Lassen Sie uns zunächst eine kostenlose Blacklist von iblocklist.com erstellen iblocklist2ipset, um es auf die schwarze Liste zu setzen. Konvertieren Sie die Liste in einen IP-Satz.

Zuerst müssen Sie pip

mit dem folgenden Befehl installieren, 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, für die Installation das Quellcodepaket zu verwenden die neueste Version

Das obige ist der detaillierte Inhalt vonFallstudie zum stapelweisen Blockieren bösartiger IP-Adressen, 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