2018年11月11日

合宿シリーズ1)SELinux合宿(1日目)

学生時代はクラブ活動に合宿や、強化と呼ばれる期間がありましたが、
社会人になると、研修と呼ばれるものはあっても
強化、合宿と呼べるものはありません。

ある一定期間、それが短期間であっても
普段より多くの時間を投入して「ある特定スキルを強化」したり
「弱点補強」したり、「未経験分野を経験分野」にすることは
非常に大事です。

そこで、「合宿シリーズ」と銘打って、
普段あまり意識して取り組まない内容、重要度が高いわりに避けて通る内容などを
取り組むコーナーをつくりました。

まずは、SELinux合宿からだ!

# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)



# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted


# getenforce
Enforcing



【参考:OS起動時に無効にする方法】
やらない方が良い
e -> 矢印キー ->ESCキーでdiscardできるから何も変更せず、終了。

---

# setenforce 0

# getenforce
Permissive

# setenforce 1
# getenforce
Enforcing

# getsebool -a

# getsebool -a | grep on$ | less

abrt_upload_watch_anon_write --> on
auditadm_exec_content --> on
boinc_execmem --> on
(以下省略)


◆準備
# rpm -qa | grep httpd
httpd-tools-2.4.6-80.el7.centos.1.x86_64
httpd-2.4.6-80.el7.centos.1.x86_64


AllowOverride None
Options None
Require all granted



AllowOverride All
Options +ExecCGI

Require all granted




# getsebool -a | grep on$ | grep cgi
httpd_enable_cgi --> on

# setsebool -P httpd_enable_cgi 0
しばらく待つ


# getsebool -a | grep httpd_enable_cgi
httpd_enable_cgi --> off


エラーになった。CGI実行不可となった事が確認出来た。
# curl http://10.102.10.31/cgi-bin/6.cgi



500 Internal Server Error

Internal Server Error


The server encountered an internal error or
misconfiguration and was unable to complete
your request.


Please contact the server administrator at
root@localhost to inform them of the time this error occurred,
and the actions you performed just before this error.


More information about this error may be available
in the server error log.






◎CentOS 7で作るネットワークサーバ構築ガイド 1804対応 第2版:円
CentOS 7で作るネットワークサーバ構築ガイド 1804対応 第2版 (Network Server Construction Guide S)
CentOS 7で作るネットワークサーバ構築ガイド 1804対応 第2版 (Network Server Construction Guide S)


◎日経Linux 2018年 11 月号:円
日経Linux 2018年 11 月号
日経Linux 2018年 11 月号



◆参考URL:SELinuxでトラブル発生! Apache、Zabbixを動かす回避術
https://tech.nikkeibp.co.jp/it/atcl/column/17/041900153/072500008/


SELinuxの課題について
https://www.slideshare.net/atsushimitsu/selinux-87020587
・RBAC(Role Based Access Control)機能
・SELinuxのテスト


rootアカウントのSELinuxコンテキストは、制限をほぼ受けない
unconfined_tドメインで動作。

# id -Z
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

・MLS/MCS範囲
・SELinux仕様で同時に有効になるロールは1つ。


SELinux Type Enforcement Lookupや
SELinux Information Viewerは便利そうですね。
使ってみよう。

企業システムにSELinuxを適用するときの検討事項
https://www.slideshare.net/atsushimitsu/selinux-87020743

posted by アンドレアス at 11:30| Comment(0) | vi上級 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。