私のiptablesファイアウォールがポート1531への接続を拒否するのはなぜですか?

私のiptablesファイアウォールがポート1531への接続を拒否するのはなぜですか?

RHELをインストールすると、iptablesが1531(oracle)の接続を拒否するようです。私の設定は次のとおりです。

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

ポート1531が許可されていない理由を理解するには、これらの規則を説明する必要があります。許可されていないことがわかりますが、「すべて拒否」タイプステートメントも表示されません。

ベストアンサー1

これはカーネルの実際のファイアウォールルールではなく同じファイルですが、実行中のファイアウォールと同じ順序でここに表示されます。この場合、着信パケットはINPUTチェーン内のすべてのルールを1つずつ通過し、として保存されたルールに達するまで失敗し続けます-A INPUT -j REJECT --reject-with icmp-host-prohibited。この時点ではファイアウォールによって拒否されます。

このREJECTルールの前にACCEPTルールを挿入するか、ファイアウォールを完全に無効にすることでこの問題を解決できます。

混乱は、基本方針がACCEPTであるという事実から生じる。多くのセキュリティ分野で好ましいロジックは、明示的なREJECTルールを削除し、単にオンチェーンの基本ポリシーをREJECTまたはDROPに設定することです。特定の時間にアクティブなファイアウォールルールを表示するには、を使用できますiptables -L。ファイアウォールを更新するには、次の手順に従うことをお勧めします。

  1. 5分でファイアウォールの状態をリセットする「タイマー」を設定します(例echo "service iptables restart" | at now + 5 minutes:)。
  2. カーネルファイアウォールルールセットを修正し、望ましくない副作用なしに修正が必要に応じて機能することを確認します。自分をロックした場合は、タイマーが期限切れになるまで5分待ってからファイアウォールをリセットしてください。
  3. 変更されたルールセットを保存するservice iptables save

おすすめ記事