- Регистрация
- Окт 16, 2022
- Сообщения
- 1,233
- Реакции
- 214
- Награды
- 2
Ты только что взял сервер у хостера и быть анонимом?
Хорошо, вот чек-лист для мамкиного хакира.
Фокус на отключении логов, перенаправлении в /dev/null, баш-хистори и LUKS-контейнере для /home.
Работает на deb-системах (типа Ubuntu/Debian) и rpm (типа CentOS/Fedora/Rocky). Для init-систем: systemd (стандарт в большинстве) и openrc (если у тебя Alpine или Gentoo, хоть я сомневаюсь в этом).
Сначала обнови систему и будь рутом.
Но помни: отключение логов делает сервер слепым к твоим косякам, так что это для параноиков. Если что-то сломается, перезагрузи и верни назад.
Код:
tmpfs /var/log tmpfs defaults,noatime,nosuid,nodev,noexec,mode=0755,size=100M 0 0
tmpfs /tmp tmpfs defaults,noatime,nosuid,nodev,noexec,mode=1777,size=512M 0 0
tmpfs /var/tmp tmpfs defaults,noatime,nosuid,nodev,noexec,mode=1777,size=512M 0 0
Затем remount: mount -a. Всё стирается при ребуте, ибо tmpfs это RAM.
Или перенаправь все логи в жопу: ln -sf /dev/null /var/log/syslog (и аналогично для других файлов, типа auth.log). Но это не для всех демонов.
Код:
LogLevel ERROR
PrintLastLog no
Затем перезапусти: systemctl restart ssh (на systemd) или rc-service sshd restart (на openrc).
После этого journalctl покажет пусто. Если нужно для сервиса: в /etc/systemd/system/твойсервис.service добавь [Service] StandardOutput=null
На openrc нету journald, так что вместо этого отредактируй /etc/syslog.conf или rsyslog.conf: добавь . /dev/null для всего.
В скриптах: команда > /dev/null 2>&1 - всё в никуда.
Код:
export HISTFILE=/dev/null
export HISTSIZE=0
Или: ln -s /dev/null ~/.bash_history
Для рута: то же в /root/.bashrc
Теперь history пустая навсегда
Создай файл-контейнер для рабочих данных. Пример: 10GB на /homedir.cryptoimg.
Код:
#!/bin/bash
cryptsetup luksOpen /homedir.cryptoimg home_enc
mount /dev/mapper/home_enc /home
Для размонтирования использовать umount /home && cryptsetup luksClose home_enc
Запусти: ./mount_home.sh, введи пароль. Запускай вручную после логина. Если /home уже есть, скопируй данные внутрь после монта
Пишите пожаления по дополнению статьи, это мой мини чеклист
Хорошо, вот чек-лист для мамкиного хакира.
Фокус на отключении логов, перенаправлении в /dev/null, баш-хистори и LUKS-контейнере для /home.
Работает на deb-системах (типа Ubuntu/Debian) и rpm (типа CentOS/Fedora/Rocky). Для init-систем: systemd (стандарт в большинстве) и openrc (если у тебя Alpine или Gentoo, хоть я сомневаюсь в этом).
Сначала обнови систему и будь рутом.
Но помни: отключение логов делает сервер слепым к твоим косякам, так что это для параноиков. Если что-то сломается, перезагрузи и верни назад.
1. Общие шаги: Монтируй логи в RAM или /dev/null
Логи в /var/log не пишутся на диск, если их держать в памяти. Добавь в /etc/fstab строки:Код:
tmpfs /var/log tmpfs defaults,noatime,nosuid,nodev,noexec,mode=0755,size=100M 0 0
tmpfs /tmp tmpfs defaults,noatime,nosuid,nodev,noexec,mode=1777,size=512M 0 0
tmpfs /var/tmp tmpfs defaults,noatime,nosuid,nodev,noexec,mode=1777,size=512M 0 0
Затем remount: mount -a. Всё стирается при ребуте, ибо tmpfs это RAM.
Или перенаправь все логи в жопу: ln -sf /dev/null /var/log/syslog (и аналогично для других файлов, типа auth.log). Но это не для всех демонов.
2. Отключи wtmp, utmp, btmp (логи логинов)
Эти файлы трекают, кто когда логинился. Убери их:- rm /var/log/wtmp /var/log/utmp /var/log/btmp /var/log/lastlog
- ln -s /dev/null /var/log/wtmp (и для остальных).
3. Отключи логи OpenSSH
В /etc/ssh/sshd_config добавь или измениКод:
LogLevel ERROR
PrintLastLog no
Затем перезапусти: systemctl restart ssh (на systemd) или rc-service sshd restart (на openrc).
4. Поломай journalctl (для systemd)
Systemd логирует всё в journald. Выруби его:- В /etc/systemd/journald.conf добавь Storage=none (или volatile для RAM).
- systemctl mask systemd-journald.service systemd-journald.socket
- systemctl stop systemd-journald
После этого journalctl покажет пусто. Если нужно для сервиса: в /etc/systemd/system/твойсервис.service добавь [Service] StandardOutput=null
На openrc нету journald, так что вместо этого отредактируй /etc/syslog.conf или rsyslog.conf: добавь . /dev/null для всего.
5. Перенаправь логи в /dev/null (примеры)
Для rsyslog (стандартный логгер):- В /etc/rsyslog.conf добавь: . /dev/null
- Перезапусти: systemctl restart rsyslog (systemd) или rc-service rsyslog restart (openrc).
В скриптах: команда > /dev/null 2>&1 - всё в никуда.
6. Выруби bash history
Не храни команды в истории. Добавь в /etc/profile или ~/.bashrc:Код:
export HISTFILE=/dev/null
export HISTSIZE=0
Или: ln -s /dev/null ~/.bash_history
Для рута: то же в /root/.bashrc
Теперь history пустая навсегда
7. LUKS-контейнер для /home (шифрованный файл)
Сразу для умников: да, с дампом памяти можно расшифровать лукс. Но так же можно внести изменения в dmcrypt и тогда СБУ не хватит навыков расшифровать лукасСоздай файл-контейнер для рабочих данных. Пример: 10GB на /homedir.cryptoimg.
- dd if=/dev/zero of=/homedir.cryptoimg bs=1M count=10240 Создай пустой файл
- cryptsetup luksFormat /homedir.cryptoimg Установи пароль
- cryptsetup luksOpen /homedir.cryptoimg home_enc Открой
- mkfs.ext4 /dev/mapper/home_enc Форматируй
- mount /dev/mapper/home_enc /home Монтируй
Код:
#!/bin/bash
cryptsetup luksOpen /homedir.cryptoimg home_enc
mount /dev/mapper/home_enc /home
Для размонтирования использовать umount /home && cryptsetup luksClose home_enc
Запусти: ./mount_home.sh, введи пароль. Запускай вручную после логина. Если /home уже есть, скопируй данные внутрь после монта
Финальные советы
- После изменений: reboot и проверь tail -f /var/log/* – ничего не пишется.
- Для deb: apt update && apt upgrade сначала
- Для rpm: dnf update
- На openrc: apk add (Alpine) или emerge (Gentoo, тут комментарии излишни. Если у вас генту, то вы сами всё умеете) и rc-update del syslog boot
- Если сервер на VPN, добавь no-logs в его конфиг (verb 0 в OpenVPN).
Пишите пожаления по дополнению статьи, это мой мини чеклист

