ホームページ > 運用・保守 > Linuxの運用と保守 > Linux でのソフトウェア ファイアウォール iptables - ファイアウォールの設計

Linux でのソフトウェア ファイアウォール iptables - ファイアウォールの設計

齐天大圣
リリース: 2020-11-18 15:38:15
オリジナル
2353 人が閲覧しました

前回までの記事では、iptablesのテーブルとチェーン、ルールチェーンの追加方法などを紹介してきました。ここでは、簡単なファイアウォール ルールを共有したいと思います。この記事では主にフィルターの入力チェーンのルールを設定します。この記事は、学んだ知識を深め、定着させるのに役立つ実践的な iptables ルールに相当します。

適用ルールは次のとおりです:

  • 既存のルールをクリアし、元のルールをすべてクリアします。

  • デフォルトの戦略を設定し、フィルターの入力チェーンのデフォルトの戦略をドロップするように設定し、他のすべてを受け入れるように設定します。

  • このマシンを信頼し、ループバック ネットワーク カード lo を信頼できるように設定する必要があります。

  • #応答データ パケット。ホストが外部から積極的に要求して応答するデータ パケットは、ローカル マシンに入ることができます (確立/関連)

  • # #Reject 無効なデータ パケット、無効なデータ パケットは拒否されます (INVALID)
  • ホワイト リスト、特定の IP またはネットワーク アドレスなどを信頼します。
  • ブラック リスト、信頼できない IP またはネットワーク アドレスなど。
  • icmp パケットを許可し、icmp パケットを解放します。
  • いくつかのポート、いくつかのサービス ポートを開きます。ポート 80、443、22 などの外部に対して開いている必要があります。
  • 3 つのシェル スクリプト ファイルを作成します: iptables.rule、iptables.allow (ホワイトリスト)、iptables .deny (ブラックリスト) ファイル。これら 3 つのファイルについては、通常、最初にディレクトリ /etc/iptables を作成し、これら 3 つのファイルはこのディレクトリ内に存在します。

次に、この iptables.rule のスクリプトの内容を見てみましょう。

#!/bin/bash
# iptables rule

# 清楚默认规则
iptables -F
iptables -X
iptables -Z

# 修改默认策略
iptables -P INPUT  DROP
iptables -P FORWARD  ACCEPT
iptables -P OUTPUT  ACCEPT

# 信任本机
iptables -A INPUT -i lo -j ACCEPT 

# 响应数据包
iptables -A INPUT  -m state --state ESTABLISHED,RELATED -j ACCEPT

# 拒绝无效数据包
iptables -A INPUT  -m state --state INVALID -j DROP

# 白名单
if [ -f "/etc/iptables/iptables.allow" ];then
    sh /etc/iptables/iptables.allow
fi

# 黑名单
if [ -f "/etc/iptables/iptables.deny" ];then
    sh /etc/iptables/iptables.deny
fi

# 允许icmp包
iptables -A INPUT -p icmp -j ACCEPT

# 开放部分端口
iptables -A INPUT -p tcp --dport 22  -j ACCEPT # ssh服务
iptables -A INPUT -p tcp --dport 80 -j ACCEPT # www服务
iptables -A INPUT -p tcp --dport 443 -j ACCEPT # ssl

# 保存规则
/usr/libexec/iptables/iptables.init save
ログイン後にコピー

iptables.allow の場合、通常、信頼できる IP またはネットワーク アドレスをこのファイルに書き込みます。 LAN は 192.168.1.0/24 です。この LAN 内のホストを信頼したい場合は、このファイルに

iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
ログイン後にコピー

と書き込むことができ、iptables.deny を使用して、特定の悪意のある IP トラフィックがこの LAN に入るのをブロックします。たとえば、IP アドレス 8.210.247.5 をブロックするには、ファイルに

iptables -A INPUT -s 8.210.247.5/32 -j DROP
ログイン後にコピー

と記述します。iptables.rule の最後に、コマンドを使用してファイアウォール ルールを保存します。このコマンドを追加しないでください。ルールはゼロ時点でのみ有効になります。iptables が再起動されるか、システムが再起動されると、以前に設定したルールは無効になります。

関連する推奨事項:「

Linux コース

以上がLinux でのソフトウェア ファイアウォール iptables - ファイアウォールの設計の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート