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