2012年12月23日日曜日

ServersMan@VPS ファイアウォール設定

Ubuntu のファイアウォールは、UFW がスタンダードっぽいので、これを使ってみます。

1.インストール

# apt-get install ufw

2.設定

とりあえず、ssh(3843)と www(80)を許可しておきます。
※ ssh(3843)を許可しておかないと、サーバにログインできなくなります。(これ大事)

# ufw allow 3843
# ufw allow 80

3.ファイアーウォール有効化

ファイアーウォールを有効にします。
次回サーバ起動時も自動的に立ち上がってくれるので、楽ちん。

# ufw enable

4.ステータス確認

# ufw status verbose

デフォルトで「外からの通信は全て拒否」「中からの通信は全て許可」となっています。
Default: deny (incoming), allow (outgoing)

5.denyhosts

ついでに、denyhosts も入れておきましょう。

# apt-get install denyhosts

--
初期化からの流れは以下の通り。
※ 以下、L:はローカル(PC)、R:はリモート(VPS) です。

L:$ ssh root@xxx.xxx.xxx.xx -p 3843
R:# adduser USERNAME --ingroup sudo
R:# usermod -L root
R:# su - USERNAME
R:$ sudo apt-get update
R:$ sudo apt-get upgrade
R:$ sudo apt-get install xubuntu-desktop ufw denyhosts
R:$ sudo ufw allow 3843
R:$ sudo ufw allow 80
R:$ sudo ufw enable
R:$ sudo ufw status verbose
R:$ exit
R:# exit
L:$ xhost +
L:$ ssh -XC USERNAME@xxx.xxx.xxx.xx -p 3843
R:$ xfce4-appfinder &

2013/1/6 追記

UFW は、OpenVZ と相性が良くないそうです。
すなおに、iptables で設定しました。

1.iptables 設定

iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 3843 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 60000:61000 -j ACCEPT

2.設定内容を保存

iptables-save > /etc/iptables.rules

3.Ubuntu 起動時に有効化

vi /etc/network/if-pre-up.d/iptables_start
--
#!/bin/sh
/sbin/iptables-restore < /etc/iptables.rules
exit 0
--
chmod 755 /etc/network/if-pre-up.d/iptables_start

※ シェルスクリプトを書いて、権限を付与します。

おまけ

### iptables ###
iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 3843 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 60000:61000 -j ACCEPT
iptables-save > /etc/iptables.rules
fl="/etc/network/if-pre-up.d/iptables_start"
cat > $fl <<_EOF_
#!/bin/sh
/sbin/iptables-restore < /etc/iptables.rules
exit 0
_EOF_
chmod 755 $fl

0 件のコメント:

コメントを投稿