目次 Hardened Gentoo での SELinux の導入 導入するときの注意点 Hardened Gentoo と Fedora Core 4 との違い例題 : id_t, id_exec をつくってみる SETools の活用法 Apol seaudit Reference Policy

Similar documents
使いこなせて安全なLinuxを目指して

Installation Guide for Linux

A : kerl kerl Erlang/OTP Erlang/OTP 2 2 Elixir/Phoenix URL 2 PDF A.2 Bash macos.bash_profile exp

Xen入門 ppt

Xen入門 ppt


PRIMEQUEST 1000シリーズ Linux設計ガイド

はじめに このドキュメントではftServerに関する障害調査を行う際に 必要となるログ データの取得方法を説明しています ログ データの取得には 初期解析用のデータの取得方法と 詳細な調査を行うときのデータ取得方法があります 特別な理由でOS 側のログが必要となった場合には RHELログの取得につ

ftServerでのログの取得方法の概要

% finger apt-get kernel-package, libc6-dev, gcc, make, bin86, bzip2, libdb3-dev, libncurses-dev, fakeroot

1 1 CentOS Java JDK(JavaSE Development Kit)......

unix.dvi

How to Install and Configure Panorama Panorama のインストールと設定 Panorama は Palo Alto Networks のサポートサイトからダウンロード可能な VMware イメージです 本書は Panorama のインストールと Panora

Docker Haruka Iwao Storage Solution Architect, Red Hat K.K. February 12, 2015

CUCM と VCS 間のセキュア SIP トランクの設定例

はじめに 本書は Express5800/ft サーバに Red Hat Enterprise Linux 6 Server 及び ft Server Control Software がインストールされており OS がインストールされている内蔵ディス クに空き容量がある場合に 追加でボリュームを作

Microsoft Word - SSI_Smart-Trading_QA_ja_ doc

CEM 用の Windows ドメイン コントローラ上の WMI の設定

ドライバインストールガイド

Cisco Unity と Unity Connection Server の設定

Microsoft Word - README_2011_FW.txt

Microsoft Word - K5VSSP32-install.docx

2. Save をクリックします 3. System Options - Network - TCP/IP - Advanced を開き Primary DNS server と Secondary DNS Server に AXIS ネットワークカメラ / ビデオエンコーダが参照できる DNS サ

UNIX

untitled

Microsoft Word - AFT_3TB_HDD_install_guide doc

第173回東京エリアDebian勉強会   grml-debootstrapを用いた USB起動メモリの作成

Microsoft Word - nvsi_090196_r1_vaultdr_offline_rhel_dualpath.doc

管理チート シート Payara Server 5 管理チート シート The Payara Platform - Production-Ready, Cloud Native and Aggressively Compatible.

別紙 : 検証環境の構築手順 ( 章 ) 1. サーバ設定 1.1 IP アドレス設定 サーバは以下の 6 台を用いる pgpool-ii サーバ 2 台 DB サーバ 3 台 上位サーバ 1 台 OS は全サーバで CentOS 6.4 x86_64 とする pgpool-ii のサー

Microsoft Word - nvsi_050090jp_oracle10g_vlm.doc

TOMOYO Linuxを体験しよう

1 138

OpenAM 13 インストールガイド

目次 1. はじめに 本文書の目的 前提条件 略語 事前準備 ホスト名の名前解決 Linux 版パッケージ システム要件 ソフトウェア要件 パッケージ構成

Ubuntu Linux PC Ubuntu Linux (14.04 LTS, Trusty Tahr) 32bit CD 64bit CD 2. 32bit CPU 64bit 32bit PC CPU 32bit 64bit Windows 64bit 64bit. 32bit Core 64

Alibaba Cloud [ ナレッジドキュメント ] AWS EC2 から Alibaba Cloud ECS へのマイグレーション手順 (Linux 版 ) AWS EC2 から Alibaba Cloud ECS への マイグレーション手順 (Linux 版 ) Ver

MF mypresto インストールガイド 目次 新規インストールの手順 (Windows 版 )... 2 MF mypresto の起動 (Windows 版 )... 7 新規インストールの手順 (Mac 版 )... 8 MF mypresto の起動 (Mac 版 ) 新規イン

Cisco ASA Firepower ASA Firepower

Symantec AntiVirus の設定

オールインワン (Image Scan! for Linux & Photo Image Print System Lite) EP-801A EP-901A EP-901F PM-A750 PM-A820 PM-A840 PM-A840S PM-A890 PM-A920 PM-A940 PM-A9

ServerView ESXi CIM Provider VMware ESXi 4インストールガイド

1. OS のインストール 今回インストールするのは, Ubuntu という Linux ディストリビューションの中の一つ. OS, ディストリビューションの種類 ディストリビューションとは, 一般利用者が導入 利用するために多くのコンポーネントをまとめた頒布形態. 無料のものと有料のものがあり,

3 Ubuntu Linux Ubuntu Linux Debian Linux DistroWatch.com 1 Debian Ubuntu Linux 1 Debian CD(4.1 ) Knoppix Debian CentOS Linux CentOS 1 Ubuntu L

Web apache

Mac OS X Server Windows NTからの移行

Microsoft Word - DUC登録方法.doc

LEAP を使用して Cisco ワイヤレス クライアントを認証するための Funk RADIUS の設定

コンフィギュレーション レジスタの設定変更

Raspberry Pi 2 Model B に Debian Jessie / armhf をインストールする - 第125回 2015年3月度

ServerView ESXi CIM Provider / ServerView RAID Core Provider VMware vSphere ESXi 6.5 / 6.7 インストールガイド

UNIX とは? 1969 年 米国のベル研究所で開発されたオペレーティングシステム特徴 文字ベースの対話型 OS マルチユーザ 複数のユーザが同時に利用できる マルチタスク マルチプロセス 複数の処理を平行して行える タイムシェアリング 一定の時間に区切って処理を行う 複数の処理を平行しているよう

syspro-0405.ppt

Windows GPO のスクリプトと Cisco NAC 相互運用性

OpenAM 9.5 インストールガイド オープンソース ソリューション テクノロジ ( 株 ) 更新日 : 2013 年 7 月 19 日 リビジョン : 1.8

Microsoft Word - マニュアル4.1J

DIRECTIONS

ServerView ESXi CIM Provider / ServerView RAID Core Provider VMware vSphere ESXi 6.0 インストールガイド

Cisco CallManager および Cisco Unity でのパスワード変更の設定例

HP Device Manager4.7インストール・アップデート手順書

VNX ファイル ストレージの管理

Microsoft Word - SSL-VPN_PC_PulseSecure docx

AW-PCS認証設定手順1805

VPS では 通 常 はインスタンスが 1 個 です 停 止 と 再 起 動 を 選 択 できます CloudStack では インスタンスの 追 加 と 破 棄 の 機 能 を 利 用 することにより お 客 様 が 契 約 されているインスタンス 数 分 の 仮 想 サーバを 自 由 に 追 加

明日はじめるSELinux

任意の間隔での FTP 画像送信イベントの設定方法 はじめに 本ドキュメントでは AXIS ネットワークカメラ / ビデオエンコーダにおいて任意の間隔で画像を FTP サー バーへ送信するイベントの設定手順を説明します 設定手順手順 1:AXIS ネットワークカメラ / ビデオエンコーダの設定ページ

Microsoft Word - D JP.docx

アプリケーションサーバ JBoss超入門

1. 対象装置 (1) 日立仮想 Fibre Channel アダプタ 適用装置 : EP8000 7xx/S8xx/E8xx/S9xx 2. 仮想 FC アダプタドライバ来歴 この仮想 FC アダプタドライバは 次の機能拡張とバグ修正を含みます バージョン内容 新規追加 7

Microsoft PowerPoint - APM-VE(install).pptx

ClamXav-MAC2013.txt - TeraPad

Transcription:

自分流 SELinux とのつき合いかた 2005-12-31 Your Name Your Title Your Organization (Line #1) Your Organization (Line #2)

目次 Hardened Gentoo での SELinux の導入 導入するときの注意点 Hardened Gentoo と Fedora Core 4 との違い例題 : id_t, id_exec をつくってみる SETools の活用法 Apol seaudit Reference Policy について 3

Hardened Gentoo での SELinux の導入 起動 ログイン 1. Live CD (hardened-x86-2005.1.iso) で起動 (X は使わない ) boot: selinux-nox Loading selinux... Loading selinux.idz... 2. 解像度はそのまま. 3. Keymap 選択. Load keymap (Enter for default): 41 4. メンテナンスモードはスキップ. 5. デバイスの自動認識 6. ログイン Login: hardened Password: (hardened) 4

Hardened Gentoo での SELinux の導入 2 ログイン ベースインストール 7. root のパスワード設定とディスクの準備 hardened@livecd ~ $ sudo passwd root && su - livecd ~ $ fdisk /dev/hda && mke2fs -j /dev/hda1 && mkswap /dev/hda2 livecd ~ $ mkdir /mnt/gentoo && cd /mnt/gentoo livecd ~ $ mount /dev/hda1 /mnt/gentoo 8. stage3 (stage3-x86-selinux-20050726.tar.bz2) のダウンロードと展開 livecd ~ $ swapon /dev/hda2 livecd ~ $ wget http://mirror.g...tage3-x86-selinux-20050726.tar.bz2 livecd ~ $ tar -xvjpf stage?-*.tar.bz2 : 9. このあたりは普通の gentoo と同じ 5

Hardened Gentoo での SELinux の導入 3 ベース カーネル インストール 10. カーネルの設定 livecd ~ $ emerge hardened-sources && cd /usr/src/linux livecd ~ $ make menuconfig Under "Code maturity level options" [*] Prompt for development and/or incomplete code/drivers Under "General setup" [*] Auditing support Under "File systems" <*> Ext3 journalling file system support (If using ext3) [*] Ext3 extended attributes [ ] Ext3 POSIX Access Control Lists [*] Ext3 security labels [ ] NSA SELinux MLS policy (EXPERIMENTAL) 6

Hardened Gentoo での SELinux の導入 4 ベース カーネル インストール 10. カーネルの設定 ( 続き ) [*] /proc file system support [ ] /dev file system support (EXPERIMENTAL) [*] /dev/pts Extended Attributes [*] /dev/pts Security Labels [*] Virtual memory file system support (former shm fs) [*] tmpfs Extended Attributes [*] tmpfs Security Labels 7

Hardened Gentoo での SELinux の導入 5 ベース カーネル インストール 10. カーネルの設定 ( 続き ) Under "Security options" [*] Enable different security models [*] Socket and Networking Security Hooks <*> Capabilities Support [*] NSA SELinux Support [ ] NSA SELinux boot parameter [ ] NSA SELinux runtime disable [*] NSA SELinux Development Support [ ] NSA SELinux AVC Statistics [ ] NSA SELinux MLS policy (EXPERIMENTAL) 8

Hardened Gentoo での SELinux の導入 導入するときの注意点 (hardened-x86-2005.1.iso 版 ) 1. 最新のステージ tar 玉と Live CD のポリシーが合わないので インストール時の最後のステップで load_policy に失敗する make reload する前に /etc/security/selinux/src/policy/makefile の以下の部分を修正しましょう # The default target is 'install'. # # Set to y if MLS is enabled in the module. MLS=n # Uncomment if you want to generate policy file compatible with older # kernels. POLICYCOMPAT = -c 18 ここを 15 から 18 にする FLASKDIR = flask/ PREFIX = /usr

Hardened Gentoo での SELinux の導入 2 導入するときの注意点 (hardened-x86-2005.1.iso 版 ) 2. Gentoo のドキュメントにあるようにカーネルの MLS サポートは切りましょう (ToT うまくポリシーがロードできません ( 調査中 ) 以下の部分をチェックしてください Under "Security options" [*] Enable different security models [*] Socket and Networking Security Hooks <*> Capabilities Support [*] NSA SELinux Support [ ] NSA SELinux boot parameter [ ] NSA SELinux runtime disable [*] NSA SELinux Development Support [ ] NSA SELinux AVC Statistics [ ] NSA SELinux MLS policy (EXPERIMENTAL)

Hardened Gentoo での SELinux の導入 3 導入するときの注意点 (hardened-x86-2005.1.iso 版 ) 3. セキュリティコンテキストをすぐ忘れてしまいます ( 私です ) 以下のような.bash_profile と.bashrc はどうでしょうか? ##.bashrc if [ selinuxenabled ]; then export PS1="(\$(id -c))\n[\u@\h \W]\\$ " alias cp='cp -ic' # too cowardly? alias ll='ls --lcontext' fi ## root の.bash_profile force_newrole(){ id -c grep -q 'root:sysadm_r:sysadm_t' \ while true;do sleep 1;\newrole -r sysadm_r -t sysadm_t && \ break;done } selinuxenabled && sestatus grep -q targeted force_newrole 12

Hardened Gentoo での SELinux の導入 4 導入するときの注意点 (hardened-x86-2005.1.iso 版 ) 4. コンソールに全てのメッセージを出したいとき 以下のような感じで設定しておきましょう [root@g1 ~]# echo 7 7 1 7 > /proc/sys/kernel/printk Console Log Level: 基準優先順位 Default Message Log Level: デフォルト優先順位 Minimum Console Log Level: 設定可能な最小値 Default Console Log Level: デフォルト値 または [root@g1 ~]# dmesg -n 1 13

Hardened Gentoo と Fedora Core 4 との違い ポリシーのツリー構造 1 /etc/security/selinux/src/policy(47 種類 )<->182 種類 [zchan@g1 ~]$ ls /etc/security/selinux/src/policy/domains/program/./ getty.te modutil.te pppd.te../ gpg.te mount.te restorecon.te bootloader.te hostname.te mta.te rsyncd.te checkpolicy.te hotplug.te netutils.te setfiles.te chkpwd.te hwclock.te newrole.te ssh-agent.te chroot.te ifconfig.te nscd.te ssh.te consoletype.te init.te ntpd.te su.te crack.te initrc.te pamconsole.te syslogd.te crond.te iptables.te passwd.te udev.te crontab.te ldconfig.te pax.te useradd.te dhcpc.te load_policy.te ping.te dmesg.te login.te portage.te fsadm.te mkinitrd.te portmap.te 14

Hardened Gentoo と Fedora Core 4 との違い 2 SELinux 関連の portage の例 : NTP [zchan@g1 policy]$ epm -ql selinux-ntp /etc/security/selinux/src/policy-backup/200511010319-selinux-ntp.tar.bz2 /etc/security/selinux/src/policy/domains/program/ntpd.te /etc/security/selinux/src/policy/file_contexts/program/ntpd.fc 15

Hardened Gentoo と Fedora Core 4 との違い 3 portage の分類 [root@z2 ~]# ls -w 80 /usr/portage/sec-policy/./ selinux-djbdns/ selinux-postfix/../ selinux-ethereal/ selinux-postgresql/ metadata.xml selinux-ftpd/ selinux-privoxy/ selinux-apache/ selinux-gnupg/ selinux-procmail/ selinux-arpwatch/ selinux-gpm/ selinux-publicfile/ selinux-asterisk/ selinux-ipsec-tools/ selinux-qmail/ selinux-audio-entropyd/ selinux-kerberos/ selinux-samba/ selinux-base-policy/ selinux-logrotate/ selinux-screen/ selinux-bind/ selinux-lvm/ selinux-snmpd/ selinux-clamav/ selinux-mdadm/ selinux-snort/ selinux-clockspeed/ selinux-mysql/ selinux-spamassassin/ selinux-courier-imap/ selinux-nfs/ selinux-squid/ selinux-cyrus-sasl/ selinux-ntop/ selinux-stunnel/ selinux-daemontools/ selinux-ntp/ selinux-sudo/ selinux-dante/ selinux-openldap/ selinux-tftpd/ selinux-dhcp/ selinux-openvpn/ selinux-ucspi-tcp/ selinux-distcc/ selinux-portmap/ 16

Hardened Gentoo と Fedora Core 4 との違い 4 コマンドが... - replcon $ ls -Z tmp.tar.gz -rw-r--r-- zchan users zchan:object_r:staff_home_t tmp.tar.gz $ replcon -rv -c zchan:object_r:staff_home_t zchan:object_r:staff_tmp_t./tmp/ Warning: Can not stat 'zchan:object_r:staff_home_t'. Skipping this file. Replaced context: /home/zchan/tmp old context: [zchan:object_r:staff_home_t] new context: [zchan:object_r:staff_tmp_t] Replaced context: /home/zchan/tmp/asc-tfm.tar.gz old context: [zchan:object_r:staff_home_t] new context: [zchan:object_r:staff_tmp_t] Replaced context: /home/zchan/tmp/morisawa1-afm.tar.gz old context: [zchan:object_r:staff_home_t] new context: [zchan:object_r:staff_tmp_t] - id -c [zchan@g1 tmp]$ id -c zchan:staff_r:staff_t 17

例題 : id_t, id_exec_t をつくってみる /etc/security/selinux/src/policy/domains/program/id.te ## -- id.te -- for testing. type id_t, domain; role sysadm_r types id_t; type id_exec_t, file_type, exec_type; domain_auto_trans(sysadm_t, id_exec_t,id_t) general_domain_access(id_t) uses_shlib(id_t) read_locale(id_t) allow id_t admin_tty_type:chr_file rw_file_perms; ifdef(`gnome-pty-helper.te', `allow id_t sysadm_gph_t:fd use;') allow id_t { userdomain privfd kernel_t }:fd use; allow id_t var_t : file r_file_perms; allow sysadm_t id_exec_t:lnk_file read; can_getcon(id_t) 18

例題 : id_t, id_exec_t をつくってみる 2 /etc/security/selinux/src/policy/filecontexts/program/id.fc ## -- id.fc -- for testing. /bin/id system_u:object_r:id_exec_t /usr/bin/id system_u:object_r:id_exec_t /var/log/everything/current, /var/log/kernel/current を確認 して作業する (metalog の場合 ) (root:sysadm_r:id_t) [root@g1 policy]# id uid=0 gid=0 所属グループ =0,1,2,3,4,6,10,11,20,26,27 context=root:sysadm_r:id_t

SETools の活用法 SETools Apol,SeDiff,SeAudit,SeAudit- Report,SeCmds(seinfo; sesearch;findcon;replcon; indexcon;searchcon)

SETools の活用法 2 Apol - ポリシー解析ツール - - ドメイン遷移の追跡 (Policy Rules->RBAC Rules) staff_t -> sysadm_t へのドメイン遷移 - 実行権限の追跡 (Policy Rules->TE Rules) passwd_exec_t (/usr/bin/passwd) の実行権限? - 情報フローの追跡 (Analysys->Transitive Information Flow) httpd_t が var_t に対して何ができるか?

SETools の活用法 3 SeAudit - 監査メッセージの解析ツール - - ログの確認 - ポリシーの検索 (/sbin/tune2fs) 1. sysadm_t->fsadm_exec_t,(file) 2. user_t->fsadm_exec_t,(file) 3. setenforce 1 して user_t で tune2fs する

Reference Policy について 将来のデフォルトポリシーになる予定 強固なモジュラー構造 リソースに対する抽象化されたアクセスとカプセル化 コンポーネント毎のセキュリティ目標 開発者が本当に必要なものを選択可能 文書化 複雑な SELinux ポリシーをわかりやすく

Reference Policy について 2 開発ツールのサポート グラフィカルなツール用のバックトレースインタフェースにより開発 理解 解析と確認を簡単に 将来性 標準的なものや MLS など様々なポリシー ローダブルポリシーをサポートする 柔軟なベースポリシー 様々なセキュリティ目標とアプリケーションのための基盤ポリシーとして OS を保護する

Reference Policy について 3 アプリケーションに対するバリエーション 同一のアプリケーションに対してセキュリティの重点が異なる複数のポリシーを提供する Multi-Level Security MLS はそのままのポリシーでサポートされる MLS と non- MLS は設定によって切替え可能になる 入手先 - Security Enhanced Linux Reference Policy -

御清聴ありがとうございました