インターネットにサーバを公開していると特定のIPから辞書攻撃を受けたり、WEBページへのアタックを受けて重くなる等の事案が少なからず発生します。例えば以下のログ(/var/log/secure)は、中国と思われるIPアドレスからSSHの認証を試みる通信が来ていることを示します。もちろん中国からこのサーバにログインすることはありません。よってこれは攻撃を受けている状態、といえます。
Apr 30 09:41:48 rproxy sshd[1574]: Failed password for root from 183.3.202.178 port 21465 ssh2 Apr 30 09:41:50 rproxy sshd[1574]: Failed password for root from 183.3.202.178 port 21465 ssh2 Apr 30 09:41:53 rproxy sshd[1574]: Failed password for root from 183.3.202.178 port 21465 ssh2
拒否したいIPが特定できれば、Linuxのルーティングテーブル操作を行うことで簡単に拒否設定が可能です。設定にはipコマンドを利用します。なお、ルーティングテーブルの操作は、rootでの操作権限が必要となります。
現在のルーティングテーブルの確認する場合は以下コマンドを実行します。
[root@rproxy ~]# ip route show unreachable 183.79.135.206 blackhole 183.3.202.178 10.24.96.0/24 dev eth0 proto kernel scope link src 10.24.96.210 169.254.0.0/16 dev eth0 scope link metric 1002 default via 10.24.96.254 dev eth0
または
[root@rproxy ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 183.79.135.206 - 255.255.255.255 !H 0 - 0 - 183.3.202.178 0.0.0.0 255.255.255.255 UH 0 0 0 * 10.24.96.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 10.24.96.254 0.0.0.0 UG 0 0 0 eth0
以下のコマンドで拒否用の静的ルーティングルールを追加します。blackholeは送出I/Fをblackhole(null)とすることで応答パケットを結果的に捨てさせます。unreachableは不到達フラグをルーティング情報として保持させ、応答を行わせないようにしています。
ip route add xx.xx.xx.xx/yy blackhole
または
ip route add xx.xx.xx.xx/yy unreachable
上記コマンドは再起動によってクリアされるため、恒久的な設定を行う場合は専用のファイルで静的ルート設定を行います。(なければ作成します。)記述内容に関しては、基本的に維持したいルールをip route show コマンドで確認し、該当行をそのままコピペするだけでOKです。これでサーバ再起動後も静的ルーティングの設定が維持されます。
[root@rproxy ~]# ip route show unreachable 183.79.135.206 ←拒否ルール blackhole 183.3.202.178 ←拒否ルール 10.24.96.0/24 dev eth0 proto kernel scope link src 10.24.96.210 8.8.8.0/24 via 10.24.96.254 dev eth0 169.254.0.0/16 dev eth0 scope link metric 1002 default via 10.24.96.254 dev eth0
設定ファイルは[/etc/sysconfig/network-scripts/route-インターフェース名]です。
[root@rproxy ~]# cat /etc/sysconfig/network-scripts/route-eth0 unreachable 183.79.135.206 blackhole 183.3.202.0/24
設定したルートを削除する場合は以下のコマンドを利用します。
[root@rproxy ~]# ip route del xx.xx.xx.xx
または
[root@rproxy ~]# ip route del xx.xx.xx.xx/yy
以上です。
Copyright © 2021 たぐたぐ.com. All rights reserved.