iptables で中・韓からのアクセスをブロック
December 5, 2014 – 11:02 am我がPCサーバへの中・韓からのアクセスをブロックすることにした。
二つの国に割り当てられているIPアドレスからSSH、HTTP、Postfix(Dovecot)への不用(不法?)なアクセスが多かったことによる。
iptables設定のshell script のうち国別処理を行う部分について以下メモしておいた:
# 特定の国(日本国内)からのアクセスを許可する if [ -s ./iplist ]; then iptables -N ACCEPT_JP_FILTER sed -n 's/^JP\t//p' ./iplist | while read address; do iptables -A ACCEPT_JP_FILTER -s $address -j ACCEPT done fi # 特定の国(中国、韓国)からのアクセスを拒否する if [ -s ./iplist ]; then iptables -N DROP_COUNTRY_FILTER sed -n 's/^\(CN\|KR\)\t//p' ./iplist | while read address; do iptables -A DROP_COUNTRY_FILTER -s $address -j DROP done iptables -A INPUT -j DROP_COUNTRY_FILTER fi # For SSH(tcp 22) with hashlimit /sbin/iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m hashlimit \ --hashlimit-name ssh_limit --hashlimit 1/m --hashlimit-burst 5 \ --hashlimit-mode srcip --hashlimit-htable-expire 360000 -j ACCEPT_JP_FILTER # For HTTP(tcp 80) /sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT # Other Services are followed
ここで、SSHについては日本国内からのみアクセスを許可する構成にしている。
またファイル iplist は国別のIPv4アドレスの割り当てが与えられている。
参考にしたサイト:
OXY NOTES iptablesの設定ファイルをシェルスクリプトを利用して動的に作成
関連ポスト:
- SSHへの不正アクセス対処法をhashlimitに変更
- Postfix(SMTP)へのアタックにhashlimitで対処
- AlmaLinux 8 の利用: firewalld に代え nftables を活用