iptablesПодписка на RSS - iptables

Торренты, iptables, запреты и разрешения на шлюзе

Начну с того, что для deluge недавно не смог открыть порты, эта торрентокачалка не довольствовалась простым открытием UDP портов 6881:6889, ей с какого-то перепугу вдруг понадобилось разрешение на самовольное открытие портов в цепочке OUTPUT, ну естественно не очень мне этого хотелось.
Итак, политики по-умолчанию:

В ядре Linux 3.13 ожидается появление нового пакетного фильтра Nftables

В экспериментальную ветку linux-next, на базе которой будет формироваться ядро Linux 3.13, принят код Nftables, новой реализации пакетного фильтра, идущей на смену iptables, ip6table, arptables и ebtables. Nftables отличается существенным пересмотром организации процесса обработки правил фильтрации пакетов, новым синтаксисом правил, сокращением кода, выполняемого на уровне ядра, и унификацией интерфейсов для IPv4, IPv6, ARP и сетевых мостов.

Блокируем много IP адресов с помощью ipset и iptables

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

И тут на помощь к нам приходит (барабанная дробь) ipset.
Ipset позволяет использовать большие таблицы IP и MAC адресов, подсетей, номеров портов совместно с iptables (подключение производится через одно правило, в таблице используется хэширование). Возможно быстрое обновление списка целиком.

Debian простой шлюз и firewall

Каждый выход в интернет не только дает возможность подключаться к различным серверам и сайтам, но и создает потенциальную опасность проникновения на наш компьютер извне. Не стоит пренебрегать этой опасностью. Ситуация усугубляется оттого, что в некоторых (пока еще) широко распространенных операционных системах по умолчанию остаются открытыми многие порты, что позволяет подключаться из интернета к пользователю незаметно для последнего.
Поэтому в основу любого firewall должны быть заложены правила по закрытию и контролированию портов.
В нашем случае действуют политики по умолчанию - всё закрыть, открыть извне только то что нам необходимо ("block everything, then open up holes as neccessary"), а также сам шлюз и компьютеры локальной сети могут открывать порты в обратную сторону самостоятельно, вот как эти правила выглядят на языке iptables:

Iptables: Учим правила

Учим правила.
В iptables правило фильтрации определяет, как из общего потока данных отбирать определенные пакеты и что с ними делать. С приходящим или уходящим пакетом ты можешь сделать не очень много, но этого вполне достаточно, чтобы создать довольно мощную защиту.
Пакет мы может принять, отбросить с уведомлением отправителя пакета, уничтожить или переслать на другое правило или куда-то еще. Несколько правил составляют цепочку. Фильтр просматривает правила в цепочке одно за другим и выполняет предписанные действия.
Есть стандартные цепочки, но можно намутить и пользовательские, их может быть сколько угодно и каждая из них может иметь свое имя. Теперь немного о стандартных цепочках. Стандартная цепочка INPUT. В нее попадают все ВХОДЯЩИЕ в фильтр пакеты.
Цепочку INPUT проходят пакеты, которые предназначены локальным приложениям (самому firewall'у).

Конфиг iptables внезапно найденный на gentoo.ru

Без комментариев, найдено тут
Понравилась реализация.

Защита ssh средствами iptables

  • Ограничение количества подключений
  • Для защиты от brute force (перебора паролей), можно ограничить количество подключений на 22 порт с одного ip адреса до нескольких раз в минуту, после чего блокировать попытки подключения для данного ip.

    Iptables: ICMP, Брутфорс, Спуфинг, Полезности

    Запрет Icmp-сообщений.
    Хорошей практикой также является запрет ICMP-сообщений, которые могут выдать дополнительную информацию о хосте или быть использованы для выполнения различных злонамеренных действий (например, модификации таблицы маршрутизации). Ниже приведена таблица со списком возможных типов ICMP-сообщений:

    Типы ICMP-сообщений.

    Iptables: Сканирование портов

    Чтобы выявить наличие уязвимых сервисов на машине, атакующий производит разведку с помощью сканера портов и различных систем обнаружения уязвимостей. Обычно в качестве сканера портов используется nmap, который способен осуществлять сканирование десятком различных способов и в некоторых случаях умеет выявлять версии ОС и сервисов. Вот список особенно популярных флагов nmap, которые обычно используют взломщики:

    Флаги nmap, используемые при сканировании.

    Iptables: Скрытые возможности

    Оригинал статьи http://www.linuxjournal.com/article/7180
    Статья не новая мягко говоря, но материал заслуживает внимания и актуален до сих пор. Многое из того что в статье проходит как патчи сейчас включено в iptables по-умолчанию.

    С помощью этого мощного набора расширений для iptables вы сможете строить свои правила, основываясь на анализе содержимого пакетов,диапазона портов и даже создавать ловушки для злоумышленников.

    Фильтрация нелегальных адресов в брандмауэре

    Loopback-адреса.

    Адреса обратной петли (127.0.0.0 - 127.255.255.255) никогда не могут ис­пользоваться за пределами интерфейса lo. Если пакеты с loopback-адресами появились на интерфейсе, отличном от lo, значит, они были подделаны (spoffed).

    В следующем примере кода будет создана пользовательская цепочка bad_packets, которая будет отбрасывать адреса, перечисленные выше. Все отброшенные пакеты будут запротоколированы - хороший способ отладки неправильно сконфигурированных приложений и попыток спуффинга.

    Цели правил iptables

    Целью правил iptables называется действие, которое выполняется над пакетом, если его заголовок соответствует совпадению правила. Обычно используются 15 стандар­тных целей. Также можно указать в качестве цели пользовательскую це­почку, которой передается управление. Если ни одно из правил в пользовательской цепочке не совпало, выполнение передается назад в вызывающую цепочку.

    Опция -j используется для задания цели. Стандартные цели пишутся прописными буквами.

    Пользовательские цепочки создаются следующим образом: