IP制限をしてみよう!

02.08.10 / SSHって何? / Author:

前回見たアタックを回避するための方法の1つとして、IPアドレスの制限というものがあります。

SSHのIP制限では、/etc/hosts.allowと/etc/hosts.denyの2つのファイルに設定することで、特定のIPを拒否したり、自分以外のIPすべてを拒否したりします。

今回は、私が利用しているIPアドレス以外のIPアドレスを拒否する設定をしました。

$ ssh [サーバー名]でサーバに入り

パスワードを入力

$ suでroot権限に

# vi /etc/hosts.denyで/etc/hosts.denyの編集

iで編集モードにしてsshd : ALLと一番下に書き、

escで編集を終わらせ、:wqで保存して終了。

この状態にするとすべてのIPアドレスが拒否されます。

ターミナルをもう一つ開いて

$ ssh [サーバー名]と入れてもログインできなければ設定ができています。

次に/etc/hosts.allowの設定をしましょう。

# vi /etc/hosts.allow で/etc/hosts.allowの編集

iで編集モードにしてsshd : [許可するIPアドレス(ここでは自分の)]と書き、escで編集を終わらせて :wqで保存して終了します。

すると今度は自分のIPアドレス(許可されたIPアドレス)でのみ入ることができます。

/etc/hosts.denyで設定されていても、 /etc/hosts.allowで許可されていれば、そのIPアドレスから入ることが可能です。

もうひとつ開いていたターミナルで

$ ssh [サーバー名]と入れパスワードを入れてログインできたので設定できています。

$ ssh [サーバー名]

パスワード入力

$ su

パスワード入力

# vi /etc/hosts.deny

sshd : ALL

# vi /etc/hosts.allow

sshd : [許可するIPアドレス]

今回 /etc/hosts.denyと /etc/hosts.allowでIP制限の設定ができたのは、sshdがTCPwrapperのライブラリを利用しているからです。

もともとTCP Wrapperとは、スーパーサーバーinetdで利用されるアクセス制限のプログラムです

inetdとは、複数のサービスを監視し、要望があればそのデーモンを起動するためのスーバーサーバーです。スーパーサーバーを使うといつでもクライアントの要求を受けるために複数のサーバを起動しつづけてCPUやメモリの消費を抑えることができます。

また、TCP Wrapperとinetd(+α)の機能をもったxinetdが最近では使われています。

しかし、スーパーサーバを経由すると通信速度は遅くなるため、httpなどよく使われているデーモンではスーパーサーバーを経由することはありません。

今回、/etc/hosts.denyや/etc/hosts.allowを編集することでsshでIP制限ができたのは、/etc/hosts.denyと/etc/hosts.allowがTCP Wrapperの設定ファイルで、sshがTCP Wrapperのライブラリを使用しているからなのです。

TCP Wrapperは、スーパーサーバーであるinetdでのみ使用されていたプログラムですが、SSHでもTCP Wrapperライブラリを利用することによってアクセス制限ができるようになっているのです。

Comments: 7

[…] This post was mentioned on Twitter by myuki_zzz, ikekou_feed. ikekou_feed said: IP制限をしてみよう!: 前回見たアタックを回避するための方法の1つとして、IPアドレスの制限というものがあります。 SSHのIP制限では、/etc/hosts.allowと/etc/hosts.denyの2つのファイルに設… http://bit.ly/bty0bG […]

もにょもにょ // 8月 3rd, 2010 - 1:02 AM

hosts.allow/denyから来ましたかw
てっきりiptablesでするかと思いました。
でもこっちの方が設定が簡単で
スーパーサーバの勉強にもなっていいですね。

スーパーサーバといえば・・
もちろん /etc/servicesものぞいてみましたか?^^w

いままでの勉強で少しふれた、
ポート番号とアプリケーションの関係が一覧に
なってますよ~。

ではまた~

aico // 8月 3rd, 2010 - 11:14 AM

もにょもにょさん

いつもコメントありがとうございます。
/etc/servicesは見てないです><
調べていくと次から次にお題がでてきてほんと難しいですね…

もにょもにょ // 8月 4th, 2010 - 12:02 AM

気がつきませんでしたが、DNSの解説の章を
今見直したらで、村井純さんがコメント
してましたね^^;

ふつ~にコメント返してましたが、
これはなかなかすごいですよw

aico // 8月 4th, 2010 - 11:13 AM

もにょもにょさん

コメントありがとうございます。
WIDEプロジェクトの村井教授ですよね!あたしもコメント返してから知ったのですがほんとにびっくりしましたー:)!

punizo // 8月 4th, 2010 - 1:23 AM

見た目も面白いサイトですね~
凄く関心してみてます。

aico // 8月 4th, 2010 - 11:06 AM

punizoさん

コメントありがとうございます。
ありがとうございます!これからもっと楽しく勉強できるブログになるようがんばるので今後もよろしくお願いします:)*

Leave a Reply

« | »