iptables設定


iptablesはLinuxにファイアウォールを設置するツールで、カーネル2.4以前のバージョンで使用されていたipchainに代わるファイアウォールツールです.iptablesは、カーネル上のnetfilterパケットフィルタリング機能をユーザ空間制御のレベルとして使用することができる.
パケットフィルタリングは、パケットヘッダを介してパケット全体の運命を決定することを意味する.通常、パケットにはヘッダーとデータがあります.
Chain
iptablesは3つの論理チェーン(Chain)からなり、それぞれINPUT、OUTPUT、FOrWARDと呼ばれている.また、管理者によって新しいチェーンを定義して作成することもできます.基本チェーンの名前は大文字です.
チェーンはINPUTホスト上のすべてのパケットOUTPUTホスト上のすべてのパケットFORWARDホスト上のすべてのパケットが宛先ではないことを示している.ホスト経由のパケット
パケットフィルタ規則
  • に入力されたパケットについて、順序定義のルールチェックを行い、初期マッチングルールを適用します.
  • の1つのフィルタルールで複数の条件を指定した場合、ルールを適用するには、すべての条件を満たす必要があります.
  • すべての
  • 内蔵チェーンがチェックされていますが、一致する項目がない場合は、チェーンの基本ポリシーが適用されます.
  • ルール・ターゲット
    パケットがルールに一致する大きな動作を実行するターゲットをサポートします.
    ターゲット記述ACCEPTを許可します.パケットを許可するオプションのDROPを破棄します.パケットを完全に無視してREJECTを拒否します.パケットは許可されていません.メッセージの送信時に拒否します.
    命令語
    -P、-L、-N、-Xなどの大文字オプションを使用してチェーン全体を設定できます.各チェーンにルールを設定できます(小文字オプション:-s、-d、-pなどを使用します).
    オプション説明-N新規チェーンの作成-A指定チェーンの最後にルールを追加-D指定チェーンを削除するルール-P指定チェーンのポリシーを変更-I指定チェーンを挿入する新規ルール-R指定チェーンのルールを置換する
    iptablesのルール
    ルール説明-s出発地IPアドレス-d目的地IPアドレス-d目的地IPアドレス-動き出発地ポート番号-dport目的地スローガン-j使用するターゲット-pプロトコル(tcp,udp,all)-iインタフェース入力ネットワークインタフェース(eth 0,eth 1等)-oインタフェース出力ネットワークインタフェース(eth 0,eth 1等)-mstat-状態パケットの状態(NEW, ESTABLISHED, RELATED, INVALID)
    めいれいこうぞう
    iptables -A INPUT -s [발신자] --sport [발신자 포트] -d [목적지] --dport [목적지 포트] -j [정책]
    コマンドの使用例
    デフォルトポリシーをACCEPTに設定
    INPUTチェーンのデフォルトポリシーをACCEPTに設定します.
    iptables -P INPUT ACCEPT 
    OUTPUTチェーンのデフォルトポリシーをACCEPTに設定します.
    iptables -P OUTPUT ACCEPT 
    FOrWARDチェーンのデフォルトポリシーをACCEPTに設定します.
    iptables -P FORWARD ACCEPT 
    ステータスチェックの適用
    iptables -nvL
    sudo iptables-listまたは-lコマンドを使用して、アプリケーションのセキュリティポリシーを検証します.
    sudo iptables --list
    -mオプション
    「-m」オプションは、iptablesがモジュールを拡張するためのフラグです.-m stateモジュールには4つのステータスがあります.
  • NEW
  • これまでにないパケットの新しい接続要求を受信しました
  • ESTABLISHED
    NEWステータス後のパケット.NEW後のPackage西来往態
  • RELATED
  • は新しい接続要求ですが、既存の接続に関連するパケットです.
  • INVALID
    以前の状態で何も適用されていない場合、パケットの状態はINVALIDとして表示されます.
  • stateオプションのコマンド構造
    iptables -[명령어] [체인명] -m state --state 연결상태] -p [프로토콜] -j [정책]
    以下のコマンドは、すべてのプロトコルのESTABLISHED、RELATED状態で192.168.0.100です.
    iptables -I INPUT -m state -d 192.168.0.100 -p all --state ESTABLISHED,RELATED -j ACCEPT
    以下のコマンドは、パケットの状態がINVALIDの場合にDROPを行います.
    iptables -I INPUT -m state -d 192.168.0.100 -p all --state INVALID -j DROP
    特定のIPを許可
    「-s」オプションの後、ipoを指定し、特定のipoがパケットを入力できるようにします.
    iptables -A INPUT -s xxx.xxx.xxx.xxx -j ACCEPT
    127.0.0.1のパケットを入力できます.
    iptables -A INPUT -s 127.0.0.1 -j ACCEPT
    -iオプションを使用して、デバイスens 3にルールを追加します.
    sudo iptables -I INPUT 5 -i ens3 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
    iptables設定の保存
    sudo service netfilter-persistent save