OpenLDAPインストール
openldap:基本
openldap-servers:サーバー機能
openldap-clients:管理ツール

使用可能にするには
/etc/openldap/sldap.conf を編集。

識別名、管理用識別名、暗号化パスワードを記載する。
suffix "dc=mydomain,dc=com"
rootdn "cn=hikaru,dc=mydomain,dc=com"
rootpw {crypt}暗号化パスワード

暗号化パスワードの作成方法
openssl passwd

起動コマンド:
/etc/init.d/ldap start

停止コマンド:
/etc/init.d/ldap stop
Lightweight Directory Access Protocol。
プロトコル。
ディレクトリサービスを提供。

ポートは389。
SSL版のLDAPSは636。

構成単位はエントリ。
エントリには属性が含まれる。
属性タイプ=属性値 で示す。
エントリはツリー構造になる。

例)
uid=hikaru, ou=ameba ,dc=co, dc=jp

uid:ユーザーID
ou:組織単位
dc:ドメイン構成要素
Type Transitionルールの例。

httpdプロセスのドメインが"httpd_t"。
なぜか。

httpdの実行ファイル/usr/sbin/httpdの
ファイルのタイプは httpd_exec_t 。

ファイルのタイプ確認:
[root@localhost ~]# ls -Z /usr/sbin/httpd
-rwxr-xr-x. root root system_u:object_r:httpd_exec_t:s0 /usr/sbin/httpd

Type Transitionルール確認:
[root@localhost ~]# sesearch --type | grep httpd_exec_t
type_transition init_t httpd_exec_t : process httpd_t;

init_t というドメインにいるプロセスが
httpd_exec_t タイプの実行ファイルを起動。
そのプロセスは httpd_t ドメインに遷移。
という意味。
Access Vectorルールの例。

/var/www配下のファイル等は
"httpd_sys_content_t" タイプ。

ファイルLabelingルール確認:
※ls -Zコマンドでも良い
[root@localhost ~]# semanage fcontext -l | grep /var/www | more
/var/www(/.*)? all files system_u:object_r:httpd_sys_content_t:s0

ドメイン確認:
[root@localhost ~]# ps auxZ | grep httpd_t
system_u:system_r:httpd_t:s0 root 1526 0.0 0.1 224024 5024 ? Ss 23:51 0:00 /usr/sbin/httpd -DFOREGROUND

httpd_t というドメインからhttpd_sys_content_t というタイプには
どのような操作を許可されているか。

Type Enforcementルール確認:
[root@localhost ~]# sesearch --allow | grep "allow httpd_t httpd_sys_content_t "

結果:
以下の4つを許可。
allow httpd_t httpd_sys_content_t : dir { ioctl read getattr lock search open } ;
allow httpd_t httpd_sys_content_t : lnk_file { read getattr } ;
allow httpd_t httpd_sys_content_t : file { ioctl read getattr lock open } ;
allow httpd_t httpd_sys_content_t : dir { ioctl read write getattr lock add_name remove_name search open } ;
主要なポリシールールは大きく2種類。

1つはType Enforcementルールで
Access VectorやType Transitionルール。

アクセス制御を記載。

確認コマンド:
sesearch --all

もう1つはLabelingルールで
ファイルやネットワークLabelingルール。

ファイルやTCP/UDPポート番号と
コンテキストを紐づける。

ファイルLabelingルール確認コマンド:
semanage fcontext -l

ネットワークLabelingルール確認コマンド:
semanage port -l
コンテキストとはラベルを付け。
種類は以下。
・プロセス:Source Context(scontext)
・ファイル等:Target Context(tcontext)

コンテキストのフォーマットは
User:Role:Type/Domain:Sensitivity range

3つ目の属性は
Source Contextのときはドメインと呼ぶ
Target Context のときタイプと呼ぶ

targetedポリシーは、
コンテキストの中でも3つ目の属性である
"タイプ/ドメイン" のみを取り扱う。
セキュアOS。
カーネル2.6から標準装備。

デフォルトのポリシーは、
インストールで有効にした場合、
targetedポリシー採用。

強力なstrictポリシーなどもある。
インストールと設定変更が必要。
(操作は省略)


状態確認コマンド:
/usr/sbin/sestatus

結果:
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 23
Policy from config file: targeted

SELinuxステータス有効化コマンド:
/sbin/fixfiles relabel

SELinuxモード変更コマンド:
/usr/sbin/setenforce 0警告または1有効

設定ファイル:
/etc/sysconfig/selinux
TCP Wrapqerはアクセス制御を行う機能。

設定ファイルは2種類あり、
hosts.allow、hosts.denyの順に参照。

各設定ファイルには、
サービス名: IP
のフォーマットで記載。

hosts.allowに一致する設定があれば、
許可して終了。

一致しなければ、hosts.denyを参照。

hosts.denyに記載がなければ許可される。
必ずALL: ALL を設定しておく。

編集後に再起動は不要、即時反映。

ログは、
/var/log/messages に出力される。

今週は、カップリングパーティに参加する

予定はなかったのですが、勧誘の電話が

かかってきました。


特に予定がなかったので、急遽参加。

今回は、女性も有料のパーティにしました。


有料だと、冷やかしがいないような感覚を

得ました。


今回の女性の参加者は、32名。
前回からの累計、67名と知り合いました。


3名から、第一印象OKのサインが出ました。


その中に、僕の目当ての娘も入ってました。


なので、フリータイムで積極的に話して

みました。


そして、カップルの発表です。

感触が良かったのですが、指名されません

でした。


うーん。