ASHでは、セキュリティ対策の基本方針を決めた上で、アクセス制限、ファイアウォール構築、暗号化の順に、対策を実施しています。3段階に分けて対策することにより、情報を整理することができるため、わかりやすくなります。
セキュリティを堅くすると、それだけ使い勝手が悪くなってしまいます。つまり、安全性と利便性は、相反するものなのです。ですから、何が必要で、何が必要でないかを明確にする必要があります。
セキュリティの設定は、基本的にすべて禁止し、必要なものだけを許可するようにします。セキュリティの設定を考える場合、サービスの種類とアクセス方向を考える必要があります。
アクセス方向とは、内から外へのアクセスか、外から内へのアクセスかです。一般的に、内から外へのアクセスよりも、外から内へのアクセスの方が危険度が高いです。ただし、内から外へのアクセスも、内部犯行の場合や、踏み台にされた場合などを考えると、必要最小限とすべきです。
ASHのセキュリティの基本方針は、一言で言えば、「内には良い人ばかり、外には悪い人がいっぱい」です。具体的には、以下のようになります。
外 | DNSサーバ |
---|---|
内 | Webサーバ、Ftpサーバ、Mailサーバ、Popサーバ ファイルサーバ、ダイアルアップサーバ |
プロトコル | 外->内 | 内->外 |
---|---|---|
Web | Webサーバのみ可 | 可 |
Ftp | Ftpサーバのみ可/ユーザ限定 | 可 |
telnet | 各種サーバのみ可/ユーザ限定 | 不可 |
Mailサーバのみ可/ユーザ限定 | 不可 | |
Pop | Mailサーバのみ可/ユーザ限定 | 不可 |
不要なサービスを停止したり、ルータやサーバのフィルタ機能を利用してアクセス制限を実施します。アクセス制限は、特別なハードウェアを必要としないため、必ず実施しましょう。
inetdの設定を変更することにより、不要なサービスを起動しないようにします。fingerなどは、内部の情報が漏れるので、できるだけ停止しましょう。それから、ユーザやパスワードによる認証を行わずに通信する、UDP系のNFSやRPC(rsh) は、できるだけサービスを停止するようにしましょう。
また、特定のユーザに対してのみサービスを提供する場合は、ポート番号を変更し、デフォルトのポートを閉じてしまう方法があります。デフォルトのポート番号から変更することで、そのポート番号を知っている人しか、アクセスできないようにすることができます。
さらに、パスワードと同じく、ポート番号を定期的に変更するのも、よいでしょう。ただし、ポート番号を指定できない一部のクライアントソフトでは、動作しなくなる場合があります。
フィルタリングとは、サービスの種類(ポート番号)と、アクセス先とアクセス元(IPアドレス)によってアクセスを制限する機能です。フィルタリングでは、パケットのヘッダ部でのみチェックするため、パケットの内容は一切チェックしません。ほとんどのルータには、このフィルタリング機能が付いています。
また、LINUX(slackware) では、tcp_wrapper が、デフォルトでインストールされています。しかし、デフォルトではアクセス制限がかかっていない場合が多いので、設定する必要があります。
ファイアウォールとは、ゲートウェイマシンを導入することで、外部と直接通信できないようにすることです。ゲートウェイマシンとは、複数のLANボードを入れ、内部ネットワークと外部ネットワークを接続するマシンのことです。
ファイアウォールを構築すると、内部のアドレスは、プライベートアドレス(ローカルアドレス)を利用するため、利用できるアドレスを増やすことができます。
ゲートウェイの種類には、以下の種類があります。
ゲートウェイ上で、パケットレベルのフィルタリングを行い、データを中継するのが、サーキットレベルゲートウェイです。
サーキットレベルゲートウェイでは、フィルタリングと同じく、サービスの種類(ポート番号)と、アクセス先とアクセス元(IPアドレス)によってアクセスを制限します。パケットのヘッダ部でのみチェックするため、パケットの内容は一切チェックしません。
ゲートウェイ上で、アプリケーションレベルのフィルタリングを行い、データを中継するのが、アプリケーションレベルゲートウェイです。
アプリケーションレベルゲートウェイでは、ftpやpopやtelnetなどのコマンドを認識し、不正なコマンドは中継しないようにすることができます。ただし、アプリケーション毎にきめ細かい制御ができる反面、中継ソフトが各アプリケーションに対応している必要があります。
ASHでは、フリーソフトを利用してファイアウォールを構築しています。サーバもゲートウェイマシンも、LINUXで構築しています。
サーキットレベルゲートウェイのソフトとしては、NATや、SOCKS5などを使用しています。
アプリケーションレベルゲートウェイのソフトとしては、DeleGateを使用しています。
SSL、SSHなどを使うことにより、暗号化して認証やデータを転送することができます。また、SOCKS5などを使うことにより、VPNを構築し、ローカルネットとローカルネットをセキュアに接続することができます。
ASHでは、暗号化に関しては、検討はしていますが、まだ、運用できていません。