SELinuxのセキュリティポリシーを設定する |
GNU/LinuxディストリビューションにSELinux(Security-Enhanced Linux)が含まれている場合は、インストール後にDr.Web for UNIX Internet Gatewaysのサービスコンポーネント(スキャンエンジンなど)を正常に動作せるために、SELinuxのセキュリティポリシーを設定することが必要になる場合があります。 ユニバーサルパッケージを使用したインストールの問題 SELinuxが有効になっている場合、Dr.Web for UNIX Internet Gatewaysコンポーネントを動作させるdrwebユーザーの作成がブロックされることがあり、インストールファイル(.run)からのインストールに失敗する場合があります。 drwebユーザーを作成できないために、このファイルからのDr.Web for UNIX Internet Gatewaysのインストールに失敗する場合は、getenforceコマンドを使用してSELinuxの動作モードを確認してください。このコマンドは現在のスキャンモードを出力します。 •Permissive - 保護は有効ですが、許可方式が使用されています。セキュリティポリシーに違反するアクションは拒否されませんが、そのアクションに関する情報はログに記録されます。 •Enforced - 保護は有効で、制御方式が使用されています。セキュリティポリシーに違反するアクションはブロックされ、そのアクションに関する情報はログに記録されます。 •Disabled - SELinuxはインストールされていますが、有効になっていません。 SELinuxがEnforcedモードで動作している場合は、Permissiveモードに変更してください。それには、以下のコマンドを使用します。
このコマンドはSELinuxのPermissiveモードを一時的に(次の再起動まで)有効にします。
Dr.Web for UNIX Internet Gatewaysが正常にインストールされた後、製品を起動させる前にEnforcedモードを再度有効にしてください。それには、以下のコマンドを使用します。
Dr.Web for UNIX Internet Gatewaysの動作に関する問題 SELinuxの実行中にいくつかのDr.Web for UNIX Internet Gatewaysコンポーネント(drweb-seやdrweb-filecheckなど)が起動できないことがあります。これにより、オブジェクトのスキャンやファイルシステムのモニタリングができなくなります。これらのコンポーネントが起動できない場合は、syslogサービスによって管理されるシステムログ(通常このログは/var/log/ディレクトリにあります)に119および120のエラーメッセージが表示されます。 SELinuxセキュリティシステムによってアクセスが拒否された場合、そのようなイベントのログが記録されます。一般的に、システムでauditデーモンが使用されている場合、audit(監査)に関するログが/var/log/audit/audit.logファイルに保存されます。それ以外の場合、ブロックされた動作に関するメッセージが一般的なログファイル(/var/log/messagesまたは/var/log/syslog)に保存されます。 SELinuxにブロックされているために製品のスキャンコンポーネントが機能しない場合は、該当するコンポーネントに対して特別なセキュリティポリシーを設定する必要があります。
SELinuxのセキュリティポリシーを設定する 1.SELinuxのポリシーソースコードを記述したファイル(.teファイル)を新たに作成します。このファイルでは、記述されているポリシーモジュールに関連した制限を規定します。このポリシーソースコードは以下のいずれかの方法で作成できます。 1)audit2allowユーティリティの使用は、最もシンプルな方法です。ユーティリティはシステムログファイル内のアクセス拒否に関するメッセージからpermissiveルールを生成します。自動でメッセージを検索するよう設定するか、手動でログファイルへのパスを指定できます。
audit2allowの使用例:
この例では、drweb-seコンポーネントに対するアクセス拒否メッセージを見つけるために、audit2allowユーティリティが/var/log/audit/audit.logファイル内で検索を実行します。 作成されるファイルは、ポリシーソースファイルdrweb-se.teと、インストール可能なdrweb-se.ppポリシーモジュールの2つです。 システム監査ログ内でセキュリティ違反イベントが見つからなかった場合、ユーティリティはエラーメッセージを返します。 ほとんどの場合、audit2allowユーティリティで作成したポリシーファイルを変更する必要はありません。したがって、手順4のdrweb-se.ppポリシーモジュールのインストールに進むことを推奨します。
2)policygentoolユーティリティを使用する。そのためには、異なる方法で処理するコンポーネントの名前とその実行ファイルへのフルパスを指定します。
policygentoolを使用したポリシー作成の例: •drweb-seコンポーネントの場合:
•drweb-filecheckコンポーネントの場合:
ドメインを作成するための一般的なプロパティをいくつか指定するように求められます。その後、ポリシーを決定する以下の3つのファイルが(コンポーネントごとに)作成されます。 <module_name>.te、<module_name>.fc、<module_name>.if 2.必要に応じて、生成されたポリシーソースファイル<module_name>.teを編集し、その後、checkmoduleユーティリティを使用して、ローカルポリシーのこのソースファイルをバイナリ形式に変換(.modファイル)します。
使用例:
3.semodule_packageユーティリティを使用して、インストール用のポリシーモジュールを作成します(.ppファイル)。 例:
4.作成されたポリシーモジュールをインストールするには、semoduleユーティリティを使用します。 例:
SELinuxの動作と設定に関する詳細は、お使いのUNIXディストリビューションのマニュアルを参照してください。 |