NSA(National Security Agency)の『Guide to the Secure Configuration of Red Hat Enterprise Linux 5』
●HALデーモンとは?
・HAL(Hardware Abstraction Layer) とは、アプリケーションソフトとハードウェアの間に入り、ハードウェアごとの振る舞いの違いを吸収するソフトウェアのこと。
・HALデーモンは、システム上のハードウェアに関していくつかのソースから情報を集めたり管理したりするデーモン
●HALデーモンのパッケージの構成
・RPMパッケージ名
hal
・設定ファイル
/etc/dbus-1/system.d/hal.conf
・起動スクリプト
/etc/rc.d/init.d/haldaemon
・実行ファイル
/usr/bin/hal-device
/usr/bin/hal-disable-polling
/usr/bin/hal-find-by-capability
/usr/bin/hal-find-by-property
/usr/bin/hal-get-property
/usr/bin/hal-is-caller-locked-out
/usr/bin/hal-lock
/usr/bin/hal-set-property
/usr/bin/hal-setup-keymap
●HALデーモンを無効にする
HALは攻撃者にとって、権限のある操作を中継するかっこうの起点となりうるので必要がなければ無効にします。
# chkconfig --list messagebus
messagebus 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# chkconfig haldaemon off
※HALを有効にする場合の推奨設定
・HALは限定されたユーザーにシステムデバイスをマウントできるようにさせる。
これは、gnome-volume-managerなどリムーバブルメディアのオートマウントを行うXユーティリティによって使用される。
・HALの設定は、/usr/share/hal/fdi/配下にあるfdiファイルを通してのみ可能となっている。
ユーザーがHALを介してアクセスする事を防ぐには下記のような設定を行う
ファイル名
/etc/hal/fdi/policy/99-policy-all-drives.fdi
設定内容
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="volume">
<merge key="volume.ignore" type="bool">true</merge>
</match>
</device>
</deviceinfo>
"volume"というラベルを含むデバイスを"volume.ignore"と設定することによって権限のないユーザーによるアクセスに対して無視させるようにしている。