Jun 172019
 

先日購入したThinkPad T480sにArch Linuxを入れて使っています。
最初はGNOMEデスクトップ環境にしていましたが、タイル型Window Managerにしたくなり、折角Waylandで動いているのだからとswayを使ってみました。

パッケージはステータスバーにi3statusを使いますが、アプリケーションメニューのi3-dmenu-desktopとdmenuは動かないらしいので、j4-dmenu-desktopとbemenuを導入します。

$ sudo pacman -S sway i3status j4-dmenu-desktop bemenu

パッケージデフォルトの設定は/etc/sway/configにありますので、そちらを~/.config/sway/configにコピーして以下の設定を追加しました。

ターミナル設定はurxvtd+urxvtcに変更

set $term urxvtc
exec urxvtd -q -o -f

メニューはj4-dmenu-desktop+bemenuに変更

set $menu j4-dmenu-desktop --dmenu='dmenu -i --nb "#3f3f3f" --nf "#dcdccc" --fn "pango:DejaVu Sans Mono 12"' --term='termite'

ステータスコマンドはi3statusに変更

status_command i3status

WaylandではXのキーマップ設定が効かないので、swayで日本語キーボート設定を追加

# keymap
input * xkb_layout  jp
input * xkb_model   jp106
input * xkb_options ctrl:nocaps

fcitxの起動設定を追加

exec fcitx-autostart

i3のときもそんなにカストマイズして使っていたわけではないので、上の設定で今のところ不満なく動いています。

 Posted by at 11:48 pm  Tagged with:
Jun 132019
 

SELinuxを有効にしたCentOS 7にZabbix 4.0.9を導入した際のSELinux設定メモです。

CentOS 7にZabbix 4.0.9、MariaDB、Apache HTTP Serverを導入し、SELinux無効化状態であれば起動するところまで設定済みなところから始めます。

まずはApacheからZabbix Serverへの接続許可、Zabbixからのネットワーク接続を許可するbool値を設定します。httpd_can_network_connect_dbというのもありますが、今回ApacheからMySQLへの接続はUNIXドメインソケット経由となり、ネットワーク経由ではありませんので不要です。

# setsebool -P httpd_can_connect_zabbix=on
# setsebool -P zabbix_can_network=on

ポリシー作成に必要なパッケージをインストールします。

# yum install -y policycoreutils-python selinux-policy-devel

単純にZabbix Serverを起動すると、/var/run/zabbix/配下に各種ソケットファイルが作成できないとのエラーが発生しますので、そちらを許可するポリシーを作成します。

# cat zabbix-server_local.te
module zabbix-server_local 1.0;

require {
        type zabbix_var_run_t;
        type zabbix_t;
        class sock_file create;
        class sock_file unlink;
        class unix_stream_socket connectto;
}

#============= zabbix_t ==============
allow zabbix_t zabbix_var_run_t:sock_file create;
allow zabbix_t self:unix_stream_socket connectto;
allow zabbix_t zabbix_var_run_t:sock_file unlink;

作成したポリシーファイルをビルドしてインストールします。

# make -f /usr/share/selinux/devel/Makefile zabbix-server_local.pp
# semodule -i zabbix-server_local.pp

通常はここまで実施すればZabbix Server自身の稼働には問題ないのですが、Template DB MySQLを適用してMariaDBの状態を監視しようとするとエラーになります。

具体的にはmysql UNIXドメインソケットに接続できない、my.cnfファイルが読み込めずにmysqlコマンドを実行できないため、これらを許可するポリシーを作成します。

# cat zabbix-agentd_local.te
module zabbix-agentd_local 1.0;

require {
        type mysqld_etc_t;
        type mysqld_home_t;
        type mysqld_t;
        type zabbix_agent_t;
        class unix_stream_socket connectto;
        class file open;
        class file read;
}

#============= zabbix_agent_t ==============
allow zabbix_agent_t mysqld_etc_t:file open;
allow zabbix_agent_t mysqld_etc_t:file read;
allow zabbix_agent_t mysqld_home_t:file open;
allow zabbix_agent_t mysqld_home_t:file read;
allow zabbix_agent_t mysqld_t:unix_stream_socket connectto;

また、zabbixユーザーが使用する.my.cnfは/var/lib/zabbix/.my.cnfに配置しますので、こちらのファイルタイプがmysqld_home_tになるようにファイルコンテキストも作成します。

# cat zabbix-agentd_local.fc
/var/lib/zabbix/\.my\.cnf -- unconfined_u:object_r:mysqld_home_t:s0

teファイル、fcファイル両方揃ったところでビルドしインストールします。

# make -f /usr/share/selinux/devel/Makefile zabbix-agentd_local.pp
# semodule -i zabbix-agentd_local.pp

これでMySQL監視もおこなえるようになりました。

導入したポリシーモジュールは以下のプライオリティ400のものになります。

# semodule -lfull|grep zabbix
400 zabbix-agentd_local pp
400 zabbix-server_local pp
100 zabbix              pp

ISC BINDのバージョン番号隠蔽

 article  Comments Off on ISC BINDのバージョン番号隠蔽
Jul 152018
 

RHEL7/CentOS7で使われているISC BIND 9.9.4では、version “適当な値”;とするより適切な設定があります。

バージョン番号隠蔽。デフォルトは稼働しているBINDのバージョン。

// disables processing query of the name version.bind with type TXT, class CHAOS.
version none;

ホスト名隠蔽。デフォルトはgethostbyname()の値。

// disables processing query of the name hostname.bind with type TXT, class CHAOS.
hostname none;

こちらもホスト名隠蔽だが、デフォルトnoneなので返答しない。server-id hostname;にするとgethostname()の値が応答される。

// disables processing query of the name ID.SERVER with type TXT, class CHAOS.
server-id none;

Administrator Reference Manual – Chapter 6. BIND 9 Configuration ReferenceのBuilt-in server information zonesに説明があります。

NetworkManager で resolv.conf の nameserver を設定

 article  Comments Off on NetworkManager で resolv.conf の nameserver を設定
Jul 142018
 

RHEL7/CentOS7系では、resolv.conf の設定は 通常 NetworkManager によっておこなわれます。
通常は ifcfg-* に記述された DNS の値もしくは DHCP サーバーから渡された DNS になると思います。

NetworkManager の設定で、更新後の nameserver を指定するようにしてみます。
こんな感じになります。

$ sudo vi /etc/NetworkManaer/conf.d/dns.conf
$ cat /etc/NetworkManaer/conf.d/dns.conf
[main]
dns=default

[global-dns]
searches=example.test

[global-dns-domain-*]
servers=127.0.0.1, 192.168.110.71

そうすると、NetworkManager 再起動後の resolv.conf 設定は以下になります。

$ cat /etc/resolv.conf
# Generated by NetworkManager
search example.test
nameserver 127.0.0.1
nameserver 192.168.110.71

ゾーン自体の動的追加もゾーンの中身も動的更新できるBIND環境

 article  Comments Off on ゾーン自体の動的追加もゾーンの中身も動的更新できるBIND環境
May 222018
 

ISC BINDの動的更新環境を試してみたくてやってみました。環境はCentOS 7.5.1804です。
SELinux 有効のまま、ゾーンの動的追加とゾーンの動的更新 2 つを実施できる環境を目指します。

ゾーンの動的追加

/etc/named.conf の options に allow-new-zones yes を追加して named サービスを起動します。

[root@dns1 ~]# vi /etc/named.conf
[root@dns1 ~]# systemctl start named.service

ゾーンファイルを作成します。ここではファイルを作成しているだけで、このファイルを使ったゾーンの追加は後ほどrndcコマンドで実施します。

[root@dns1 ~]# cat <<__EOF__ > /var/named/example.com.db
\$ORIGIN example.com.
\$TTL 86400
@         IN  SOA  dns1.example.com.  hostmaster.example.com. (
              2018040101  ; serial
              21600       ; refresh after 6 hours
              3600        ; retry after 1 hour
              604800      ; expire after 1 week
              86400 )     ; minimum TTL of 1 day
;
          IN  NS     dns1.example.com.
;
dns1      IN  A      192.168.110.71
__EOF__
[root@dns1 ~]# chown named: /var/named/example.com.db
[root@dns1 ~]# chmod o-rwx /var/named/example.com.db
[root@dns1 ~]# ls -l /var/named/example.com.db
-rw-r-----. 1 named named 404 May 21 00:51 /var/named/example.com.db
[root@dns1 ~]#

ゾーンを動的追加すると、named.conf の directory 配下にファイルが作成されます。
こちらに named プロセス実行ユーザーで書き込みできるようパーミッションを変更します。

[root@dns1 ~]# chmod g+w /var/named/
[root@dns1 ~]# ls -ld /var/named/
drwxrwx---. 6 root named 169 May 22 01:00 /var/named/
[root@dns1 ~]#

rndc コマンドで先ほど作成したゾーンファイルを指定し、ゾーンを追加してみます。あとで nsupdate による RR 変更も実施したいので、localhost からの update も許可しています。

[root@dns1 ~]# rndc addzone example.com '{
    type master;
    file "example.com.db";
    allow-update { localhost; };
};'
rndc: 'addzone' failed: permission denied
[root@dns1 ~]#

ディレクトリの書き込み権限は先ほど与えたのに、permission denied です。
SELinux は無効化していないため、audit.log を確認してみます。

[root@dns1 ~]# audit2allow < /var/log/audit/audit.log


#============= named_t ==============

#!!!! This avc can be allowed using the boolean 'named_write_master_zones'
allow named_t named_zone_t:dir { add_name remove_name write };

#!!!! This avc can be allowed using the boolean 'named_write_master_zones'
allow named_t named_zone_t:file { append create rename unlink write };
[root@dns1 ~]#

どうやら named_write_master_zones を on にする必要があるようです。

[root@dns1 ~]# getsebool named_write_master_zones
named_write_master_zones --> off
[root@dns1 ~]# setsebool named_write_master_zones=on
[root@dns1 ~]# rndc addzone example.com '{
    type master;
    file "example.com.db";
    allow-update { localhost; };
};'
[root@dns1 ~]# 

今度はエラーなく実行できました。dig コマンドでのクエリーも問題ありません。

[root@dns1 ~]# dig +noall +answer @localhost example.com. ns
example.com.            86400   IN      NS      dns1.example.com.
[root@dns1 ~]#

先ほど設定した named_write_master_zones 設定を永続化します。

[root@dns1 ~]# setsebool -P named_write_master_zones=on
[root@dns1 ~]#

なお、追加したゾーン定義の情報は /var/named/ 配下に *.nzf として保存されます。
ファイル名は view (今回の例では default)を hash 化した値になるそうです。

[root@dns1 ~]# ls /var/named/*.nzf
/var/named/3bf305731dd26307.nzf
[root@dns1 ~]#

ゾーンの動的更新

次にゾーンの動的更新です。先ほど追加した example.com ゾーンに A レコードを追加します。
nsupdate にはローカル更新を指示するため、-l スイッチを付けて起動します(デフォルトでは SOA レコードを探索してネームサーバーを探しに行っちゃうはず)。

[root@dns1 ~]# nsupdate -l
update add newhost.example.com 86400 A 172.16.1.1
send
quit
[root@dns1 ~]# dig +noall +answer @localhost newhost.example.com. a
newhost.example.com.    86400   IN      A       172.16.1.1
[root@dns1 ~]#

できました。しかし追加したレコードはゾーン定義のジャーナルファイル(*.jnl)に格納されてゾーン定義ファイル自体には書き込まれません。rndc sync コマンドを使うとジャーナルファイルの内容をマージできます。-clean オプションは *.jnl ファイルも削除。

[root@dns1 ~]# rndc sync -clean example.com
[root@dns1 ~]#

ゾーンを指定しなければ全ゾーンの同期になります。

プロバイダがIPv6対応したのでDebianに設定

 article  Comments Off on プロバイダがIPv6対応したのでDebianに設定
Apr 132017
 

プロバイダがIPv6サービス提供を開始したので、フレッツ光とプロバイダにそれぞれ申し込んでみました。

フレッツ光でIPv6オプションを申し込んだ直後はNTT東日本のIPv6アドレスが割り当てられます。

gmtx24@debian:~$ ip -6 addr show dev eth0
2: eth0:  mtu 1500 qdisc mq state UP group default qlen 1000
    inet6 2408:***:****:****:****:****:****:****/64 scope global mngtmpaddr dynamic 
       valid_lft 2591524sec preferred_lft 604324sec
    inet6 2001:c90:****:****:****:****:****:****/64 scope global deprecated mngtmpaddr dynamic 
       valid_lft 2584978sec preferred_lft 0sec
    inet6 fe80::a2b3:ccff:fee9:5cd7/64 scope link 
       valid_lft forever preferred_lft forever
gmtx24@debian:~$ 

次にプロバイダにIPv6オプションを申し込んだ後は、プロバイダ所有のプレフィックスアドレス(伏せてます)に変わりました。

gmtx24@debian:~$ ip -6 addr show dev eth0
2: eth0:  mtu 1500 qdisc mq state UP group default qlen 1000
    inet6 ****:****:****:****:****:****:****:****/64 scope global mngtmpaddr dynamic
       valid_lft 2591508sec preferred_lft 604308sec
    inet6 fe80::a2b3:ccff:fee9:5cd7/64 scope link
       valid_lft forever preferred_lft forever
gmtx24@debian:~$ 

ルーティングも同様に、NTT東日本からプロバイダに変わります。
フレッツ光のIPv6開通後

gmtx24@debian:~$ ip -6 route show
2001:c90:****:****::/64 dev eth0 proto kernel metric 256  expires 2581221sec pref medium
2408:***:****:****::/64 dev eth0 proto kernel metric 256  expires 2591184sec pref medium
fe80::/64 dev eth0 proto kernel metric 256  pref medium
default via fe80::30ff:fe0c:204d dev eth0 proto ra metric 1024  expires 1755sec hoplimit 64 pref medium
gmtx24@debian:~$ 

プロバイダのIPv6開通後

gmtx24@debian:~$ ip -6 route show
****:****:****::/64 dev eth0 proto kernel metric 256  expires 2591575sec pref medium
fe80::/64 dev eth0 proto kernel metric 256  pref medium
default via fe80::30ff:fe0c:204d dev eth0 proto ra metric 1024  expires 1375sec hoplimit 64 pref medium
gmtx24@debian:~$ 

このままだとMACアドレスベースで生成されたIPv6アドレスが設定されますので、IPv6プライバシー拡張を使ってランダム生成のアドレスにしたい場合は、/etc/network/interfacesに以下の設定をおこないます。

iface eth0 inet6 auto
    privext 2

確認はsysctlコマンドでnet.ipv6.conf.eth0.use_tempaddr=2になっているか、もしくはIPv6 test – IPv6/4 connectivity and speed testに接続してSLAAC noになっているかで確認しました。もちろんIPv6アドレスがMACアドレスベースになっていないことでも確認できます。

※参考
IPv6 プライバシー拡張

Debianでiptables設定(IPv4とIPv6)

 article  Comments Off on Debianでiptables設定(IPv4とIPv6)
Apr 122017
 

以前も書きましたがIPv6の設定も入れたので再掲。
DebianFirewall – Debian Wiki

こちらで一番ベーシックなiptables-persistentパッケージを導入して設定します。

# apt-get install iptables-persistent

あとはルールを作成。

IPv4用ルールはこちら。

$ cat /etc/iptables/rules.v4
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-unreachable
-A FORWARD -j REJECT --reject-with icmp-host-unreachable
COMMIT

IPv6用ルールはこちら。IPv4ベースに、ICMPv6プロトコル追加と、REJECT時のICMPメッセージをICMPv6に変更しています。

$ cat /etc/iptables/rules.v6
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp   -j ACCEPT
-A INPUT -p icmpv6 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp6-adm-prohibited
-A FORWARD -j REJECT --reject-with icmp6-adm-prohibited
COMMIT

あとはサービス有効化して完了。

# systemctl start netfilter-persistent
# systemctl enable netfilter-persistent

libpwqualityあれこれ

 article  Comments Off on libpwqualityあれこれ
Apr 102016
 

RHEL 7やCentOS 7では、辞書に載っているパスワードへの変更を抑止する際に使われるPAMモジュールがpam_cracklibからpam_pwqualityに変更されています。パッケージとしてはlibpwqualityに含まれるモジュールになります。

libcrackにもリンクされていてパスワード辞書自体はデフォルトでcracklibのものを使用しますが、/etc/security/pwquality.confで変更可能です。詳しくはman pam_pwqualityやman pwquality.confを参照。

こちらのパッケージにはパスワードを生成してくれるpwmakeやパスワードの強度をチェックしてくれるpwscoreというコマンドが付属しています。

例えばpwscoreコマンドで「辞書に載っている」、「8文字未満」、「ユーザー名が含まれる」パスワードをチェックしてみると、それぞれ以下のような結果になります。

$ echo password | pwscore
Password quality check failed:
 The password fails the dictionary check - it is based on a dictionary word
$ echo passwor | pwscore
Password quality check failed:
 The password is shorter than 8 characters
# echo password4username| pwscore username
Password quality check failed:
 The password contains the user name in some form

3つめのコマンドのpwscoreに続く引数はユーザー名です。

pwmakeの使い方はビット数を引数に指定して実行するだけで、通常は64ビット、より強固にするには80や128ビットの指定がよいようです。
以下、Red Hat Enterprise Linux 7 セキュリティガイドの「第4章 ツールとサービスを使用したシステム強化」より。

指定可能な最小ビット数は 56 で、これはブルートフォース攻撃が滅多に仕掛けられないシステムやサービスのパスワードには十分なものです。攻撃者がパスワードハッシュファイルに直接アクセスできないアプリケーションであれば、64 ビットで十分です。攻撃者がパスワードハッシュへの直接アクセスを取得する可能性がある場合やパスワードが暗号化鍵として使用される場合は、80 ビットや 128 ビットを使うべきです。

RHEL7/CentOS7でNICデバイス名をethに変更

 article  Comments Off on RHEL7/CentOS7でNICデバイス名をethに変更
Feb 012016
 

/etc/default/grubを変更してkernelパラメーターにnet.ifnames=0を付与する方法もありますが、「udev のルールファイルをマスク化する」のが一番手っ取り早いように思います。

ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules

こちらで/usr/lib/udev/rules.d/80-net-name-slot.rulesの定義が無効化されます。
ちなみに同ファイルを見てみると、net.ifnames=0を設定することにより、ルールがスキップされるようになっていることが確認できます。

※参考
Red Hat Enterprise Linux 7 ネットワークガイド – 8.9. ネットワークデバイス命名における一貫性の無効化

CentOS 7.1でZabbix Server 2.4.4がsegfault

 article  Comments Off on CentOS 7.1でZabbix Server 2.4.4がsegfault
Apr 062015
 

CentOS 7で動かしていたZabbix Server 2.4.4が起動しなくなりました。segfaltしている模様です。

[root@localhost ~]# systemctl status zabbix-server.service
zabbix-server.service - Zabbix Server
   Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; disabled)
   Active: failed (Result: start-limit) since Tue 2015-04-05 23:23:56 JST; 7min ago
  Process: 18642 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=killed, signal=SEGV)

Apr 05 23:23:56 localhost systemd[1]: zabbix-server.service: control process exited, code=killed status=11
Apr 05 23:23:56 localhost systemd[1]: Failed to start Zabbix Server.
Apr 05 23:23:56 localhost systemd[1]: Unit zabbix-server.service entered failed state.
Apr 05 23:23:56 localhost systemd[1]: zabbix-server.service holdoff time over, scheduling restart.
Apr 05 23:23:56 localhost systemd[1]: Stopping Zabbix Server...
Apr 05 23:23:56 localhost systemd[1]: Starting Zabbix Server...
Apr 05 23:23:56 localhost systemd[1]: zabbix-server.service start request repeated too quickly, refusing to start.
Apr 05 23:23:56 localhost systemd[1]: Failed to start Zabbix Server.
Apr 05 23:23:56 localhost systemd[1]: Unit zabbix-server.service entered failed state.
[root@localhost ~]# dmesg
[335292.404381] zabbix_server[18567]: segfault at 18 ip 00007fb071057c00 sp 00007fff73f4b3b8 error 4 in libpthread-2.17.so[7fb07104e000+16000]
[335292.405914] zabbix_server[18569]: segfault at 18 ip 00007fb071057c00 sp 00007fff73f4b3b8 error 4 in libpthread-2.17.so[7fb07104e000+16000]
[335292.621060] zabbix_server[18617]: segfault at 18 ip 00007fbb3753ec00 sp 00007fffdcf66fb8 error 4 in libpthread-2.17.so[7fbb37535000+16000]
[335292.626269] zabbix_server[18615]: segfault at 18 ip 00007fbb3753ec00 sp 00007fffdcf66fb8 error 4 in libpthread-2.17.so[7fbb37535000+16000]
[335292.751505] zabbix_server[18628]: segfault at 18 ip 00007f2653115c00 sp 00007fffbaf569e8 error 4 in libpthread-2.17.so[7f265310c000+16000]
[335292.752712] zabbix_server[18630]: segfault at 18 ip 00007f2653115c00 sp 00007fffbaf569e8 error 4 in libpthread-2.17.so[7f265310c000+16000]
[335292.878242] zabbix_server[18635]: segfault at 18 ip 00007f3c927ccc00 sp 00007fffa83ec778 error 4 in libpthread-2.17.so[7f3c927c3000+16000]
[335292.880241] zabbix_server[18637]: segfault at 18 ip 00007f3c927ccc00 sp 00007fffa83ec778 error 4 in libpthread-2.17.so[7f3c927c3000+16000]
[335293.004628] zabbix_server[18642]: segfault at 18 ip 00007f717b2d7c00 sp 00007fffcb6b7db8 error 4 in libpthread-2.17.so[7f717b2ce000+16000]
[335293.005836] zabbix_server[18644]: segfault at 18 ip 00007f717b2d7c00 sp 00007fffcb6b7db8 error 4 in libpthread-2.17.so[7f717b2ce000+16000]
[root@localhost ~]#

以下の状況と同じようです。
[ZBX-7790] zabbix_server_m[13777]: segfault at 18 ip 00007fe6639a8fe0 sp 00007fffbb66e498 error 4 in libpthread-2.18 – crash in "main" process – ZABBIX SUPPORT
trousersパッケージの削除かgnutlsのダウングレードで解決するようですが、trousersを削除するとpacemakerも削除されるので今回はgnutlsをダウングレード。

[root@localhost ~]# rpm -Uvh --force http://ftp.iij.ad.jp/pub/linux/centos/7.0.1406/updates/x86_64/Packages/gnutls-3.1.18-10.el7_0.x86_64.rpm
Retrieving http://ftp.iij.ad.jp/pub/linux/centos/7.0.1406/updates/x86_64/Packages/gnutls-3.1.18-10.el7_0.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:gnutls-3.1.18-10.el7_0           ################################# [ 50%]
Cleaning up / removing...
   2:gnutls-3.3.8-12.el7              ################################# [100%]
[root@localhost ~]#

無事起動しました。

[root@localhost ~]# systemctl start zabbix-server
[root@localhost ~]# systemctl status zabbix-server
zabbix-server.service - Zabbix Server
   Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled)
   Active: active (running) since Tue 2015-04-05 23:42:45 JST; 5s ago
  Process: 30941 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
 Main PID: 30943 (zabbix_server)
   CGroup: /system.slice/zabbix-server.service
           ├─30943 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
           ├─30948 /usr/sbin/zabbix_server: configuration syncer [waiting 60 sec for processes]
           ├─30949 /usr/sbin/zabbix_server: db watchdog [synced alerts config in 0.012501 sec, idle 60 sec]
           ├─30950 /usr/sbin/zabbix_server: poller #1 [got 0 values in 0.000041 sec, idle 5 sec]
           ├─30951 /usr/sbin/zabbix_server: poller #2 [got 0 values in 0.000036 sec, idle 5 sec]
           ├─30952 /usr/sbin/zabbix_server: poller #3 [got 0 values in 0.000050 sec, idle 5 sec]
           ├─30953 /usr/sbin/zabbix_server: poller #4 [got 0 values in 0.000032 sec, idle 5 sec]
           ├─30954 /usr/sbin/zabbix_server: poller #5 [got 0 values in 0.000034 sec, idle 5 sec]
           ├─30955 /usr/sbin/zabbix_server: unreachable poller #1 [got 0 values in 0.000052 sec, idle 5 sec]
           ├─30956 /usr/sbin/zabbix_server: trapper #1 [processed data in 0.000000 sec, waiting for connection]
           ├─30957 /usr/sbin/zabbix_server: trapper #2 [processed data in 0.000000 sec, waiting for connection]
           ├─30958 /usr/sbin/zabbix_server: trapper #3 [processed data in 0.000000 sec, waiting for connection]
           ├─30959 /usr/sbin/zabbix_server: trapper #4 [processed data in 0.000000 sec, waiting for connection]
           ├─30965 /usr/sbin/zabbix_server: trapper #5 [processed data in 0.000000 sec, waiting for connection]
           ├─30966 /usr/sbin/zabbix_server: icmp pinger #1 [got 0 values in 0.000007 sec, idle 5 sec]
           ├─30968 /usr/sbin/zabbix_server: alerter [sent alerts: 0 success, 0 fail in 0.000708 sec, idle 30 sec]
           ├─30969 /usr/sbin/zabbix_server: housekeeper [startup idle for 30 minutes]
           ├─30970 /usr/sbin/zabbix_server: timer #1 [processed 0 triggers, 0 events in 0.000000 sec, 0 maintenances in 0.000000 sec, idle 15 sec]
           ├─30971 /usr/sbin/zabbix_server: http poller #1 [got 0 values in 0.000903 sec, idle 5 sec]
           ├─30974 /usr/sbin/zabbix_server: discoverer #1 [processed 0 rules in 0.000813 sec, idle 60 sec]
           ├─30975 /usr/sbin/zabbix_server: history syncer #1 [synced 0 items in 0.000002 sec, idle 5 sec]
           ├─30976 /usr/sbin/zabbix_server: history syncer #2 [synced 0 items in 0.000002 sec, idle 5 sec]
           ├─30980 /usr/sbin/zabbix_server: history syncer #3 [synced 0 items in 0.000002 sec, idle 5 sec]
           ├─30981 /usr/sbin/zabbix_server: history syncer #4 [synced 0 items in 0.000002 sec, idle 5 sec]
           ├─30982 /usr/sbin/zabbix_server: escalator [processed 0 escalations in 0.000626 sec, idle 3 sec]
           ├─30985 /usr/sbin/zabbix_server: proxy poller #1 [exchanged data with 0 proxies in 0.000005 sec, idle 5 sec]
           └─30986 /usr/sbin/zabbix_server: self-monitoring [processed data in 0.000006 sec, idle 1 sec]

Apr 05 23:42:45 localhost systemd[1]: Started Zabbix Server.
[root@localhost ~]#