LVS続き

    real_server 192.168.0.1 80 {
        weight 1
        TCP_CHECK {
          connect_timeout 10   ※秒
          connect_port    80
        }
    }

-------------------

仮想サーバーの lv_algo の値

ラウンドロビン (Round-Robin) rr
加重ラウンドロビン (Weighted Round-Robin) wrr
最小接続 (Least-Connection) lc
加重最小接続 (Weighted Least-Connection) wlc

ローカリティーベースの最小接続 lblc
(Locality-Based Least-Connection)

複製をともなうローカリティベースの最小接続スケジューリング lblcr
(Locality-Based Least-Connection Scheduling with Replication)

宛先ハッシュ (Destination Hash) dh
ソースハッシュ (Source Hash) sh
ソースの予期される遅延 (Source Expected Delay) sed
キューに置かない (Never Queue) nq

————————————————–

4. keepalivedの設定
keepalived.confに設定するパラメータ名と意味
delay_loop 設定された間隔[秒]で、real_server{}に設定された内容にしたがってリアルサーバを監視する。
lb_algo スケジューリングアルゴリズム。コネクション数やweight(重み付け)を考慮した分散が行われる。

スケジューリングアルゴリズムで指定できる値は以下のとおり。
rr(round-robin) リアルサーバを設定順に順番に選択していく。すべてのサーバに均等に処理が分散される。
wrr(weight round-robin) rrの設定に重みを加味しながら分散比率を変える。重みが大きなサーバほど頻繁に選択される。処理能力が高いサーバほど重みを大きくする。
lc(least-connection) コネクション数が一番少ないサーバを選択する。
wlc(weighted least-connection) lcと同じだが、重みを加味する。具体的には「(コネクション数 + 1) / 重み」が最小となるサーバを選択する。処理能力が高いサーバほど重みを大きくする。
sed(shortest expected delay) もっとも応答速度が速いサーバを選択する。ただし、サーバにパケットを飛ばして応答時間を計測していいるわけではない。ステートがESTABLISHEDなコネクション数が一番少ないサーバを選択する。wlcとほとんど同じ動作になるが、wlcではESTABLISHED以外のステート(TIME_WAITやFIN_WAITなど)のコネクション数を加算している点が異なる。
nq(never queue) sedと同じアルゴリズムだが、ステートがESTABLISHEDなコネクション数が0のサーバを最優先で選択する。
sh(source hashing) 送信元IPアドレスがからハッシュ値を計算して分散先のリアルサーバを選択する。
dh(destination hashing 宛先IPアドレスがからハッシュ値を計算して分散先のリアルサーバを選択する。
lblc(locality-based least-connection) コネクション数が重みで指定した値を超えるまでは、同じサーバを選択する。コネクション数が重みで指定した値を超えた場合は別なサーバを選択する。すべてのサーバのコネクション数が重みで指定した値を超えている場合は、最後に選択したサーバが選択され続ける。
lblcr(locality-based least-connection with replication) lblcとほとんど同じだが、すべてのサーバのコネクション数が重みで指定した値を超えている場合は、コネクション数が一番少ないサーバが選択される。

ヘルスチェックに指定できる値は以下のとおり。
HTTP_GET HTTPでGETリクエストを発行して応答を確認する。
SSL_GET HTTPSでGETリクエストを発行して応答を確認する。
TCP_CHECK TCPで接続できるかどうかを確認する。
SMTP_CHECK SMTPでHELOコマンドを発行して応答を確認する。
MISC_CHECK 外部コマンドを実行して終了コードを確認する。

VPNパッケージとLVS+keepalived

■openvpnのパッケージ
yum –enablerepo=epel -y install openvpn easy-rsa

(1/3): easy-rsa-3.0.3-1.el7.noarch.rpm | 31 kB 00:00
(2/3): openvpn-2.4.7-1.el7.x86_64.rpm | 522 kB 00:00
(3/3): pkcs11-helper-1.11-3.el7.x86_64.rpm | 56 kB 00:00

■openswanのパッケージ
yum install openswan
(1/9): libevent-2.0.21-4.el7.x86_64.rpm | 214 kB 00:00
(2/9): libpcap-1.5.3-11.el7.x86_64.rpm | 138 kB 00:00
(3/9): ldns-1.6.16-10.el7.x86_64.rpm | 476 kB 00:00
(4/9): nss-3.36.0-7.1.el7_6.x86_64.rpm | 835 kB 00:00
(5/9): libreswan-3.25-4.1.el7_6.x86_64.rpm | 1.4 MB 00:00
(6/9): nss-util-3.36.0-1.1.el7_6.x86_64.rpm | 78 kB 00:00
(7/9): nss-tools-3.36.0-7.1.el7_6.x86_64.rpm | 515 kB 00:00
(8/9): unbound-libs-1.6.6-1.el7.x86_64.rpm | 405 kB 00:00
(9/9): nss-sysinit-3.36.0-7.1.el7_6.x86_64.rpm | 62 kB 00:01

■lvs + keepalived
yum install ipvsadm
ipvsadm-1.27-7.el7.x86_64.rpm | 45 kB 00:00

yum install keepalived
Downloading packages:
(1/31): keepalived-1.3.5-8.el7_6.x86_64.rpm | 329 kB 00:01
(2/31): lm_sensors-libs-3.4.0-6.20160601gitf9185e5.el7.x86 | 42 kB 00:01
(3/31): net-snmp-agent-libs-5.7.2-37.el7.x86_64.rpm | 705 kB 00:01
(4/31): net-snmp-libs-5.7.2-37.el7.x86_64.rpm | 749 kB 00:03
(5/31): perl-Carp-1.26-244.el7.noarch.rpm | 19 kB 00:04
(6/31): perl-5.16.3-294.el7_6.x86_64.rpm | 8.0 MB 00:04
(7/31): perl-Exporter-5.68-3.el7.noarch.rpm | 28 kB 00:00
(8/31): perl-Encode-2.51-7.el7.x86_64.rpm | 1.5 MB 00:01
(9/31): perl-Filter-1.49-3.el7.x86_64.rpm | 76 kB 00:00
(10/31): perl-File-Path-2.09-2.el7.noarch.rpm | 26 kB 00:01
(11/31): perl-HTTP-Tiny-0.033-3.el7.noarch.rpm | 38 kB 00:00
(12/31): perl-File-Temp-0.23.01-3.el7.noarch.rpm | 56 kB 00:00
(13/31): perl-Pod-Perldoc-3.20-4.el7.noarch.rpm | 87 kB 00:00
(14/31): perl-Getopt-Long-2.40-3.el7.noarch.rpm | 56 kB 00:00
(15/31): perl-Pod-Usage-1.63-3.el7.noarch.rpm | 27 kB 00:00
(16/31): perl-PathTools-3.40-5.el7.x86_64.rpm | 82 kB 00:00
(17/31): perl-Socket-2.010-4.el7.x86_64.rpm | 49 kB 00:00
(18/31): perl-Pod-Simple-3.28-4.el7.noarch.rpm | 216 kB 00:00
(19/31): perl-Text-ParseWords-3.29-4.el7.noarch.rpm | 14 kB 00:00
(20/31): perl-Pod-Escapes-1.04-294.el7_6.noarch.rpm | 51 kB 00:00
(21/31): perl-Scalar-List-Utils-1.27-248.el7.x86_64.rpm | 36 kB 00:00
(22/31): perl-Time-Local-1.2300-2.el7.noarch.rpm | 24 kB 00:00
(23/31): perl-Storable-2.45-3.el7.x86_64.rpm | 77 kB 00:00
(24/31): perl-parent-0.225-244.el7.noarch.rpm | 12 kB 00:00
(25/31): perl-podlators-2.5.1-3.el7.noarch.rpm | 112 kB 00:00
(26/31): perl-Time-HiRes-1.9725-3.el7.x86_64.rpm | 45 kB 00:00
(27/31): perl-constant-1.27-2.el7.noarch.rpm | 19 kB 00:00
(28/31): perl-threads-1.87-4.el7.x86_64.rpm | 49 kB 00:00
(29/31): perl-macros-5.16.3-294.el7_6.x86_64.rpm | 44 kB 00:00
(30/31): perl-threads-shared-1.43-6.el7.x86_64.rpm | 39 kB 00:00
(31/31): perl-libs-5.16.3-294.el7_6.x86_64.rpm | 688 kB 00:00

■テスト時の構成

(PC)192.168.0.100

(LVS)192.168.0.180 (LVS VIP)192.168.0.181
(LVS)192.168.100.1

(Web1)192.168.100.2   (Web2)192.168.100.3

テストアクセス
http://192.168.0.181/

■LVS設定

echo ‘net.ipv4.ip_forward = 1’ >> /etc/sysctl.conf
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1

もしかしたらいるかも

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

 

touch /etc/sysconfig/ipvsadm
systemctl start ipvsadm
systemctl enable ipvsadm

mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.org
vi /etc/keepalived/keepalived.conf

------------------------
# 設定の例

global_defs {
router_id LVS_Server
}
vrrp_instance VI_1 {
# 両方でバックアップとする(プライオリティで制御する)
state BACKUP
# 監視させるインターフェース
interface ens34
# 仮想ルータのID
virtual_router_id 51
# プライオリティ (双方のサーバーで値を変更)
# (値の大きい方が優先度が高くなる)
priority 100
# プライオリティが高い方へ復帰しない
nopreempt
# VRRP送信間隔
advert_int 1
# VRRPをやり取りする際の認証情報
authentication {
auth_type PASS
auth_pass password
}

virtual_ipaddress {
# 仮想IPアドレス
192.168.0.181 dev ens33
192.168.100.10/24 dev ens34
}
}
virtual_server 192.168.0.181 80 {
# 監視する間隔
delay_loop 3
# 負荷分散方式
lvs_sched rr
# パケットの転送方式
lvs_method NAT
protocol TCP

# バックエンドサーバー#1
real_server 192.168.100.2 80 {
weight 1
HTTP_GET {
url {
# 監視先URL
path /
# 正常な場合のステータスコード
status_code 200
}
# タイムアウト時間(秒)
connect_timeout 3
}
}
# バックエンドサーバー#2
real_server 192.168.100.3 80 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
}
}
}

———————————
#実際に動いたファイル
global_defs {
router_id LVS_keepalive
}

vrrp_instance VirtualInstance1 {
state BACKUP
interface ens33
virtual_router_id 1
priority 100
advert_int 5
nopreempt
authentication {
auth_type PASS
auth_pass passwd
}
virtual_ipaddress {
192.168.0.181
}
}

vrrp_instance VirtualInstance2 {
state BACKUP
interface ens34
virtual_router_id 2
priority 200
advert_int 5
nopreempt
authentication {
auth_type PASS
auth_pass passwd
}
#virtual_ipaddress {
# 192.168.100.10
#}
}

virtual_server 192.168.0.181 80 {
delay_loop 1
lb_algo rr
lb_kind NAT
nat_mask 255.255.255.0
protocol TCP
sorry_server 192.168.100.3 80

real_server 192.168.100.2 80 {
weight 1
HTTP_GET {
url {
path /
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}

------------------------

systemctl start keepalived
systemctl enable keepalived

SELinuxの手動ポリシー追加

■ログの抽出
grep “denied” /var/log/audit/audit.* | grep smbd_t > smbd_t.txt

■比較用に追加前のポリシーを保存
sesearch –all > policy_before.txt

■中身
/var/log/audit/audit.log.2:type=AVC msg=audit(1555138392.670:285): avc: denied { write } for pid=3272 comm=”smbd” name=”kinkan” dev=”dm-2″ ino=67 scontext=system_u:system_r:smbd_t:s0 tcontext=unconfined_u:object_r:user_home_dir_t:s0 tclass=dir
/var/log/audit/audit.log.2:type=AVC msg=audit(1555138392.670:285): avc: denied { add_name } for pid=3272 comm=”smbd” name=”zzz.txt” scontext=system_u:system_r:smbd_t:s0 tcontext=unconfined_u:object_r:user_home_dir_t:s0 tclass=dir
/var/log/audit/audit.log.2:type=AVC msg=audit(1555138392.670:285): avc: denied { create } for pid=3272 comm=”smbd” name=”zzz.txt” scontext=system_u:system_r:smbd_t:s0 tcontext=system_u:object_r:user_home_dir_t:s0 tclass=file
/var/log/audit/audit.log.2:type=AVC msg=audit(1555138392.670:285): avc: denied { read write open } for pid=3272 comm=”smbd” path=”/home/kinkan/zzz.txt” dev=”dm-2″ ino=4101 scontext=system_u:system_r:smbd_t:s0 tcontext=system_u:object_r:user_home_dir_t:s0 tclass=file
/var/log/audit/audit.log.2:type=AVC msg=audit(1555138392.671:286): avc: denied { getattr } for pid=3272 comm=”smbd” path=”/home/kinkan/zzz.txt” dev=”dm-2″ ino=4101 scontext=system_u:system_r:smbd_t:s0 tcontext=system_u:object_r:user_home_dir_t:s0 tclass=file
/var/log/audit/audit.log.2:type=AVC msg=audit(1555138392.672:287): avc: denied { lock } for pid=3272 comm=”smbd” path=”/home/kinkan/zzz.txt” dev=”dm-2″ ino=4101 scontext=system_u:system_r:smbd_t:s0 tcontext=system_u:object_r:user_home_dir_t:s0 tclass=file
/var/log/audit/audit.log.2:type=AVC msg=audit(1555138392.678:288): avc: denied { setattr } for pid=3272 comm=”smbd” name=”zzz.txt” dev=”dm-2″ ino=4101 scontext=system_u:system_r:smbd_t:s0 tcontext=system_u:object_r:user_home_dir_t:s0 tclass=file

~ 略 ~

■モジュールの作成(ログから作成)
ファイル名:test_audit.te

module test_audit 1.0;

require {
type smbd_t;
type user_home_dir_t;

class file { create getattr lock open read setattr write };
class dir { add_name write };
}

#============= smbd_t ==============
allow smbd_t user_home_dir_t:dir { add_name write };
allow smbd_t user_home_dir_t:file { create getattr lock open read setattr write };

■手動でコンパイル

checkmodule -M -m -o test_audit.mod test_audit.te

checkmodule: loading policy configuration from test_audit.te
checkmodule: policy configuration loaded
checkmodule: writing binary representation (version 17) to test_audit.mod

test_audit.modができる

semodule_package -o test_audit.pp -m test_audit.mod
test_audit.ppができる

semodule -l | grep test_audit
表示なし

semodule -i test_audit.pp
表示なし

semodule -l | grep test_audit
test_audit 1.0
インストールされると表示

■インストール前
allow smbd_t user_home_dir_t : dir { getattr search open } ;
allow smbd_t user_home_dir_t : lnk_file { read getattr } ;
allow smbd_t user_home_dir_t : dir { create getattr } ;
allow smbd_t user_home_dir_t : dir { ioctl read write getattr lock add_name remove_name search open } ;
allow smbd_t user_home_dir_t : dir { ioctl read write getattr lock add_name remove_name search open } ;
allow smbd_t user_home_dir_t : dir { ioctl read write getattr lock add_name remove_name search open } ;
allow smbd_t user_home_dir_t : dir { ioctl read write getattr lock add_name remove_name search open } ;
allow smbd_t user_home_dir_t : dir { ioctl read write getattr lock add_name remove_name search open } ;
allow smbd_t user_home_dir_t : dir { ioctl read write getattr lock add_name remove_name search open } ;

■インストール後
allow smbd_t user_home_dir_t : dir { write getattr add_name search open } ;
allow smbd_t user_home_dir_t : lnk_file { read getattr } ;
allow smbd_t user_home_dir_t : file { read write create getattr setattr lock open } ;
allow smbd_t user_home_dir_t : dir { create getattr } ;
allow smbd_t user_home_dir_t : dir { ioctl read write getattr lock add_name remove_name search open } ;
allow smbd_t user_home_dir_t : dir { ioctl read write getattr lock add_name remove_name search open } ;
allow smbd_t user_home_dir_t : dir { ioctl read write getattr lock add_name remove_name search open } ;
allow smbd_t user_home_dir_t : dir { ioctl read write getattr lock add_name remove_name search open } ;
allow smbd_t user_home_dir_t : dir { ioctl read write getattr lock add_name remove_name search open } ;
allow smbd_t user_home_dir_t : dir { ioctl read write getattr lock add_name remove_name search open } ;

■その他

semodule -r test_audit
モジュールの削除

sesearch –all > policy_after.txt
ポリシーの比較をしてみる

 

 

sesearch

sesearchからldapでgrepした結果

# allow アクセス元ドメイン アクセス先タイプ : ファイル種別 { 許可するパーミッション }
# allow <タイプA> <タイプB>:<クラス> <操作>

allow sambagui_t ldap_port_t : tcp_socket { recv_msg send_msg name_connect } ;
allow openvpn_t ldap_client_packet_t : packet { send recv } ;
allow radiusd_t ldap_client_packet_t : packet { send recv } ;
allow kadmind_t ldap_port_t : tcp_socket { recv_msg send_msg name_connect } ;
allow lsassd_t ldap_port_t : tcp_socket { recv_msg send_msg name_connect } ;
allow certmonger_t ldap_port_t : tcp_socket name_connect ;
allow netlogond_t ldap_client_packet_t : packet { send recv } ;
allow realmd_t ldap_port_t : tcp_socket name_connect ;
allow sysadm_t ldap_port_t : tcp_socket name_bind ;
allow smbcontrol_t ldap_port_t : tcp_socket { recv_msg send_msg name_connect } ;
allow tomcat_domain ldap_port_t : tcp_socket name_connect ;
allow smbcontrol_t ldap_client_packet_t : packet { send recv } ;
allow samba_net_t ldap_port_t : tcp_socket { recv_msg send_msg name_connect } ;
allow dirsrv_t ldap_port_t : tcp_socket name_bind ;
allow swat_t ldap_client_packet_t : packet { send recv } ;
allow radiusd_t ldap_port_t : tcp_socket { recv_msg send_msg name_connect } ;
allow samba_net_t ldap_client_packet_t : packet { send recv } ;
allow nslcd_t ldap_client_packet_t : packet { send recv } ;
allow keystone_t ldap_port_t : tcp_socket name_connect ;
allow dovecot_auth_t ldap_client_packet_t : packet { send recv } ;
allow dirsrv_t ldap_server_packet_t : packet { send recv } ;
allow ftpd_t ldap_port_t : tcp_socket { recv_msg send_msg name_connect } ;
allow pki_tps_t ldap_port_t : tcp_socket name_connect ;
allow nslcd_t ldap_port_t : tcp_socket name_connect ;
allow krb5kdc_t ldap_client_packet_t : packet { send recv } ;
allow slapd_t ldap_server_packet_t : packet { send recv } ;
allow slapd_t ldap_port_t : tcp_socket name_bind ;
allow winbind_t ldap_port_t : tcp_socket { recv_msg send_msg name_connect } ;
allow postgresql_t ldap_port_t : tcp_socket { recv_msg send_msg name_connect } ;
allow smbd_t ldap_client_packet_t : packet { send recv } ;
allow netlogond_t ldap_port_t : tcp_socket { recv_msg send_msg name_connect } ;
allow dovecot_auth_t ldap_port_t : tcp_socket { recv_msg send_msg name_connect } ;
allow openvpn_t ldap_port_t : tcp_socket { recv_msg send_msg name_connect } ;
allow kadmind_t ldap_client_packet_t : packet { send recv } ;
allow sambagui_t ldap_client_packet_t : packet { send recv } ;
allow antivirus_domain ldap_port_t : tcp_socket { recv_msg send_msg name_connect } ;
allow postgresql_t ldap_client_packet_t : packet { send recv } ;
allow ftpd_t ldap_client_packet_t : packet { send recv } ;
allow sssd_t ldap_port_t : tcp_socket { recv_msg send_msg name_connect } ;
allow pyicqt_t ldap_port_t : tcp_socket { recv_msg send_msg name_connect } ;
allow pyicqt_t ldap_client_packet_t : packet { send recv } ;
allow bacula_t ldap_port_t : tcp_socket { recv_msg send_msg name_connect } ;
allow dirsrvadmin_script_t ldap_port_t : tcp_socket name_connect ;
allow winbind_t ldap_client_packet_t : packet { send recv } ;
allow bugzilla_script_t ldap_client_packet_t : packet { send recv } ;
allow lsassd_t ldap_client_packet_t : packet { send recv } ;
allow ipa_helper_t ldap_port_t : tcp_socket name_connect ;
allow ipsec_t ldap_port_t : tcp_socket name_connect ;
allow bugzilla_script_t ldap_port_t : tcp_socket { recv_msg send_msg name_connect } ;
allow smbd_t ldap_port_t : tcp_socket { recv_msg send_msg name_connect } ;
allow pki_tomcat_t ldap_port_t : tcp_socket name_connect ;
allow saslauthd_t ldap_port_t : tcp_socket name_connect ;
allow krb5kdc_t ldap_port_t : tcp_socket { recv_msg send_msg name_connect } ;
allow bacula_t ldap_client_packet_t : packet { send recv } ;
allow swat_t ldap_port_t : tcp_socket { recv_msg send_msg name_connect } ;
allow sssd_t ldap_client_packet_t : packet { send recv } ;
allow antivirus_domain ldap_client_packet_t : packet { send recv } ;
allow nsswitch_domain ldap_client_packet_t : packet recv ;
allow nsswitch_domain ldap_client_packet_t : packet send ;
allow nsswitch_domain ldap_port_t : tcp_socket name_connect ;
allow nsswitch_domain ldap_port_t : tcp_socket { recv_msg send_msg } ;
allow dhcpd_t ldap_port_t : tcp_socket name_connect ;
allow dhcpd_t ldap_port_t : tcp_socket { recv_msg send_msg } ;
allow httpd_t ldap_port_t : tcp_socket name_connect ;
allow dhcpd_t ldap_client_packet_t : packet recv ;
allow dhcpd_t ldap_client_packet_t : packet send ;

# typeB_tプロセスがtypeA_tファイルを実行したとき子プロセスはtype_Cになる
type_transition typeB_t typeA_t:process type_C;

type_transition winbind_t tmp_t : file krb5_host_rcache_t “ldapmap1_0”;
type_transition unconfined_t tmp_t : file krb5_host_rcache_t “ldap_55”;
type_transition init_t tmp_t : file krb5_host_rcache_t “ldap_55”;
type_transition init_t tmp_t : file krb5_host_rcache_t “ldapmap1_0”;
type_transition initrc_t tmp_t : file krb5_host_rcache_t “ldap_55”;
type_transition neutron_t tmp_t : file krb5_host_rcache_t “ldapmap1_0”;
type_transition init_t tmp_t : file krb5_host_rcache_t “ldap_487”;
type_transition initrc_t tmp_t : file krb5_host_rcache_t “ldapmap1_0”;
type_transition authconfig_t tmp_t : file krb5_host_rcache_t “ldapmap1_0”;
type_transition unconfined_t tmp_t : file krb5_host_rcache_t “ldapmap1_0”;
type_transition certmonger_t tmp_t : file krb5_host_rcache_t “ldap_487”;
type_transition dirsrv_t tmp_t : file krb5_host_rcache_t “ldap_55”;
type_transition rpm_script_t tmp_t : file krb5_host_rcache_t “ldap_55”;
type_transition dirsrv_t tmp_t : file krb5_host_rcache_t “ldapmap1_0”;
type_transition gssproxy_t tmp_t : file krb5_host_rcache_t “ldap_55”;
type_transition named_t tmp_t : file krb5_host_rcache_t “ldap_487”;
type_transition rpm_script_t tmp_t : file krb5_host_rcache_t “ldapmap1_0”;
type_transition sysadm_t tmp_t : file krb5_host_rcache_t “ldap_487”;
type_transition pegasus_t tmp_t : file krb5_host_rcache_t “ldap_55”;
type_transition slapd_t tmp_t : file krb5_host_rcache_t “ldapmap1_0”;
type_transition realmd_t tmp_t : file krb5_host_rcache_t “ldap_487”;
type_transition pegasus_t tmp_t : file krb5_host_rcache_t “ldapmap1_0”;
type_transition winbind_t tmp_t : file krb5_host_rcache_t “ldap_487”;
type_transition winbind_t tmp_t : file krb5_host_rcache_t “ldap_55”;
type_transition certmonger_t tmp_t : file krb5_host_rcache_t “ldapmap1_0”;
type_transition initrc_t tmp_t : file krb5_host_rcache_t “ldap_487”;
type_transition named_t tmp_t : file krb5_host_rcache_t “ldap_55”;
type_transition pegasus_t tmp_t : file krb5_host_rcache_t “ldap_487”;
type_transition authconfig_t tmp_t : file krb5_host_rcache_t “ldap_55”;
type_transition dirsrv_t tmp_t : file krb5_host_rcache_t “ldap_487”;
type_transition gssproxy_t tmp_t : file krb5_host_rcache_t “ldap_487”;
type_transition puppetagent_t tmp_t : file krb5_host_rcache_t “ldap_487”;
type_transition puppetagent_t tmp_t : file krb5_host_rcache_t “ldapmap1_0”;
type_transition sysadm_t tmp_t : file krb5_host_rcache_t “ldap_55”;
type_transition rpm_script_t tmp_t : file krb5_host_rcache_t “ldap_487”;
type_transition sysadm_t tmp_t : file krb5_host_rcache_t “ldapmap1_0”;
type_transition authconfig_t tmp_t : file krb5_host_rcache_t “ldap_487”;
type_transition gssproxy_t tmp_t : file krb5_host_rcache_t “ldapmap1_0”;
type_transition neutron_t tmp_t : file krb5_host_rcache_t “ldap_487”;
type_transition realmd_t tmp_t : file krb5_host_rcache_t “ldapmap1_0”;
type_transition puppetagent_t tmp_t : file krb5_host_rcache_t “ldap_55”;
type_transition neutron_t tmp_t : file krb5_host_rcache_t “ldap_55”;
type_transition slapd_t tmp_t : file krb5_host_rcache_t “ldap_487”;
type_transition named_t tmp_t : file krb5_host_rcache_t “ldapmap1_0”;
type_transition certmonger_t tmp_t : file krb5_host_rcache_t “ldap_55”;
type_transition unconfined_t tmp_t : file krb5_host_rcache_t “ldap_487”;
type_transition realmd_t tmp_t : file krb5_host_rcache_t “ldap_55”;
type_transition slapd_t tmp_t : file krb5_host_rcache_t “ldap_55”;

 

 

拒否された操作を許可するのに必要なコードが表示
# audit2allow -d -l

設定を恒久的に変更
# semanage fcontext -a -t mysqld_db_t ‘/data/mariadb/db(/.*)?’

設定の反映
# restorecon -v ‘/data/mariadb/db’

設定内容の確認
# semanage fcontext -l

削除
# semanage fcontext -d ‘/data/mariadb/db(/.*)?’

http://nodoame.com/wp-content/uploads/2019/04/sesearch.txt
http://nodoame.com/wp-content/uploads/2019/04/sesearch_ldap.txt