pfSenseをInstallする
今回は、XenServer上にpfSenseをVMとして導入する。
Install
ともあれ、公式サイトからInstallイメージ(isoイメージ)を取得し、XenServerから見えるようにしておくこと
普通にVMを作る。起動イメージを上記Installイメージにすること
今回の構成
設定
初期設定
VMを起動
ConsoleからNetwork関係の設定を投入
WAN/LAN関係の設定を入れる
LAN I/FからWeb Accessで設定することになる。ここを間違えると、かなり面倒なことになるので、十分に注意
1) Assign Interface
VLAN設定についてきかれるので、nを選択。(必要に応じて設定すればよい)
WAN Interface name を訊かれるので、re1を入力
LAN Interface name を訊かれるので、
re0を入力
Optional Interface name 1 を訊かれるので、re2を入力
Optional Interface name 2 を訊かれるので、何も入力せず、Returnを押す
Do you want to proceed と訊かれるので y を入力
Set interface(s) IP Address
先ほど入力したI/Fが表示されるので、IP Addressを入力するI/Fを選択。今回はLANの2
IPv4 Addressを入力
Mask lengthを入力
DHCP Serverを動かすか訊かれるので、nを入力
これでBrowserから設定できるようになる
10) Filter logs
これで、Packet filterに引っかかっているパケットが見えるので、最初の設定が終了するまでは、表示しておこう
Browserから設定をする
設定したIP Addressへhttpで接続するとlogin画面が出るはず
出ない人はまず、filterに引っかかっているか確認。もし引っかかっているならI/Fの設定の問題なので、もう一回LAN/WAN関係を確認
filterに引っかかっていないなら、Network的に通信できているか確認
filter画面でCtrl+cを入力
7) Ping hostを選択し通信確認をする
これでダメなら、色々確認。
初期userとpasswordはadmin/pfsenseなので、loginする
まず何はともあれ、User情報を書き換える
System→UserManagerでadminが存在するはずなので、右端のeのアイコンをクリック
必要な情報を全部入力し、パスワードを変更する。
saveする
自分用のアカウントを作成する。「右端下側」の「+」のアイコンをクリック
必要な情報を全部入力し、パスワードを変更する
特にGroup設定に注意すること。admin groupに入っていないと、設定変更が出来ない
saveする
ともあれlogoutし、adminや自分用のアカウントでlogin出来ることを確認する
失敗したら、コンソール画面から4) Reset to factory defaultsを選択し、最初からやり直し
これで他の設定をする準備ができた。
全般的な設定
システム全般に関わる設定をする
System → General Setup
hostname を設定する
Domain を設定する
-
TimeZone を設定する(Asia/Tokyoかな?)
NTP Time Serverを設定する。
(好みで) Themeを設定する
saveする
System → Advanced → Admin Access
(必要があれば)ProtocolをHTTPsにする
(必要があれば)sshを生かす
この場合、個人アカウント設定でsshのPublic keyを設定し、Authentication MethodでPassword loginをOffにすることを勧める
また、sshのポートを22ではなく、別のポート番号にすることを勧める
sshでloginした時に、簡易メニューを出したければ、/etc/rc.initialを実行すればよい
saveする
System → Advanced → Firewall/NAT
IP Do-Not-Fragment compatibilityにチェックを入れる
IP Random id generationにチェックを入れる
saveする
System → Advanced → Networking
(必要に応じて)Allow IPv6にチェックを入れる
(必要に応じて)IPv6 over IPv4 Tunnelingにチェックを入れる
(必要に応じて)Device pollingにチェックを入れる
System → Advanced → Miscellaneous
System → Advanced → System Tunable
net.inet.tcp.recvspace: 回線速度に応じて適切に(うちでは、仮想なので、defaultのまま。Bare MetalでMemoryも十分にあるなら3倍〜5倍くらい)
net.inet.tcp.sendspace: 回線速度に応じて適切に(うちでは、仮想なので、defaultのまま。Bare MetalでMemoryも十分にあるなら3倍〜5倍くらい)
System → Advanced → Notifications
通知先の情報を入れる。特にE-Mailの部分をいじっておくと良い
LAN設定
-
Interface → WAN
Enableであることを確認する
(必要に応じて)Descriptionを変更する。(今回は、管理I/Fとして設定するので、Mgmtとした)
(必要に応じて)Mac Address/MTU/MSSを設定する。LAN系統なので、変更の必要なし
今回は、NATの内側にいるので、Block private networksはチェックしない
Block bogon networksをチェックする。Bogon Networkは使わないこと。
Interface → OPT1
Enableにする
(必要に応じて)Descriptionを変更する。(今回は、Server収容Segmentとして使うので、SRVとした)
TypeをStaticにする
(必要に応じて)Mac Address/MTU/MSSを設定する。LAN系統なので、変更の必要なし
IP Addressを設定する。Masklenを設定することを忘れないように
ここまで設定すれば、最小限の設定が済んだと考えて良い。
追加設定
System → Packages
Available Packages タブをクリック
以下のpackagesを追加する
sudo
mtr-nox11 (Enhanced traceroute)
pfBlocker
snort + Dashboard Widget: snort (Snort)
恐らく、最も有名なIDS
Service → snortから設定可能。
Global Setting
Install Snort VRT rules → Install Basic Rules or Premium rules にチェック
Oinkmaster Configuration Codeに上記で取得したCodeを投入
Install Snort Community rules にチェック
Install Emerging Threats rules にチェック
Update Interval を 1dayに
Update Start Time を適切な時間に
Remove blocked hosts every を 1 Hourに
Update Rules
Update your rulesetを実行する。これでうまくupdate出来ない場合、Oink Master Codeが間違っているので、確認すること。
Snort Interfaces
WAN Settings
Enableにチェック
saveする
WAN Categories
Select the rulesets Snort will load at startupで、Select Allをクリックする。
WAN Rules
Snort Interfacesの画面に戻るので、IfがWANの項目を確認。
SnortがEnabled「×」になっているはずなので、「×」をクリックし、Snortを起動する
将来追加したいpackages
HAVP antivirus + Dashboard Widget: HAVP + Dashboard Widget: Antivirus Status (HTTP Antivirus Proxy)
squid + squidGuard + Sarg (Web Proxy/Reverse Proxy)
NAT/Firewall設定
次の本命。これを設定しないと意味がない。が、TBD
その他サービス
対外部に直接つながっている機器が行うと良いサービスを動かす
Service → NTP
Service → SNMP
Status → Dashboards
xe-guest-utilitiesを突っ込む
その他運用
Configuration Backup
Diagnostics → Backup/Restore
Download Configuration