○ xen-firewallの設定

・ドメイン0の最小限のセキュリティを確保しています
・iptables-1.4.12.1を使用しています
・適当なディレクトリで実行します
・tcp_wrappersなど他の制御システムを併用します

・完全コピーしないこと (エラーが出ることあり)
・エディタ、ファイラーの操作は省略します

○参照ファイル

XENの設定
iptablesのインストール 4 Xen

○xen-firewall (root root 644)

・"#" で始まる行はコメントとして解釈され、"$" の付いた文字は変数を表します
・スクリプトの先頭で, 処理を行うシェルを明示します (#!/bin/bash)
・設定を間違えれば、通信不能になったり、不要なポートを開けることになります
・netfilter.org のドキュメントなどに目を通してください
・iptablesマニュアルも読みましょう

#!/bin/bash

## iptablesコマンドを絶対パスで変数に設定します

IPTABLES='/usr/local/sbin/iptables'

## 一時的にフォワーディング設定を無効にします

echo 0 > /proc/sys/net/ipv4/ip_forward

## 既存のルールをフラッシュ (解除) します

$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -X
$IPTABLES -t nat -X
$IPTABLES -Z

## 基本ポリシーの設定

$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP

## IPアドレス・ネットワークを変数に設定します

LOCAL='192.168.0.0/24'
LSV_IP='192.168.0.21'
UPSD_IP='192.168.0.1'

## ドメイン0のアクセス許可

# ドメイン0内の接続は全て許可します

$IPTABLES -A INPUT -i lo -j ACCEPT

# pingパケットを許可します

$IPTABLES -A INPUT -s $LOCAL -p icmp --icmp-type any -j ACCEPT

# 確実なパケットの接続 (ドメイン0内からの接続への応答) を許可します

$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# sshサーバとdropbearからの新しい接続を許可します

$IPTABLES -A INPUT -s $LOCAL -m state --state NEW -p tcp --dport 22 -j ACCEPT
$IPTABLES -A INPUT -s $LOCAL -m state --state NEW -p tcp --dport 922 -j ACCEPT

# mailサーバからの新しい接続を許可します

$IPTABLES -A INPUT -s $LSV_IP -m state --state NEW -p tcp --sport 25 -j ACCEPT

# apcupsdの新しい接続を許可します

$IPTABLES -A INPUT -s $UPSD_IP -m state --state NEW -p tcp --dport 3551 -j ACCEPT

## ドメインUのアクセス許可

# xenのデバイスの入出力を許可します

$IPTABLES -A FORWARD -m physdev --physdev-in peth0 -j ACCEPT

## パケットフォワーディングを有効にします

echo 1 > /proc/sys/net/ipv4/ip_forward

○ Copyright(c) 528p.com All Rights Reserved.