シンプルなインターフェースを備えたLinuxファイアウォール

ファイアウォールは、適切なパッケージを使用して次の機能を統合するbashスクリプトです。

  1. 外部および内部ファイアウォール( iptablesパッケージ)。
  2. 外部および内部トラフィックのアカウンティング( iptablesパッケージ)。
  3. ローカルエリアネットワーク用のプロキシサーバー( Squidパッケージ)。
  4. ローカルネットワークのコンテンツフィルター( DansGuardianパッケージ)。
  5. ローカルエリアネットワーク用のDNSサーバー( BINDパッケージ)。




このスクリプトは長年の作業の結果であり、普遍的であると主張しています-Linuxマシンを小規模オフィスと大企業の両方のインターネットゲートウェイとして使用できます(現在は5つの企業と1つのリモートオフィスで使用されています-どこでもCentOSがあります) 。

スクリプトには、作業に少なくとも2つのネットワークインターフェイスが必要です。そのうちの1つは外部で、残りは内部と見なされます。 外部インターフェイスはEXTIF変数によって設定され、この変数が設定されていない場合は自動的に決定されます。

もう1つの要件は、すべてのインターフェイスに静的アドレスが必要であることです。 インターフェイスはそれらを動的に受信できますが、アドレスは常に同じでなければなりません。 この要件は、 iptablesルールがインターフェイスのIPアドレスを使用するという事実に由来します。 ルールは、 fwtraf fwnormalコマンドfwtraf.conf構成ファイルに基づいて生成および適用され、 fwtraf fwsaveコマンドで保存されます。 つまり インターフェイスのIPアドレスが変更された場合、ルールを再度適用する必要があります(再起動後にアクションを実行する必要がある場合はルールを保存します)。



ソースNATとWebプロキシの動作モードは組み合わせることができます。





スクリプトはいくつかのローカルネットワークLANS変数)をサポートします-それらはスペース付きでリストされます:

LANS = "192.168.0.0/24 10.0.0.0/8"

リモートLANもサポートされています -たとえば、 VPNテクノロジーを使用して接続されたオフィスLAN( REMOTE_LANS変数):

REMOTE_LANS = "192.168.1.0/24 192.168.3.0/24 192.168.5.0/24"



スクリプトには単純な構成ファイルがあります。











ユーザー 静的IPアドレスと コンピューター 名が 表示されます。





ポート( PORTS列):



コンテンツフィルターが使用され(WEBPROXY = "DGSQUID")ユーザーがWebポートの使用を許可されている場合 、Webアクセスグループが適用されます( WA- " W eb A ccess"の略)。



外部インターフェイスポートのローカルネットワークの内部IPアドレスへのいわゆる転送(宛先NAT)は非常に簡単です。 これは、ゲートウェイでSNATが有効になっていて、インターネットからのローカルネットワークが利用できない場合に便利です。 たとえば、コンピューターの管理者がインターネット(WebおよびFTPトラフィック)にアクセスし、RDPを介してインターネットからゲートウェイの外部IPアドレスに接続できるようにすると、ゲートウェイはrdpトラフィックを自分のコンピューターにリダイレクトします。

192.168.1.240 pc30 0 web、ftp、rdp-rdp #Admin

また、転送されたポートは一致する必要がないことに注意してください。たとえば、外部IPのポート2525をリッスンし 、ローカルネットワーク内にあるメールサーバーの 25番目のポートに 転送できます。

192.168.1.2 mail 0 2525-25#メールサーバー

また、スクリプトはhtmlトラフィックレポートを毎日作成 し、1時間ごとに更新します









もう1つの小さなボーナス-ファイアウォールのインストール後、 Logwatchの 日次レポートに は、 CONN_LIMIT接続制限を超えるIPアドレスに関するエントリが表示されます。 したがって、サーバーへの関心が高まっている人を常に把握できます。



-iptables firewall Begin ------------------------

インターフェイスeth0で24個のパケットを記録

10.7.57.22から21パケットからtcp(110)

10.16.63.206から-3パケットからtcp(110)



インターフェイスeth1で記録された5367パケット

72.53.179.125-5297パケットからtcp(110)

193.255.130.19-2パケットからtcp(25)

217.175.23.3からtcpへの68パケット(25)



-iptables firewall End -------------------------







設置



1.ファイアウォールスクリプトをダウンロードして、 / bin /に配置し ます。

wget --no-check-certificate sites.google.com/site/smkuzmin/home/fwtraf/fwtraf -O fwtraf

mv fwtraf / bin /

chmod 755 / bin / fwtraf

2.ファイアウォール構成ファイルをダウンロードして、 / etc / fwtraf /に 配置します

wget --no-check-certificate sites.google.com/site/smkuzmin/home/fwtraf/fwtraf.conf -O fwtraf.conf

mkdir / etc / fwtraf

mv fwtraf.conf / etc / fwtraf /

3. Cron タスクスケジューラのファイルをダウンロードし、/ etc / cron.d /に配置します。

wget --no-check-certificate sites.google.com/site/smkuzmin/home/fwtraf/fwtraf.cron -O fwtraf.cron

mv fwtraf.cron /etc/cron.d/

4. iptablesサービスをオフにし、ブートごとにファイアウォールの初期化を追加します。

chkconfig iptables off

chkconfig ip6tables off

エコー>> / etc / rc.d / rc.local / bin / fwtraf fwinit

5. /etc/fwtraf/fwtraf.conf ファイルを読み、以下 に従って編集し ます。

彼らのニーズ。

6. fwtraf.conf 編集した後 、ファイアウォールルールを適用します。

    
fwtraf fwnormal- 通常(作業)モード。

7.ファイアウォールの動作を確認し、すべてが適切であれば、ルールを保存します。

    fwtraf fwsave- すべてのルールが保存され、再起動後に有効になります。



ルールの最小セットを持つモードがあります:

     fwtraf fwsimple- シンプルモード、個人ルールは適用されず、すべてが許可されます。



残りのコマンドは次の方法で見つけることができます。

fwtraf- コマンドのヘルプ。



BINDの操作の サポートを有効にするには 注:DNSゾーンは事前登録されます! )、 / bin / fwtraf の行c " DNSROOTDIR = ..."のコメントを外します。






All Articles