Red Hat Linux 7.2J インストール後の設定

インストール直後の状態でサーバとして外部に公開するのはセキュリティー的に危険なので、最低限のセキュリティー対策を施す。

1.パッケージの更新

セキュリティホールが発見されるたびにアップデートファイルが公開される。サーバ管理者は常に情報を収集し、パッケージを最新の状態に保たなければならない。

(1) インストールされているパッケージを調べる

インストールされているパッケージを調べるには、次のコマンドを実行する。

$ rpm -qa

なお、特定のパッケージについて調べるには、次のコマンドを実行する。(例、openssl)

$ rpm -q openssh

(2) アップデートファイルをダウンロードする

Red Hat Linux 7.2J セキュリティアドバイスhttp://www.jp.redhat.com/support/errata/rh72-errata-security.html)を参照し、上記パッケージに対応するアップデートファイルがあれば、ダウンロードし、任意の場所(/usr/local/srcなど)に転送する。

(3) パッケージをアップデートする

例えばインストールされているopensshパッケージのバージョンがopenssh-2.9p2-5で、上記サイトからopenssh-2.9p2-12.i386.rpmをダウンロードした場合、次のようにアップデートを行う。

$ rpm -Uvh openssh-2.9p2-12.i386.rpm

通常のパッケージならこれでアップデートが正常に行われるが、他のパッケージと依存関係にあるパッケージをアップデートした場合、エラーになってアップデートが失敗する。例えばopensshはopenssh-clientsと依存関係にあるため、失敗する。
この場合、openssh-clientのアップデートパッケージも同時にアップデートすると、正常に行われる。

$ rpm -Uvh openssh-2.9p2-12.i386.rpm openssh-clients-2.9p2-12.i386.rpm

2.rootになれるユーザを制限する

wheelグループに所属するユーザのみsuコマンドが使えるようにする。/etc/login.defsを開き、以下の行を追加する。

# vi /etc/login.defs

SU_WHEEL_ONLY yes ←追加

3.作業ユーザの追加

wheelグループに所属する(suコマンドを使ってrootになれる)ユーザを作成する。

# useradd -g users -G wheel hogeuser
# passwd hogeuser

4.ヒストリの自動削除

ログアウト時に.bash_historyファイルを削除するよう設定する。

# vi /etc/skel/.bash_logout

rm -f $HOME/.bash_history ←追加

同様に、各ユーザの.bash_logoutも修正する。

5.不要ユーザ・グループの削除

インストール時に登録されている不要なユーザ・グループを削除する。

不要なユーザとホームディレクトリの削除

# userdel ftp
# userdel gopher
# userdel news
# userdel mail
# userdel games
# userdel uucp
# userdel lp

# rm -rf /var/spool/mail
# rm -rf /usr/games

不要なグループの削除

# groupdel news
# groupdel mail
# groupdel games
# groupdel uucp
# groupdel lp

6.不要なサービスの停止と削除

私にとって以下のサービスは不要なので停止・削除を行う。

《cannaserver》

# /etc/rc.d/init.d/canna stop ←停止
# rpm -e Canna ←削除
# rm -rf /var/lib/canna ←ライブラリの削除

7.重要ファイルのアクセス権の変更

他のユーザに見られてまずい各種ファイルのアクセス権を変更する。

# chmod 600 /etc/lilo.conf
# chmod 600 /etc/inittab
# chmod 600 /etc/fstab
# chmod -R 700 /etc/rc.d
# chmod 700 /bin/rpm

8.その他(任意)

その他の対策を紹介する。

(1)最小パスワード長の変更

最小パスワード長を5文字から8文字に変更する。

# vi /etc/login.defs

#PASS_MIN_LEN 5
PASS_MIN_LEN 8

(2)不要なPATHの削除

/usr/X11R6/binへのパスを無効にする。

# vi /etc/profile

#if ! echo $PATH | /bin/grep -q "/usr/X11R6/bin" ; then ←コメントアウト
#  PATH="$PATH:/usr/X11R6/bin"
#fi

(3)自動ログアウトの設定

ログイン後、任意の秒数間何もしなかった場合、自動的にログアウトするよう設定する。

# vi /etc/profile

TMOUT=18000 ←追加

(4)Ctrl+Alt+Delを無効にする

キーボードからのCtrl+Alt+DelによるREBOOTを無効にする。

# vi /etc/inittab

# Trap CTRL-ALT-DELETE
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now ←コメントアウト

現在のランレベルのまま、再度inittabを読む込ませる。

# /sbin/init q

[ TOP ]