UbuntuでFirewall設定するならufwがらくちんな件
iptablesって厄介ですよね。色んな意味で。
Ubuntuだとufwを使うと楽に設定できるらしいので試してみました。
というか、もうiptablesに戻りたくないお……
iptablesでやる場合(基本)
オーソドックスにhttpとsshだけ空ける場合。
$ sudo iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP $ sudo iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP $ sudo iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
簡単な攻撃対策をして、
$ sudo iptables -A INPUT -i lo -j ACCEPT $ sudo iptables -A INPUT -p icmp -j ACCEPT $ sudo iptables -A INPUT -p tcp -m tcp --dport http -j ACCEPT $ sudo iptables -A INPUT -p tcp -m tcp --dport 10022 -j ACCEPT
localhost内の通信、httpとssh(ポートは10022にした)は空ける。
pingも動作確認用に便利なので空ける。
$ sudo iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
接続中のものはそのまま。
$ sudo iptables -P INPUT DROP $ sudo iptables -P OUTPUT ACCEPT
指定以外のINは全て破棄、OUTは全開放。
で、ここから各家の秘伝のたれ作りが始まる。
秘伝のたれの例はこういうの。
しんじゃう……
ufwでやる場合
$ sudo ufw reset
(初期は空ですが)現在の設定を消して、
$ sudo ufw default DENY
デフォルトは全閉じ(ホワイトリスト方式)、
$ sudo ufw allow 80 $ sudo ufw allow 10022
httpとsshを開け、
$ sudo ufw enable
有効化する。
やべー、超らくちん!
しかも、
$ sudo ufw limit 10022
SSHをパスワード接続で使っているなら、limitの設定をつけておけばブルートフォース攻撃も防げる。
(まあ、ポート変えたとしても証明書接続がいいと思いますが)
CentOSでも使えるみたい
タイムリーにQiitaに記事が載ってた。