許可されていない実行ファイルを使わせない

nodev, nosuid, noexec でファイルシステムを制限

/boot ではデバイスファイルを作らせない。/home, /tmp, /var/tmp 等の一般ユーザーが書き込める領域ではデバイスファイルを作らせない, setuid させない, 実行させない。/var/tmp の実体は /tmp。 … というポリシーでいく。
管理者以外のシェルを持つ一般ユーザーアカウントがいっぱいある、踏み台サーバーなんかにお勧めしたい設定。

fstab を編集

cp -a /etc/fstab /etc/fstab.orig
sed -i \
    -e '/\/boot[[:space:]]\+ext4[[:space:]]\+defaults[[:space:]]\+/s/defaults/rw,nodev/' \
    -e '/\/home[[:space:]]\+ext4[[:space:]]\+defaults[[:space:]]\+/s/defaults/rw,nodev,nosuid,noexec/' \
    -e'/\/tmp[[:space:]]\+ext4[[:space:]]\+defaults[[:space:]]\+/s/defaults/rw,nodev,nosuid,noexec/' \
    -e'/^tmpfs[[:space:]]\+\/dev\/shm[[:space:]]\+tmpfs[[:space:]]\+defaults[[:space:]]\+0 0$/s/defaults/rw,nodev,nosuid,noexec/' \
/etc/fstab/etc/fstab
echo -e '/tmp\t\t\t/var/tmp\t\tnone\trw,nodev,nosuid,noexec,bind\t0 0' >> /etc/fstab

OS インストールの段階で /, /boot, /home, /tmp パーティションを切っておくこと。切り方は Scientific Linux 6.0 インストール (poohSec) をご参考に。

参考文書

タイトルとURLをコピーしました