web-dev-qa-db-ja.com

Ubuntu TrustyでブロックされたIPアドレスの場所を禁止

このスクリプトをブロックポートのポートスキャンに使用しています。 IPがポートスキャンIPにnmapまたは何らかのスキャナーツールを使用しようとしている場合、そのIPは86400秒間ブラックリストに移動されます。私が見つけたチュートリアル ここ(リンクは時々死ぬ)

#!/bin/sh
#
#
# Script is for stoping Portscan and smurf attack

### first flush all the iptables Rules
iptables -F

# Protecting portscans
# Attacking IP will be locked for 24 hours (3600 x 24 = 86400 Seconds)
iptables -A INPUT -m recent --name portscan --rcheck --seconds 86400 -j DROP
iptables -A FORWARD -m recent --name portscan --rcheck --seconds 86400 -j DROP

# Remove attacking IP after 24 hours
iptables -A INPUT -m recent --name portscan --remove
iptables -A FORWARD -m recent --name portscan --remove

# These rules add scanners to the portscan list, and log the attempt.
iptables -A INPUT -p tcp -m tcp --dport 139 -m recent --name portscan --set -j LOG --log-prefix "portscan:"
iptables -A INPUT -p tcp -m tcp --dport 139 -m recent --name portscan --set -j DROP

iptables -A FORWARD -p tcp -m tcp --dport 139 -m recent --name portscan --set -j LOG --log-prefix "portscan:"
iptables -A FORWARD -p tcp -m tcp --dport 139 -m recent --name portscan --set -j DROP

ブロッキングは機能しています。しかし、ブラックリストからIPのブロックを解除したい場合、それが格納されている場所を見つけることができません。これを試してみました:

iptables -L INPUT -v -n

それは私に結果を与えません。多分、そのIPをブロックするために手動のiptableコマンドを使用していないからでしょう。

Iptable-saveコマンドを使用すると、ファイルの内容は次のようになります。

# Generated by iptables-save v1.4.21 on Tue Aug  1 09:55:24 2017
*filter
:INPUT ACCEPT [2573:464414]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [2561:450932]
-A INPUT -m recent --rcheck --seconds 86400 --name portscan --mask 255.255.255.255 --rsource -j DROP
-A INPUT -m recent --remove --name portscan --mask 255.255.255.255 --rsource
-A INPUT -p tcp -m tcp --dport 139 -m recent --set --name portscan --mask 255.255.255.255 --rsource -j LOG --log-prefix "portscan:"
-A INPUT -p tcp -m tcp --dport 139 -m recent --set --name portscan --mask 255.255.255.255 --rsource -j DROP
-A FORWARD -m recent --rcheck --seconds 86400 --name portscan --mask 255.255.255.255 --rsource -j DROP
-A FORWARD -m recent --remove --name portscan --mask 255.255.255.255 --rsource
-A FORWARD -p tcp -m tcp --dport 139 -m recent --set --name portscan --mask 255.255.255.255 --rsource -j LOG --log-prefix "portscan:"
-A FORWARD -p tcp -m tcp --dport 139 -m recent --set --name portscan --mask 255.255.255.255 --rsource -j DROP
COMMIT
# Completed on Tue Aug  1 09:55:24 2017

ブロックされたIPの兆候はありません。では、上記のスクリプトでブロックされたIPのブロックを解除するにはどうすればよいですか?

1
BlueStorm

Iptablesの最近のモジュールで使用されるさまざまなテーブルは、/proc/net/xt_recentに格納されています。例:

$ ls -l /proc/net/xt_recent
total 0
-rw-r--r-- 1 root root 0 Jul 31 17:31 BADGUY_EMAIL
-rw-r--r-- 1 root root 0 Jul 31 17:31 BADGUY_SSH
-rw-r--r-- 1 root root 0 Jul 31 17:31 HTTP_01
-rw-r--r-- 1 root root 0 Jul 31 17:31 HTTP_02
-rw-r--r-- 1 root root 0 Jul 31 17:31 HTTP_BAN

ここで、HTTP_BANテーブルを確認したとします。

src=151.80.153.116 ttl: 54 last_seen: 4328384635 oldest_pkt: 1 4328384635, ..., 4328384635
src=96.49.73.155 ttl: 123 last_seen: 5452194021 oldest_pkt: 3 5452194014, ..., 5452194014
src=107.172.148.195 ttl: 55 last_seen: 5129807106 oldest_pkt: 15 5129803346, ..., 5129803346
src=125.64.94.206 ttl: 50 last_seen: 4540016391 oldest_pkt: 11 4540008881, ..., 4540016391
src=173.180.45.3 ttl: 63 last_seen: 5037092972 oldest_pkt: 15 5037078444, ..., 5037078444
src=77.66.1.97 ttl: 46 last_seen: 4981357498 oldest_pkt: 17 4981346351, ..., 4981346351
src=78.73.133.234 ttl: 55 last_seen: 5009073697 oldest_pkt: 9 5009058041, ..., 5009058041
src=23.16.13.188 ttl: 125 last_seen: 4353548286 oldest_pkt: 1 4353548286, ..., 4353548286
src=131.247.152.158 ttl: 46 last_seen: 5187361776 oldest_pkt: 23 5187345808, ..., 5187345808
src=173.196.177.69 ttl: 51 last_seen: 4741647347 oldest_pkt: 21 4741643594, ..., 4741643594
src=122.114.223.46 ttl: 49 last_seen: 4914484055 oldest_pkt: 9 4914477305, ..., 4914477305

そして、現在リストにある2つのアドレスを許可することにしました。

$ echo -122.114.223.46 | Sudo tee /proc/net/xt_recent/HTTP_BAN
-122.114.223.46
$ echo -173.180.45.3 | Sudo tee /proc/net/xt_recent/HTTP_BAN
-173.180.45.3

そして、もう一度リストを確認してください:

src=151.80.153.116 ttl: 54 last_seen: 4328384635 oldest_pkt: 1 4328384635, ..., 4328384635
src=96.49.73.155 ttl: 123 last_seen: 5452194021 oldest_pkt: 3 5452194014, ..., 5452194014
src=107.172.148.195 ttl: 55 last_seen: 5129807106 oldest_pkt: 15 5129803346, ..., 5129803346
src=125.64.94.206 ttl: 50 last_seen: 4540016391 oldest_pkt: 11 4540008881, ..., 4540016391
src=77.66.1.97 ttl: 46 last_seen: 4981357498 oldest_pkt: 17 4981346351, ..., 4981346351
src=78.73.133.234 ttl: 55 last_seen: 5009073697 oldest_pkt: 9 5009058041, ..., 5009058041
src=23.16.13.188 ttl: 125 last_seen: 4353548286 oldest_pkt: 1 4353548286, ..., 4353548286
src=131.247.152.158 ttl: 46 last_seen: 5187361776 oldest_pkt: 23 5187345808, ..., 5187345808
src=173.196.177.69 ttl: 51 last_seen: 4741647347 oldest_pkt: 21 4741643594, ..., 4741643594

そして、これら2つのIPアドレスがなくなっていることを確認します。

1
Doug Smythies