- 外部および内部ファイアウォール( iptablesパッケージ)。
- 外部および内部トラフィックのアカウンティング( iptablesパッケージ)。
- ローカルエリアネットワーク用のプロキシサーバー( Squidパッケージ)。
- ローカルネットワークのコンテンツフィルター( DansGuardianパッケージ)。
- ローカルエリアネットワーク用のDNSサーバー( BINDパッケージ)。
このスクリプトは長年の作業の結果であり、普遍的であると主張しています-Linuxマシンを小規模オフィスと大企業の両方のインターネットゲートウェイとして使用できます(現在は5つの企業と1つのリモートオフィスで使用されています-どこでもCentOSがあります) 。
スクリプトには、作業に少なくとも2つのネットワークインターフェイスが必要です。そのうちの1つは外部で、残りは内部と見なされます。 外部インターフェイスはEXTIF変数によって設定され、この変数が設定されていない場合は自動的に決定されます。
もう1つの要件は、すべてのインターフェイスに静的アドレスが必要であることです。 インターフェイスはそれらを動的に受信できますが、アドレスは常に同じでなければなりません。 この要件は、 iptablesルールがインターフェイスのIPアドレスを使用するという事実に由来します。 ルールは、 fwtraf fwnormalコマンドでfwtraf.conf構成ファイルに基づいて生成および適用され、 fwtraf fwsaveコマンドで保存されます。 つまり インターフェイスのIPアドレスが変更された場合、ルールを再度適用する必要があります(再起動後にアクションを実行する必要がある場合はルールを保存します)。
ソースNATとWebプロキシの動作モードは組み合わせることができます。
- ソースNAT:オフ (SNAT = "")
- ソースNAT:オン (SNAT = "YES")。
- Webプロキシ:オフ (WEBPROXY = "")
- Webプロキシ:Squid(WEBPROXY = "SQUID")。
- Webプロキシ:DansGuardian-> Squid(WEBPROXY = "DGSQUID")。
スクリプトはいくつかのローカルネットワーク ( 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アドレスと コンピューター 名が 表示されます。
- 解決済み(コマンドa-「 a llow」 の略)
- 禁止( dコマンド-" d eny"の略)
ポート( PORTS列):
- カンマで区切られた1つ以上のTCPポート: web、ftp
- たとえばsmtp :!smtpを除くすべてのTCPポート。
- すべてのTCPおよびUDPポート: all
コンテンツフィルターが使用され(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 = ..."のコメントを外します。