VPS: Linuxでのファイアウォール管理
はじめに
多くのサービスやプログラムでは外部からの接続を許可する必要があります。これはファイアウォールを設定することで可能になります。 このガイドでは、ファイアウォールの設定方法と接続許可のやり方を学びます。
準備
ファイアウォールをインストールするには、SSHでサーバーに接続する必要があります。やり方がわからない場合は、初回アクセスガイドをチェックしてみてください。
接続後は、apt update と apt upgrade を使ってサーバーを最新状態にアップデートしましょう。
UFWの使い方(簡単)
Linuxには複数のファイアウォールプログラムがありますが、このガイドでは人気の高い2つ、UFWとIPTablesにフォーカスします。 まずは設定や管理が簡単なUFWから始めましょう。
UFWのインストール
sudo apt install ufw でAPT経由で簡単にインストールできます。
SSH接続が切れないように、まだ有効化はせずにまず設定を行いましょう。
UFWの設定
デフォルトでは以下のポリシーをおすすめします:
sudo ufw default deny incoming
と
sudo ufw default allow outgoing
次にSSH接続や開けたいポートを許可します:
sudo ufw allow 22 (SSH用)
sudo ufw allow 80 (HTTPの例)
sudo ufw allow 25565 (Minecraftサーバーの例)
UFWを有効にするには sudo ufw enable を実行します。必要に応じて後からも sudo ufw allow ポート番号 でポートを追加できます。
ポートフォワーディングの追加
ポートを開放するには以下のコマンドを使います:
TCPポートの場合:
sudo ufw allow ポート番号/tcp
(ポート番号は開放したいポートに置き換えてください)
例:Minecraftサーバー用に sudo ufw allow 25565/tcp
UDPポートの場合:
sudo ufw allow ポート番号/udp
(ポート番号は開放したいポートに置き換えてください)
例:TeamSpeak 3サーバー用に sudo ufw allow 9987/udp
ポートフォワーディングの一覧表示と削除
設定済みのポートルールを一覧表示するには sudo ufw status numbered を実行します。
ルールを削除したい場合は、リストの番号を使って sudo ufw delete 番号 を実行してください。
IPTablesのインストール(上級者向け)
ほとんどのシステムにはIPTablesがデフォルトで入っていますが、念のため sudo apt install iptables でインストールできます。
IPTablesの設定
まずはデフォルトポリシーと基本設定を行います:
sudo iptables -P INPUT DROP で全ての着信接続を拒否
sudo iptables -P FORWARD DROP で全ての転送を拒否
sudo iptables -P OUTPUT ACCEPT で全ての送信接続を許可
sudo iptables -A INPUT -i lo -j ACCEPT でループバックを許可
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT で既存の接続を許可
次にSSH接続や開けたいポートを許可します:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT (SSH用)
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT (HTTPの例)
sudo iptables -A INPUT -p tcp --dport 25565 -j ACCEPT (Minecraftサーバーの例)
設定を永続化するために、sudo apt install iptables-persistent をインストールし、sudo netfilter-persistent save で保存、sudo systemctl enable netfilter-persistent で自動起動に登録します。
ポートフォワーディングの追加
ポートを開放するには以下のコマンドを使います:
TCPポートの場合:
sudo iptables -A INPUT -p tcp --dport ポート番号 -j ACCEPT
(ポート番号は開放したいポートに置き換えてください)
例:Minecraftサーバー用に sudo iptables -A INPUT -p tcp --dport 25565 -j ACCEPT
UDPポートの場合:
sudo iptables -A INPUT -p udp --dport ポート番号 -j ACCEPT
(ポート番号は開放したいポートに置き換えてください)
例:TeamSpeak 3サーバー用に sudo iptables -A INPUT -p udp --dport 9987 -j ACCEPT
ポートフォワーディングの一覧表示と削除
ルール一覧を表示するには sudo iptables -L --line-numbers を使います。
ルールを削除したい場合は、リストの番号を使って sudo iptables -D INPUT 番号 を実行してください。
まとめ
Linuxサーバーにファイアウォールを無事インストールし、自分だけのポートルールを作成できましたね。
このガイドは他のポートを開放する際にも役立ちます。
質問やサポートが必要な場合は、いつでもお気軽にサポートチームにお問い合わせください!毎日対応していますよ!🙂