先日さくらのVPSをレンタルし,Ubuntu Server 16.04 LTSをインストールしました.
Ubuntuにはiptablesをシンプルにしたufwというものがあるようなので,これを使ってファイヤウォールの設定を行おうと思っていました.
例えば,仮にsshのポートを2222とすると,
bash
sudo ufw enable sudo ufw default DENY sudo ufw allow 2222 sudo ufw allow 80 sudo ufw allow 443 sudo ufw reload
のように設定しようと考えていました.
しかし,実際にこの設定でSSH接続を試みたところ,2222ポートは開かず,逆に22番ポートは開いたままになっていました.
調べてみると,どうもufwのルールは,さくらがデフォルトで設定しているiptablesの設定が一通り終わってから適用されるようです.つまり,
bash
sudo iptables -L >>> Chain INPUT (policy DROP) ... (さくら側で行われた初期設定) Chain FORWARD (policy DROP) ... (さくら側で行われた初期設定) Chain OUTPUT (policy ACCEPT) ... (さくら側で行われた初期設定) Chain f2b-sshd (1 references) ... (さくら側で行われた初期設定) Chain ufw-after-forward (1 references) ... (ufwによるユーザー設定) ...
となっていました.そこで私は,
bash
sudo iptables -F sudo ufw reload
とすることで,この問題に対処しました.
ところが,この方法の場合,sudo apt update等ができなくなってしまうようです.
apt,またはもう少し一般的に言えばpip, gem, npm等,こちらからデータの取得を要求する場合だけ通信を許可する方法はあるのでしょうか?
よろしくお願いします.
まだ回答がついていません
会員登録して回答してみよう