LoginSignup
3
2

More than 3 years have passed since last update.

SElinuxってよく無効にされてるけど何?

Posted at

勉強前イメージ

一旦何も考えず構築するサーバはoffにするって感じ。
セキュリティのなにか?
よく簡単にwebサーバ立ててアクセスしたらselinuxに弾かれてることある

調査

Selinux とは?

Secure-Enhanced Linux の略
強制アクセス制御(MAC:Mandatory Access Control)と呼ばれるセキュリティを強化する機能である。
アメリカ国家安全保障局(NSA)が提供しているセキュリティ用のモジュールになります。
基本的には、Linuxをインストールすると最初からONになっている

元々Linuxではすべての権限がrootでは許可されており、root権限が何者かによって変更されると致命的な被害が及びことがあった。
SElinuxでType Enforcement(TE)ロールベースアクセス制御(RBAC) で制御を行うことによってrootにも制限をかけることができ、被害を少なくなるように設計されている

Type Enforcement(TE) と ロールベースアクセス制御(RBAC)

  • Type Enforcement(TE)

    • プロセスがアクセスできる場所を制限できる機能
    • プロセス : ドメイン , リソース : タイプ を割り当てて読み書きに対して制限をかける仕組み。
    • アクセス権の設定はアクセスベクタと呼ばれる
  • ロールベースアクセス制御(RBAC)

    • ユーザがアクセスできる場所を制限できる機能
    • ユーザごとにアクセスできるロールが決まっており、ロールごとにアクセス可能なドメイン(プロセス)が決まっている
    • TEによってドメイン(プロセス)ごとにアクセス可能なタイプ(リソース)が決まっているので、ユーザのアクセス制限が行える

動作モード(enforcing/permissive/disabled)

  • enforcing
    • SElinux有効になっている。
    • ルール以外の動作があれば止める
  • permissive
    • SElinux有効になっている。
    • ルール以外の動作があっても、止めずにログに記録のみ行う。
  • disabled
    • SElinux無効になっている。
    • ルール以外の動作があっても、止めないしログに記録も行わない。

動作モードの確認

  • 確認方法
# getenforce

動作モードの変更方法

一時的に変更(再起動すると設定は元に戻る)

  • 確認
# getenforce 
Enforcing
  • 変更
# setenforce Permissive
  • 確認
# getenforce 
Permissive

永久に変更(再起動しても元に戻らない)

  • 確認
# getenforce 
Enforcing
  • 変更
vi /etc/selinux/config
==========
SELINUX=enforcing
==========

もしくは

cat /etc/selinux/config | sed -e s/^SELINUX=enforcing/SELINUX=disabled/
  • 確認
# getenforce 
Disabled

勉強後イメージ

そもそもrootもあまり権限持たないようにしようねって思考ってことかな?
プロセスについてもアクセスができないようにしようねってことか。
今回は簡単にしか調べられなかったけど、結構面白そう。

参考

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2