Submit Search
Upload
そろそろSELinux を有効にしてみませんか?
•
Download as PPTX, PDF
•
4 likes
•
4,441 views
A
Atsushi Mitsu
Follow
SELinuxの初級編です。そろそろ標準でSELinuxを有効にして使って欲しいですね。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 40
Download now
Recommended
SELinuxの課題について
SELinuxの課題について
Atsushi Mitsu
企業システムにSELinuxを適用するときの検討事項
企業システムにSELinuxを適用するときの検討事項
Atsushi Mitsu
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
VirtualTech Japan Inc.
Android起動周りのノウハウ
Android起動周りのノウハウ
chancelab
AndroidとSELinux
AndroidとSELinux
android sola
自宅k8s/vSphere入門
自宅k8s/vSphere入門
富士通クラウドテクノロジーズ株式会社
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
Motonori Shindo
これからLDAPを始めるなら 「389-ds」を使ってみよう
これからLDAPを始めるなら 「389-ds」を使ってみよう
Nobuyuki Sasaki
Recommended
SELinuxの課題について
SELinuxの課題について
Atsushi Mitsu
企業システムにSELinuxを適用するときの検討事項
企業システムにSELinuxを適用するときの検討事項
Atsushi Mitsu
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
VirtualTech Japan Inc.
Android起動周りのノウハウ
Android起動周りのノウハウ
chancelab
AndroidとSELinux
AndroidとSELinux
android sola
自宅k8s/vSphere入門
自宅k8s/vSphere入門
富士通クラウドテクノロジーズ株式会社
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
Motonori Shindo
これからLDAPを始めるなら 「389-ds」を使ってみよう
これからLDAPを始めるなら 「389-ds」を使ってみよう
Nobuyuki Sasaki
「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!
Hirotaka Sato
DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所
hdais
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
VirtualTech Japan Inc.
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Atsushi Tanaka
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
Tetsuya Hasegawa
レシピの作り方入門
レシピの作り方入門
Nobuhiro Iwamatsu
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Kuniyasu Suzaki
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編
hdais
initramfsについて
initramfsについて
Kazuhiro Nishiyama
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
Linuxのsemaphoreとmutexを見る
Linuxのsemaphoreとmutexを見る
wata2ki
仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング
Takuya ASADA
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
シスコシステムズ合同会社
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
Hibino Hisashi
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
シスコシステムズ合同会社
セキュアエレメントとIotデバイスセキュリティ2
セキュアエレメントとIotデバイスセキュリティ2
Kentaro Mitsuyasu
基礎から学ぶ組み込みAndroid
基礎から学ぶ組み込みAndroid
demuyan
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
VirtualTech Japan Inc.
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
VirtualTech Japan Inc.
ACI Kubernetes Integration
ACI Kubernetes Integration
Takehiro Yokoishi
More Related Content
What's hot
「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!
Hirotaka Sato
DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所
hdais
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
VirtualTech Japan Inc.
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Atsushi Tanaka
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
Tetsuya Hasegawa
レシピの作り方入門
レシピの作り方入門
Nobuhiro Iwamatsu
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Kuniyasu Suzaki
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編
hdais
initramfsについて
initramfsについて
Kazuhiro Nishiyama
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
Linuxのsemaphoreとmutexを見る
Linuxのsemaphoreとmutexを見る
wata2ki
仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング
Takuya ASADA
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
シスコシステムズ合同会社
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
Hibino Hisashi
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
シスコシステムズ合同会社
セキュアエレメントとIotデバイスセキュリティ2
セキュアエレメントとIotデバイスセキュリティ2
Kentaro Mitsuyasu
基礎から学ぶ組み込みAndroid
基礎から学ぶ組み込みAndroid
demuyan
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
VirtualTech Japan Inc.
What's hot
(20)
「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!
DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
レシピの作り方入門
レシピの作り方入門
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編
initramfsについて
initramfsについて
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
Linuxのsemaphoreとmutexを見る
Linuxのsemaphoreとmutexを見る
仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
セキュアエレメントとIotデバイスセキュリティ2
セキュアエレメントとIotデバイスセキュリティ2
基礎から学ぶ組み込みAndroid
基礎から学ぶ組み込みAndroid
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
Similar to そろそろSELinux を有効にしてみませんか?
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
VirtualTech Japan Inc.
ACI Kubernetes Integration
ACI Kubernetes Integration
Takehiro Yokoishi
Openstack ceph 20171115 vtj
Openstack ceph 20171115 vtj
Takehiro Kudou
Openstack kolla 20171025 josug v3
Openstack kolla 20171025 josug v3
Takehiro Kudou
Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!
Takashi Kanai
OSSコミッタの生活とその必要性
OSSコミッタの生活とその必要性
Hirofumi Ichihara
VyOSの開発とか運用の話
VyOSの開発とか運用の話
Shintaro Hasunuma
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
yaegashi
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
Brocade
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
近藤 繁延
45分で理解するKubernetesの世界
45分で理解するKubernetesの世界
Kujirai Takahiro
Windows Azure PHP Tips
Windows Azure PHP Tips
Microsoft Openness Japan
20121119.dodai projectの紹介
20121119.dodai projectの紹介
Osamu Habuka
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
YusukeKuramata
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
Shinya Sugiyama
Apache cloudstack4.0インストール
Apache cloudstack4.0インストール
Yasuhiro Arai
DeNA private cloudのその後 #denatechcon
DeNA private cloudのその後 #denatechcon
DeNA
Lpicl300セミナー資料_20170218(鯨井貴博)
Lpicl300セミナー資料_20170218(鯨井貴博)
Takahiro Kujirai
Lpicl304セミナー資料20140727
Lpicl304セミナー資料20140727
Takahiro Kujirai
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
Ransui Iso
Similar to そろそろSELinux を有効にしてみませんか?
(20)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
ACI Kubernetes Integration
ACI Kubernetes Integration
Openstack ceph 20171115 vtj
Openstack ceph 20171115 vtj
Openstack kolla 20171025 josug v3
Openstack kolla 20171025 josug v3
Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!
OSSコミッタの生活とその必要性
OSSコミッタの生活とその必要性
VyOSの開発とか運用の話
VyOSの開発とか運用の話
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
45分で理解するKubernetesの世界
45分で理解するKubernetesの世界
Windows Azure PHP Tips
Windows Azure PHP Tips
20121119.dodai projectの紹介
20121119.dodai projectの紹介
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
Apache cloudstack4.0インストール
Apache cloudstack4.0インストール
DeNA private cloudのその後 #denatechcon
DeNA private cloudのその後 #denatechcon
Lpicl300セミナー資料_20170218(鯨井貴博)
Lpicl300セミナー資料_20170218(鯨井貴博)
Lpicl304セミナー資料20140727
Lpicl304セミナー資料20140727
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
Recently uploaded
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
Recently uploaded
(8)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
そろそろSELinux を有効にしてみませんか?
1.
© Hitachi, Ltd.
2017. All rights reserved. 2017/12/07 株式会社 日立製作所 OSSソリューションセンタ 満 充師 Okinawa Open Days 2017 そろそろSELinux を有効にしてみませんか?
2.
© Hitachi, Ltd.
2017. All rights reserved. 1 1. SELinuxの概要 2. SELinuxの基礎 3. 設計と設定 4. SELinux利用拡大へ向けた支援 SELinuxの概要1
3.
© Hitachi, Ltd.
2017. All rights reserved. 1-1. よくある状況 2 ・・・そうだ、SELinux切ろう Nginx入れたけど、エラー起きるなぁ・・・ エラーログ見てconf直して、restart.... まだエラー出る、パーミッションかなぁ エラーログに理由が出ない・・・ 実行ユーザ変えて見るか・・・・
4.
© Hitachi, Ltd.
2017. All rights reserved. 1-2. 現在の課題 3 SELinuxとかfirewalldとか、有効にした方が良いと は理解しているけど、そもそも何かわからない。 セミナーやドキュメントが少ない 機能自体がこなれてなくて使いづらい 設定の仕方も調査の仕方もわからない。
5.
© Hitachi, Ltd.
2017. All rights reserved. 1-3. SELinuxを有効にした方が良い理由 4 ・ゼロデイ攻撃 ⇒OSS利用と同時に脆弱性発見時のリスクが上昇 ・IoTの拡大により、攻撃対象、入り口が増加 ・イントラ内部からの攻撃、内部犯行への対応も必要 侵入することを防げない状況が発生している SELinuxなどセキュアOSを使うと、侵入された後の 被害を緩和することができる。
6.
© Hitachi, Ltd.
2017. All rights reserved. 5 SELinux(Security-Enhanced Linuxの略) アメリカ国家安全保障局(NSA)がGPLで提供している、 Linuxのカーネルに強制アクセス制御機能等を付加するもの RHEL、CentOS、Fedoraのカーネルに標準実装。 ディストリビューションの種類ではありません。 ※Linux Security Modules (LSM)上に実装されて、切り替え て使うことが出来る。 同種類のセキュリティ強化の機能 AppArmor、TOMOYO Linuxなど 1-4. SELinuxはLinuxのセキュリティ強化の機能
7.
© Hitachi, Ltd.
2017. All rights reserved. 1-5. 処理イメージ(SELinuxが無効な場合) 6 出典:セキュアOSの紹介と最新動向(日本セキュアOSユーザ会) <http://www.asahi-net.or.jp/~jg3h-snj/documents/20090516_OSC2009Shimane_Shinji.pdf> インターネット HTTPD DB Sendmail/bin/sh OS 機密 文書 kernel 認証 攻撃 シェルの起動 攻撃 攻撃 他のサービス への攻撃 不正アクセス 攻撃 kernel破壊 SPAMなど 通常アクセス 脆弱性 ①HTTPDで認証が通れば機密文書にアクセス可 ②脆弱性を突いて/bin/shが攻撃されシェルが不正に起動 ③不正起動シェルにて機密文書に不正アクセス ④攻撃を受けた/bin/shから他のサービスに攻撃 ⑤攻撃を受けたSendmailからSPAMメール配信 ⑥脆弱性を突いてkernelが攻撃されkernelが破壊 ① ② ③ ④ ⑤ ⑥ ④
8.
© Hitachi, Ltd.
2017. All rights reserved. 1-6. 処理イメージ(SELinuxを有効にした場合) 7 出典:セキュアOSの紹介と最新動向(日本セキュアOSユーザ会) <http://www.asahi-net.or.jp/~jg3h-snj/documents/20090516_OSC2009Shimane_Shinji.pdf> インターネット HTTPD DB Sendmail/bin/sh OS 機密 文書 kernel SELinux セキュリティ・ ポリシー・ ファイル 認証 ブロック ブロック 脆弱性 通常アクセス セキュリティ・ ポリシー・ ファイルに 定義あり セキュリティ・ ポリシー・ ファイルに 定義が無いため 実行できない ① ② ⑥ ①HTTPDで認証が通れば機密文書にアクセス可 ②脆弱性を突いて/bin/shが攻撃されシェルが不正に起動 ③不正起動シェルにて機密文書に不正アクセス ④攻撃を受けた/bin/shから他のサービスに攻撃 ⑤攻撃を受けたSendmailからSPAMメール配信 ⑥脆弱性を突いてkernelが攻撃されkernelが破壊 起き ない セキュリティ・ポリシーファイルに 定義が無いため実行できない
9.
© Hitachi, Ltd.
2017. All rights reserved. DACのみの場合 8 任意アクセス制御(DAC) root権限が奪取される ⇒rootは制限なしにシステム全体を利用可能 強制アクセス制御(MAC) プログラムやrootが乗っ取られる ⇒セキュリティポリシーで許可された範囲のみ利用可能 Kernel Network Data/File root root DAC MACによる制御 Kernel Network Data /File root rootDAC Data1 Data2 8080 8081 SecurityPolicy 1-7. 強制アクセス制御(MAC)機能
10.
© Hitachi, Ltd.
2017. All rights reserved. (例)Sambaのアクセス制御 1-8. タイプ:Type Enforcement(TE) 9 プロセス:権限の名前である「ドメイン」という権限名が付与 リソース:「タイプ」が、追加で付与 TEは、プロセスがアクセスするリソース毎にパーミッション を設定し、アクセス制限を行う。 プロセス ドメイン リソース タイプ リソースリソース smbd_t samba_share_t パーミッション read,write read 読み込み write 書き込み create 生成 getattr 属性の取得 lock ファイルのロック append 追記 rename 名前の変更 execute 実行 パーミッションSambaプロセス Sambaでアクセスする ディレクトリ filesystem ファイルシステム file ファイル dir ディレクトリ fd ファイル識別子 lnk_file シンボリックリンク socket ソケット tcp_socket TCPソケット msg メッセージキュー system システム関連 パーミッションを設定できるリソース ※リソースによって設定項目は変わる パーミッションの 対象リソースと操作項目の 拡大、権限の細分化
11.
© Hitachi, Ltd.
2017. All rights reserved. 10 1. SELinuxの概要 2. SELinuxの基礎 3. 設計と設定 4. SELinux利用拡大へ向けた支援 SELinuxの基礎2
12.
© Hitachi, Ltd.
2017. All rights reserved. 2-1. SELinux を使うために必要なパッケージ 11 RHELなら、標準でSELinuxを有効に出来る。 ※設定変更などのためには追加ソフトが必要 # パッケージ名 備考 1 policycoreutils- python SELinuxの操作および管理用のsemanage、audit2allow、 audit2why、chcatといった各種ユーティリティを提供 2 setroubleshoot- server SELinuxがアクセスを拒否した際に作成される拒否メッセー ジを、sealertユーティリティで表示可能な詳細な記述に変 換する 3 setools-console ポリシー分析およびクエリ、監査ログモニタリングおよび レポーティング、ファイルコンテキスト管理用の数多くの ユーティリティとライブラリを提供 4 policycoreutils- devel カスタムSELinuxポリシーおよびポリシーモジュール作成用 のユーティリティを提供 5 lsof 現在オープン中のファイル情報リストを表示するユーティ リティを提供 ※SELinux用パッケージではないが、ポートを使用している プロセスを確認する際に必要となる 6 policycoreutils-newrole ロール変更のためのnewroleコマンドを提供
13.
© Hitachi, Ltd.
2017. All rights reserved. 2-2. SELinux を有効にする方法(動作モード) 12 SELinuxの有効には、3つの動作モードがある SELinuxモード 説明 disabled SELinux が無効化。 DAC ルールのみが適用される。 permissive SELinux ポリシーが適用されるが、 実際のアクセス拒否は行わずにログに記録のみ。 enforcing SELinux ポリシーが適用される。 SELinux は SELinux ポリシールールに基づいて アクセスを拒否する。 基本はpermissiveで構築テストする
14.
© Hitachi, Ltd.
2017. All rights reserved. 2-3. SELinux を有効にする方法 13 SELinuxの動作モードの確認と設定方法 動作モードの静的設定:リブートが必要 # vi /etc/selinux/config SELINUX=enforcing ・・・・disabled,permissive,enforcing 動作モード設定:disabledからの注意点 SELinuxのタイプ割当を再整理するため、 touch /.autorelabel を実行してからリブート 動作モード一時的な設定:再起動まで有効 # setenforce enforcing ・・・・permissive,enforcing ※ 0,1 でも可能 動作モード確認コマンド: # getenforce Enforcing
15.
© Hitachi, Ltd.
2017. All rights reserved. 2-4. SELinuxが有効時のお作法 14 SELinuxが有効な状態のときの操作方法。 タイプなどがおかしくなるのを防ぐ。 mvではなく、cpを使う mvしたなら、restorecon {ファイル名}のコ マンドを実行する SELinuxをdisabledにしない。 確認する場合は、Permissiveで実施 # setenforce permissive で一時的に変更できる
16.
© Hitachi, Ltd.
2017. All rights reserved. 2-5. タイプの確認方法 15 基本は、コマンドオプションで -Z をつける # id uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 # ps -eZ system_u:system_r:ftpd_t:s0-s0:c0.c1023 931 ? 00:00:00 vsftpd system_u:system_r:sshd_t:s0-s0:c0.c1023 946 ? 00:00:00 sshd # ls -Z drwxr-xr-x. root root system_u:object_r:system_cron_spool_t:s0 cron.d drwxr-xr-x. root root system_u:object_r:bin_t:s0 cron.daily ドメイン タイプ(ファイルコンテキスト) ユーザ
17.
© Hitachi, Ltd.
2017. All rights reserved. 16 1. SELinuxの概要 2. SELinuxの基礎 3. 設計と設定 4. SELinux利用拡大へ向けた支援 設計と設定3
18.
© Hitachi, Ltd.
2017. All rights reserved. 3-1. SELinuxの設計 17 SELinuxの設計=セキュリティポリシーの設計 ・どのプロセスが、どのリソースにアクセスできるよう にするか? ・リソースへのアクセス権限は、どうするか? read,write,exec,open,etc... 机上でゼロから作成するのは難しい。 ・著名なOSSは、標準でセキュリティポリシーが 用意されている。 ・ツールが変更指針を出してくれる。 ⇒試行して修正対象箇所を洗い出す
19.
© Hitachi, Ltd.
2017. All rights reserved. 3-2. セキュリティポリシーの修正 18 ポリシーの修正は、ログを見て修正を繰り返す テスト エラー内容の 確認 設定追加 再テスト Permissiveモードで動作させる ログの出力内容から対策を考える ポリシーを追加する Permissiveモードで再テストして、 アクセス拒否の状況を確認する
20.
© Hitachi, Ltd.
2017. All rights reserved. 3-3. テストの実施 19 動作テストは、全ての機能や作業を実施する Permissiveモードになっているか確認する テストを中断せず、アクセス拒否のメッセージを確認す ることが出来る。 複数の機能が混在している場合、設定した後の見直しな どの手戻りを防ぐ。
21.
© Hitachi, Ltd.
2017. All rights reserved. 3-4. エラー内容の確認方法 20 テスト中に停止した場合の切り分け ログは、/var/log/audit/audit.logに出力 ⇒ツールでエラー(アクセス拒否)を抽出して対処 ①Permissiveモードになっているか確認する ⇒Permissiveなら設定ミスか、パーミッション ②Enforcingモードなら、Permissiveで再テスト SELinuxのログ確認 ツール:audit2allow, SETroubleShoot
22.
© Hitachi, Ltd.
2017. All rights reserved. 3-5. ツール①: audit2allow 21 audit2allowコマンドで必要なアクセス権を表示 # ausearch -m AVC --start 10/27/16 16:30:00 --end 10/27/16 17:10:00 | audit2allow -a #============= ftpd_t ============== #!!!! This avc can be allowed using the boolean 'ftpd_full_access' allow ftpd_t admin_home_t:file { create getattr lock open write }; #!!!! This avc can be allowed using the boolean 'ftpd_full_access' allow ftpd_t self:capability dac_override; 簡易スイッチの 紹介 ポリシー変更の指針 コマンド: ausearch -m AVC --start {日時} --end {日 時} | audit2allow -a
23.
© Hitachi, Ltd.
2017. All rights reserved. 3-6. ツール②: SETroubleShoot 22 SETroubleShoot:syslogに出力される 情報量がかなり多い。 audit2allowと併用がお勧め Nov 20 10:16:29 nvm000806 setroubleshoot: SELinux is preventing vsftpd from getattr access on the file /root/sebool_before-upgrade. For complete SELinux messages. run sealert -l 6ea22166-be22-4603-9be9-3d71320799bc Nov 20 10:16:29 nvm000806 python: SELinux is preventing vsftpd from getattr access on the file /root/sebool_before-upgrade.#012#012***** Plugin catchall_boolean (89.3 confidence) suggests ******************#012#012If you want to determine whether ftpd can login to local users and can read and write all files on the system, governed by DAC.#012Then you must tell SELinux about this by enabling the 'ftpd_full_access' boolean.#012You can read 'None' man page for more details.#012Do#012setsebool -P ftpd_full_access 1#012#012***** Plugin catchall (11.6 confidence) suggests **************************#012#012If you believe that vsftpd should be allowed getattr access on the sebool_before-upgrade file by default.#012Then you should report this as a bug.#012You can generate a local policy module to allow this access.#012Do#012allow this access for now by executing:#012# ausearch -c 'vsftpd' -- raw | audit2allow -M my-vsftpd#012# semodule -i my-vsftpd.pp#012 /var/log/messagesへの出力例 詳細表示用の コマンド
24.
© Hitachi, Ltd.
2017. All rights reserved. # sealert -l 6ea22166-be22-4603-9be9-3d71320799bc SELinux is preventing vsftpd from getattr access on the file /root/sebool_before-upgrade. ***** Plugin catchall_boolean (89.3 confidence) suggests ****************** If ftpd がローカルユーザーにログインでき、DAC により管理されているシステムにあるすべてのファイルを読み書きできるかどうか を指定します。 がしたい Then 'ftpd_full_access' boolean を有効にすることにより、 これを SELinux に伝える必要があります。 詳細情報については、'None' man ページをご覧下さい。 Do setsebool -P ftpd_full_access 1 ***** Plugin catchall (11.6 confidence) suggests ************************** If vsftpd に、 sebool_before-upgrade file の getattr アクセスがデフォルトで許可されるべきです。 Then バグとして報告してください。 ローカルのポリシーモジュールを生成すると、 このアクセスを許可することができます。 Do allow this access for now by executing: # ausearch -c 'vsftpd' --raw | audit2allow -M my-vsftpd # semodule -i my-vsftpd.pp Additional Information: Source Context system_u:system_r:ftpd_t:s0-s0:c0.c1023 Target Context unconfined_u:object_r:admin_home_t:s0 Target Objects /root/sebool_before-upgrade [ file ] Source vsftpd Source Path vsftpd Port <Unknown> Host nvm000806 Source RPM Packages Target RPM Packages Policy RPM selinux-policy-3.13.1-102.el7.noarch Selinux Enabled True Policy Type targeted Enforcing Mode Permissive Host Name nvm000806 Platform Linux nvm000806 3.10.0-514.el7.x86_64 #1 SMP Wed Oct 19 11:24:13 EDT 2016 x86_64 x86_64 Alert Count 5 First Seen 2017-08-02 11:44:09 JST Last Seen 2017-11-20 10:16:24 JST Local ID 6ea22166-be22-4603-9be9-3d71320799bc Raw Audit Messages type=AVC msg=audit(1511140584.25:22660): avc: denied { getattr } for pid=12505 comm="vsftpd" path="/root/sebool_before-upgrade" dev="dm-0" ino=100663385 scontext=system_u:system_r:ftpd_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:admin_home_t:s0 tclass=file 3-7. ツール②: SETroubleShoot 23 詳細表示を実行
25.
© Hitachi, Ltd.
2017. All rights reserved. 3-8. アクセス拒否への対策 24 SELinuxのセキュリティポリシーの設定方法は、 基本的に3パターン 対策 長所 短所 1 Boolean (ブール値) パラメタ一つで設定で きるので簡単 想定外の部分まで許可される 可能性がある 2 タイプの割当 対象のタイプを変更す るだけなので簡単 複数のソフトウェアが利用す るものは、タイプを変更する と、片方が使えなくなること もある。 3 ポリシー追加 細かく設定できる ゼロから作るのは大変 影響範囲などの調査も大変 状況に応じて、対策手段を考える
26.
© Hitachi, Ltd.
2017. All rights reserved. 3-9. ポリシーの追加の例 25 対策 設定方法 1 Boolean (ブール値) # setsebool -P ftpd_full_access 1 ※ちょっと例が良くないですが・・・ 2 タイプの割当 /etc/cron.d のタイプ system_cron_spool_t を bin_tに変更する。 # chcon -t bin_t /etc/cron.d 3 ポリシー追加 # ausearch -c 'vsftpd' --raw | audit2allow -M my- vsftpd # semodule -i my-vsftpd.pp
27.
© Hitachi, Ltd.
2017. All rights reserved. 3-10. 再テスト 26 新しいポリシーを追加したら再テスト テスト /再テスト エラー内容の 確認設定追加
28.
© Hitachi, Ltd.
2017. All rights reserved. 27 rootユーザでログインして、/etcを表示: RHELにvsftpを導入して、FFFTPで接続 Enforcing:Permissive: rootユーザでも制限されている 表示されないディレクトリが存在(制 限される。) audit cron.d dhcp などが 表示されない 直接アクセスも できない Sample:SELinuxが有効なときの簡単な例
29.
© Hitachi, Ltd.
2017. All rights reserved. Sample:ftpの制限の違いの確認 28 表示されるディレクトリ(cron.daily)と 表示されないディレクトリ(cron.d)の差を確認 # ps -efZ | grep ftp system_u:system_r:ftpd_t:s0-s0:c0.c1023 931 ? 00:00:00 vsftpd vsftpdのドメインを確認: # ls -Z drwxr-xr-x. root root system_u:object_r:system_cron_spool_t:s0 cron.d drwxr-xr-x. root root system_u:object_r:bin_t:s0 cron.daily SELinux上のファイルコンテキストを確認: ファイルのタイプが異なる
30.
© Hitachi, Ltd.
2017. All rights reserved. Sample:アクセス拒否の確認 29 # ausearch -m AVC | grep 'cron.d' | audit2allow -a #!!!! This avc can be allowed using the boolean 'ftpd_full_access' allow ftpd_t system_cron_spool_t:dir { getattr open read search }; #!!!! This avc can be allowed using the boolean 'ftpd_full_access' allow ftpd_t system_cron_spool_t:file getattr; audit2allowを実行すると、権限追加が必要と指摘 # grep cron.d audit.log type=AVC msg=audit(1499764558.065:58): avc: denied { getattr } for pid=1040 comm="vsftpd" path="/etc/cron.d" dev="dm-0" ino=67379157 scontext=system_u:system_r:ftpd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:system_cron_spool_t:s0 tclass=dir type=AVC msg=audit(1499766876.896:268): avc: denied { open } for pid=1163 comm="vsftpd" path="/etc/cron.d" dev="dm-0" ino=67379157 scontext=system_u:system_r:ftpd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:system_cron_spool_t:s0 tclass=dir audit.logの記載内容: ブール値の設定 アクセス許可設定
31.
© Hitachi, Ltd.
2017. All rights reserved. Sample:セキュリティポリシーの追加 30 audit2allowの結果を確認: 対策 指示内容 判定 1 Boolean (ブール値) ブール値: ftpd_full_access を有効にする 想定外の部分まで許可される 可能性があるのでNG 2 タイプの割当 指示なし /etc/cron.d をftpdがアクセ ス可能なタイプ bin_tなどへ 変更すれば対処可能。 ⇒影響範囲が広くNG 3 ポリシー追加 ドメインftpd_tに、 system_cron_spool_t へのアクセス権限を付与 する アクセスできる対象を絞り込 みたいので、採用
32.
© Hitachi, Ltd.
2017. All rights reserved. 31 1. SELinuxの概要 2. SELinuxの基礎 3. 設計と設定 4. SELinux利用拡大へ向けた支援 SELinux利用拡大へ向けた支援4
33.
© Hitachi, Ltd.
2017. All rights reserved. 32 SELinuxは昔に比べて使いやすくなっている。 多くのOSSのポリシーを標準装備 RHELは、SELinux Enforcingでテスト、出荷 SELinuxに対応しているソフトウェアも増加 有効化、即、エラーは減少 4-1. 現在のSELinuxについて
34.
© Hitachi, Ltd.
2017. All rights reserved. 33 4-2. SELinuxやOSSセキュリティ技術の情報発信 OSSセキュリティ技術の会 協力:サイオステクノロジー、情報セキュリティ大学院大学、日立製作所 ・第一回勉強会 2017/5/16 「闘将(たたかえ)!! SELinuxの巻」 日立からは、中村雄一が、最近のセキュリティ事情とSELinuxについて講演 ・第二回勉強会 2017/11/29 「新世代のOSS認証基盤」 日立からは、茂木昴士が、「Keycloak入門」について講演 ・連載:IoT時代の最新SELinux入門(日経BP社): ■その他講演など ・OSSセキュリティナイター 2017/7/26 [企業システムにSELinuxを適用するときの検討事項について ] ・OSC・エンタープライズ 2017/12/8 [企業システムにSELinuxを適用するときの検討事項について ] 講演や雑誌記事で情報の公開を推進中
35.
© Hitachi, Ltd.
2017. All rights reserved. 34 SELinuxをより使いやすくするための足掛かりとして、 以下のツールを2017/11/13に公開 https://github.com/Hitachi/selinux-info-viewer ■SELinux Type Enforcement Lookup ドメイン(プロセス)がアクセスできるディレクトリやファイル の一覧を取得するツール ※検証や考慮点の把握に有効 ■SELinux Information Viewer SELinuxに関する情報を取得し、ブラウザで表示するツール ※情報取得後の突き合わせに有効 https://github.com/Hitachi/selinux-te-lookup ツールは MIT License です、自由に使ってください 使い勝手を良くするための改変や機能追加など歓迎します 4-3. 日立で公開しているツール
36.
© Hitachi, Ltd.
2017. All rights reserved. 35 ドメインがアクセスできるディレクトリやファイルの一覧 を取得するツール 従来は、sesearchやsemanageコマンド、Attributeがあ れば展開するなど複雑な操作が必要であったが、コマンド 1つで取得することが可能となります 例)ftpd_tドメインのプロセスが書き込みできるディレクトリの一覧を取得 # sudo python selinux-te-lookup.py 'ftpd_t' --perm write --class 'dir' --only-ok # cat result.csv File-Context-Pattern,File-Context-Target-Type,File-Context-Label,Matched-File-Path,File-Type,File-Label, SAME-SELinux-Type /dev/shm,directory,system_u:object_r:tmpfs_t:s0,/dev/shm,d,system_u:object_r:tmpfs_t:s0,OK /run,directory,system_u:object_r:var_run_t:s0,/run,d,system_u:object_r:var_run_t:s0,OK /run/.*,all files,system_u:object_r:var_run_t:s0,/run/netreport,d,system_u:object_r:var_run_t:s0,OK /run/.*,all files,system_u:object_r:var_run_t:s0,/run/sysconfig,d,system_u:object_r:var_run_t:s0,OK /run/.*,all files,system_u:object_r:var_run_t:s0,/run/tmpfiles.d,d,system_u:object_r:var_run_t:s0,OK : https://github.com/Hitachi/selinux-te-lookup 4-4. SELinux Type Enforcement Lookup
37.
© Hitachi, Ltd.
2017. All rights reserved. 36 SELinuxに関する情報を取得し、ブラウザで表示するツール 情報取得ツールとWeb表示用DB構成ツールは別ツールのため、本番 環境など占有できないマシンについても、ビューワで設定を参照する ことが可能 4-5. SELinux Information Viewer https://github.com/Hitachi/selinux-info-viewer
38.
© Hitachi, Ltd.
2017. All rights reserved. おわりに 37 SELinux を有効にすることを 是非お試しください。
39.
© Hitachi, Ltd.
2017. All rights reserved. ■Red Hatは,米国およびその他の国でRed Hat, Inc. の登録商標 もしくは商標です。 ■Linux(R) は、米国およびその他の国における Linus Torvalds 氏 の登録商標です。 ■SELinuxは米国及びその他の国におけるNational Security Agencyの登録商標です。 ■HITACHIは、株式会社 日立製作所の商標または登録商標です。 ■記載の会社名、製品名などは、それぞれの商標もしくは登録商標 です。 38 他社所有商標に関する表示
40.
39
Editor's Notes
TypeB:初心者向けのみ資料 2017/11/24 10:20版
セキュアOSって何? その名の通り、セキュリティを強化したOSです。 一般的に 「強制アクセス制御」 「最小特権」 という機能をもっているものをセキュアOSといいます。
SELinuxを有効にするとエラーでテストが止まる。よく聞く話です。 そんなときはSELinuxの動作モードを確認します。 動作モードは、3つあります。 <表を読む> ここで、SELinuxを有効にする際にenforcingとすると、アクセス拒否が発生してエラーでプログラムが停止します。 permissiveであれば、アクセス拒否のメッセージをログに出力するだけで、プログラムは実行を続けます。 なので、SELinux のテストは、permissiveで実施する 必要があります。
Download now