ServersMan@VPS Debian 6.0 squeeze の設定 (5)

続きです。

root の設定

sudo して設定ファイルをいじる場合など Emacs で C-h してもヘルプ呼び出しになってしまうので変だなぁと思っていた。また作業ユーザーで ls するとディレクトリとファイルとで色分けしてくれるのに sudo して ls するとされていないような気がする。

root には root 用の設定ファイルを用意しないといけないのですね。気づいてみれば当たり前の話。ということで .bash-profile と /.emacs.d/init.el を用意して一件落着。

こちらを見ると以下の対策・設定について書かれている

  • root ログインを無効にする
  • 公開鍵認証にする(パスワードログインを無効にする)
  • logwatch による log 監視
  • ssh のポート変更
  • denyhosts のインストール
  • iptables のインストール

出来る範囲で進めていこう。

Apache の設定
$ sudo emacs /etc/apache2/conf.d/security
ServerTokens Prod クライアントに送り返す Server応答ヘッダ内のサーバ情報を最低限にする。
ServerSignature Off サーバが生成するドキュメントのフッタにサーバ情報を載せない。
TraceEnable Off TRACEメソッドに応答しない。

TraceEnable は Off になっていたので上 2 つだけ変更した

logwatch の設定
$ sudo apt-get install logwatch
$ sudo emacs /usr/share/logwatch/default.conf/logwatch.conf 

mailto が root になっているのを自分のメールアドレスに設定
でも次の設定がうまくできなかったのでひとまず logwatch については中断

$ sudo dpkg-reconfigure exim4-config
sudo: unable to resolve host dti-vps-srv739
パッケージ `exim4-config' はまだインストールされておらず情報の利用は不可能です。
アーカイブファイルを調べるためには dpkg --info (= dpkg-deb --info) を、
その内容一覧を表示するには dpkg --contents (= dpkg-deb --contents) を使います。
/usr/sbin/dpkg-reconfigure: exim4-config はインストールされていません

iptables の設定

上記エントリを見ているといろいろ複雑そうでちょっと気後れする。

こちらにある内容をそのまま使用する。SSH のポート番号だけ変更。
etc/ に iptables というディレクトリを作ってその中に rules というファイルを作成する。そこに上記の内容を手打ち。

$ sudo iptables-restore < /etc/iptables/rules
iptables-restore v1.4.8: no command specified
Error occurred at line: 27
Try `iptables-restore -h' or 'iptables-restore --help' for more information.

設定を反映させようとしたらエラーが出たが、設定ファイルの最後に改行を入れたら無事読み込めた。

インストールされているパッケージの確認
$ sudo dpkg -l
MySQL の設定
$ mysql -u root -p
Enter password: 

mysql> select user, host from mysql.user;
+------------------+----------------+
| user                           | host                       |
+------------------+----------------+
| root                           | 127.0.0.1                |
| root                             | ::1            |
|                               | dti-vps-srv739 |
| root                            | dti-vps-srv739 |
|                                      | localhost      |
| debian-sys-maint              | localhost      |
| root                                  | localhost      |
+------------------+----------------+
7 rows in set (0.00 sec)

↑ログインしてユーザー一覧を確認する

mysql> delete from mysql.user where user='';
Query OK, 2 rows affected (0.00 sec)

mysql> select user, host from mysql.user;
+------------------+----------------+
| user             | host           |
+------------------+----------------+
| root             | 127.0.0.1      |
| root             | ::1            |
| root             | dti-vps-srv739 |
| debian-sys-maint | localhost      |
| root             | localhost      |
+------------------+----------------+
5 rows in set (0.00 sec)

↑名前が空欄になっているユーザーを削除する

mysql> show databases;
+--------------------+
| Database                        |
+--------------------+
| information_schema      |
| mysql                            |
| performance_schema     |
| test                                |
+--------------------+
4 rows in set (0.00 sec)

↑すでにあるデータベースを確認

mysql> drop database test;
Query OK, 0 rows affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database                        |
+--------------------+
| information_schema       |
| mysql                             |
| performance_schema     |
+--------------------+
3 rows in set (0.00 sec)

↑データベース test を削除する

続きます。