この記事では、Linux環境におけるファイアウォールの基本的な設定方法から応用例までを詳しく解説します。`iptables`と`ufw`という二つの主要なファイアウォール設定ツールについて、具体的なコード例とその解説、さらには5つ以上の応用例を含めています。
目次
はじめに:Linuxのファイアウォールとは
Linuxのファイアウォールは、不正アクセスや攻撃からシステムを保護する役割を果たします。`iptables`と`ufw`は、その設定を行うための主要なコマンドラインツールです。
基本的な設定方法
`iptables`での基本設定
# すべてのインバウンドトラフィックをブロックする
sudo iptables -P INPUT DROP
このコマンドは、すべてのインバウンド(入ってくる)トラフィックをブロックします。この設定は非常に厳格なため、特定の通信だけを許可するルールも追加する必要があります。
`ufw`での基本設定
# ufwを有効にする
sudo ufw enable
# 22番ポート(SSH)を開放する
sudo ufw allow 22
`ufw`はiptablesよりも簡単に設定できるツールです。上記のコマンドは、ufwを有効化し、SSH用の22番ポートを開放します。
応用例とその解説
特定のIPアドレスからのアクセスのみを許可する
# iptablesを使用して特定のIP(192.168.1.1)からのアクセスのみを許可する
sudo iptables -A INPUT -s 192.168.1.1 -j ACCEPT
この設定は、指定されたIPアドレス(192.168.1.1)からのアクセスのみを許可します。
特定のサービスのみ許可する
# ufwでHTTPとHTTPSを許可する
sudo ufw allow http,https
HTTP(80番ポート)とHTTPS(443番ポート)のみを許可します。
トラフィックログを保存する
# iptablesでトラフィックログを保存する
sudo iptables -A INPUT -j LOG
このルールは、すべてのインバウンドトラフィックをログに保存します。
ポートフォワーディング
# 8080番ポートのトラフィックを80番ポートにリダイレクトする
sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80
8080番ポートへのアクセスを80番ポートにリダイレクトします。
特定の時間帯にアクセス制限
この応用例はcronジョブと組み合わせて実現します。具体的な手法は複数ありますが、一例として、特定の時間にiptablesのルールを変更するスクリプトをcronで実行する方法があります。
まとめ
Linuxのファイアウォール設定は、セキュリティ対策の基本です。`iptables`や`ufw`を効果的に使って、より安全なシステムを構築してください。
コメント