Тимчасові каталоги, такі як /tmp
, /var/tmp
, і /dev/shm
пропонують платформу для хакерів для запуску сценаріїв і програм. Ці шкідливі виконувані файли використовуються для зловживання або компрометації вашого сервера. В ідеалі /tmp
каталог повинен бути змонтований на окремому розділі з обмеженими дозволами.
Цей посібник призначений для користувачів Vultr, чия конфігурація сервера не включає змонтований /tmp
каталог на власному розділі, що робить ці каталоги небезпечними та вразливими. Реалізація цього посібника дуже ускладнить хакерам використання цих каталогів.
Примітка: стандартні інсталяції CentOS не монтують /tmp
каталог на окремому розділі.
Перейдіть до домашнього каталогу.
cd /home
Зробіть файл у домашньому каталозі з будь-яким ім’ям. Тут ми використовуємо «mntTmp» і створюємо файл розміром 2 Гб. Ви можете налаштувати це відповідно до ваших потреб.
dd if=/dev/zero of=mntTmp bs=1024 count=2000000
Створіть розширену файлову систему для цього файлу.
mkfs.ext4 /home/mntTmp
Створіть резервну копію поточного /tmp
каталогу.
cp -Rpf /tmp /tmp_backup1
Поверніться до основного каталогу.
cd /
Створіть параметр /tmp
монтування для запуску під час завантаження за допомогою текстового редактора.
nano /etc/fstab
Додайте наступне в нижній частині файлу fstab в окремому рядку. Потім натисніть Enter, щоб переконатися, що під ним є порожній рядок (порожній рядок важливий, щоб уникнути проблем під час перезавантаження).
/home/mntTmp /tmp ext4 loop,nosuid,noexec,nodev,rw 0 0
Примітка: це кріплення може знадобитися тимчасово видалити під час компіляції або встановлення програмного забезпечення
Залиште файл відкритим, оскільки інший рядок буде змінено.
CentOS використовує тимчасову файлову систему (tmpfs) у віртуальній пам'яті під назвою "shm". Здається, він змонтований, незважаючи на те, що це не фізична файлова система. Ми можемо застосувати дозволи для захисту shm. Знайдіть рядок у файлі fstab з tmpfs і /shm
. Замінити 'defaults'
на 'defaults,nosuid,noexec,nodev'
. Збережіть файл.
Тепер ви можете змонтувати /tmp
файлову систему.
mount -o loop,nosuid,noexec,nodev /home/mntTmp /tmp
Встановіть дозволи на читання, запис, виконання.
chmod 777 /tmp
Перевірте, чи немає помилок монтажу за допомогою нових налаштувань завантаження.
mount -o remount /tmp
Перемістіть /tmp
створену резервну копію назад у змонтовану /tmp
файлову систему.
mv /tmp_backup1/* /tmp/
Видаліть створену резервну копію.
rm -Rf /tmp_backup1
Резервне копіювання /var/tmp
.
cp -Rpf var/tmp /tmp_backup2
Видаліть /var/tmp
каталог.
rm -Rf /var/tmp
Створіть символічне посилання від /var/tmp
до /tmp
.
ln -s /tmp /var/tmp
Скопіюйте /var/tmp
резервну копію в /tmp
.
mv /tmp_backup2/* /tmp/
Видаліть резервну копію.
rm -Rf /tmp_backup2
За бажанням
Залежно від конкретного програмного забезпечення, яке ви використовуєте, у вас може бути каталог «tmp» у домашньому каталозі. Ви можете видалити цей каталог і створити символічне посилання на /tmp
. Роблячи це, слід бути обережним, оскільки це може зламати програмне забезпечення, зокрема програмне забезпечення для веб-хостингу.
rm -Rf /home/tmp
ln -s /tmp /home/tmp