ServersMan@VPS Debian 6.0 squeeze の設定 (5)
- ServersMan@VPS Debian 6.0 squeeze の設定 - ryskosn log
- ServersMan@VPS Debian 6.0 squeeze の設定 (2) - ryskosn log
- ServersMan@VPS Debian 6.0 squeeze の設定 (3) - ryskosn log
- ServersMan@VPS Debian 6.0 squeeze の設定 (4) - ryskosn log
続きです。
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 の設定
- iptables - Debian Wiki
- ブローヴちゃん: Debian に iptables を設定
- LinuxのUbuntuやDebianでiptablesの設定方法・設定ファイル - MiuxMiu
- Debian上でのiptablesの設定方法 - 男子厨房になるべからず!技術メモ
- 2012-12-12 - 男子厨房になるべからず!技術メモ
上記エントリを見ているといろいろ複雑そうでちょっと気後れする。
こちらにある内容をそのまま使用する。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.
設定を反映させようとしたらエラーが出たが、設定ファイルの最後に改行を入れたら無事読み込めた。
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 を削除する
続きます。