GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOSでIptableルールを学ぶための18の例

Iptableは、IPv4パケットフィルタリングとNATの管理ツールです。 Iptablesは、LinuxカーネルでIPv4パケットフィルタールールのテーブルを設定、維持、および検査するために使用されます。いくつかの異なるテーブルを定義できます。各テーブルには多数の組み込みチェーンが含まれており、ユーザー定義のチェーンが含まれている場合もあります。各チェーンは、パケットのセットに一致する可能性のあるルールのリストです。各ルールは、一致するパケットをどう処理するかを指定します。これは「ターゲット」と呼ばれ、同じテーブル内のユーザー定義チェーンへのジャンプである可能性があります。

ファイアウォールルールは、パケットとターゲットの基準を指定します。パケットが一致しない場合、チェーン内の次のルールが検査されます。一致する場合、次のルールはターゲットの値によって指定されます。これは、ユーザー定義のチェーンの名前、または特別な値ACCEPT、DROP、QUEUE、RETURNのいずれかです。

  • ACCEPTは、パケットを通過させることを意味します。
  • DROPは、パケットを床に落とすことを意味します
  • QUEUEは、パケットをユーザースペースに渡すことを意味します
  • RETURNは、このチェーンのトラバースを停止し、前のチェーンの次のルールから再開することを意味します。

合計4つのチェーンがあります:

  • 入力 -デフォルトのチェーンは、システムにアドレス指定されたパケットに使用されます。これを使用して、着信ポートとIPアドレス/サブネットを開閉します
  • 出力 -デフォルトのチェーンは、パケットがシステムから生成されているときに使用されます。このオープンまたはクローズの送信ポートとIPアドレス/サブネットを使用します
  • フォワード -デフォルトのチェーンは、パケットが別のインターフェイスを介して送信されるときに使用されます。通常、Linuxをルーターとしてセットアップするときに使用されます
  • RH-ファイアウォール-1-入力 -これはユーザー定義のカスタムチェーンです。 INPUT、OUTPUT、FORWARDチェーンで使用されます。

Iptablesのインストール

次のコマンドでiptablesをインストールできます。

[root@vpn ~]# yum install iptables -y

iptableバージョンを確認してください:

[root@vpn ~]# iptables --version
iptables v1.3.5

iptablesのステータスを確認してください:

[root@vpn ~]# service iptables status

iptablesを起動します:

[root@vpn ~]# service iptables start
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]

iptablesを設定するには、起動時に開始します:

[root@vpn ~]# chkconfig iptables on

CentOSのデフォルトの設定ファイルは/etc/ sysconfig/iptablesです。このファイルを読み取ってファイアウォールをアクティブ化するのはシステムスクリプトです

Iptable Rules

1)iptablesルールをすでに定義している場合に必要なすべてのルール(F)とチェーン(X)をリセットします

#iptables -t filter -F
#iptables -t filter -X

2)ファイアウォールのステータスを表示する

#iptables -L -n -v

3)ヌルパケットのブロック

#iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

4)SYN-FLOOD攻撃を拒否します

#iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

5)偵察パケットを拒否する

#iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

6)ファイアウォールフィルターにローカルホストインターフェイスを追加する

#iptables -A INPUT -i lo -j ACCEPT

7)Webサーバートラフィックを許可する

#iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

8)ユーザーにSMTPサーバーの使用を許可する

#iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 465 -j ACCEPT

9)ユーザーがサーバーでメールを読めるようにする

POP3トラフィックを許可する

#iptables -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 995 -j ACCEPT

POP3トラフィックを許可する

#iptables -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 993 -j ACCEPT

10)sshトラフィックを許可する

#iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

1つのソースからのSSHポートへのトラフィックを許可する

#iptables -A INPUT -p tcp -s YOUR_IP_ADDRESS -m tcp --dport 22 -j ACCEPT

11)確立された発信接続がサーバーからの応答を受信できるようにします

#iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

12)IPアドレスをブロックする

#iptables -A INPUT -s IP_ADDRESS -j DROP

13)特定のIPアドレスのポートをブロックする

#iptables -A INPUT -p tcp -s IP_ADDRESS --dport PORT -j DROP

14)特定のIPアドレスのポートを開く

#iptables -A INPUT -p tcp -s IP_ADDRESS --dport PORT -j ACCEPT

15)特定のIPアドレスのプリンタを許可する

#iptables -A INPUT -s IP_ADDRESS -p udp -m udp --dport 631 -j ACCEPT

16)DNSを開く

#iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT

17)MYSQLポートを開く

#iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

18)さまざまなポートを開きます(例:7000-7100)

#iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 7000:7100 -j ACCEPT

すべてのルールを設定したら、ルールを保存してiptablesを再起動する必要があります

#service iptables save

#service iptables restart

Cent OS
  1. 22などのCentOS8で特定のポートをブロックする方法

  2. 最も頻繁に使用される 25 の Linux IPTables ルールの例

  3. 6 CentOS / RHEL 7 での便利な journalctl コマンドの例 (チート シート)

  1. CentOS/RHEL のルーティング ポリシー データベースで重複するルールを削除する方法

  2. CentOS/RHEL 8 で Udev ルールを使用して oracleasm ディスクを作成する方法

  3. CentOS / RHEL 6 :iptables ルールを保存する方法

  1. CentOS WebPanel –Modセキュリティを有効にする

  2. CentOS/RHEL 8 で既存の Iptables ルールを Nftables に移行する方法

  3. CentOS / RHEL :iptable ルールを追加する方法