Linuxユーザの立場から、役立つ情報や困ったときの解決方法を分かりやすく、かつ簡潔に記事にまとめています。主に、Ubuntu 8.04(→9.04)やCentOS 5.2(→5.3)で確認したことですが、他のディストリビューションでも応用できると思います。内容は(1)設定ファイルの書き方(2)役立つソフトウェア紹介やインストール方法(3)便利なコマンドの使い方や活用例(4)困ったときの解決方法です。このページの末尾にキーワード別で記事を分類してあります。また、真上の「ブログ検索」フォームからブログ内の記事を検索できます。

2009年3月9日月曜日

/etc/hosts.allowでのサブネットマスクについて このエントリーを含むはてなブックマーク

本記事では、/etc/hosts.allowでのサブネットマスクの指定の仕方について注意事項をまとめる。

hosts.allowとは

/etc/hosts.allowは、ローカルホストへのアクセス制御を規程する設定ファイルで、/etc/hosts.denyと対になるものである。通常、/etc/hosts.denyですべてのホストからのアクセスを拒否して、/etc/hosts.allowに許可するホストを個別的に記述することが多い(設定の詳細は、本記事「SSHサーバの設定」のセキュリティの設定(Tcp wrappersを用いたアクセス制限)という節にまとめている。)。

サブネットマスクの指定方法

サブネットマスクは、ipアドレスのネットワーク部の長さを表すもので、192.168.0.0〜192.168.255.255の範囲のipアドレスは192.168.0.0/16というように表される。ちなみに、2進数で表すと次のようになる。

11000000.10101000.00000000.00000000 から 11000000.10101000.11111111.11111111 まで

16は先頭から16ビット目までがネットワーク部であることを表していて、この表記によってそのネットワークに属するすべてのホストを表すことができる。

本題の/etc/hosts.allowでのサブネットマスクの指定だが、例えばsshサービスにアクセスできるホストのipを制限する場合には次のように書けば良いのかと勘違いしていたが、間違いであることに気づいたのでメモしておく。

ssh : 192.168.0.0/16 <---誤り(と思う) 

centosで、$man hosts.allowとして確認してみたら、アクセス制御で実装されているパターンについて書かれていた。ネットマスクを使う場合:

An expression of the form ‘n.n.n.n/m.m.m.m´ is interpreted as a ‘net/mask´ pair. An IPv4 host address is matched if ‘net´ is equal to the bitwise AND of the address and the ‘mask´. For example, the net/mask pattern ‘131.155.72.0/255.255.254.0´ matches every address in the range ‘131.155.72.0´ through ‘131.155.73.255´.

ssh : 192.168.0.0/255.255.0.0

あるいは、もっと簡単な書き方もできる。

ssh : 192.168.

A string that ends with a ‘.´ character. A host address is matched if its first numeric fields match the given string. For example, the pattern ‘131.155.´ matches the address of (almost) every host on the Eindhoven University network (131.155.x.x).

0 コメント:

キーワード

キーワード別に記事を分類してあります。クリックすると各キーワードに該当する記事たちが表示されます。

筆者について

自分の写真
趣味はコンピュータ、音楽、写真などです。