BLOGTIMES
2014/05/15

CentOS 6 で SELinux の許可設定を追加する

  linux  centos6  systemmanagemant 
このエントリーをはてなブックマークに追加

SELinux System Administration

CentOS 6 では SELinux がデフォルトで有効化されていますが、設定が面倒なのでインストール直後に disabled に変更していました。今回立てるサーバはちょっとセキュリティに気を使いたいので、一念発起して Enforce モードでの運用できるように、デフォルトの状態かに許可設定を追加する方法を調べてみました。

使い方についての詳細は Redhat が公開しているマニュアル「Security-Enhanced Linux」などを参照すればよいのですが、「EZ-NET: SELinux に新しい許可設定を追加する (CentOS 5.4) : SELinux の使い方」で紹介されているように、とりあえず今回はシステムを Permissive モード(Enforce モードでは拒否されるような操作を行っても、ログだけを記録するモード)にして、そのログを元に許可属性を再構成するというお手軽な方法をとります。

昔、Tripwire を設定したときも同じような方法でルール変更を行っていたことを思い出しますね。
以下、作業メモ。

audit2allow を使った許可設定の追加方法

Permissive モードへの切替えは setenforce コマンドを使って下記のようにします。

setenforce Permissive

あとは普通にシステムを動かすだけ。ログは下記に出力されます。

/var/log/audit/audit.log

ログは audit2allow というコマンドで selinux のモジュールに変換できるはずだったのですが、このコマンドは CentOS 6 には標準で入っていなかったので、下記のコマンドで導入する必要がありました。

yum -y install policycoreutils-python

上記のインストールが済んだら、以下のコマンドでどのような許可属性が設定されるのか確認できます。

audit2allow -i /var/log/audit/audit.log

確認が済んだら、モジュールを生成して、semodule コマンドを使ってシステムに組み込んでいきます。

cat /var/log/audit/audit.log | audit2allow -M hoge semodule -i hoge.pp

最後に Enforce モードに変更すれば OK です。

setenforce Enforce

分かってしまえばそれほど難しくないかもしれません。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/6717
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン