Руководство для новичков по скрытию активности и защите данных на сервере Debian

D2

Администратор
Регистрация
19 Фев 2025
Сообщения
4,380
Реакции
0
Введение
Всем привет пользователи xss.is, держите небольшое руководство по настройке сервера на базе Debian для максимальной конфиденциальности и защиты данных!
Эта статья предназначена как для новичков, так и для опытных пользователей, которые хотят минимизировать следы своей активности, сделать логи нечитаемыми и защитить данные от восстановления - например, в случае изъятия сервера для судебной экспертизы.
Я объеденил лучшие практики, пошаговые инструкции и примеры, чтобы вы могли шаг за шагом настроить свой сервер. Цель - создать систему, где логи либо не сохраняются, либо недоступны, а данные на диске защищены от анализа инструментами вроде R-Studio.

В этой статье мы разберём, как отключить хранение логов (таких как wtmp, lastlog, journalctl, syslog и auth.log), настроить полное шифрование диска и регулярно очищать данные, чтобы их нельзя было восстановить. Мы также рассмотрим простые методы для новичков и более технические подходы для опытных пользователей.
Если вы новичок, не переживайте - мы объясним всё максимально просто, с примерами команд и пояснениями. Если вы уже знакомы с Linux, то найдёте здесь детализированные инструкции и оценку эффективности каждого метода. В конце вы получите полную картину того, как сделать ваш сервер "немым" для форензики и защищённым от восстановления данных.

Понимание логов на Debian​

Логи - это файлы, в которые система автоматически записывает информацию о происходящих событиях. Они полезны для диагностики, но могут стать проблемой, если вы хотите скрыть свою активность. Вот основные логи, с которыми мы будем работать:
  • wtmp: Фиксирует входы и выходы пользователей. Путь: /var/log/wtmp.
  • lastlog: Хранит данные о последнем входе каждого пользователя. Путь: /var/log/lastlog.
  • journalctl: Журнал systemd, собирающий логи от различных служб. Может храниться на диске или в памяти.
  • syslog: Общие системные сообщения. Путь: /var/log/syslog.
  • auth.log: Логи аутентификации, например, попытки входа через SSH. Путь: /var/log/auth.log.
Эти файлы содержат информацию о том, кто, когда и что делал на сервере. Чтобы сделать их нечитаемыми, мы либо отключим их запись на диск, либо настроим систему так, чтобы они удалялись при перезагрузке. Давайте разберём, как это сделать шаг за шагом.

Как сделать логи нечитаемыми​

Отключение wtmp​

Файл wtmp записывает все входы и выходы пользователей. Чтобы отключить его:

Если файл /etc/tmpfiles.d/var.conf есть​

  1. Откройте файл для редактирования:
    Bash: Скопировать в буфер обмена
    nano /etc/tmpfiles.d/var.conf
  2. Найдите строку, связанную с wtmp (например, f /var/log/wtmp - root utmp 0664) и закомментируйте её, добавив # в начале:
    Код: Скопировать в буфер обмена
    #f /var/log/wtmp - root utmp 0664
  3. Сохраните изменения (Ctrl+O, Enter, Ctrl+X)

Если файла /etc/tmpfiles.d/var.conf нет​

В новых версиях Debian этот файл может отсутствовать. В таком случае используем альтернативный метод:
  1. Отключите службы, которые записывают в wtmp:
    Bash: Скопировать в буфер обмена
    Код:
    systemctl disable systemd-update-utmp
    systemctl disable systemd-update-utmp-runlevel
    Эти команды предотвратят запуск служб при загрузке системы
  2. Удалите существующий файл wtmp
    Bash: Скопировать в буфер обмена
    rm /var/log/wtmp
  3. Дополнительная мера: Символическая ссылка
    Создайте ссылку на /dev/null, чтобы любые попытки записи в wtmp игнорировались
    Код: Скопировать в буфер обмена
    ln -s /dev/null /var/log/wtmp
Примечание: Некоторые процессы могут ожидать, что wtmp - это обычный файл, а не ссылка, но обычно это не влияет никак не работу системы.
Оценка безопасности: ★★★★★ - Логи не пишутся, но другие источники данных могут остаться.

Отключение lastlog​

Файл lastlog хранит информацию о последнем входе каждого пользователя. Чтобы минимизировать его:
  1. Очистите файл и сделайте его неизменяемым:
    Bash: Скопировать в буфер обмена
    Код:
    > /var/log/lastlog
    chattr +i /var/log/lastlog
    Первая команда очищает файл, вторая предотвращает его обновление. Очистить файл можно и иначе, используйте любой удобный для вас метод.
  2. Настройте PAM, чтобы lastlog не обновлялся:
    • Откройте файл /etc/pam.d/common-session:
      Bash: Скопировать в буфер обмена
      nano /etc/pam.d/common-session
    • Добавьте или измените строку:
      Код: Скопировать в буфер обмена
      session optional pam_lastlog.so noupdate
    • Сохраните и выйдите
Оценка безопасности: ★★★★★ - Эффективно для lastlog, но другие логи могут содержать данные.

Настройка journalctl для хранения в памяти​

Journalctl - это журнал systemd, который по умолчанию сохраняет логи на диске. Чтобы сделать их временными:
  1. Откройте файл конфигурации
    Bash: Скопировать в буфер обмена
    nano /etc/systemd/journald.conf
  2. Найдите секцию [Journal] и добавьте или измените строку
    Код: Скопировать в буфер обмена
    Код:
    [Journal]
    Storage=volatile
    Это заставит систему хранить логи только в памяти (в /run/log/journal), и они исчезнут при перезагрузке.
  3. Перезапустите службу
    Bash: Скопировать в буфер обмена
    systemctl restart systemd-journald
Оценка безопасности: ★★★★★ - Логи не сохраняются на диск, что значительно усложняет их анализ.

Отключение syslog и auth.log​

Эти логи управляются службой rsyslog. Чтобы предотвратить их запись на диск:
  1. Откройте файл конфигурации
    Bash: Скопировать в буфер обмена
    nano /etc/rsyslog.conf
  2. Удалите или закоментируйте все строки вида
    Код: Скопировать в буфер обмена
    Код:
    *.*;auth,authpriv.none        -/var/log/syslog
    auth,authpriv.*            /var/log/auth.log
    cron.*                -/var/log/cron.log
    kern.*                -/var/log/kern.log
    mail.*                -/var/log/mail.log
    user.*                -/var/log/user.log
    *.emerg                :omusrmsg:*
  3. Добавьте в конец строку
    Код: Скопировать в буфер обмена
    *.* /dev/null
    Это перенаправит все логи в "чёрную дыру"
  4. Перезапустите службу
    Bash: Скопировать в буфер обмена
    systemctl restart rsyslog
Альтернатива: Полностью отключите rsyslog
Bash: Скопировать в буфер обмена
Код:
systemctl stop rsyslog
systemctl disable rsyslog

Примечание: Это может повлиять на работу некоторых служб, софта итд, так как они могут зависеть от логирования.
Оценка безопасности: ★★★★★ - Логи не пишутся, но проверьте, не создаются ли они другими способами.

Отключение логов в OpenSSH​

Если вы используете OpenSSH, он пишет логи в auth.log. Чтобы уменьшить их объём:
  1. Откройте файл конфигурации SSH
    Bash: Скопировать в буфер обмена
    nano /etc/ssh/sshd_config
  2. Найдите строку LogLevel и измените на QUIET
    Код: Скопировать в буфер обмена
    LogLevel QUIET
  3. Перезапустите службу SSH
    Bash: Скопировать в буфер обмена
    systemctl restart sshd
Оценка безопасности: ★★★★★ - Уменьшает логирование, но не отключает его полностью

Выбор подходящей файловой системы​

Чтобы защитить данные от восстановления, настройте полное шифрование диска (Full Disk Encryption) при установке Debian. Это гарантирует, что все данные на диске будут зашифрованы, и без пароля их не прочитать, даже если сервер физически изымут.

Как настроить шифрование​

  1. Во время установки выберите опцию "Guided - use entire disk and set up encrypted LVM".
  2. Укажите диск для установки.
  3. Выберите шифрование и задайте надёжный пароль.
Примечание для хостинга: Если хостер даёт возможность установить любую ОС с iso на сервер, то вам не составит труда зашифровать диск, но если хостер не предоставляет такой возможности - то создавайте дополнительные шифрованные разделы и работайте на них.

Почему это важно​

Шифрование защищает не только существующие файлы, но и удалённые данные, которые иначе могли бы быть восстановлены. Даже если кто-то получит доступ к диску, без ключа он увидит только случайный набор символов.

Оценка безопасности: ★★★★★ - Максимальная защита, если пароль достаточно сложный.

Альтернативы​

Обычные файловые системы, такие как ext4, Xfs или Btrfs, не предотвращают восстановление удалённых данных. Поэтому шифрование - лучший выбор для параноиков.

Безопасное удаление файлов​

Обычное удаление файлов (команда rm) не стирает данные с диска - их можно восстановить с помощью инструментов вроде R-Studio. Чтобы этого избежать, используйте специальные утилиты для перезаписи данных.

Установка инструментов​

Установите пакеты для безопасного удаления:
Bash: Скопировать в буфер обмена
apt-get install secure-delete wipe -y

Методы удаления​

  1. shred - Перезаписывает файл случайными данными и удаляет:
    Bash: Скопировать в буфер обмена
    shred -u file.txt
  2. srm - Безопасно удаляет файл, перезаписывая его несколько раз
    Bash: Скопировать в буфер обмена
    srm file.txt
  3. wipe - Аналогичный инструмент для перезаписи
    Bash: Скопировать в буфер обмена
    wipe file.txt
  4. dd - Заполняет файл нулями перед удалением
    Bash: Скопировать в буфер обмена
    Код:
    dd if=/dev/zero of=file.txt
    rm file.txt

Очистка свободного пространства​

Чтобы перезаписать свободное место на диске и предотвратить восстановление старых файлов:
  • Используйте sfill
    Код: Скопировать в буфер обмена
    sfill -f /path/to/directory
  • Или вручную с помощью dd
    Bash: Скопировать в буфер обмена
    Код:
    dd if=/dev/zero of=/home/zero bs=1M
    rm /tmp/zero
    • Для большей безопасности используйте случайные данные
      Код: Скопировать в буфер обмена
      Код:
      dd if=/dev/urandom of=/home/random bs=1M
      rm /tmp/random
Оценка безопасности: ★★★★★ - Перезапись делает восстановление практически невозможным

Оценка методов​

Вот сводная таблица с оценкой безопасности каждого метода (от ★★★★ - минимальная защита, до ★★★★★ - максимальная):
МетодОценка безопасностиОписание
Отключение wtmp★★★★Предотвращает запись входов/выходов, но другие логи остаются
Отключение lastlog★★★★★Останавливает обновление данных о входах, но не влияет на другие логи
Journalctl на volatile★★★★Логи только в памяти, исчезают при перезагрузке
Отключение syslog и auth.log★★★★Логи не пишутся на диск, но возможны обходные пути
Отключение логов OpenSSH★★★★★Уменьшает логирование SSH, но не полностью
Полное шифрование диска★★★★★Данные недоступны без ключа, даже при изъятии
Безопасное удаление файлов★★★★★Перезапись предотвращает восстановление
Очистка свободного пространства★★★★★Уничтожает следы старых файлов на диске

Дополнительные советы для новичков​

Почему это важно​

Если вы только начинаете работать с серверами, можете думать: "Зачем мне это?" Представьте, что ваш сервер изъяли для проверки. Без этих мер эксперты легко узнают, что вы делали, какие файлы создавали и когда входили в систему. Отключение логов и шифрование - это ваш щит.

Простые шаги для начала​

  1. Установите Debian с шифрованием (выберите "encrypted LVM" при установке).
  2. Выполните команды для отключения wtmp:
    Bash: Скопировать в буфер обмена
    Код:
    systemctl disable systemd-update-utmp
    rm /var/log/wtmp
    ln -s /dev/null /var/log/wtmp
  3. Настройте journalctl на volatile
    Bash: Скопировать в буфер обмена
    Код:
    nano /etc/systemd/journald.conf
    # Добавить: Storage=volatile
    systemctl restart systemd-journald
  4. Установите shred и удаляйте файлы безопасно
    Код: Скопировать в буфер обмена
    shred -u file.txt

Частые ошибки​

  • Слабый пароль для шифрования: Используйте длинный пароль с буквами, цифрами и символами.
  • Пропуск перезагрузки: После настройки journalctl перезагрузите сервер, чтобы убедиться, что логи не сохраняются.
  • Обычное удаление: Не используйте rm без перезаписи - данные останутся на диске.

Заключение​

Теперь у вас есть полное руководство, чтобы сделать ваш сервер Debian безопасным и скрытым от посторонних глаз. Отключение логов (wtmp, lastlog, journalctl, syslog, auth.log), настройка полного шифрования диска и регулярное безопасное удаление файлов помогут защитить вашу активность и данные. Даже если сервер изымут, без пароля и с перезаписанными данными восстановить что-либо будет практически невозможно.
Комбинируйте эти методы для максимальной защиты:
  • Шифруйте диск при установке.
  • Отключите все логи или настройте их хранение в памяти.
  • Используйте shred, srm или sfill для очистки данных.
Если вы новичок, начните с простых шагов и постепенно осваивайте более сложные настройки. Для опытных пользователей эта статья - шпаргалка с проверенными методами. Ваша приватность в ваших руках!
На самом деле методов поиска ваших данных активности достаточно много, в статье я описал только "основные", чтобы у вас было понимание как всё работает.

Статья сделана специально для xss.is
Автор: keklick1337
 
Сверху Снизу