Целевые кибератаки на пользователей — как защитить свою Linux-систему
Меры кибербезопасности против целевых атак
- Данное руководство основано на личном опыте противодействия целевым атакам, исходящим от акторов, связанных с государством и поддерживаемых тоталитарным режимом.
- Цель — помочь пользователям усилить уровень защищённости Linux-систем от продвинутых устойчивых угроз (APT).
- Статья предназначена для частных пользователей, владельцев ноутбуков и настольных компьютеров, а также администраторов небольших частных серверов. Вопросы безопасности корпоративных сетей здесь не рассматриваются.
- Также в статье не затрагиваются социальная инженерия, психологические, юридические, физические и иные важные аспекты целевых атак. Рассматриваются исключительно аспекты кибербезопасности Linux-систем.
Последнее обновление: 2026-07-08
📋 TL;DR — Содержание статьи
- О чём статья: Практическое руководство по усилению безопасности Linux-систем против целевых кибератак. Полное шифрование диска, удаление ненужных служб, длинные пароли, AppArmor, nftables, OpenSnitch, IDS/IPS, Wayland, сегментация системы и другие меры.
Описание угрозы
С 2011 года (более 14 лет) автор подвергается сложному комплексу атак, включающих несанкционированные проникновения в системы, слежку, психологическое давление и шантаж на основе персональных данных, полученных в результате такой слежки.
Злоумышленники способны получать полный контроль над ПК и похищать личную информацию, зачастую практически не оставляя следов. Иногда подобная активность проявляется в виде внезапных движений курсора, замедления работы системы или необъяснимой сетевой активности.
Также осуществляется мониторинг интернет-трафика, и возможна компрометация паролей — особенно если пароли слабы или не включена двухфакторная аутентификация.
Следует отметить, что подобные целевые атаки на частных лиц — как внутри авторитарных государств, так и за их пределами — являются реальной и нарастающей угрозой. Описываемое автором — не спекуляция, а результат многолетнего практического опыта противостояния кибератакам и шантажу.
Широко распространено мнение, что целевые кибератаки затрагивают лишь крайне малую долю пользователей — порядка 0,01% или даже меньше — и что для подавляющего большинства людей подобные риски не представляют реальной угрозы. Однако события последних лет показывают, что уровень киберугроз значительно выше, чем принято считать, и часто недооценивается как специалистами, так и обычными пользователями.
Автор, как гражданин страны, ставшей зоной повышенного интереса для внешних акторов, использующих широкий спектр средств — от традиционных инструментов влияния до кибертехнологий, направленных на компрометацию и мониторинг частных устройств и серверов, — считает необходимым привлечь внимание международного сообщества к данной проблеме.
Повышение осведомлённости о киберугрозах и углубление понимания современных методов атак являются важнейшими шагами на пути к укреплению цифровой безопасности, защите персональных данных и сохранению доверия к ПО с открытым исходным кодом.
📋 TL;DR — Описание угрозы
- Суть угрозы: Целевые кибератаки на частных лиц — реальная и нарастающая угроза. Злоумышленники могут получать полный контроль над ПК, похищать данные и осуществлять слежку. Уровень угроз часто недооценивается.
Контрмеры
Тестовая среда: Debian 12 (Bookworm), ядро 6.1.0-34-amd64 (сборка апреля 2025 года).
С начала 2025 года автор полностью перешёл на Linux, используя дистрибутив Debian. Данная статья написана потому, что именно среди пользователей Linux наиболее эффективно обсуждать реальные меры защиты и цифровую безопасность.
В то же время рекомендуется делиться этой информацией с пользователями Windows, объясняя, насколько уязвимы системы Windows для взлома и почему переход на Ubuntu или другой дистрибутив Linux является значительно более безопасным выбором.
Linux, благодаря своей модульной архитектуре и открытому исходному коду, позволяет реализовывать более глубокие и гибкие конфигурации безопасности.
Существенным фактором риска также является практика установки Windows, Microsoft Office или других пользовательских приложений из пиратских источников. Такие неофициальные сборки могут содержать встроенные бэкдоры, трояны, руткиты или другие формы вредоносного ПО, что существенно ослабляет безопасность Windows-системы и облегчает проведение различных типов атак.
Debian и большинство дистрибутивов Linux (Ubuntu, Linux Mint, Mageia, Fedora и др.) распространяются бесплатно и используют официальные репозитории для загрузки и установки программного обеспечения. Пакеты в этих репозиториях проходят строгую проверку, что значительно снижает вероятность наличия вредоносного кода и обеспечивает более предсказуемую и прозрачную модель безопасности.
Однако установка Debian или любого другого дистрибутива Linux сама по себе не гарантирует защиту от слежки — корректная настройка системы является критически важной.
Существует миф, что сам факт установки Linux уже обеспечивает высокий уровень безопасности. Это не так. При установке дистрибутив Debian и почти все остальные Linux-дистрибутивы идут с минимальными настройками безопасности. Весь потенциал настроек безопасности в Linux раскрывается только при глубоком взаимодействии пользователя с системой.
Тип противника, описываемый в данной статье, обладает опытом и значительными ресурсами. Такие акторы разрабатывают программное обеспечение, способное обходить конфигурации операционных систем «по умолчанию» — как Linux, так и Windows. Это экономически оправдано: успешный «универсальный ключ» или эксплойт, работающий против множества систем с настройками по умолчанию, позволяет скрытно получить доступ к большому числу машин.
В то же время создание такого универсального ключа для систем со сложными, индивидуализированными конфигурациями безопасности существенно сложнее и зачастую практически нецелесообразно: каждая машина имеет собственный набор правил, профилей и политик, и эксплойт приходится адаптировать под каждую конфигурацию отдельно. Это резко увеличивает стоимость атаки для злоумышленника.
С высокой степенью вероятности перед разработкой узкоспециализированного вредоносного ПО атакующие задействуют автоматизированный арсенал готовых эксплойтов, нацеленных на архитектуру популярных дистрибутивов и пакетную базу апстрима (в данном случае — Debian 13 Trixie). Такие сигнатурные векторы, включая логические ошибки 0-day/1-day, направлены на компрометацию стандартных интерфейсов ОС до необходимости кастомизации кода под специфическую аппаратную ревизию.
Debian является одним из наиболее распространённых дистрибутивов в серверной и пользовательской среде, а также выступает в качестве базовой платформы для значительного числа производных дистрибутивов (Ubuntu, Linux Mint, Astra Linux и др.). Это делает его приоритетной целью для злоумышленников: пулы эксплойтов регулярно пополняются векторами атак, нацеленными именно на архитектуру Debian, его системные библиотеки, менеджер пакетов APT и стандартные конфигурации ядра. Следовательно, если ваша система обрабатывает конфиденциальную информацию или обеспечивает доступ к критически важным ресурсам — полагаться исключительно на настройки безопасности, предлагаемые по умолчанию, не только неразумно, но и опасно. Такая конфигурация заведомо уязвима для автоматизированных сканеров и сигнатурных атак, что делает необходимым проведение дополнительного хардеринга.
Вывод: не оставляйте только что установленную систему с настройками безопасности по умолчанию. Применяйте осознанное, глубокое и индивидуализированное усиление защиты — политики минимально необходимых привилегий, корректно настроенные механизмы контроля доступа (AppArmor/SELinux), строгие правила межсетевого экрана, надежные политики обновлений и мониторинг. Это повышает стоимость и сложность атаки и делает массовую автоматизированную атаку значительно более трудной.
Тщательно и ответственно улучшайте настройки безопасности системы. Готовьте систему не только к отражению типовых и предсказуемых атак (например, несанкционированного доступа к банковскому аккаунту), но и к выявлению и нейтрализации нестандартных атак (подобных описанным в данной статье), чтобы они не застали вас врасплох.
Применяйте максимально жёсткие доступные конфигурации безопасности, особенно если вы храните чувствительную личную или профессиональную информацию.
Ниже автор делится методами настройки Debian 12 (и других Linux-систем) для усиления защиты от взлома и несанкционированного доступа.
Данная статья написана как в виде рекомендации по безопасности, так и в форме запроса на советы по улучшению конфигурации системы.
Если у вас есть предложения по усилению существующих конфигураций или дополнительные рекомендации по кибербезопасности, которые могли быть не учтены в этом материале, автор будет крайне признателен за ваш опыт и обратную связь.
📋 TL;DR — Контрмеры
- Ключевой принцип: Не оставляйте систему с настройками по умолчанию. Применяйте глубокие индивидуализированные конфигурации (минимальные привилегии, AppArmor/SELinux, строгие правила файервола). Это повышает стоимость атаки для злоумышленника.
Практическое руководство
Рекомендации по усилению защиты Linux-системы:
-
Используйте полное шифрование диска.
В случае кражи ПК или ноутбука злоумышленник столкнётся с серьёзными трудностями при попытке получить доступ к любым частным данным, хранящимся на жёстком диске.
-
Если операционная система установлена на настольном ПК, который не выполняет функции сервера, отключите и удалите все ненужные службы удалённого доступа. В первую очередь: SSH-серверы и их аналоги, удалённый рабочий стол / VNC / RDP и другие сетевые службы, позволяющие удалённый доступ, но фактически не используемые. Их недостаточно просто защитить паролем или отключить — их следует полностью удалить из системы.
Если служба удалённого доступа всё же необходима, используйте сложные пароли длиной не менее 16–20 символов или более. Не оставляйте ни одну службу удалённого доступа без пароля.
Также используйте сложные пароли как для обычной пользовательской сессии, так и для учётной записи суперпользователя — не менее 16 символов для пользователя и не менее 20 символов для суперпользователя, либо длиннее.
Важно: не игнорируйте длинные пароли. Используйте их даже в том случае, если ваш ПК или сервер физически изолирован. Если доступ к пользовательской или суперпользовательской сессии не защищён сильными и длинными паролями, вся архитектура безопасности Linux теряет смысл.
-
Используйте для установки программного обеспечения только официальные репозитории вашего дистрибутива.
По возможности устанавливайте пакеты через менеджер пакетов (`apt` / `apt-get` в Debian) из официальных репозиториев — это обеспечивает автоматические обновления безопасности и проверку целостности пакетов.
Если вы подключаете сторонний репозиторий, убедитесь в его надёжности: проверьте, кто его поддерживает, подписаны ли пакеты GPG-ключом, доступен ли он по HTTPS, и по возможности вручную импортируйте и проверяйте доверенные ключи.
При ручной установке программ (загрузка `.deb`-пакетов, бинарных файлов или исходного кода) всегда проверяйте источник: сверяйте контрольные суммы (SHA256), проверяйте цифровые подписи и следуйте официальным инструкциям по установке от разработчика программного обеспечения.
-
Избегайте использования учётной записи суперпользователя или `sudo` без явной необходимости — и никогда не выполняйте произвольные скрипты с использованием `sudo`.
Всегда внимательно проверяйте команды перед их выполнением в терминале. Терминал — мощный инструмент системного администрирования, но в неопытных руках он может привести к серьёзному повреждению системы или её компрометации.
Рекомендации:
- Всегда полностью читайте скрипт перед его запуском (`less script.sh`, `cat script.sh`).
- Никогда не вставляйте команды из непроверенных или недоверенных источников в терминал.
- Используйте `sudo` только тогда, когда это действительно необходимо; для редактирования конфигурационных файлов рассматривайте использование `sudoedit`.
- Следуйте принципу минимально необходимых привилегий — создавайте отдельные учётные записи и по возможности ограничивайте права доступа.
Важно: неправильное или неосторожное использование `sudo`, а также ручная установка программного обеспечения из недоверенных источников являются частыми причинами утечек данных, их потери и компрометации системы. Всегда тестируйте любые изменения конфигурации в изолированной среде перед применением на рабочей машине.
-
Используйте модель доступа, аналогичную серверной.
Не добавляйте обычных пользователей в группу `sudo`. Привилегии `sudo` должны быть зарезервированы исключительно за суперпользователем (root). Обычные пользователи не должны иметь возможности выполнять команды от имени root через `sudo`.
Да, это может создавать определённые неудобства при администрировании системы, однако такая модель обеспечивает более высокий уровень безопасности и снижает риск случайных или преднамеренных нарушений.
Примечание: системные пользователи, создаваемые ядром или службами (например, `www-data`, `postgres`, `nobody`), по умолчанию не имеют доступа к sudo. Программы, установленные с использованием `sudo` пользователем root, не предоставляют автоматически sudo-привилегии пользователям, создаваемым этими программами. Любые виртуальные или сервисные учётные записи остаются неспособными выполнять команды с sudo, если их явно не добавить в соответствующую группу.
-
Используйте инструменты изоляции приложений, такие как AppArmor; не оставляйте профили в состоянии «по умолчанию» — настраивайте и усиливайте их в соответствии с реальными рабочими сценариями. Если у вас возникают трудности с настройкой AppArmor, обратитесь за помощью к специалистам или используйте инструменты на основе ИИ.
Использование механизмов принудительного контроля доступа является важным уровнем защиты системы. Без их корректной настройки даже система с правильно настроенным файерволом может оставаться уязвимой для различных типов атак.
Внимание: AppArmor, SELinux и другие механизмы принудительного контроля доступа (MAC, Mandatory Access Control) при некорректной настройке могут привести к нарушению работоспособности системы. Ошибки в профилях или политиках могут вызвать отказ служб, проблемы при загрузке, блокировку пользовательской сессии либо ограничение доступа к системным ресурсам. В ряде случаев восстановление системы может быть затруднено даже при использовании режима восстановления, chroot-окружения или загрузке с Live/Rescue-носителя.
Рекомендуется выполнять тестирование и разработку сложных и/или индивидуальных политик и профилей в изолированной среде (например, в виртуальной машине). Желательно сохранять журналы изменений и вывод терминала для последующего анализа.
Перенос настроек на хостовую систему следует выполнять только после подтверждения корректной и стабильной работы конфигурации в тестовой среде.
Дополнительные рекомендации:
- При ограничении потенциально уязвимых системных служб и демонов используйте профили AppArmor, задавая минимально необходимые права доступа (принцип наименьших привилегий).
- Для потенциально уязвимых пользовательских приложений (браузеры, мессенджеры, менеджеры баз данных) отдавайте приоритет изоляции с помощью sandbox-решений (например, Flatpak, Firejail). AppArmor применяйте дополнительно или в случаях, когда использование sandbox невозможно.
- Таким образом формируется архитектура, в которой приложения изолированы друг от друга и от системы. В случае компрометации одного приложения, находящегося в sandbox, оно будет максимально ограничено в доступе к другим приложениям и системе в целом, что существенно затрудняет дальнейшие действия злоумышленника.
-
Используйте расширенные настройки сетевой фильтрации: iptables или, предпочтительнее, новейший nftables, либо коммерческий межсетевой экран.
Помимо запрета всех ненужных входящих соединений (на большинстве домашних рабочих станций можно запретить все), обязательно ограничьте и исходящие соединения — запретите все порты и диапазоны, не требующиеся системе и приложениям. Это снижает площадь атаки.
Используйте расширенные настройки сетевой фильтрации:
iptablesили, предпочтительнее, новейшийnftables, либо коммерческий межсетевой экран.Помимо запрета всех ненужных входящих соединений (на большинстве домашних рабочих станций можно запретить все), обязательно ограничьте и исходящие соединения — запретите все порты и диапазоны, не требующиеся системе и приложениям. Это снижает площадь атаки.
Фильтрация входящего трафика (цепочка
input):Входящий трафик фильтруется по следующим принципам:
- Политика по умолчанию
drop— все входящие пакеты, не разрешённые явно, блокируются. - Разрешение loopback — внутренний трафик на интерфейсе
loразрешён полностью. - Разрешение установленных сессий — пакеты из уже установленных и связанных соединений пропускаются (
ct state established,related accept). - Анти-DDoS защита — ограничение новых соединений от одного IP (
limit rate over 100/second burst 200 packets). Превышающие лимит логируются и отбрасываются. - Ограничение ICMP-запросов — разрешён только 1 ping в секунду, остальные блокируются.
- Блокировка локальных широковещательных протоколов — SSDP (1900/UDP), mDNS (5353/UDP), NetBIOS (137-138/UDP), LLMNR (5355/UDP).
- Блокировка известных бот-сетей и прокси — чёрный список подсетей, используемых злоумышленниками.
- Блокировка подозрительных TCP-флагов — NULL, XMAS, SYN-ACK и другие сканерские паттерны.
- Блокировка фрагментированных пакетов — часто используются для обхода фильтров.
- Анти-спуфинг — блокировка пакетов с поддельными IP-адресами (localhost, частные сети, multicast, зарезервированные).
table inet filter { # Открытие листа правил # ============================================ # НАЧАЛО ЦЕПОЧКИ INPUT # ============================================ # = Основная политика цепочки = chain input { type filter hook input priority 0; policy drop; # = Набор общих правил = # 🌀 Разрешаем loopback-интерфейс (внутренние процессы) iif "lo" accept # == 🔁 Разрешаем установленные и связанные соединения == ct state established,related accept # == 🔒 Правильная защита от агрессивного входящего трафика (anti-DDoS) == # Мы НЕ разрешаем трафик, мы только на лету уничтожаем то, что превышает лимит. # Если скорость превысила 100 в секунду, пакет логируется и дропается прямо здесь. # Если скорость в норме — пакет идет ниже, где его встретит надежный дефолтный DROP. ip saddr 0.0.0.0/0 ct state new limit rate over 100/second burst 200 packets log prefix "🔥 BAN: too many conn " flags all drop # == 🛡️ Ограничение ping'ов == ip protocol icmp icmp type echo-request limit rate 1/second accept ip protocol icmp icmp type echo-request log prefix "🔥 BAN: ICMP flood " flags all ip protocol icmp icmp type echo-request drop # == 🚫 Блокировка SSDP и mDNS (локальные протоколы вещания) == ip daddr 239.255.255.250 udp dport 1900 drop # ❌ SSDP (UPnP/обнаружение устройств) ip daddr 224.0.0.251 udp dport 5353 drop # ❌ mDNS (Bonjour, Avahi) # == 🛑 Блокировка NetBIOS и LLMNR (внутрисетевые протоколы Windows/systemd) == udp dport 137 drop # ❌ NetBIOS Name Service (Windows сетевые имена) udp dport 138 drop # ❌ NetBIOS Datagram Service (распознавание в LAN) udp dport 5355 drop # ❌ LLMNR (Link-Local Multicast Name Resolution) # = Набор правил блокировки IP адресов и диапазонов = # == 🧱 Блокировка известных бот-сетей и прокси == ip saddr { 45.9.20.0/24, 89.248.160.0/19, 185.220.100.0/22, 198.96.155.0/24, 185.107.56.0/24, 185.129.62.0/23 } log prefix "🔥 BAN: known bots " flags all ip saddr { 45.9.20.0/24, 89.248.160.0/19, 185.220.100.0/22, 198.96.155.0/24, 185.107.56.0/24, 185.129.62.0/23 } drop # == 🚫 Блокировка странных TCP-флагов (XMAS, NULL-скан и другие) == tcp flags & (fin|syn|rst|psh|ack|urg) == 0 drop # NULL scan tcp flags & (fin|psh|urg) == (fin|psh|urg) drop # XMAS scan tcp flags & (fin|syn) == (fin|syn) drop # SYN-ACK scan tcp flags & (syn|rst|fin) == (syn|rst|fin) drop # Xmas scan tcp flags & (syn|fin|rst|psh|ack) == (syn|rst|fin|ack) drop # Xmas scan # == 🚫 Блокировка фрагментированных пакетов — часто используются в обходах фильтров == ip frag-off & 0x1fff != 0 drop # == 🔒 Блокировка пакетов с поддельными IP (спуфинг) == ip saddr 127.0.0.0/8 drop # localhost ip saddr 10.0.0.0/8 drop # частная сеть ip saddr 172.16.0.0/12 drop # частная сеть ip saddr 192.168.0.0/16 drop # частная сеть ip saddr 169.254.0.0/16 drop # APIPA ip saddr 0.0.0.0/8 drop # недопустимый адрес ip saddr 224.0.0.0/4 drop # multicast ip saddr 240.0.0.0/5 drop # зарезервировано } }Фильтрация исходящего трафика (цепочка
output):Исходящий трафик фильтруется с использованием следующих механизмов:
- Политика по умолчанию
drop— все исходящие пакеты, не разрешённые явно, блокируются. - Разрешение установленных сессий — пакеты из уже установленных и связанных соединений пропускаются (
ct state established,related accept). - Фильтрация невалидных пакетов — пакеты, помеченные conntrack как
invalid, немедленно блокируются с логированием. Это предотвращает отправку подозрительных или повреждённых пакетов. - Защита от захвата сессий (Connection Hijacking) — разрешение продолжать установленные сессии только для доверенных UID (
user,_flatpak,_apt,root,systemd-timesync). Любая попытка другого процесса внедриться в сессию логируется и блокируется. - Общий защитный купол для веб-трафика — ограничение скорости новых соединений на порты 80 и 443 (
limit rate over 100/second burst 200 packets). Превышающие лимит пакеты блокируются с логированием. - Строгий DNS-контроль — DNS-запросы разрешены только к серверам из белого списка (
9.9.9.9и серверы провайдера). Для UDP-запросов установлено ограничение по длине пакета (meta length <= 150) для предотвращения DNS-туннелирования. Проверка UID гарантирует, что доступ к DNS имеют только доверенные процессы. - Фильтрация по UID — каждое исходящее соединение проверяется по идентификатору пользователя. Даже если IP-адрес и порт разрешены, доступ к ним имеют только определённые пользователи (
user,_apt,rootи т.д.). - Белый список IP-адресов — разрешены соединения только с доверенными IP-адресами и диапазонами (Cloudflare, AWS, Google, GitHub, Debian и др.).
chain output { # = Основная политика цепочки = type filter hook output priority 0; policy drop; # = САМЫЕ ПЕРВЫЕ - критически важные правила = ct state established,related accept oif "lo" accept # Дропаем любые исходящие пакеты, которые conntrack пометил как невалидные # Это обеспечит немедленное уничтожение невалидных пакетов # до начала применения остальных правил фильтрации. ct state invalid log prefix "🔥 INVALID_OUT_PACKET: " drop # ========================================================================= # 🔒 УМНЫЙ ДОСМОТР УСТАНОВЛЕННЫХ СЕССИЙ (Защита от Connection Hijacking) # ========================================================================= # Разрешаем продолжать сессии ТОЛЬКО если пакеты внутри них созданы Вами, вашим Браузером, APT или Root. # Системные призраки (nobody, daemon) отсюда полностью изгоняются. ct state established,related meta skuid { user, _flatpak, _apt, root, systemd-timesync } accept # ⬇️ МОМЕНТАЛЬНЫЙ СРЕЗ: Если посторонний системный процесс попытался внедриться в вашу сессию ct state established,related log flags skuid prefix "🔥 HIJACK_ATTEMPT_DROP: " drop # ======================================================================= # 1. ОБЩИЙ ЗАЩИТНЫЙ КУПОЛ (Только блокировка превышения скорости!) # ======================================================================= # ВНИМАНИЕ: Здесь НЕТ слова accept. Это правило НЕ выпускает пакеты в интернет. # Знак "!" означает: если скорость превысила лимит, то выполнить действие ЛОГ и ДРОП. # Если скорость в норме, пакет просто молча пролетает ниже — в ваш белый список IP. # ВНИМАНИЕ: meta l4proto { tcp, udp } и th dport накрывают куполом и TCP, и UDP (HTTP/3) meta l4proto { tcp, udp } th dport { 80, 443 } ct state new limit rate over 100/second burst 200 packets log prefix "🔥 OUT_WEB_LIMIT_BURST: " drop # ========================================================================= # 2. DNS-СЕРВИС # Строгая привязка только к Quad9 на IP 9.9.9.9 # Контроль длины, пользователей и резервных серверов # ========================================================================= # 2.1. По UDP пропускаем только короткие запросы (<=150 байт) и строго от доверенных лиц ip daddr { 9.9.9.9, 31.43.43.243, 31.43.43.143 } udp dport 53 meta length <= 150 meta skuid { user, _apt, root, systemd-timesync } ct state new accept # 2.2. По TCP длину не ограничиваем (для тяжелых ответов DNSSEC), но пользователя проверяем железно ip daddr { 9.9.9.9, 31.43.43.243, 31.43.43.143 } tcp dport 53 meta skuid { user, _apt, root, systemd-timesync } ct state new accept # 2.3. Все остальные попытки любых левых служб (или длинный UDP) — логируем и уничтожаем ip daddr { 9.9.9.9, 31.43.43.243, 31.43.43.143 } meta l4proto { tcp, udp } th dport 53 log flags skuid prefix "🔥 OUT_BLOCK_LEAK_DNS: " drop # == Критически важные ICMP для сети == ip protocol icmp icmp type { destination-unreachable, time-exceeded, parameter-problem } accept # == Важные ICMPv6 для IPv6 == ip6 nexthdr icmpv6 icmpv6 type { 1, 2, 3, 4 } accept ip6 nexthdr icmpv6 icmpv6 type { 135, 136 } accept # NS/NA ip6 nexthdr icmpv6 icmpv6 type { 133, 134 } accept # RS/RA }Пример фильтрации исходящего соединения одновременно по номеру порта, IP-адресу и UID пользователя:
# === Debian Infrastructure (официальные сервера и зеркала) === ip daddr { 130.89.148.0/24, # Физические сервера ftp.debian.org (Нидерланды) 128.31.0.0/16, # Официальные сети инфраструктуры Debian (MIT/США) 149.20.4.0/24, # Технологические шлюзы зеркалирования и форума 206.12.19.0/24, # Резервные пулы маршрутизации SPI 151.101.0.0/16, # CDN Fastly для deb.debian.org 199.232.0.0/16, # Дополнительный пул Fastly для безопасности 146.75.0.0/17, # Резервные маршруты доставки пакетов Debian 51.83.0.0/16 # Зеркала репозиториев обновлений deb.debian.org } tcp dport { 80, 443 } meta skuid { user, _flatpak, _apt, root } ct state new accept # === ⏰ Разрешаем синхронизацию системного времени (NTP) === # Правило параноидальное: порт UDP 123 открыт ИСКЛЮЧИТЕЛЬНО для одного этого процесса. # Ни один бэкдор от имени root или nobody использовать эту лазейку не сможет. udp dport 123 meta skuid systemd-timesync ct state new accept # === Debian Project & Wiki === # Раздельный синтаксис исключает конфликты парсера при разрешении имен. # Полностью открывает доступ к документации и руководствам системы. ip daddr { 209.87.16.81 } tcp dport { 80, 443 } meta skuid { user, _flatpak } ct state new accept # === Резервный DNS Quad9 === ip daddr 9.9.9.0/24 udp dport 53 meta skuid { user, _apt, root } accept # === Резервный DNS Quad9 (149.112.0.0/16) === ip daddr 149.112.0.0/16 udp dport 53 meta skuid { user, _apt, root } acceptМоя конфигурация nftables доступна здесь.
- Политика по умолчанию
-
Настройте параметры ядра для максимальной безопасности (усиление sysctl).
Моя конфигурация 99-protect.conf доступна здесь.
Освойте синтаксис и политики nftables, AppArmor и sysctl. Это штатные механизмы ядра Linux для фильтрации трафика, мандатного контроля доступа (MAC) и ограничения параметров системы. Глубокое владение их настройкой критически полезно для построения защищённых систем.
-
Используйте системы IDS/IPS — системы обнаружения и предотвращения вторжений (например: auditd, Falco, OSSES, Wazuh, AIDE, Suricata).
Эти инструменты способны обнаруживать и журналировать активность злоумышленника внутри системы или сети, а также блокировать вредоносные действия (фиксируя каждое событие блокировки).
Моя конфигурация auditd доступна здесь.
-
Проверяйте систему на наличие уязвимостей с помощью сканеров (например: lynis, OpenVAS, Nessus). Результаты тестирования можно анализировать с использованием специализированных инструментов и, при необходимости, ИИ — предоставляя данные для анализа.
-
Если вы подозреваете, что стали объектом направленной или целевой атаки, начните периодически захватывать сетевой трафик с помощью таких инструментов, как tcpdump, Wireshark или Zeek. Собранные данные затем можно передать специалистам по безопасности или инструментам анализа на основе ИИ для дальнейшего изучения.
Эти меры существенно усложняют задачу злоумышленника и делают незаметный сбор персональных данных значительно более трудным.
-
Следуйте принципу сокращения поверхности атаки (Attack Surface Reduction) (или бритвы Оккама) — отключайте все ненужные демоны, службы и процессы, которые не требуются для вашей работы.
- Если существует вероятность, что служба, демон или процесс могут понадобиться в будущем — отключите их и уберите из автозапуска.
- Если вы уверены, что никогда не будете их использовать — полностью удалите их из системы.
Внимание: Перед удалением ненужных демонов, служб или приложений убедитесь, что их удаление не нарушит зависимости с другими компонентами системы или приложениями.
Всегда создавайте полную резервную копию системы (rsync) перед внесением любых существенных изменений в конфигурацию или систему.
-
Всегда сначала выполняйте симуляцию удаления, чтобы увидеть, какие пакеты apt планирует удалить, не выполняя фактическое удаление. Пример:
sudo apt -s remove <package>или:
sudo apt remove --simulate <package> -
Всегда проверяйте, какие другие пакеты apt собирается удалить.
Такая практика снижает потенциальные векторы атак и повышает общий уровень безопасности системы.
-
Регулярно выполняйте антивирусное и антируткит-сканирование системы.
При целевых атаках злоумышленники, как правило, полагаются на пассивные или скрытые методы — такие как перехват данных, мониторинг, анализ трафика и минимальное вмешательство в систему, не оставляющее заметных следов. Тем не менее, периодическое антивирусное и антируткит-сканирование остаётся полезной профилактической мерой, позволяющей своевременно выявлять известные угрозы и поддерживать общий уровень защищённости системы.
-
Всегда документируйте каждое изменение, которое вы вносите в конфигурационные файлы системы и приложений. Добавляйте примечание в виде комментария непосредственно в конфигурационный файл — либо над изменённой строкой, либо после неё.
Формат:
# YYYY-MM-DD HH:MM, краткое описание изменения, причинаПример:
Редактированиеsshd_configдля отключения входа root по SSH:PermitRootLogin no # 2025-11-09 14:35, вход root по SSH отключён, повышение безопасности системыПочему это важно:
- Позволяет быстро понять, когда и по какой причине было внесено изменение.
- Помогает при диагностике будущих проблем — вы легко определите, какое изменение могло вызвать сбой или конфликт.
- Упрощает аудит системы и проверки безопасности.
-
Используйте графические окружения на базе Wayland.
Wayland — это современный протокол графического сервера, обеспечивающий более строгую изоляцию приложений. В отличие от Xorg, где любое клиентское приложение может потенциально перехватывать ввод (клавиатуру, мышь) и наблюдать за другими окнами, Wayland реализует модель, при которой приложения не имеют прямого доступа друг к другу и к глобальному вводу.
Это значительно снижает последствия компрометации одного приложения: даже при взломе оно не сможет прозрачно отслеживать действия пользователя в других программах.
Wayland поддерживается современными окружениями рабочего стола, такими как GNOME (используется по умолчанию в Debian 13), KDE Plasma и рядом других.
Технология Xorg считается устаревшей с точки зрения безопасности из-за своей архитектуры, не предусматривающей изоляцию клиентов.
Рекомендуется убедиться, что ваше окружение рабочего стола действительно использует Wayland, а не Xorg (например, через переменную окружения XDG_SESSION_TYPE).
Если интерфейс GNOME кажется непривычным, его можно гибко настроить с помощью расширений и системных параметров, адаптировав поведение окон и панели под привычный стиль работы.
-
Используйте принцип сегментации системы
Сегментация системы — это стратегия изоляции критических данных и приложений с целью снижения риска компрометации всей системы при атаке на отдельный процесс или сессию. Идея состоит в том, чтобы разделить единое пространство системы на отдельные сегменты, каждый из которых работает автономно или с ограниченными правами, лишая злоумышленника возможности «перепрыгнуть» между ними.
Основные подходы:
-
Защита критически уязвимых системных приложений профилями AppArmor
- Компоненты пользовательской сессии делятся на инфраструктурные сервисы (например, dbus-daemon, systemd --user, pipewire/pulseaudio, udisks2) и клиентские приложения (например, расширения GNOME вроде dash-to-panel).
-
Для клиентских приложений необходимо ограничивать доступ к:
- межпроцессным коммуникациям (
dbus,/proc,/sys); - файловой системе (только необходимые каталоги и конфигурации);
- Unix-сокетам и временным файлам (только строго необходимое).
- межпроцессным коммуникациям (
-
Для инфраструктурных сервисов следует ограничивать:
- доступ к файловой системе (исключая необходимые служебные каталоги);
- доступ к посторонним IPC-механизмам и сокетам, не связанным с их функцией;
- доступ к
/procи/sysвне необходимого минимума.
- Все лишние возможности должны быть заблокированы, чтобы ни один компонент не мог стать точкой входа к другим сегментам системы.
- (Подробнее - смотрите инструкции к AppArmor)
-
Изоляция пользовательских приложений через сандбоксы
-
Для приложений, работающих с чувствительными данными (браузеры, заметочники, генераторы паролей), использовать Flatpak, Firejail или аналогичные технологии.
- Для тонких настроек Flatpak используйте приложение Flatseal, где вы можете ограничить права контенеров на доступ к системе (Настойки Flatpak по умолчанию могут быть слишком мягкие и не обеспечивать необходимого в сложных ситуацих уровня защиты)
- Для тонких настроек Firejail используйте приложение пользовательские профили (подобно профилям AppArmor), где вы можете ограничить права контенеров на доступ к системе (Настойки Firejail по умолчанию так же могут быть слишком мягкие и не обеспечивать необходимого в сложных ситуацих уровня защиты)
- Сандбокс ограничивает доступ к файловой системе, сокетам, dbus, аудиосистеме и другим процессам, создавая отдельную «песочницу» для каждого приложения.
-
Для приложений, работающих с чувствительными данными (браузеры, заметочники, генераторы паролей), использовать Flatpak, Firejail или аналогичные технологии.
Итог:
Принцип сегментации состоит в том, чтобы всеми доступными средствами резать единое пространство системы на ограниченные сегменты, лишая потенциального злоумышленника возможности атаковать всю систему. При этом важно сохранять гармонию и стабильность: сегменты должны быть независимыми или частично независимыми, но система в целом остаётся функциональной и управляемой.
-
📋 TL;DR — Практическое руководство
- 16 ключевых мер: Полное шифрование диска, удаление ненужных служб, длинные пароли, только официальные репозитории, осторожность с sudo, AppArmor, nftables + OpenSnitch, настройка sysctl, IDS/IPS, сканеры уязвимостей, снижение поверхности атаки, документирование изменений, Wayland, сегментация системы.
Связанные аспекты интернет-безопасности
Существуют аспекты интернет-безопасности, которые при игнорировании могут значительно снизить или полностью свести на нет все ваши усилия по настройке и защите операционной системы, либо, напротив, при грамотном применении — существенно усилить конфигурацию безопасности при минимальных затратах времени и ресурсов.
-
Храните пароли в надёжном менеджере паролей.
Устаревшие и небезопасные способы хранения паролей по-прежнему широко распространены, включая:
- полагание на человеческую память с риском забыть или перепутать учётные данные;
- хранение паролей на бумажных носителях, которые могут быть повреждены, утеряны или украдены;
- сохранение паролей в веб-браузерах в незашифрованном виде;
- хранение паролей в текстовых файлах на рабочем столе или в других каталогах без шифрования;
- и аналогичные подходы.
От таких практик следует отказаться в пользу использования современного надёжного менеджера паролей, обеспечивающего корректное шифрование и контроль доступа.
Менеджер паролей шифрует базу данных паролей, и доступ к ней возможен только после ввода мастер-пароля, который необходимо запомнить.
Регулярно создавайте актуальные резервные копии зашифрованной базы данных паролей.
Не полагайтесь на память для запоминания всех паролей:
сильные, устойчивые к атакам пароли трудно запомнить,
тогда как пароли, которые легко запоминаются, как правило, неустойчивы к компрометации.Дополнительные практические рекомендации
Менеджер паролей (например, KeePassXC) можно настроить на автоматический ввод пароля суперпользователя в окно терминала. Настоятельно рекомендуется жёстко привязывать этот автоматический ввод именно к окну терминала, чтобы предотвратить случайный ввод пароля в другое поле или приложение. Такой подход позволяет безопасно использовать длинные, криптографически стойкие пароли для привилегированных операций.
Пример базы данных в KeePassXC. Иерархия групп позволяет структурно разделять пароли, а для каждого аккаунта можно хранить логин, пароль, URL и заметки. Кроме того, отдельные записи учётных данных в менеджере паролей могут содержать прикреплённые зашифрованные данные — например, текстовые файлы с кодами доступа, GPG-ключами или парольными фразами. Вся такая информация хранится в зашифрованном виде в рамках единой защищённой базы данных.
Крайне важно использовать сильный мастер-пароль и никогда не передавать его другим лицам. База данных паролей не должна оставаться постоянно разблокированной. После завершения необходимых операций её следует закрывать, либо настраивать автоматическую блокировку при наступлении определённых условий (например, блокировка экрана или закрытие ноутбука) и/или по истечении заданного периода бездействия (например, 15–30 минут).
-
Включите двухфакторную аутентификацию (2FA) для всех своих онлайн-аккаунтов (электронная почта, социальные сети и т.д.) — это означает подтверждение входа с помощью телефонного звонка, SMS, одноразового кода в мобильном приложении-аутентификаторе (см. Authenticator app) либо аппаратного ключа безопасности, такого как YubiKey.
Аппаратные аутентификаторы (USB/NFC-ключи), в том числе YubiKey и другие аналогичные устройства, обладают следующими преимуществами:
- Аппаратный аутентификатор помогает защититься от фишинга, поскольку устройство проверяет домен сайта и не работает на поддельных или визуально похожих ресурсах.
- Такое устройство практически невозможно взломать удалённо или по сети, в отличие от приложений, если телефон или резервный пароль были скомпрометированы.
- Кроме того, аппаратный аутентификатор не подвержен атакам SIM-swap, в отличие от SMS-2FA, поскольку не привязан к номеру телефона.
Различные типы аппаратных токенов безопасности: USB-ключи (YubiKey), NFC-токены, смарт-карты, OTP/TOTP-брелоки и Bluetooth-токены. На сегодняшний день это один из самых надёжных вариантов двухфакторной аутентификации.
-
Использование VPN для повышения конфиденциальности и безопасности
Если вы частный пользователь, вы также можете настроить системный VPN (например, ProtonVPN), чтобы через него проходил весь трафик устройства — а не только трафик браузера или отдельных приложений.
Включите режим «killswitch» и отключайте его только при необходимости, сразу же включая обратно.
Также рекомендуется периодически менять VPN-серверы, делая это с разными и непредсказуемыми интервалами.
Использование VPN повышает уровень вашей конфиденциальности: весь ваш трафик будет зашифрован от наблюдателей в локальной сети и от интернет-провайдера. Это усложняет применение некоторых методов социальной инженерии, основанных на анализе трафика, а также помогает защитить вашу приватность в случае компрометации инфраструктуры провайдера.
Если вы владеете сервером и хотите, чтобы доступ к нему был возможен только для доверенных частных или юридических лиц, одновременно повышая защиту от несанкционированного доступа, вы можете настроить сервер таким образом, чтобы SSH и другие внутренние службы были доступны исключительно через OpenVPN с использованием TLS-аутентификации (
tls-auth/tls-crypt) и уникальных клиентских сертификатов вместо паролей (см. инструкцию).
-
Активно изучайте и применяйте искусственный интеллект для улучшения конфигураций безопасности в Debian и других дистрибутивах Linux, а также для решения сопутствующих задач кибербезопасности. Недостаток знаний часто становится самым слабым звеном; ИИ способен предоставлять точные, структурированные рекомендации в интерактивном режиме и помогать автоматизировать рутинные или сложные операции.
Всегда проверяйте рекомендации, сгенерированные ИИ, перед их применением в рабочих средах. Тестируйте любые изменения в изолированной системе, анализируйте предлагаемые команды и конфигурации и убеждайтесь, что рекомендации соответствуют вашей модели угроз и архитектуре безопасности.
На практике пользователи, эффективно использующие инструменты ИИ, значительно лучше подготовлены к сложным внезапным атакам, а внедрение таких технологий делает вредоносную активность для злоумышленников заметно более сложной.
-
Используйте Wi-Fi-роутер, поддерживающий nftables или эквивалентный современный фреймворк фильтрации пакетов.
Не рекомендуется полагаться на самые дешёвые бытовые маршрутизаторы, лишённые встроенных механизмов безопасности и возможностей тонкой фильтрации трафика. Роутер следует рассматривать как неотъемлемую часть общей архитектуры безопасности, а не как элемент, увеличивающий поверхность атаки.
Развёртывание дополнительного уровня сетевой фильтрации на входе в домашнюю сеть существенно усложняет злоумышленнику построение эффективной конфигурации атаки и увеличивает её стоимость. Настройте строгие и чётко определённые правила фильтрации в nftables (или другом файерволе) на роутере, включая ограничения входящих соединений, контроль исходящего трафика и сегментацию сети при необходимости.
Доступ к административному интерфейсу роутера должен быть защищён сильным уникальным паролем. По возможности доступ к управлению следует ограничить доверенными сетями или только проводными интерфейсами.
Такая конфигурация обеспечивает дополнительный уровень защиты не только для основной рабочей станции, но и для других устройств в сети (например, мобильных устройств на базе Android), которые часто не имеют технической возможности использовать фильтрацию пакетов на уровне хоста (iptables или nftables).
-
Аппаратный межсетевой экран
Если вы работаете с конфиденциальной информацией и находитесь в зоне повышенного риска кибератак, рассмотрите возможность использования дополнительного уровня защиты в виде аппаратного межсетевого экрана.
Важное замечание о стоимости: помимо разовой стоимости устройства (начиная примерно с 55 долларов США), требуется ежегодная платная подписка на обновления угроз. Поэтому такое решение экономически оправдано в основном в двух случаях:
- вы работаете с критически важной информацией, утечка которой недопустима (например, коммерческие тайны, персональные данные клиентов, уникальные разработки, либо ваша профессиональная деятельность связана с чувствительными данными в таких сферах, как правоохранительные органы, военная сфера, юридическая практика, журналистика, здравоохранение и т.д.);
- у вас есть обоснованные подозрения, что вы или ваша организация можете быть объектом целевой атаки.
Злоумышленники часто полагаются на непосредственное взаимодействие с вашими устройствами. Наличие выделенного аппаратного межсетевого экрана с подпиской и регулярными обновлениями создаёт для них серьёзное препятствие. Он действует как независимый фильтр, анализируя весь входящий и исходящий трафик до того, как он достигает конечных устройств. Это существенно увеличивает стоимость и сложность атаки для вредоносного актора и снижает её эффективность.
Однако это не следует рассматривать как панацею. Это дополнительный, а не единственный уровень защиты. Его наличие не отменяет необходимости:
- настройки базовой безопасности роутера;
- использования программного межсетевого экрана и антивируса на ПК;
- своевременного обновления операционной системы и приложений;
- соблюдения кибергигиены (например, использования менеджера паролей и осторожности при фишинге).
Аппаратный межсетевой экран должен быть органично встроен в общую архитектуру безопасности, формируя многоуровневую (defense-in-depth) систему защиты. Именно такая система, при которой взлом одного барьера не приводит к компрометации всей сети, представляет наибольшую сложность для злоумышленников.
Инструменты искусственного интеллекта, аппаратные межсетевые экраны, аппаратные аутентификаторы и другие средства, не относящиеся напрямую к Debian/Linux, упоминаются здесь в качестве необязательных технических вспомогательных средств, а не в качестве рекламы или поддержки какого-либо конкретного сервиса, производителя или продукта. Автор не занимается коммерческим продвижением программного обеспечения, аппаратных решений или услуг, а лишь приводит необязательные рекомендации мер, прямо или косвенно повышающих безопасность использования операционной системы.
-
Также важно учитывать возможность атак на аппаратном уровне.
Хотя такие атаки встречаются значительно реже и, как правило, требуют больше ресурсов, чем программные атаки, они остаются потенциальной угрозой. В отдельных сценариях злоумышленник может эксплуатировать уязвимости прошивок устройств либо проводить комбинированную атаку, затрагивающую как программный, так и аппаратный уровни. Примеры включают удалённую инъекцию вредоносного кода в прошивки материнской платы, роутера, оптического модема или других аппаратных компонентов.
Если после тщательного аудита на уровне программного обеспечения проблема безопасности остаётся нерешённой, рекомендуется провести аудит и на аппаратном уровне, включая проверку целостности и конфигурации прошивок устройств.
И самое главное — откажитесь от иллюзии полной безопасности. Мы живём в условиях жёсткой информационной войны, и каждый должен прилагать усилия, чтобы злоумышленники не могли свободно осуществлять слежку за рабочими станциями и серверами.
📋 TL;DR — Связанные аспекты интернет-безопасности
- 8 дополнительных мер: Менеджер паролей (KeePassXC), двухфакторная аутентификация (аппаратные ключи), VPN, использование ИИ для безопасности, сокращение зависимости от Google, защита роутера (nftables), аппаратный межсетевой экран (для высокого риска), аудит аппаратного уровня.
Примеры глубокой индивидуальной настройки безопасности
На данной странице приведены примеры сильных, индивидуализированных конфигураций для nftables, sysctl и auditd.
Примеры глубокой индивидуальной настройки безопасности.
📋 TL;DR — Примеры конфигураций
- Где взять примеры: На странице Debian Wiki приведены сильные индивидуализированные конфигурации для nftables, sysctl и auditd.
Полезные программы
На этой странице приведён список программ, полезных и напрямую связанных с настройкой и поддержанием безопасности Linux-систем.
Включённые в список программы либо являются open-source (большинство), либо коммерческими с бесплатно доступным ограниченным функционалом, достаточным для выполнения базовых задач безопасности (меньшая часть).
📋 TL;DR — Полезные программы
- Где искать: На странице Debian Wiki приведён список полезных open-source и коммерческих программ для настройки и поддержания безопасности Linux-систем.
Дополнительные статьи на сайте автора
Примечание: следующие материалы предоставлены исключительно в ознакомительных, защитных и образовательных целях. Они предназначены для помощи пользователям в распознавании угроз и построении собственной системы безопасности. Все персональные данные и идентификаторы были анонимизированы.
Внешние ресурсы
Securing Debian Manual 3.19 — Javier Fernández-Sanguino Peña
Этот документ описывает вопросы безопасности в проекте Debian и в операционной системе Debian. Начиная с процесса обеспечения безопасности и усиления защиты стандартной установки Debian GNU/Linux, он также рассматривает типовые задачи по созданию защищённой сетевой среды на базе Debian GNU/Linux, предоставляет дополнительную информацию о доступных инструментах безопасности и объясняет, каким образом безопасность в Debian обеспечивается силами команды по безопасности и аудиту.
Читайте этот документ — это Holy Bible любого пользователя Debian, заинтересованного в безопасности системы.
The Complete nftables Guide: Modern Linux Firewall Mastery — Ihouele Caurcy
Исчерпывающее руководство по nftables — современному заменителю iptables, ip6tables, arptables и ebtables. От базовых концепций до конфигураций корпоративного уровня.
iptables, nftables, and You: A Friendly Guide to Traffic Rules
Дружественное руководство по iptables и nftables в Linux: объясняет архитектуру Netfilter, таблицы, цепочки и правила с примерами конфигураций (SSH, блокировка IP, проброс портов). Рассматривает различия между iptables и nftables, миграцию и совместимость с современными инструментами межсетевого экранирования.
AppArmor
Официальная вики проекта AppArmor для Linux. Содержит руководство для пользователей и разработчиков, инструкции по созданию и управлению профилями безопасности, примеры политик доступа для приложений и лучшие практики защиты операционной системы.
Security, Privacy and Anonymity in Linux Mint — Michel Nallino
Качественная и комплексная работа по безопасности Linux Mint, полезная также и для других дистрибутивов Linux.
CISA — Cybersecurity Best Practices
CISA (Certified Information Systems Auditor) предоставляет информацию о лучших практиках кибербезопасности, помогающих частным лицам и организациям внедрять превентивные меры и управлять киберрисками.
Благодарности
Благодарность сообществу Linux за отзывы и улучшения данной статьи, особенно в рамках обсуждений на LinuxQuestions.org.
Также выражается благодарность администраторам форума Debian за добавление этой статьи в архив Debian User Forums как полезного и актуального материала — Debian User Forums.
Обсуждение: пожалуйста, делитесь комментариями и предложениями на странице обсуждения.
↑ Вернуться в начало страницы