User Tools

Site Tools


vps:vps4th2nd_04

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

vps:vps4th2nd_04 [2019/06/16 15:16] (current)
Line 1: Line 1:
 +====== prisoner fw設定 ======
 +prisonerのfwをfirewallとnatboxにする。
 +
 +===== 事前設定 =====
 +jailerから各設定ファイルを直接編集する。各設定ファイルのプレフィックスは/​usr/​jail/​fwとなる。
 +
 +  * etc/​syslog.confでconsole出力をコメント化する。<​code>​
 +# *.err;​kern.warning;​auth.notice;​mail.crit ​             /​dev/​console
 +</​code>​
 +  * etc/​crontabで不要なcronをコメント化する。<​code>​
 + # 1,31  0-5     ​* ​      ​* ​      ​* ​      ​root ​   adjkerntz -a
 +</​code>​
 +  * etc/​pw.confを新規作成する。prisoner内のuid,​ gidとjailerのuid,​ gidが同じになるとセキュリティ上の問題が発生するため、uid,​ gidの範囲を設定する。<​code>​
 +minuid 2001
 +maxuid 2100
 +mingid 2001
 +maxgid 2100
 +</​code>​
 +  * etc/​fstabをtouchで作成する。
 +  * etc/​resolv.confを作成する。<​code>​
 +domain "​ドメイン名"​
 +nameserver "​さくらのVPS指定 1"
 +nameserver "​さくらのVPS指定 2"
 +</​code>​
 +  * etc/​hostsにfw自身と内側のホスト(jailer,​ prisoner)を登録する。<​code>​
 +127.0.0.1 ​            ​localhost localhost.example.com
 +<Global IP> ​          fw fw.example.com
 +<Global IP> ​          ​fw.example.com.
 +192.168.100.254 ​      gw gw.example.com
 +192.168.100.254 ​      ​gw.example.com.
 +192.168.100.1 ​        web web.example.com
 +192.168.100.2 ​        ​desktop desktop.example.com
 +192.168.100.253 ​      vps vps.example.com
 +</​code>​
 +  * etc/​rc.confを新規作成する。<​code>​
 +hostname="​fw.example.com"​
 +ifconfig_vtnet0="​inet <Global IP> netmask <​netmask>"​
 +ifconfig_epair1b="​inet 192.168.100.254 netmask 255.255.255.0"​
 +gateway_enable="​YES"​
 +defaultrouter="<​さくらのVPS指定>"​
 +firewall_enable="​YES"​
 +firewall_type="/​etc/​fw.txt"​
 +firewall_logging="​YES"​
 +firewall_nat_enable="​YES"​
 +</​code>​
 +    * ifcofig_epair1b\\ jailerで作成したepair1の一端。jailerからprisonerであるfwに割り当てる。
 +    * firewall_type\\ 指定したファイルにfirewallのルールが記載される。
 +
 +===== OS設定 =====
 +prisoner:​fwを起動後、以下の設定を行う。
 +  * prisoner:​fwへ移動<​code>​
 +# jexec fw /bin/sh
 +</​code>​
 +  * newaliasesの実行<​code>​
 +# newaliases
 + /​etc/​mail/​aliases:​ 27 aliases, longest 10byte, 275 bytes total
 +</​code>​
 +  * bsdconfigでそれぞれ設定。
 +    * Root Password
 +    * User Management
 +    * Time Zone
 +
 +===== ipfwルール設定(例) =====
 +/​etc/​rc.confで指定したfirewall_type="/​etc/​fw.txt"​を作成する。
 +  * /​etc/​fw.txt<​code>​
 +-f flush
 +
 +# nat設定 desktop向け ssh
 +add nat 1 log tcp from any to <Global IP> <​外部向けsshポート>​
 +nat 1 config log redirect_port tcp 192.168.100.2:<​内部向けsshポート>​ <Global IP>:<​外部向けsshポート>​
 +add nat 2 log tcp from 192.168.100.2 <​内部向けsshポート>​ to any
 +nat 2 config log redirect_port tcp 192.168.100.2:<​内部向けsshポート>​ <Global IP>:<​外部向けsshポート>​
 +
 +# nat設定 web向け http
 +add nat 3 log tcp from any to <Global IP> 80
 +nat 3 config log redirect_port tcp 192.168.100.1:​80 <Global IP>:80
 +add nat 4 log tcp from 192.168.100.1 80 to any
 +nat 4 config log redirect_port tcp 192.168.100.1:​80 <Global IP>:80
 +
 +# nat設定 web向け https
 +add nat 5 log tcp from any to <Global IP> 443
 +nat 5 config log redirect_port tcp 192.168.100.1:​443 <Global IP>:443
 +add nat 6 log tcp from 192.168.100.1 443 to any
 +nat 6 config log redirect_port tcp 192.168.100.1:​443 <Global IP>:443
 +
 +# nat設定 desktop向け novnc
 +add nat 7 log tcp from any to <Global IP> <​外部向けnovncポート>​
 +nat 7 config log redirect_port tcp 192.168.100.2:<​内部向けnovncポート>​ <Global IP>:<​外部向けnovncポート>​
 +add nat 8 log tcp from 192.168.100.2 <​内部向けnovncポート>​ to any
 +nat 8 config log redirect_port tcp 192.168.100.2:<​内部向けnovncポート>​ <Global IP>:<​外部向けnovncポート>​
 +
 +# nat設定 内部から外部
 +add nat 9 log ipv4 from any to any via <Global IP>
 +nat 9 config log ip <Global IP>
 +
 +# ルール
 +add check-state
 +add deny log all from any to 192.168.100.0/​24 in recv <Global IP>
 +add allow log tcp from any to 192.168.100.2 <​内部向けsshポート>​
 +add allow log tcp from any to 192.168.100.2 <​内部向けnovncポート>​
 +add allow log tcp from any to 192.168.100.1 80
 +add allow log tcp from any to 192.168.100.1 443
 +add allow log ip from 192.168.100.0/​24 to any keep-state
 +add allow log ip from 127.0.0.1 to 127.0.0.1 ​
 +</​code>​
 +    * Global IP\\ em0に割り当てたIP
 +    * 外部向けsshポート\\ 22から変更した方が無難かも
 +    * 内部向けsshポート\\ desktopのssh listenポート
 +    * add allow log ip from 127.0.0.1 to 127.0.0.1\\ fwのメールが Permission Deniedになるため開放
 +  * /​etc/​fw.txt作成後、有効にする為、ipfwを再起動する。<​code>​
 +# service ipfw restart
 +</​code>​
  
vps/vps4th2nd_04.txt · Last modified: 2019/06/16 15:16 (external edit)