Apache22によるVirtualHostの設定
Virtual Hostの設定
- グローバルIPアドレスはひとつ
- イントラ内に複数の外部公開用サーバを設置
- ゲートウェイとなるサーバから、各サーバへアクセス振り分け
- Apache22のVirtualHost機能を使う
- Gateway SvrのApache22にVirtual Host設定をする
ネットワーク構成
Internet | +-----+-----+ ← Global Add. AAA.BBB.CCC.DDD |Gateway Svr| |192.168.X.1| |EXAMPLE.com| +-----+-----+ ← LAN 192.168.X.0/24 | +---------------+ | | +-----+-----+ +-----+-----+ | FOO.com | | BAR.com | |192.168.X.2| |192.168.X.3| +-----------+ +-----------+
# cd /usr/local/etc/apache22/extra/ # vi httpd-vhosts.conf <VirtualHost *:80> ServerAdmin info@EXAMPLE.com ServerName 192.168.X.1 DocumentRoot "/usr/local/www/apache2/data" </VirtualHost *:80> <VirtualHost *:80> ServerAdmin info@EXAMPLE.com ServerName FOO.com ServerAlias www.FOO.com ProxyRequests Off <Proxy *> Order deny,allow Allow from All </Proxy> ProxyPass / http://192.168.X.2/ ProxyPassReverse / http://192.168.X.2/ ErrorLog "/var/log/FOO_proxy-error.log" CustomLog "/var/log/FOO_proxy-access.log" common </VirtualHost *:80> <VirtualHost *:80> ServerAdmin info@BAR.com ServerName BAR.com ServerAlias www.BAR.com ProxyRequests Off <Proxy *> Order deny,allow Allow from All </Proxy> ProxyPass / http://192.168.X.3/ ProxyPassReverse / http://192.168.X.3/ ErrorLog "/var/log/BAR_proxy-error.log" CustomLog "/var/log/BAR_proxy-access.log" common </VirtualHost *:80>
FreeBSD標準のftpdを使う
chroot
他のディレクトリへアクセス出来ないように制限する。
ユーザ hoge について、chrootしたい場合。
# touch /etc/ftpchroot # vi ftpchroot ←hogeを記述する
アクセス制限
イントラ内 ( 192.168.X.0/24 ) からのみアクセスできるようにする。
# vi /etc/hosts.allow
ftpd : localhost : allow
ftpd : 192.168.X.0/255.255.255.0 : allow
ftpd : ALL : deny
ログを取る
/etc/syslog.confに次の2行を追加する。
# vi /etc/syslog.conf !ftpd *.* /var/log/ftpd.log
ログのローテート
/var/log/ftpd.log のログローテートを次のとおり設定する。
# vi /etc/newsyslog.conf /var/log/ftpd.log 600 10 100 * JC
※書式(man newsyslog.conf より)
- /var/log/dhcpd.log … 対象ファイル
- 600 … ログファイルのパーミッション
- 10 … 世代数(0〜9)
- 100 … 100KB で次の世代に移る
- * … 時刻指定(ログを特定の時刻でローテーションしたい場合に指定。* は無指定)
- JC … フラグ(J … bzip2 で圧縮する / C … ログファイルが無い場合は自動作成する)