Scientific Linux 6.0 初期設定


Table of Contents

はじめに

vimの設定

  • viコマンドでvimを起動するようにエイリアスを追加します。
    # vi /etc/bashrc
    
    # ファイルの最後に下記1行を追加します。
    alias vi='vim'
  • vimの全体設定を変更します。
    # vi /etc/vimrc
    
    # ファイルの最後に下記2行を追加します。
    set ts=4
    set nu  
    
    # set ts=4 →タブの幅をスペース4つ分に設定する
    # set nu   →行番号を表示する

ユーザ作成

  • 一般ユーザとしてhogeを作成します。
    # useradd hoge
    # passwd hoge
    ユーザー hoge のパスワードを変更。
    新しいパスワード:
    新しいパスワードを再入力してください:
    passwd: 全ての認証トークンが正しく更新できました。

SELinuxの設定

  • SELinuxを無効にします。
    # vi /etc/selinux/config
    
    SELINUX=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-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
       [ ] 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グループ単位でプロセスのリソース使用量を制御するサービス
    cgredCgred は、/etc/cgrules.conf ファイルで設定されたパラメータに従ってタスクを cgroups に移動するデーモン
    haldaemonハードウェア情報収集サービス。messagebus を動かす必要がある。halは比較的新しい機構で、Linuxカーネルはこの仕組みを使ってデバイスを管理できるようになっている。PCI, USB, SCSIなどのバスも監視する。ホットプラグの支援も行う。
    ip6tablesIP v6 用のファイアウォール
    microcode_ctlIntel IA32マイクロコードの更新をできるようにするためのドライバ
    netfsNFSクライアント
    psacctアカウントの利用統計を取得する
    rdiscネットワークルータディスカバリーデーモン。ルータとして動作させないのであれば不要
    restorecondSELinux関連のデーモン。inotify(ファイルの作成や更新を監視)を使って、ファイルのラベルを自動更新する。SELinuxを使わないなら不要。
    saslauthdsasl認証サービス
    udev-postハードウェア自動認識を行うデーモン


  • 自動起動の設定変更後に再起動します。これで不要サービスが停止した状態になります。
    # shutdown -r now

  • 最終的なデーモンを確認します。デーモンはSSH、postfix(ローカル配送限定)のみになります。
    # 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      1056/sshd
    tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1132/master
    tcp        0      0 :::22                       :::*                        LISTEN      1056/sshd
    tcp        0      0 ::1:25                      :::*                        LISTEN      1132/master

パッケージのアップデート

  • パッケージを最新版にアップデートします。
    # yum update

  • kernelのアップデートは再起動後に有効となるため再起動します。
    # shutdown -r now

yumの設定

  • cronで毎日5時にアップデートを実施します。アップデートログは/var/log/yum.logに記録されます。
    # crontab -e
    0 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 noquery
    restrict -6 default kod nomodify notrap nopeer noquery
    
    #ローカルホストからのNTP通信を許可する
    restrict 127.0.0.1
    restrict -6 ::1
    
    # 上位NTPサーバとの通信を許可する
    restrict 133.243.238.163 mask 255.255.255.255 nomodify notrap noquery
    restrict 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.jp
    25 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 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/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[日付]
このエントリーをはてなブックマークに追加
Last-modified: 2011-05-25 (水) 00:00:00   最終更新のRSS