セキュアなVM環境を作る 4

フィルタリング

iptablesの初期設定を実施する   SSHについては、前述のとおりにパスワード認証を無効にしました。これまでにも不要なサービスを起動しないようにして、外部に対してサービスを待 ち受けているポートは最小限になっています。サーバーを構築する前には、最低限のフィルタリングは実施しておくのが基本です

宮本 久仁男

2006年10月16日 20:00

iptablesの初期設定を実施する

   SSHについては、前述のとおりにパスワード認証を無効にしました。これまでにも不要なサービスを起動しないようにして、外部に対してサービスを待 ち受けているポートは最小限になっています。サーバーを構築する前には、最低限のフィルタリングは実施しておくのが基本です。

   Linuxで標準的に使われているしくみはiptablesですが、sargeではiptablesのためのスクリプト類は存在しません。このため、以下にあげた内容などからいずれかを実施する必要があります。


  • /etc/network/interfacesに処理を記述する
  • /etc/init.d/iptablesスクリプトを作成する(注3)
表9:実施するフィルタリングの方法

※注3:
/usr/share/doc/iptables/examples/oldinitdscript.gz

   ただし、/etc/init.d/iptablesスクリプトについては、ネットワークサービスが起動される前に実行される必要があります。このた め、「起動順序」も確認します。/etc/network/interfacesにiptablesのルール適用を記述する方法は、ネットワークインター フェイスが有効になる「前」にiptablesのルールを適用できるというメリットがあります。

 

元のフィルタルールを作成する(iptablesで作成する)


   iptablesそのものの解説は本稿では省略します。元のフィルタルールを作成するためのアプローチとしてはいくつかあり、例えば以下のようなものが考えられます。



  • 手動でiptablesコマンドを用いてルールを設定する
  • あらかじめ別のディストリビューションで作成したルールを移植する

表10:フィルタルール作成のアプローチ

   前者は、iptablesを逐次実行し、ルールを追加していくものであり、最終的に完成したルールをiptables-saveを用いて保存します。

   後者は、すでにでき上がっているルールをiptables-saveで保存し、それをDebian用に使うというものです。

   筆者は、本稿で構築するサーバー向けに、リスト12のようなルールを作成しました。

リスト12:iptablesのルール(/etc/fwrules)

iptablesのルール(/etc/fwrules)
(画像をクリックすると別ウィンドウに拡大図を表示します)

   このルールは、もともとはFedora Core 5で作成されたものを改変して使っています。決してベストということはありませんが(注4)、さしあたりこのような形で設定するのだな、と知っていただければよいでしょう。



※注4:
本稿のルールでは、サーバーから外に対する接続は特に制限していませんが、必要に応じてフィルタを実施したほうがよいでしょう。

   また、必要なサービスが他にある場合には、リスト12において「--dport 22 -j ACCEPT」で終る行をコピーし、ルールを追加すれば事足りますが、よほどのことがない限りはDomain-0に対するアクセスはむやみに許可しないほ うが賢明です。普通に使う分には、SSHのポートフォワードを用いるなどして、限定されたユーザーのみが接続を行えるようにしておきましょう。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る