CentOS 6 では SELinux がデフォルトで有効化されていますが、設定が面倒なのでインストール直後に disabled に変更していました。今回立てるサーバはちょっとセキュリティに気を使いたいので、一念発起して Enforce モードでの運用できるように、デフォルトの状態かに許可設定を追加する方法を調べてみました。
使い方についての詳細は Redhat が公開しているマニュアル「Security-Enhanced Linux」などを参照すればよいのですが、「EZ-NET: SELinux に新しい許可設定を追加する (CentOS 5.4) : SELinux の使い方」で紹介されているように、とりあえず今回はシステムを Permissive モード(Enforce モードでは拒否されるような操作を行っても、ログだけを記録するモード)にして、そのログを元に許可属性を再構成するというお手軽な方法をとります。
昔、Tripwire を設定したときも同じような方法でルール変更を行っていたことを思い出しますね。
以下、作業メモ。
† audit2allow を使った許可設定の追加方法
Permissive モードへの切替えは setenforce コマンドを使って下記のようにします。
あとは普通にシステムを動かすだけ。ログは下記に出力されます。
ログは audit2allow というコマンドで selinux のモジュールに変換できるはずだったのですが、このコマンドは CentOS 6 には標準で入っていなかったので、下記のコマンドで導入する必要がありました。
上記のインストールが済んだら、以下のコマンドでどのような許可属性が設定されるのか確認できます。
確認が済んだら、モジュールを生成して、semodule コマンドを使ってシステムに組み込んでいきます。
最後に Enforce モードに変更すれば OK です。
分かってしまえばそれほど難しくないかもしれません。
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/6717
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。