CentOS 5.4 設定
| Table of Contents |
インストール
初期設定
ファイアウォール
- ファイアウォールは「有効」を選択します。
- 信頼できるサービスは「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-prohibitedCOMMIT
- ・-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 [ ] 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 [*] 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 [*] 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 -lntupActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program nametcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1797/sendmail: accetcp 0 0 :::22 :::* LISTEN 1777/sshd
パッケージのアップデート
-
パッケージを最新版にアップデートします。
# yum update
yumコマンドを初めて実行する場合、 GPGキーのインポートが必要になるため以下のような警告が表示されます。GPGキーはRPMパッケージが本物かどうかをチェックするために利用しますが、インストール直後はGPGキーがインポートされておらず、パッケージのチェックができないためこのような警告が表示されます。特に問題はありません。警告: rpmts_HdrFromFdno: ヘッダ V3 DSA signature: NOKEY, key ID e8562897updates/gpgkey | 1.5 kB 00:00Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key)<>" from /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
-
kernelのアップデートは再起動後に有効となるため再起動します。
# shutdown -r now
yumの設定
-
cronで毎日5時にアップデートを実施します。アップデートログは/var/log/yum.logに記録されます。
# crontab -e0 5 * * * /usr/bin/yum -y update
時刻設定
-
現在の時刻を合わせます。
# /usr/sbin/ntpdate ntp.nict.jp
-
cronで定期的(毎日23時)に時刻を合わせるよう設定します。Vmwareなど仮想マシンの場合は2分(1分)おきぐらいに時刻を合わせたほうがよいです。
# crontab -e0 23 * * * /usr/sbin/ntpdate ntp.nict.jp > /dev/null 2>&1