Prev / Next / /home/pochi/ChangeLog

Ubuntu Server で ufw を使う[Ubuntu]

2012-05-07

iptablesを素で使うほうが馴れてるんだけど、
Ubuntu流では ufw を使うものらしい。
ufw を使うと、簡単にファイアウォールの設定ができる。
具体的には iptableのルールをそれっぽく作ってくれて便利。
IPv6のルールも作ってくれるのがおいしいところ。

ちなみに iptables を素で使うやり方は以下。
Ubuntu で iptables を起動時に立ち上げる --> [2010-10-04-2]


下準備として sshd のポートは変更しておきたいので、
sshd の設定を変更。

sudo cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.dist
sudo vi /etc/ssh/sshd_config


変更点。

diff -u /etc/ssh/sshd_config.dist /etc/ssh/sshd_config

...
-Port 22
+Port <変更したポート番号>


sshd再起動。

sudo vi /etc/init.d/ssh restart


接続確認。

ssh -p <変更したポート番号> ホスト名


ufwのアプリケーション設定ファイルにも、
ポートを変更したsshdサーバの設定を追加。

cd /etc/ufw/applications.d
sudo cp openssh-server openssh-server-another
sudo vi openssh-server-another


変更点は以下。

diff -u openssh-server openssh-server-another


-[OpenSSH]
+[OpenSSH Another]
..
-ports=22/tcp
+ports=<変更したポート番号>/tcp


sshに関する下準備終了。

いよいよ、ufwの設定。
まずは現状確認。

sudo ufw status


ufwの有効化。

sudo ufw enable


ステータスの確認。

sudo ufw status


その時の iptables の確認。
ちゃんとそれっぽいベースルールができている。
icmp回りのルールもしっかりできている。

sudo iptables -L


いよいよ、ルール投入。
ssh と apache のポートだけ空けてる。
Apache Fulle を指定すると 80番と443番が開く。
sshの接続には limit も追加。

sudo ufw default deny && sudo ufw allow 'OpenSSH Another'
sudo ufw allow 'Apache Full'
sudo ufw limit 'OpenSSH Another'


最初の1行は分けても良いけど、ssh接続して設定してる場合では、
SSH接続してる足場がなくなっちゃうので && で繋げてる。

ステータスを確認。

sudo ufw status


iptables のルールを見ると、ちゃんと limit もかかっている。
便利で簡単。

Referrer (Inside): [2012-06-26-8] [2012-06-11-1]

permlink