安全なサーバ、Debian編
Linuxでそこそこ安全かつ楽にサーバを立てる方法: sanonosa システム管理コラム集
自分なりに考えてみた。
Debianのetchではインストール時に全てのチェックを外すとほとんど何も入らない。基本システムでさえ外せるから外す。
psコマンドで全プロセスを表示させるとかなりすっきりしたものが見られる。カーネルスレッド以外ほとんど何も動いてないんじゃないかな。
sshが入ってないので、これはapt-getで入れて外から作業の開始。
- vi /etc/apt/sources.list
- cdを外す
- apt-get update; apt-get dist-upgrade
- apt-get install ssh
Debianのポリシーでは、ランレベルで起動するサービスを分けるのではなくて「インストールしたサービスは起動する、起動しないサービスはインストールしない」だったと思うので、使わないものは入れない。使わなければならない状況になったときにapt-getする。
私の場合は大抵Webを使うので、これはtaskselで入れている。apache2-mpm-preforkが入るのだが、PHPを使う場合はこれでいい。libapache2-mod-pythonなども勝手に入るが、使わないならばapt-get removeする。
あと、ipv6は使わないならモジュールを読み込まないようにする。
modconfで一応表示はされるが外せないので、設定ファイルを直接編集してリブート。
書いてみると、あまりやることや注意することが無かったな。インストール時のtaskselで全てのチェックを外すことぐらいか。
「テスト用のユーザを作ろう」と思って簡単なユーザ名&パスワードのユーザを作ると、一般ユーザ権限しかなくても酷いことになるとか、万が一問題が起こったときのためにルータで内部から外部への通信を遮断したりしておく、とかはサーバインストールに直接関係ないけど重要かも。
# 余談
後輩の卒研で、ファイアーウォールとか侵入検知とかやってる人が時々居る。
これって実際はどの程度使われていてどれくらい効果があるんだろう?
巷で言うファイアーウォールの意味がよくわからないし、侵入検知がどこまで保証してくれるのかもよくわからない。
単純なことを難しく言ってる気がしてならないなぁ。