Scientific Linux 6.0 初期設定
| Table of Contents |
はじめに
-
Scientific Linux 6.0 のインストールについては下記を参照して下さい。
Scientific Linux 6.0/インストール
vimの設定
-
viコマンドでvimを起動するようにエイリアスを追加します。
# vi /etc/bashrc# ファイルの最後に下記1行を追加します。alias vi='vim'
-
vimの全体設定を変更します。
# vi /etc/vimrc# ファイルの最後に下記2行を追加します。set ts=4set nu # set ts=4 →タブの幅をスペース4つ分に設定する# set nu →行番号を表示する
ユーザ作成
-
一般ユーザとしてhogeを作成します。
# useradd hoge# passwd hogeユーザー hoge のパスワードを変更。新しいパスワード:新しいパスワードを再入力してください:passwd: 全ての認証トークンが正しく更新できました。
SELinuxの設定
-
SELinuxを無効にします。
# vi /etc/selinux/configSELINUX=disabled
-
サーバを再起動します。
# shutdown -r now
SSHの設定
-
設定ファイル「/etc/ssh/sshd_config」を以下のように変更します。
# vi /etc/ssh/sshd_config# 42行目:rootでのログインを禁止するPermitRootLogin no# 65行目:パスワード無しのログインを禁止する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]-A INPUT -i lo -j ACCEPT##次の1行を追加(LANを許可)-A INPUT -s 192.168.11.0/24 -j ACCEPT-A INPUT -p icmp --icmp-type any -j ACCEPT-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT##次行を追加(ログを記録)-A INPUT -j LOG --log-level info --log-prefix "[iptables] "-A 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 --level 345 [ ] acpid [ ] atd [*] auditd [ ] cgconfig [ ] cgred [*] cpuspeed [*] crond [ ] haldaemon [ ] ip6tables [*] iptables [*] irqbalance [*] kdump [*] lvm2-monitor [*] mdmonitor [*] messagebus [ ] microcode_ctl [ ] netconsole [ ] netfs [*] network [*] postfix [ ] psacct [ ] rdisc [ ] restorecond [*] rsyslog [ ] saslauthd [*] smartd [*] sshd [*] sysstat [ ] udev-post
-
今回は以下のサービスを停止しました。
サービス名 説明 acpid 電源管理(Advanced Configuration and Power Interface)ノートPC以外は不要 atd 指定時刻にコマンドを実行するためのサービス cgconfig グループ単位でプロセスのリソース使用量を制御するサービス cgred Cgred は、/etc/cgrules.conf ファイルで設定されたパラメータに従ってタスクを cgroups に移動するデーモン haldaemon ハードウェア情報収集サービス。messagebus を動かす必要がある。halは比較的新しい機構で、Linuxカーネルはこの仕組みを使ってデバイスを管理できるようになっている。PCI, USB, SCSIなどのバスも監視する。ホットプラグの支援も行う。 ip6tables IP v6 用のファイアウォール microcode_ctl Intel IA32マイクロコードの更新をできるようにするためのドライバ netfs NFSクライアント psacct アカウントの利用統計を取得する rdisc ネットワークルータディスカバリーデーモン。ルータとして動作させないのであれば不要 restorecond SELinux関連のデーモン。inotify(ファイルの作成や更新を監視)を使って、ファイルのラベルを自動更新する。SELinuxを使わないなら不要。 saslauthd sasl認証サービス udev-post ハードウェア自動認識を行うデーモン
-
自動起動の設定変更後に再起動します。これで不要サービスが停止した状態になります。
# shutdown -r now
-
最終的なデーモンを確認します。デーモンはSSH、postfix(ローカル配送限定)のみになります。
# netstat -lntupActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program nametcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1056/sshdtcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1132/mastertcp 0 0 :::22 :::* LISTEN 1056/sshdtcp 0 0 ::1:25 :::* LISTEN 1132/master
パッケージのアップデート
-
パッケージを最新版にアップデートします。
# yum update
-
kernelのアップデートは再起動後に有効となるため再起動します。
# shutdown -r now
yumの設定
-
cronで毎日5時にアップデートを実施します。アップデートログは/var/log/yum.logに記録されます。
# crontab -e0 5 * * * /usr/bin/yum -y update
NTPの設定
インストール
-
ntpをインストールします
# yum install ntp
ntp.confの編集
-
ntpの設定ファイル「/etc/ntp.conf」を編集します。
# vi /etc/ntp.conf#NTPサーバとローカルマシンの時刻のずれを管理するファイルdriftfile /var/lib/ntp/drift#全てのNTP通信を拒否restrict default kod nomodify notrap nopeer noqueryrestrict -6 default kod nomodify notrap nopeer noquery#ローカルホストからのNTP通信を許可するrestrict 127.0.0.1restrict -6 ::1# 上位NTPサーバとの通信を許可するrestrict 133.243.238.163 mask 255.255.255.255 nomodify notrap noqueryrestrict 133.243.238.164 mask 255.255.255.255 nomodify notrap noquery#NTPサーバの指定(stratum:優先順位はサーバで決まっています)server 133.243.238.163 #ntp.nict.jp (stratum1)server 133.243.238.164 #ntp.nict.jp (stratum1)#NTPサーバとの同期に失敗した場合はローカルクロックと同期させるserver 127.127.1.0 # local clock#ローカルクロックの優先度は10とするfudge 127.127.1.0 stratum 10#NTP認証で利用するキー(今回は利用しない)keys /etc/ntp/keys#ログファイルの指定logfile /var/log/ntp.log
自動起動の設定
-
chkconfigコマンドで自動起動をONにします
# chkconfig --level 345 ntpd on
起動
-
時刻のずれが大きいとntpでの時刻同期に失敗するため、ntpdateコマンドで時刻を合わせます。
# ntpdate ntp.nict.jp25 May 02:36:23 ntpdate[1520]: adjust time server 133.243.238.243 offset -0.124722 sec
-
ntpを起動します。
# /etc/init.d/ntpd start
動作確認
-
ntpqコマンドで同期状態を確認します。左端に「*」が付けば同期が出来ています。
尚、同期までに時間が掛かるため、起動から5分後ぐらいに確認して下さい。# ntpq -p remote refid st t when poll reach delay offset jitter==============================================================================+ntp-b2.nict.go. .NICT. 1 u 30 64 377 10.542 0.835 0.810*ntp-b3.nict.go. .NICT. 1 u 29 64 377 10.367 -0.020 0.469 LOCAL(0) .LOCL. 10 l 37 64 377 0.000 0.000 0.001
システム統計情報の取得(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の設定
-
システム統計情報の取得頻度を5分間隔に変更します。
# vi /etc/cron.d/sysstat# システム統計情報の取得間隔(デフォルトの10分間隔から5分間隔へ変更)*/5 * * * * 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 monthHISTORY=15
sysstatの起動設定
-
sysstatを起動します。
# /etc/init.d/sysstat startCalling the system activity data collector (sadc):
-
自動起動の設定を行います。
# chkconfig --add sysstat# chkconfig --list sysstatsysstat 0:off 1:off 2:on 3:on 4:off 5:on 6:off
システム統計情報の確認
-
CPUに関する統計情報
# sar -u -f /var/log/sa/sa[日付]
-
メモリに関する統計情報
# sar -r -f /var/log/sa/sa[日付]
-
ページングに関する統計情報を確認
# sar -B -f /var/log/sa/sa[日付]
-
スワップに関する統計情報
# sar -W -f /var/log/sa/sa[日付]
-
ディスクに関する統計情報
# sar -b -f /var/log/sa/sa[日付]
-
送受信パケットに関する統計情報
# sar -n DEV -f /var/log/sa/sa[日付]
-
送受信エラーパケットに関する統計情報
# sar -n EDEV -f /var/log/sa/sa[日付]