この簡単なスクリプトパート2を使用して、iptablesで独自のファイアウォールを作成します

Firewall_(ネットワーキング)

みなさん、こんにちは。今日は、iptablesを使用したファイアウォールに関するこのシリーズのチュートリアルの第100部を紹介します。コピーして貼り付けることができるように非常にシンプルです。結局のところ、これはすべての初心者が探しているもの、あるいは最も重要なものだと思います。経験豊富な、なぜ私たちは車輪をXNUMX回再発明しなければならないのですか?

今回は、ファイアウォールをOUTPUTDROPポリシーでより積極的にするかどうかという非常に特殊なケースに焦点を当てるように指示します。 この投稿は、このページの読者と私の投稿の依頼でもあります。 (私の心の中ではwiiiiiiiiiiiii)

出力ドロップポリシーを確立することの「長所と短所」について少し話しましょう。私が主に言えるのは、それが仕事をはるかに面倒で面倒にするということですが、長所はネットワークレベルであなたが持っていることです座った場合よりもセキュリティポリシーを適切に考え、設計し、計画するために、はるかに安全なサーバーを使用できます。

ぶらぶらしたり、主題から外れたりしないように、ルールを多かれ少なかれどのようにすべきかを例を挙げて簡単に説明します

iptables -A OUTPUT -o eth0 -p tcp –sport 80 -m state –state ESTABLISHED -j ACCEPT
-A ルールを追加したので
-o アウトバウンドトラフィックを参照し、それらすべてに一致するために指定されていない場合、インターフェイスが配置されます。
-スポーツ 発信元のポートは重要な役割を果たします。ほとんどの場合、どのポートからリクエストを送信するのかわからないため、dportを使用できます。
--dport 宛先ポート。発信接続は特定のポートにのみ送信する必要があることが事前に明確にわかっている場合。 たとえば、リモートmysqlサーバーのような非常に特殊なものである必要があります。
-m state –stateESTABLISHED これはすでに確立された接続を維持するための装飾であり、将来の投稿でそれを掘り下げることができます
-d 宛先について話すために、それが指定できる場合、例えば、そのIPによって特定のマシンへのssh

#!/bin/bash

#iptablesテーブルをクリーンアップします-F iptables -X#NATiptablesをクリーンアップします-tnat -F iptables -t nat -X#PPPoE、PPP、ATMなどのマングルテーブルiptables -t mangle -F iptables -t mangle -X #ポリシーこれは初心者にとって最良の方法だと思いますが、#それでも悪くはありません。出力はすべて発信接続であるため、#すべてを説明します。入力はすべて破棄し、サーバーは転送しないでください。 iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP #Intranet LAN intranet = eth0 #Extranet wan extranet = eth1#状態を保持します。 すでに接続されている(確立されている)ものはすべて、このiptablesのように残します-A INPUT -m state --state ESTABLISHED、RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED、RELATED -j ACCEPT
#ループデバイス。 iptables -A INPUT -i lo -j ACCEPT
#Iptablesループバック出力-A OUTPUT -o lo -j ACCEPT

#http、https、インターフェイスを指定しません。#すべてのiptablesにするためです。-AINPUT-p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#出発
#http、https、インターフェースを指定しないので
#出力ポートを指定する場合を除いて、すべてに使用する必要があります
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT

#sshは内部でのみ、この範囲のipのiptablesから-A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 7659 -j ACCEPT
#出力#sshは内部でのみ、この範囲のIPから
iptables -A OUTPUT -p tcp -d 192.168.xx / 24 -o $イントラネット--sport7659 -j ACCEPT
#たとえば、zabbixまたはその他のsnmpサービスiptablesがあるかどうかを監視します-A INPUT -p tcp -s 192.168.1.1 -i $ intranet --dport 10050 -j ACCEPT
#出発
#たとえば、zabbixまたはその他のSNMPサービスがあるかどうかを監視する
iptables -A OUTPUT -p tcp -d 192.168.1.1 -o $ intranet --dport 10050 -j ACCEPT

#icmp、pinggoodはあなたの決定ですiptables-A INPUT -p icmp -s 192.168.xx / 24 -i $ intranet -j ACCEPT
#出発
#icmp、pinggoodはあなたの決定です
iptables -A OUTPUT -p icmp -d 192.168.xx / 24 -o $イントラネット-jACCEPT

#mysql with postgres is port 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j ACCEPT
#出力-非常に具体的なルールサーバーを作成するようにユーザーからも尋ねられる質問:192.168.1.2 mysql:192.168.1.3
postgresを使用する#mysqlはポート5432です
iptables -A OUTPUT -p tcp -s 192.168.1.2 -d 192.168.1.3 --dport 3306 -o $イントラネット-jACCEPT

#sendmailbueeehメールを送信する場合#iptables-A OUTPUT -p tcp --dport 25 -j ACCEPT#Anti-SPOOFING 09/07/2014#SERVER_IP = "190.xxx"#サーバーIP-実際のWAN IP LAN_RANGEサーバーの= "192.168.xx / 21"#ネットワークまたはvlanのLAN範囲#エクストラネットに入らないようにするIP、純粋にWANインターフェイスがある場合は#ロジックを使用する必要があります。 #そのインターフェイスを介したトラフィックLANタイプを入力しますSPOOF_IPS = "0.0.0.0/8 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16"#デフォルトのアクション-いずれかのルールがACTION =に一致した場合に実行されます"DROP" #waniptablesを介したサーバーと同じIPのパケット-AINPUT -i $ extranet -s $ SERVER_IP -j $ ACTION
iptables -A OUTPUT -o $ extranet -s $ SERVER_IP -j $ ACTION

#WANのLAN範囲を持つパケット、特定のネットワークがある場合に備えて#このように配置しますが、これは「for」ループ内の次のルールで冗長になります。iptables-AINPUT -i $ extranet -s $ LAN_RANGE -j $ ACTION
iptables -A OUTPUT -o $ extranet -s $ LAN_RANGE -j $ ACTION

## $ SPOOF_IPSのWANforipで許可されていないすべてのSPOOFネットワークdoiptables -A INPUT -i $ extranet -s $ ip -j $ ACTION
iptables -A OUTPUT -o $ extranet -s $ ip -j $ ACTION
行われ

次のレビューでは、ポート範囲を設定し、名前などで整理されたポリシーを確立します...コメントとリクエストをお待ちしています。


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。