Защита установки Debian для домашнего использования

8

Debian поставляется с несколькими hardenпакетами, разработанными для повышения безопасности компьютера. Мои потребности очень просты: обработка текста и просмотр веб-страниц. Я не запускаю никаких специальных серверов, не использую SSH, telnet и т. Д. Единственное программное обеспечение, которое, как я знаю, должно использовать Интернет, это iceweaselи apt.

  • Есть ли способ обеспечить доступ к Интернету только этим двум программам?
  • hardenПодходят ли какие-либо пакеты для этих нужд?
Деревня
источник

Ответы:

6

В пользовательской установке по умолчанию установлено только ssh как серверное приложение, которое вы можете просто удалить aptitude remove openssh-serverчерез любой другой менеджер пакетов, который вы используете.

Ограничить доступ к сети для приложений сложно. {{РЕДАКТИРОВАТЬ : Тем не менее, в настоящее время разработан Leopard Flower, который, кажется, предоставляет необходимые функции (межпроцессный межсетевой экран, интерактивный интерфейс пользователя) }} Увидеть За процесс брандмауэр? для получения дополнительной информации о теме. Не используя сложные решения, вы можете ограничить доступ к сети только специальным пользователям через ownerмодуль iptables .

Как обычный пользователь вам не нужно никаких harden-*пакетов. Они либо конфликтуют с небезопасными пакетами, которые вы, вероятно, в любом случае не установили, либо устанавливают пакеты безопасности, которые для обычных систем слишком сложны в настройке и обслуживании - например, системы вторжения в сеть.

jofel
источник
3

Я бы согласился со строгим использованием iptables. Это очень простой брандмауэр на основе командной строки, который использует ядро ​​(в большинстве дистрибутивов).

Еще одно предложение, которое я хотел бы сделать, - selinux. Я не уверен, что теперь Debian поставляется с ним по умолчанию. Коротко говоря, Selinux - это обязательный контроль доступа, то есть на уровне ядра он управляет связью между приложением и внешними ресурсами (т. Е. Файлами и свойствами системы). Как примечание, он также был разработан с помощью АНБ. С помощью профилей selinux вы можете запретить приложениям читать файлы за рамками.

В сочетании с лучшими практиками, такими как отключение ненужных демонов, хорошие правила брандмауэра selinux могут быть вариантом, который вы ищете, чтобы укрепить эту коробку.

Эндрю Мунро
источник
Этот ответ может быть улучшен путем предоставления примера политики selinux, которая демонстрирует выполнение того, о чем просит OP.
JMTD
Как и было запрошено, это хороший пример Cent OS для усиления доступа apache с помощью командной строки selinux. wiki.centos.org/HowTos/…
Эндрю Мунро,
2

К сожалению, похоже, что нет никаких альтернатив Linux littlesnitchили or zonealarm, и большинство брандмауэров с графическим интерфейсом оставят вас без внимания. Конечно, вы можете сделать немало полезных вещей iptablesи отслеживать соединение так.

Одна часто пропускаемая утилита tcpwrappers. Я бы добавил правило /etc/hosts.deny:

ALL: PARANOID

Кроме того, отключите ping и другие ответы ICMP, добавив следующую строку в /etc/sysctl.conf:

net.ipv4.icmp_echo_ignore_all = 1

РЕДАКТИРОВАТЬ : Я склонен согласиться с jmtd, если подумать, есть более эффективные способы фильтрации пингов.

kwarrick
источник
Проблема в tcpwrappersтом, что она включена : программа должна быть связана с библиотекой упаковщиков, чтобы она действительно вступила в силу. iceweaselне является. Вы могли бы заставить это быть через LD_PRELOADхитрость, если хотите.
JMTD
Отключение ICMP-ответов является сомнительным преимуществом с точки зрения безопасности и не обходится без затрат: оно может значительно замедлить сетевые взаимодействия, если ответ ожидает тайм-аут, вместо того, чтобы получить явный отказ. Ограничение скорости отклика для защиты от DDoS - гораздо лучший подход. ICMP-DDoS является практически несуществующей проблемой для пользователей настольных компьютеров в современную эпоху.
JMTD
@jmtd tcpwrapper не -capable LD_PRELOAD. Программы должны поддерживать это. Для статически связанных программ LD_PRELOADне будет работать в любом случае.
Джофель
@jmtd Согласен, я отредактировал свой ответ. Однако я все еще считаю, что игнорирование эхо-запросов полезно не для защиты от ICMP-DDoS, просто чтобы избежать обнаружения хоста.
kwarrick
1

Остановите все службы, которые вы не хотите запускать: ssh, smtp, http, все, что вы не хотите запускать. Настройте свои iptables, чтобы заблокировать все доступ к вашему компьютеру или оставление вашего компьютера отдельно от программного обеспечения, которое вы хотите.

Обратите внимание, что я не даю полный список команд для ввода, поскольку крайне важно, чтобы каждый изучал и понимал значение служб и iptables, прежде чем связываться с ними.

Сардатрион - против злоупотребления SE
источник
1

Наиболее популярной основой сетевой фильтрации / брандмауэров в Linux является то iptables, что она не работает на прикладной основе. Вам нужна программа политики безопасности, которая может ограничивать доступ программ к сетевым ресурсам. Два подхода были бы SELinux и AppArmor .

Вот несколько примеров рецептов AppArmor , один из которых открывает доступ к сети для Firefox / Iceweasel.

jmtd
источник