開発運用

Ubuntu 14.04 IPTables設定ガイド

IPTablesは、Linuxベースのシステムにおいてパケットフィルタリングを行うための強力なツールであり、Ubuntu 14.04でも広く使用されています。この記事では、Ubuntu 14.04上でIPTablesを使用してファイアウォールを設定する方法について、詳しく解説します。

1. IPTablesのインストール

まず最初に、IPTablesがインストールされていない場合は、以下のコマンドを使ってインストールします。

bash
sudo apt-get update sudo apt-get install iptables

これで、IPTablesがインストールされ、使用準備が整います。

2. 基本的なIPTablesのルール設定

IPTablesは、ネットワークパケットのフィルタリングルールを設定することにより、ネットワーク通信を制御します。基本的なルールを設定するためには、iptablesコマンドを使用します。

2.1 現在のルールの確認

IPTablesの設定状況を確認するには、次のコマンドを実行します。

bash
sudo iptables -L

このコマンドは、現在設定されているルールのリストを表示します。

2.2 ルールの追加

以下は、基本的なIPTablesルールの例です。

  • SSH(ポート22)の許可:

    SSH接続を許可するには、次のコマンドを実行します。

    bash
    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  • HTTP(ポート80)の許可:

    ウェブサーバーにHTTP通信を許可するには、次のコマンドを使用します。

    bash
    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  • HTTPS(ポート443)の許可:

    セキュアなHTTP通信を許可するためには、以下のコマンドを実行します。

    bash
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
  • すべての入力トラフィックを拒否:

    デフォルトでは、すべての入力トラフィックを拒否することがセキュリティ上重要です。このルールを追加することで、他のルールで明示的に許可された通信のみを通過させることができます。

    bash
    sudo iptables -A INPUT -j DROP

2.3 ルールの削除

もし誤ってルールを追加してしまった場合、そのルールを削除することも可能です。例えば、SSHポートの許可を削除するには、次のコマンドを使用します。

bash
sudo iptables -D INPUT -p tcp --dport 22 -j ACCEPT

3. デフォルトポリシーの設定

IPTablesのデフォルトポリシーを設定することで、ネットワークトラフィックの全体的な取り扱い方法を決定できます。デフォルトのポリシーには、ACCEPT(許可)やDROP(拒否)があります。

  • 入力トラフィックのデフォルトポリシーを拒否に設定:

    bash
    sudo iptables -P INPUT DROP
  • 出力トラフィックのデフォルトポリシーを許可に設定:

    bash
    sudo iptables -P OUTPUT ACCEPT
  • 転送トラフィックのデフォルトポリシーを拒否に設定:

    bash
    sudo iptables -P FORWARD DROP

4. 設定を永続化する方法

IPTablesの設定は、システムを再起動するとリセットされてしまいます。設定を永続化するためには、iptables-persistentパッケージをインストールする必要があります。

4.1 iptables-persistentのインストール

次のコマンドを実行して、iptables-persistentをインストールします。

bash
sudo apt-get install iptables-persistent

インストール後、システムが再起動してもIPTablesのルールが保持されるようになります。

4.2 ルールの保存

設定したIPTablesのルールを保存するには、次のコマンドを実行します。

bash
sudo netfilter-persistent save

これで、システムを再起動しても、設定したルールが自動的に適用されます。

5. 特定のIPアドレスやサブネットを許可・拒否

IPTablesでは、特定のIPアドレスやサブネットからの接続を制限することもできます。

  • 特定のIPアドレスからの接続を拒否:

    例えば、192.168.1.100からの接続を拒否するには、次のコマンドを使用します。

    bash
    sudo iptables -A INPUT -s 192.168.1.100 -j DROP
  • 特定のサブネットからの接続を許可:

    192.168.1.0/24というサブネットからの接続を許可するには、次のコマンドを使用します。

    bash
    sudo iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT

6. ログを設定する

IPTablesでは、ログを記録してトラフィックの状況を監視することも可能です。例えば、拒否された接続をログとして記録するには、以下のコマンドを使用します。

bash
sudo iptables -A INPUT -j LOG --log-prefix "IPTables-Dropped: "

この設定を行うと、拒否された接続がシステムのログに記録されます。

7. 再起動後の設定の適用

システムが再起動した後にIPTablesの設定を適用するには、以下のコマンドを使用します。

bash
sudo service netfilter-persistent restart

8. 結論

Ubuntu 14.04でIPTablesを使用することによって、システムのネットワークトラフィックを効率的に管理することができます。基本的なルール設定から、特定のIPアドレスやサブネットの管理、そしてログの設定に至るまで、さまざまな機能を利用することが可能です。セキュリティを強化するために、適切なファイアウォールの設定を行うことは非常に重要です。

Back to top button