Ubuntu 19では、次のスクリプトを使用しています GitHub-iptables + ipset + ipdeny.comを使用して国をブロック 。
インストールして、テスト用に2つのIPリストを取得するように構成しました。シェルから実行しても、/var/log/ipset-country.log
。
を使用してブロックされたIPの範囲を一覧表示しようとすると
iptables -L INPUT -v -n
そうですか
Chain INPUT (policy DROP 59 packets, 2873 bytes)
pkts bytes target prot opt in out source destination
407K 137M ufw-before-logging-input all -- * * 0.0.0.0/0 0.0.0.0/0
407K 137M ufw-before-input all -- * * 0.0.0.0/0 0.0.0.0/0
33086 1783K ufw-after-input all -- * * 0.0.0.0/0 0.0.0.0/0
32577 1759K ufw-after-logging-input all -- * * 0.0.0.0/0 0.0.0.0/0
32577 1759K ufw-reject-input all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 LOGIPS tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set ipv4-falkland_islands src
0 0 LOGIPS tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set ipv4-ethiopia src
32577 1759K ufw-track-input all -- * * 0.0.0.0/0 0.0.0.0/0
2つのipv4 IPセットのIP範囲が表示されていないようです。代わりに、私は0.0.0.0/0
。
これら2つのIPリストが正しくインポートされているかどうかを確認するにはどうすればよいですか?
現在ブロックされているIP範囲を一覧表示するにはどうすればよいですか?
最終的には、適切に機能していれば、国のブロックルールにゼロ以外のパケット数とバイト数が表示されるはずです。例:
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
...
60848 3326067 DROP all -- enp4s0 * 0.0.0.0/0 0.0.0.0/0 match-set china src
1265 57566 DROP all -- enp4s0 * 0.0.0.0/0 0.0.0.0/0 match-set hongkong src
26865 1085462 DROP all -- enp4s0 * 0.0.0.0/0 0.0.0.0/0 match-set romania src
193511 7816920 DROP all -- enp4s0 * 0.0.0.0/0 0.0.0.0/0 match-set russia src
33149 1358726 DROP all -- enp4s0 * 0.0.0.0/0 0.0.0.0/0 match-set ukraine src
セットの内容をリストするには、Sudo ipset list SETNAME
。例:
doug@DOUG-64:~$ Sudo ipset list romania | head -15
Name: romania
Type: hash:net
Revision: 6
Header: family inet hashsize 1024 maxelem 65536
Size in memory: 65600
References: 1
Members:
193.104.73.0/24
45.131.104.0/22
89.45.66.0/24
91.240.94.0/24
176.223.66.0/24
185.248.136.0/22
46.175.152.0/22
176.116.32.0/20
表示されているルールが適切であれば、ファイアウォールは稼働しています。
コマンドラインターミナルを開く([アプリケーション]> [アクセサリ]> [ターミナル]を選択)、またはsshを使用してリモートサーバーにログインし、次のコマンドを入力してIPアドレスを次のようにブロックします。
# /sbin/iptables -A INPUT -s 65.55.44.100 -j DROP
ブロックされたIPアドレスを表示するには、次のように入力します。
# iptables -L INPUT -v -n
OR
# iptables -L INPUT -v -n | less
タスク:禁止されているIPのLinuxを確認する次のようにgrepコマンドを使用して、IPアドレス1.2.3.4がブロックされているかどうかを確認します。
# iptables -L INPUT -v -n | grep "1.2.3.4"
IPアドレス1.2.3.4を削除またはブロック解除するにはどうすればよいですか? LinuxでIPアドレスを削除またはブロック解除するには、次の構文を使用して入力します。
# iptables -D INPUT -s 1.2.3.4 -j DROP
最後に、ファイアウォールを必ず保存してください。
# service iptables save