Монтируем /tmp noexec

После покупки/аренды сервера с установленной операционной системой как правило можно обнаружить что директория /tmp никак не защищена. Можно искать уязвимости, заливать в /tmp rootkit и пользоваться им как душа пожелает. Давайте попробуем исправить эту ситуацию.

Для начала создадим файл который будем использовать для монтирования /tmp.

cd /dev

Создайте файл размером 100Мб для директории /tmp, если Вам нужен темп большего объема, создайте с таким размером, который Вам нужен

dd if=/dev/zero of=tmpMnt bs=1024 count=100000

Сделаем extended filesystem для tmpMnt файла.

mke2fs /dev/tmpMnt

Сделайте резервную копию /tmp например файл mysql.sock для которого необходимо сделать новую символическую ссылку. Некоторые программы могут хранить в темпе свой кэш и данные.

cd /
cp -R /tmp /tmp_backup

Примонтируем новый /tmp с опцией noexec

mount -o loop,noexec,nosuid,rw /dev/tmpMnt /tmp
chmod 0777 /tmp

Скопируем файлы из резервной копии темпа с созданный темп, а резервный удалим

cp -R /tmp_backup/* /tmp/
rm -rf /tmp_backup

Теперь пропишем новый /tmp в fstab чтобы /tmp монтировался автоматически при перезагрузке.

/dev/hda3               /                       ext3    defaults,usrquota        1 1

/dev/hda1               /boot                   ext3    defaults        1 2

none                    /dev/pts                devpts  gid=5,mode=620  0 0

none                    /proc                   proc    defaults        0 0

none                    /dev/shm                tmpfs   defaults        0 0

/dev/hda2               swap                    swap    defaults        0 0

Добавим строку

/dev/tmpMnt             /tmp                    ext2    loop,noexec,nosuid,rw  0 0
Comments are closed.