SELinux基本概念学習


SELinux(Security Enhanced Linux)
意味:
従来のLinux権限制御は自主式権限制御(Discretionary Access Control,DAC)を採用し、プログラム所有者と資源のrwx権限に基づいてアクセス能力の有無を決定する.このようにrootアカウントの盗用には、任意のリソースやディレクトリが777権限に設定されている場合、任意のアクセスや操作が可能であるという問題がある.SELinuxはMAC(Mandatory Access Control,MAC)を採用する.リソースにアクセスする際、ユーザを判断するのではなく、プログラムに権限があるか否かを判断する.したがって、httpdが制御権を取得することに注意しなくても、/etc/shadowなどの重要なドキュメントを閲覧する権利はない.SELinuxをオンにすると、アクセスファイルはSELinux権限制御と通常のユーザーリソースrwx権限制御を経由する.
SELinuxはコアに統合されたコア機能であり、SELinuxを開くために追加のサービスを開始する必要はない.起動が完了すると、SELinuxも起動します.
ポリシー・モード:
SELinuxの運営戦略:targeted:ネットワークサービスに対する制限が多く、本機に対する制限が少なく、予め設定された政策である.strict:完全なSELinux制限、制限の方面は比較的に厳しい.3つのモード:enforcing:強制モード、SELinux動作中を代表し、domain/typeを正しく制限し始めた.
permissive:寛容モード:SELinux動作中を表すが、domain/typeのアクセスは実際に制限されない警告メッセージのみがある.このモードはSELinuxのdebugとして機能します(何が原因でアクセスできないのかを見てください).disabled:閉じる.
クエリーSELinux現在モード:getenforceクエリーSELinux現在policy詳細:sestatus
オン/オフ:
一時クローズSELinux:setenforce 0(SELinuxがpermissiveモードになるように設定)一時オープンSELinux:setenforce 1(SELinuxがenforcingモードになるように設定)徹底的にクローズSElinux:vi/etc/selinux/config設定SELINUX=disabled、再起動有効
log:
以下のサービスでは、SELinuxエラーが発生した場合に、その有用な情報をlogに記録して、解決策を提供することができます.setroubleshoot(エラー情報のみを記録する)auditd(詳細を記録する)の基本的な使用:セキュリティ本稿(Security Context)の表示:
ls -Z

安全性本稿では主にコロンで3つの欄に分ける
Identify:role:typeアイデンティティ識別:ロール:タイプアイデンティティ識別(Identify):root:rootのアカウントアイデンティティを表し、上の表にrootホームディレクトリの下の資料system_が表示されているようにu:システムプログラムの識別を表し、通常はプログラムuser_である.u:一般ユーザーアカウントに関するアイデンティティロール(Role):object_を表します.r:アーカイブやディレクトリなどのアーカイブリソースを表します.これは最も一般的なシステムであるはずです.r:代表的なのはプログラムです!ただし、一般利用者もsystem_に指定されますrタイプ(Type):(最も重要!)プログラムのdomainはファイルのtypeと組み合わせてこそアクセスできる.各ディレクトリまたはアーカイブにはプリセットのセキュリティがあります.このクエリでは、プリセットを変更するセキュリティテキストを追加します.semanageでは、ファイルを現在のディレクトリのデフォルトのセキュリティテキストに変更します.
restorecon -Rv /var/www/html/index.html 

ファイルディレクトリのセキュリティテキストを別のファイルディレクトリと同じに設定します.
chcon -R --reference=/var/lib/ref_file target_file

アクセスルールを設定および変更できます.ディレクトリのデフォルトのセキュリティテキストを変更できます. 
リファレンス接続:http://linux.vbird.org/linux_basic/0440processcontrol.php#selinux_get