CentOS 5.6 初期設定
| Table of Contents |
CentOS5.6 インストール
初期設定
ファイアウォール
- ファイアウォールは「有効」を選択します。
- 信頼できるサービスは「SSH」を選択します。
SELinux
- 今回は「無効」にします。
日付と時刻
- 日付と時刻タブで時刻を合わせます。
- ネットワークタイムプロトコルでは「ntp.nict.jp」をNTPサーバに指定します。
ユーザーの作成
- 今回は「hoge」ユーザーを作成します。
サウンドカード
- サウンドカードは利用しないのでそのまま「進む」を押します。
追加のCD
- そのまま「終了」を押します。
viの設定
- viを使いやすくするためviの設定ファイル「~/.vimrc」を新規作成します。
# 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」を以下のように設定します。
# vi /etc/sysconfig/iptables *filter #次の1行を修正 :INPUT DROP [0:0] #次の1行を修正 :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 #次の1行を追加(LANを許可) -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 #次の4行を追加(外部NTPを許可) -A RH-Firewall-1-INPUT -s 133.243.238.163 -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT -A RH-Firewall-1-INPUT -s 133.243.238.164 -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT -A RH-Firewall-1-INPUT -s 133.243.238.243 -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT -A RH-Firewall-1-INPUT -s 133.243.238.244 -m state --state NEW -m udp -p udp --dport 123 -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 [ ] iscsi [ ] iscsid [*] kudzu [*] lvm2-monitor [*] mcstrans [*] mdmonitor [ ] mdmpd [*] messagebus [ ] microcode_ctl [ ] 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 [ ] svnserve [*] 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 用のファイアウォール iscsi iscsiイニシエータとして利用する場合に必要 iscsid iscsiターゲットとして利用する場合に必要 microcode_ctl Intel IA32マイクロコードの更新をできるようにするためのドライバ 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) svnserve プログラムのソースコードなどを管理する集中型バージョン管理システム xfs X フォントサーバ。Xを使っていないなら不要 yum-updatesd 余計なメモリを消費するため起動しない。アップデートはcron もしくは手動で実行。
- 自動起動の設定変更後に再起動します。これで不要サービスが停止した状態になります。
# shutdown -r now
- 最終的なデーモンを確認します。デーモンはSSH、sendmail(ローカル配送限定)、NTPのみになります。
# netstat -lntup Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1722/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1764/sendmail: acce udp 0 0 192.168.11.150:123 0.0.0.0:* 1740/ntpd udp 0 0 127.0.0.1:123 0.0.0.0:* 1740/ntpd udp 0 0 0.0.0.0:123 0.0.0.0:* 1740/ntpd
パッケージのアップデート
- パッケージを最新版にアップデートします。
# 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
システム統計情報の取得(sysstat)
システムの正常/異常を切り分けるため、sysstatでシステム統計情報を取得しておきます。
sysstatのインストール
- sysstatをインストールします
# yum install sysstat
- 主に下記ファイルがインストールされます。
ファイル名 説明 備考 /etc/init.d/sysstat 起動スクリプト /etc/sysconfig/sysstat システム統計情報の保存期間、圧縮に関する設定ファイル /etc/cron.d/sysstat システム統計情報の取得間隔に関する設定ファイル /var/log/sa/sa[日付] システム統計情報(バイナリ形式) /var/log/sa/sar[日付] システム統計情報(テキスト形式)
sysstatの設定
- システム統計情報の取得頻度を1分間隔に変更します。
# vi /etc/cron.d/sysstat # システム統計情報の取得間隔(デフォルトの10分間隔から1分間隔へ変更) */1 * * * * root /usr/lib/sa/sa1 1 1 # システム統計情報のテキスト化 # 1日の最後にシステム情報をテキスト化して保存します。(デフォルトは23:53に実行されます) 53 23 * * * root /usr/lib/sa/sa2 -A
- cronを再起動します
# /etc/init.d/crond restart
- システム統計情報の保存期間を15日に設定します(デフォルト 7日)
# vi /etc/sysconfig/sysstat # How long to keep log files (days), maximum is a month HISTORY=15
sysstatの起動設定
- sysstatを起動します。
# /etc/init.d/sysstat start Calling the system activity data collector (sadc):
- 自動起動の設定を行います。
# chkconfig --add sysstat # chkconfig --list sysstat sysstat 0:off 1:off 2:on 3:on 4:off 5:on 6:off
システム統計情報の確認
- CPUに関する統計情報
# sar -u -f /var/log/sa/sa02
- メモリに関する統計情報
# sar -r -f /var/log/sa/sa02
- ページングに関する統計情報を確認
# sar -B -f /var/log/sa/sa02
- スワップに関する統計情報
# sar -W -f /var/log/sa/sa02
- ディスクに関する統計情報
# sar -b -f /var/log/sa/sa02
- 送受信パケットに関する統計情報
# sar -n DEV -f /var/log/sa/sa02
- 送受信エラーパケットに関する統計情報
# sar -n EDEV -f /var/log/sa/sa02
