お名前.com VPS メモリ2G プランに Nginx で WordPress を構築するメモ、第2回目。前回はユーザ作成と SSH 設定をやりました。
-
お名前.com VPS を借りて最初にやったこと(1) ユーザ作成とSSH設定
お名前.com VPS メモリ2G プランに Nginx で WordPress を構築するメモ、第1回目。 今回は、お ...
続きを見る
今回は、お名前.com の VPS を申し込んで最初に設定した iptables の設定や不要サービスの停止、サーバの時刻合わせ、logrotate、日本語化、その他細々とした設定のメモです。
目次
- iptables によるファイヤーウォールを設定する
- IPv6 を無効にする
- SELinux をオフにする
- 不要なサービスを停止する
- 仮想コンソールを1個に減らす
- サーバの時刻を合わせる
- kernel panic 時の自動再起動
- logrotate設定
- 言語を日本語にする
iptables によるファイヤーウォールを設定する
iptables の最低限のサンプルです。
/etc/sysconfig/iptables
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:SERVICES - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 4 -j ACCEPT
-A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -j SERVICES
-A SERVICES -p tcp --dport 10022 -j ACCEPT
-A SERVICES -p tcp --dport 80 -j ACCEPT
-A SERVICES -p tcp --dport 443 -j ACCEPT
COMMIT
ざっくり説明です。
- 外部からのアクセスに対して SSH(10022), HTTP(80), HTTPS(443) のポートを開け、それ以外は閉じる
- 内部から外部へのアクセスに対する外部からの返答アクセスをすべて許可
設定を保存し、iptables を再起動します。
# /etc/init.d/iptables save
# /etc/init.d/iptables restart
以下のサイトを参考にしながら、設定を追加していくと良いと思います。
- 連載記事 「習うより慣れろ! iptablesテンプレート集 改訂版」 - @it
- 俺史上最強のiptablesをさらす - Qiita
- iptablesで鉄壁?の守りを実現する3つのTips | TechRacho
IPv6 を無効にする
IPv6 の iptables を停止。IPv6 の iptables の自動起動を停止。
# /etc/init.d/ip6tables stop
# chkconfig ip6tables off
/etc/modprobe.d/disable-ipv6.conf の最終行に以下を追加して IPv6 を無効化。
...
install ipv6 /bin/true
SELinux をオフにする
お名前.com は SELinux はデフォルトで無効になっているので以下対応は不要ですが、念のためメモしておきます。
設定の確認。Disabled と表示されていれば SELinux は無効。
# getenforce
Disabled
もし SELinux を無効化する必要があれは以下の手順で。setenforce コマンドで一時的に無効に。
# setenforce 0
/etc/sysconfig/selinux を修正して再起動しても無効に。
...
#SELINUX=enforcing
SELINUX=disabled
...
不要なサービスを停止する
デフォルトの状態では、不要なサービスがいくつか動いているので停止します。
起動しているサービスの状態を確認
# service --status-all
自動起動されるサービスを確認
# chkconfig --list | grep 3:on
acpid 0:off 1:off 2:on 3:on 4:on 5:on 6:off
blk-availability 0:off 1:on 2:on 3:on 4:on 5:on 6:off
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
lvm2-monitor 0:off 1:on 2:on 3:on 4:on 5:on 6:off
messagebus 0:off 1:off 2:on 3:on 4:on 5:on 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
udev-post 0:off 1:on 2:on 3:on 4:on 5:on 6:off
以下のサービスを停止
# chkconfig lvm2-monitor off
# chkconfig messagebus off
参考
仮想コンソールを1個に減らす
仮想コンソールは使用しないので 6 から 1 にします。
# vi /etc/sysconfig/init
...
# What ttys should gettys be started on?
ACTIVE_CONSOLES=/dev/tty[1-1]
...
設定変更確認
# ps -aux | grep tty
サーバの時刻を合わせる
ntpdate をインストールして cron で定期的に時間をあわせます。
# yum install ntpdate
毎日 午前 0 時に時間を合わせるように cron を設定。
# crontab -e
0 0 * * * /usr/sbin/ntpdate ntp.jst.mfeed.ad.jp > /dev/null
kernel panic 時の自動再起動
kernel panic が発生したら 10 秒後に自動で再起動するように設定します。
/etc/sysctl.conf の末尾行に設定を追加。
# vi /etc/sysctl.conf
...
kernel.panic = 10
sysctl コマンドで設定反映します。
# sysctl -p
sysctl 実行時にエラーが表示されました。IPv6 を無効にしたことが関連しているようです。
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
以下をコメントアウトします。
/etc/sysctl.conf
# Disable netfilter on bridges.
#net.bridge.bridge-nf-call-ip6tables = 0
#net.bridge.bridge-nf-call-iptables = 0
#net.bridge.bridge-nf-call-arptables = 0
設定確認
# cat /proc/sys/kernel/panic
10
10 と表示が出れば OKです。
logrotate設定
デフォルトの設定だと rotate しないログがいくつかあるので /etc/logrotate.conf の末尾行に設定追加。
/etc/logrotate.conf
# system-specific logs may be also be configured here.
/var/log/boot.log {
missingok
notifempty
yearly
}
/var/log/lastlog
{
missingok
notifempty
monthly
}
言語を日本語にする
言語を日本語に変更します。
/etc/sysconfig/i18n
LANG="ja_JP.UTF-8"
SUPPORTED="ja_JP.UTF-8:ja_JP:ja"
SYSFONT="latarcyrheb-sun16"
おわりに
iptables の設定や不要サービスの停止、サーバの時刻合わせ、logrotate、日本語化などについて紹介しました。次回はメール送信確認をします。
-
お名前.com VPS を借りて最初にやったこと(3) メール送信確認
お名前.com VPS メモリ2G プランに Nginx で WordPress を構築するメモ、第3回目。前回は ip ...
続きを見る