Debian 7(Wheezy)をインストールするときのポイントまとめ

Debian GNU/Linuxのインストールからそれなりに堅牢なベースとなるサーバー構築までの設定手順を整理、まとめ。最短ルートにて環境できるようにするメモ。

インストール時

lvm、パーティション分割、パッケージ(tasksel)はsshサーバーと標準ツールでインストール。インストール時に気合を入れてカスタマイズしなくてもあとで何とかなる。

debian-install-02

debian-install-03

「~パーティションを分割」を選んでいると、/homeにがっつり容量を確保されるので、インストール直後に/homeを削っておく。???の部分は設定したホスト名が入っているはず。

# umount /home
# e2fsck -f /dev/mapper/???-home
# resize2fs /dev/mapper/???-home 10Glvreduce -L 10G /dev/mapper/???-home
# mount /home

余らした領域は、各パーティションが足りなくなりそうだったときに、足してあげればよい。

# pvdisplay
  --- Physical volume ---
	:
  Free PE               xxxxxx
	:

ここでルートパーティションを少し広くしておくと安心。LVMパーティションの拡張方法⇒https://setting-tool.net/lvm-extend

 

良く使うツールのインストール

  • extundelete (ジャーナルからのファイル復旧)
  • ntp、ntpdate(時刻合わせサーバー・クライアント)
  • wget(HTTPなどでのファイルダウンロード)
  • dnsutils(nslookup、digコマンドなど)
  • vim(エディタ:好み?癖?の問題)
  • lv(ビューア)

を入れておく。

aptitude install extundelete ntp ntpdate wget dnsutils vim lv

削除するツール

rcpbind (nfsを使わない=111ポートを閉じる=サーバーサービスを利用しているなど)

# aptitude purge rpcbind

設定

vimを標準エディタに設定する

# update-alternatives --config editor
alternative editor (/usr/bin/editor を提供) には 3 個の選択肢があります。

  選択肢    パス              優先度  状態
------------------------------------------------------------
* 0            /bin/nano            40        自動モード
  1            /bin/nano            40        手動モード
  2            /usr/bin/vim.basic   30        手動モード
  3            /usr/bin/vim.tiny    10        手動モード

現在の選択 [*] を保持するには Enter、さもなければ選択肢の番号のキーを押してください: 2
update-alternatives: /usr/bin/editor (editor) を提供するために 手動モード で /usr/bin/vim.basic を使います

 atd(バッチキュー)を使わない場合

update-rc.d atd disable 再起動時に起動させない
(# update-rc.d -f atd remove	initスクリプト削除)
# /etc/init.d/atd stop いま止める

acpid(電源管理)もいらなければ止める。ただしVPSなどでは利用していることがあるので止めないほうが良い。

update-rc.d acpid disable 
# /etc/init.d/acpid stop

予備コンソールを起動させない(3-6をコメントアウト、再起動後に有効、1のコンソールで壊れたら2を使わずに2で1を復活させる)

# vi /etc/inittab

1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6

IPv6の無効化

/etc/sysctl.d/以下にnet.ipv6.conf.all.disable_ipv6=1を記載したconfファイルを置き、再起動する。

# vi /etc/sysctl.d/disable_ipv6.conf

net.ipv6.conf.all.disable_ipv6 = 1

SSH(sshd)のポート番号変更とIPv6の無効化

 /etc/ssh/sshd_configの先頭のほうにある下記の部分を編集。

# What ports, IPs and protocols we listen for
Port xxxx	22番以外のポートに変更
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
ListenAddress 0.0.0.0	コメントアウトを削除してIPv4のみに限定

1つのターミナルが生きているうちに、sshdを再起動して接続確認をしておく。

# /etc/init.d/ssh restart

iptablesの設定(iptables-persistentの利用)

iptables-persistentでiptablesを管理する

# aptitude install iptables-persistent

IPv6を使わない場合はすべてDROPに変更してして塞いでおく

vi /etc/iptables/rules.v6
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
COMMIT

IPv4はSSHと必要なものを開けてあとは閉じておく。

# vi /etc/iptables/rules.v4

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 ! -i lo -j REJECT --reject-with icmp-port-unreachable
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# たとえばHTTP
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
# SSHで設定したポートを指定
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables_log: " --log-level 7
-A INPUT -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -j ACCEPT
COMMIT

 いちおう単純DROPにせず、--reject-with icmp-port-unreachableでREJECTを返しておく。

また、iptableのログを/var/log/iptables.logに出力するようにしておく(このままだとsyslogが汚れる)。

# vi /etc/rsyslog.d/iptable.conf	(ファイルを作成)

:msg,contains,"iptables_log" -/var/log/iptables.log
& ~
# /etc/init.d/rsyslog restart

そして設定を反映させ、SSHなど接続確認をしておく。

# /etc/init.d/iptables-persistent reload

Nginx+WordPressのインストール手順⇒https://setting-tool.net/install-wordpress