セキュリティ強化

インターネットサーバ構築の締めくくりとして、セキュリティレベルを少し向上させます。 ハッキングなどの不幸は突然やってくるものです。 そこで、少しでもその不安を軽減させようというのがここでの狙いです。



不要なサービスを停止

今回のサーバでサポートするのは、ssh, http, pop3, smtp, ftp, webmin だけなので、これ以外のサービスを停止します。

  1. ポート起動するサービスのうち、不要なサービスを停止します。
    Webmin の ネットワーク/Internet Services and Protocols をクリックすると太字のサービス名が表示されますが、これが /etc/inetd.conf に記述されているサービス名です。 このうち、斜め文字になっているのが無効になっているサービスです。 通常文字になっているのは有効になっているサービスです。 ftp 以外は無効になるように設定します。

  2. デーモン起動するサービスのうち、不要なサービスを停止します。
    Webmin の システム/起動およびシャットダウン をクリックするとデーモン起動するサービス名が表示されているので、不要なサービスを無効化します。



su を一般ユーザには使わせない

suコマンドは root 権限に移行できる超強力コマンドです。 ところが、RedHat Linux 6.2 では全てのユーザが suコマンドを使えるのがデフォールトです。 (どの Linux も同じようです。) これじゃ〜危ない!!! という訳で、このコマンドを一般ユーザが使えないようにします。

  1. wheelグループに属するユーザのみが suコマンドを使えるようにします。 そうでないユーザは suコマンドが使えません。 既に wheelグループが存在しています。 これを Webminで確認します。

  2. Webminから システム/ユーザおよびグループ を開きます。 ローカルグループメニューにある wheel をクリックします。

  3. メンバー に wheelグループに属させるユーザ名を記述します。

  4. /etc/pam.d/su に以下を追加します。
         auth   required   /lib/security/pam_wheel.so debug group=wheel
    
    これで、wheelグループに登録したユーザのみ suコマンドが使用できます。



システム管理者専用ユーザアカウントを作成

  1. システム管理者専用ユーザアカウントを作成します。 このユーザにはシェルを与え、セカンダリグループとして wheel に属させます。 このユーザのIDとパスワードは秘密です。

  2. 今までデバッグに使ってきた hiroshi アカウントを一般ユーザに定義し直します。 貴族から平民に格下げみたいなものです。 シェルを /usr/bin/passwd とし、wheelグループ属性を剥奪します。



/etc/skel を変更

  1. 新規ユーザ作成時のユーザホームディレクトリにコピーするファイルのソースになる /etc/skel ディレクトリの中身を以下のようにします。
         # ll -a /etc/skel
         total 6
         drwxr-xr-x    3 root     root         1024 May 25 12:55 .
         drwxr-xr-x   30 root     root         3072 May 25 12:51 ..
         -rw-rw-r--    1 root     root           11 May 25 12:50 .qmail
         drwx------    5 root     root         1024 May 25 12:50 Maildir
    
  2. ウェブホームページ用の public_html ディレクトリは作成していませんが、これは必要なユーザが自分で作成すればよい・・・と考えました。



一般ユーザアカウントの作成方法

一般ユーザアカウントを作成する場合は以下のようにします。 こうすることにより、ログインした途端にパスワード変更コマンドしか動かせなくなります。 メールとウェブホームページとFTPサービスは可能ですので、一般ユーザとしては何にも困らないと思います。

  1. Webminから システム/ユーザおよびグループ を開きます。 ローカルユーザメニューにある 新しいユーザを作成 をクリックします。

  2. この時に、シェルに /usr/bin/passwd を指定し、セカンダリグループには何も指定しないようにします。

  3. そして 作成 ボタンを押すと新規ユーザアカウント作成完了です。



セキュリティに関する参考書教えます

はじめてのインターネットサーバセキュリティ
(2001年7月7日初版1刷)
 著者:毛馬内洋典
発行所:有限会社ラピュータ
 価格:1,800円
この本、一見、マンガドラマ風(実際マンガが書かれています。)で超初心者向けのようにみえますが、 違います。 RedHat Linux 6.2J でのサーバー設定とそれのセキュリティの考え方について真剣に書かれています。 今回のサーバー構築では、この本が一番参考になりました。

この本も実は古本屋(BOOK OFF)で買いました。 我が家のサーバーは全て中古で出来上がっているのでした・・・。