社内LANや、家庭内LANからの接続にしか、メール受信を許可したくない場合、xinetd が便利。xinetd を使うと、IPアドレス、ドメイン、接続回数、接続時間などで、各種サービスをアクセス制限できる。
xinetd が動作しているか確認
1 | # service xinetd status |
xinetd が動作しているか確認するには、上のコマンドを打つ。
1 | xinetd: 認識されていないサービスです。 |
上のように表示されたら、インストールする必要がある。
インストール
Fedora11 の場合 GUI で、「 xinetd 」をインストールできる。
「 システム > 管理 > Add/Remove Software 」で、「ソフトウェアの追加/削除」を開く。
「xinetd」を検索すると、「 A secure replacement for inetd 」が現れる。
チェックボックスにチェックを入れ、インストール。
設定
「 /etc/xinetd.conf 」か「 /etc/xinetd.conf 」で指定したディレクトリで設定。デフォルトの指定ディレクトリは、「 includedir /etc/xinetd.d」となっている。
POP3 メールサーバ アクセス制限
1 | find / -name "pop3-login" |
上のコマンドで、pop3-login のインストール場所を確認。
1 | /usr/libexec/dovecot/pop3-login |
dovecot の場合、上のように現れる。
「 /etc/xinetd.conf 」で includedir 指定したディレクトリに、vi エディタで、pop3-stream というファイルを作る。
1 2 | cd /etc/xinetd.d vi pop3-stream |
1 2 3 4 5 6 7 8 9 10 11 12 | service pop3 { disable = no socket_type = stream protocol = tcp wait = no user = root server = /usr/libexec/dovecot/pop3-login only_from = localhost 192.168.1.0/24 log_on_success += USERID HOST DURATION log_on_failure += USERID HOST } |
- service
-
一行めの service の後ろの pop3 の箇所は、「/etc/services」ファイルに書かれている名称を指定する。今回は、POP3 サーバーなので、pop3 を指定した。
- only_from
-
許可する接続元。
-
社内LAN、家庭内LANの場合、プライベートIPアドレスを指定する。通常は、「192.168.1.0/24」か「192.168.0.0/24」だろう。
- log_on_success
-
接続許可したログに記録する情報。
- USERID
-
接続したユーザーID。
- HOST
-
接続元アドレス。
- DURATION
-
接続した時間。
- log_on_success
-
接続失敗したログに記録する情報。
- USERID
-
接続に失敗したユーザーID。
- HOST
-
接続元アドレス。
dovecot が起動中であれば、停止。
1 | /etc/init.d/dovecot stop |
自動起動を設定してある場合は、自動起動を解除。
1 | chkconfig dovecot off |
xinetdを再起動
1 | service xinetd restart |