www.smiyasaka.com は、 2019 年2月から SSL 化し 通信を暗号化した方式で発信をしています。

先人の知恵を借りて作成した
ファイアーウォールのプログラム



先人のプログラムは、完璧なので自分の環境に合うように修正しました。
ホームディレクトリに、適宜のプログラム名で下記シェルスクリプトのプログラムを書き込む。
※※ 注意 ※※ ここは、面倒ですがコピペでして下さい。



cd /home/miyasaka/; vi iptable_centos.txt

以下をコピーし張り付ける。

#!/bin/sh

#
# すべてのルールをクリア
#
/etc/init.d/iptables stop

#
# デフォルトルール設定
#
/sbin/iptables -P INPUT   DROP   # 受信はすべて破棄
/sbin/iptables -P FORWARD DROP   # 通過はすべて破棄
/sbin/iptables -P OUTPUT  ACCEPT # 送信はすべて許可
/sbin/iptables -F

#
# ローカル・ネットワーク・アドレスの設定
#
LAN='192.168.0.0/24' # ローカル・ネットワーク・アドレス

#
# ループバックアドレスからのアクセスを許可
#
/sbin/iptables -A INPUT -i lo -j ACCEPT

#
# ローカルネットワーク内からのアクセスを許可
#
/sbin/iptables -A INPUT -s $LAN -j ACCEPT

#
# 内部から行ったアクセスに対する外部からの応答アクセスを許可
#
/sbin/iptables -A INPUT\
 -m state --state ESTABLISHED,RELATED -j ACCEPT

#
# フラグメントを破棄
#
/sbin/iptables -N fragment
/sbin/iptables -A fragment\
 -j LOG --log-prefix '[iptables FRAGMENT] '
/sbin/iptables -A fragment -j DROP
/sbin/iptables -A INPUT -f -j fragment

#
# NetBIOS関連パケットの流出防止
#
/sbin/iptables -N net-bios
/sbin/iptables -A net-bios\
 -j LOG --log-prefix '[iptables NETBIOS] '
/sbin/iptables -A net-bios -j DROP
/sbin/iptables -A INPUT  -s ! $LAN -p tcp -m multiport\
 --dports 135,137,138,139,445 -j net-bios
/sbin/iptables -A INPUT  -s ! $LAN -p udp -m multiport\
 --dports 135,137,138,139,445 -j net-bios
/sbin/iptables -A OUTPUT -d ! $LAN -p tcp -m multiport\
 --sports 135,137,138,139,445 -j net-bios
/sbin/iptables -A OUTPUT -d ! $LAN -p udp -m multiport\
 --sports 135,137,138,139,445 -j net-bios

#
# Ping of Death攻撃対策
#
/sbin/iptables -N ping-death
/sbin/iptables -A ping-death\
 -m limit --limit 1/s --limit-burst 4 -j ACCEPT
/sbin/iptables -A ping-death\
 -j LOG --log-prefix '[iptables PING DEATH] '
/sbin/iptables -A ping-death -j DROP
/sbin/iptables -A INPUT -p icmp\
 --icmp-type echo-request -j ping-death

#
# SYNフラッド攻撃対策
#
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

#
# Smurf攻撃対策
#
echo 1> /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

#
# PING( ICMP )
#
/sbin/iptables -A INPUT -p icmp -j ACCEPT

#
# localhost
#
/sbin/iptables -A INPUT -i lo -j ACCEPT

#
# my network LAN
#
/sbin/iptables -A INPUT -s $LAN -d 0/0 -p tcp -j ACCEPT
/sbin/iptables -A INPUT -s $LAN -d 0/0 -p udp -j ACCEPT

#
# httpd
#
/sbin/iptables -A INPUT -p tcp --dport 80  -j ACCEPT
/sbin/iptables -A INPUT -p tcp --sport 80  -j ACCEPT

#
# ssh
#
/sbin/iptables -A INPUT -s 0/0   -p tcp --dport 2222 -j ACCEPT

#
# ftp
#
#/sbin/iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#/sbin/iptables -A INPUT -p tcp --sport 20 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 21 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --sport 21 -j ACCEPT

#
# ntpd
#
/sbin/iptables -A INPUT -p udp --dport 123 -j ACCEPT

#
# LAN内からのみWebmin(10000番ポート)への接続を許可
#
/sbin/iptables -A INPUT -s $LAN -p tcp --dport 10000 -j ACCEPT

#
# restart
#
/etc/rc.d/init.d/iptables save
/etc/rc.d/init.d/iptables restart

-------------------------------------------------------------------
iptable_centos.txtのテキストファイルを/etc/rc.d/というディレクトリに移動と伴に iptable.shに、リネイムし、実行権限を与える。


mv iptable_centos.txt\
 /etc/rc.d/iptable.sh;chmod 755 /etc/rc.d/iptable.sh

iptable.shを実行する。

/etc/rc.d/iptable.sh

以下の様に表示するば、動作OKです。
--------------------------------------------------------------------------
ファイアウォールのルールを /etc/sysconfig/iptables に保存中[  OK  ]
ファイアウォールルールを適用中:              [  OK  ]
チェインポリシーを ACCEPT に設定中filter           [  OK  ]
iptables モジュールを取り外し中               [  OK  ]
iptables ファイアウォールルールを適用中:            [  OK  ]
iptables モジュールを読み込み中ip_conntrack_netbios_ns   [  OK  ]
--------------------------------------------------------------------------
   *****************************************
   サーバー起動時に自動で、iptablesを有効にする設定
   *****************************************
/etc/rc.d/rc.localを編集する。

vi /etc/rc.d/rc.local

以下を追加する。

#iptable
/etc/rc.d/iptable.sh

下記の2行のコマンドても追加できます。

echo "#iptable
/etc/rc.d/iptable.sh" >> /etc/rc.d/rc.local
--------------------------------------------------------------------