Home > SSH | セキュリティ > SSHのアクセス元IPを制限する

SSHのアクセス元IPを制限する

Buzzurlにブックマーク livedoorクリップ Yahoo!ブックマークに登録 このエントリーを含むはてなブックマーク

TCP wrappersを利用してSSHにログインできるIPを制限します。SSHを例にしていますが、FTPなど、他のプロセスによるものでも可能です
以下のファイルが設定ファイルです。

/etc/hosts.deny (拒否するIP/ホストを設定)
/etc/hosts.allow (許可するIP/ホストを設定)
TCP wrappersは、まずhosts.denyの拒否設定を読み、
その後hosts.allowの許可設定を読みます。

ですので設定の定石は、
hosts.denyですべての接続を拒否した後に、
hosts.allowで許可していく流れが一般的です。

/etc/hosts.denyでSSHへの接続をすべて拒否

まずは/etc/hosts.denyですべての接続を拒否します。
vi /etc/hosts.deny
どこでもよいので以下の行を追加
sshd : all
これでSSHサービスへのアクセスをすべて禁止する事になります。

再起動等はしなくても即座に設定が反映されますが
設定を変えても接続が確立してる限りは操作を続行できます。
しかし、切断したのちに再接続をすると本当に誰もSSHログインできなくなってしまいます。
すぐに/etc/hosts.allowの設定もやりましょう。
(そうなった場合は実際に実機でログインして設定を修正しなければいけません・・・)

/etc/hosts.allowでSSHへの接続を許可するホストやIPを指定

vi /etc/hosts.allow
ここでは接続を許可したいホストやIPを追加します。
(設定例)
sshd : 10.10.10.1
sshd : 192.168.1.
sshd : .yahoo.jp
これは以下のような許可設定となります。
#10.10.10.1を許可
#192.168.1.0/24ネットワーク内を許可
# .yahoo.jpのつくホストを許可

切断する前に・・・

hostsファイルの変更はすぐに反映されますが、
その時につながっている接続が切断される事はありません。
現在のSSHでの接続を落とす前に念の為、
もう1つウィンドウを開きSSH接続をしてみる事をおすすめします。

設定が意図どうりに行われているか確認がとれてから切断しましょう。

…余談ですが、
denyをずっと「デニー」と呼んでしまっていましたが、正しくは「ディナイ」と呼ぶそうです。
読み方のわからない単語が多いです…。




Home > SSH | セキュリティ > SSHのアクセス元IPを制限する

Return to page top

運営会社(株)シーズ WEBアプリケーション、フリーCGI配布「ahref(エーエイチレフ)」 Eビジネスに強いレンタルサーバー「ACサーバー」 大容量ファイル転送サービス「デカメール」