CentOS 5.5 初期設定
| Table of Contents |
CentOS5.5 インストール
初期設定
ファイアウォール
- ファイアウォールは「有効」を選択します。
- 信頼できるサービスは「SSH」を選択します。
SELinux
- 今回は「無効」にします。
日付と時刻
- 日付と時刻を合わせます。ネットワークタイムプロトコルは何も設定しません。
ユーザーの作成
- 今回は「hoge」ユーザーを作成します。
サウンドカード
- サウンドカードは利用しないのでそのまま「進む」を押します。
追加のCD
- そのまま「終了」を押します。
viの設定
- viを使いやすくするためviの設定ファイル「~/.vimrc」を変更します。
set ts=4 #タブの幅をスペース4つ分に設定する set nu #行番号を表示する
SSHの設定
- 設定ファイル「/etc/ssh/sshd_config」を以下のように変更します。
# rootでのログインを禁止する PermitRootLogin no # パスワード無しのログインを禁止する PermitEmptyPasswords no # ユーザhogeのみ接続許可をする(不特定多数に接続させない為) AllowUsers hoge
- 設定変更を有効にするためサービスを再起動します
# /etc/init.d/sshd restart
ファイアウォールの設定
- 下記ポリシーに沿ってファイアウォールの設定を行います。
- 入力パケットは全て破棄
- 転送パケットは全て破棄
- 出力パケットは全て許可
- LAN(192.168.11.0/24)からのアクセスは全て許可
- ポリシーにマッチしない通信は「/var/log/messages」に記録する
- 上記ポリシーに従い「/etc/sysconfig/iptables」を以下のように設定します。
*filter #次行を修正 :INPUT DROP [0:0] #次行を修正 :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT #次行を追加 -A RH-Firewall-1-INPUT -s 192.168.11.0/24 -j ACCEPT -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #次行を追加 -A RH-Firewall-1-INPUT -j LOG --log-level info --log-prefix "[iptables] " -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT
- ・-j LOG --log-level info --log-prefix "[iptables] "
- プライオリティをinfoとしてログを記録する。記録の際、[iptables] を付加する
- ・-m state --state NEW -s 192.168.11.0/24 -j ACCEPT
- 送信元が192.168.11.0/24のパケットは許可する
- ・-j REJECT --reject-with icmp-host-prohibited
- すべての入力パケットを拒絶
- 設定を有効にするためサービスを再起動します
# /etc/init.d/iptables restart
不要サービスの停止
- ntsysvコマンドを利用して不要なサービスの自動起動を停止します。
# ntsysv --level 345 [ ] NetworkManager [ ] acpid [*] anacron [ ] apmd [ ] atd [*] auditd [*] autofs [ ] avahi-daemon [ ] avahi-dnsconfd [ ] bluetooth [ ] conman [*] cpuspeed [*] crond [ ] cups [ ] dnsmasq [ ] dund [*] firstboot [ ] gpm [ ] haldaemon [ ] hidd [ ] httpd [ ] ibmasm [ ] ip6tables [*] iptables [ ] irda [*] irqbalance [*] kudzu [*] lvm2-monitor [*] mcstrans [*] mdmonitor [ ] mdmpd [*] messagebus [ ] multipathd [ ] netconsole [ ] netfs [ ] netplugd [*] network [ ] nfs [ ] nfslock [ ] nscd [ ] ntpd [ ] oddjobd [ ] pand [*] pcscd [ ] portmap [ ] psacct [*] rawdevices [ ] rdisc [*] readahead_early [*] readahead_later [ ] restorecond [ ] rpcgssd [ ] rpcidmapd [ ] rpcsvcgssd [ ] saslauthd [*] sendmail [*] smartd [*] sshd [*] syslog [ ] tcsd [ ] vncserver [ ] wdaemon [ ] winbind [ ] wpa_supplicant [ ] xfs [ ] ypbind [ ] yum-updatesd
- 今回は以下のサービスを停止しました。
サービス名 説明 acpid 電源管理(Advanced Configuration and Power Interface)ノートPC以外は不要 apmd 省電力モードの設定を行う。クライアント向けの機能。 atd 指定時刻にコマンドを実行するためのサービス avahi-daemon マルチキャストDNSを使って名前を公開したり解決したり出来るようにするためのデーモン bluetooth bluetoothワイヤレス通信サービス。bluetoothは不要なため停止 cups 印刷サービス gpm コンソール用のマウスサーバ haldaemon ハードウェア情報収集サービス。messagebus を動かす必要がある。halは比較的新しい機構で、Linuxカーネルはこの仕組みを使ってデバイスを管理できるようになっている。PCI, USB, SCSIなどのバスも監視する。ホットプラグの支援も行う。 hidd Bluetooth HID daemon ip6tables IP v6 用のファイアウォール netfs NFSクライアント nfslock NFSのファイルロック機構を提供するサービス pcscd PC/SC smart card daemon。スマートカードの類を使わないなら不要 portmap portmapサービスは NIS や NFS などRPCサービス向けの ダイナミックなポート指定デーモン readahead_later システム起動後にプログラムで必要となるファイルを事前に読み込んでおくサービス。 restorecond SELinux関連のデーモン。inotify(ファイルの作成や更新を監視)を使って、ファイルのラベルを自動更新する。SELinuxを使わないなら不要。 rpcgssd RPCSEC GSS daemon for the NFSv4 client (セキュリティを強化したrpc) rpcidmapd RPC name to UID/GID mapper (NFSを利用しないならOff) xfs X フォントサーバ。Xを使っていないなら不要 yum-updatesd 余計なメモリを消費するため起動しない。アップデートはcron もしくは手動で実行。
- 自動起動の設定変更後に再起動します。これで不要サービスが停止した状態になります。
# shutdown -r now
- 最終的なデーモンを確認します。デーモンはSSHとsendmail(ローカル配送限定)のみになります。
# netstat -lntup Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1797/sendmail: acce tcp 0 0 :::22 :::* LISTEN 1777/sshd
パッケージのアップデート
- パッケージを最新版にアップデートします。
# yum update
yumコマンドを初めて実行する場合、 GPGキーのインポートが必要になるため以下のような警告が表示されます。警告: rpmts_HdrFromFdno: ヘッダ V3 DSA signature: NOKEY, key ID e8562897 updates/gpgkey | 1.5 kB 00:00 Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) <centos-5-key@centos.org>" from /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
GPGキーはRPMパッケージの正当性チェックに利用されますが、インストール直後はGPGキーがインポートされておらず、パッケージのチェックができません。 そのためこのような警告が表示されます。
- kernelのアップデートは再起動後に有効となるため再起動します。
# shutdown -r now
yumの設定
- cronで毎日5時にアップデートを実施します。アップデートログは/var/log/yum.logに記録されます。
# crontab -e 0 5 * * * /usr/bin/yum -y update
時刻設定
- 現在の時刻を合わせます。
# /usr/sbin/ntpdate ntp.nict.jp
- cronで定期的(毎日23時)に時刻を合わせるよう設定します。
Vmwareなど仮想マシンの場合は2分(1分)おきぐらいに時刻を合わせたほうがよいです。
# crontab -e 0 23 * * * /usr/sbin/ntpdate ntp.nict.jp > /dev/null 2>&1