ServerAdmin.ru
26.7K subscribers
207 photos
24 videos
8 files
2.5K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
​​Ещё не успел перейти на nftables, а оказывается, что может и не придётся, так как на смену спешит eBPF, который уже много где используется. Например, в cilium.io (одна из реализаций сети для контейнеров в kubernetes). У них подробный материал есть на эту тему - Why is the kernel community replacing iptables with BPF.

Я уже почти созрел и давно запланировал переход на nftables. Уже и примеры конфигураций смотрел, и понял, зачем мне это надо. Nftables действительно удобнее iptables. Рекомендую погуглить различия, если ещё не делали этого. Из того, что сходу помню и на что обратил внимание: единый конфиг для ipv4 и ipv6, более короткий и наглядный синтаксис, больше не нужен ipset, так как nftables умеет быстро работать с огромными списками, экспорт правил в json и т.д.

И вот на сцене появляется ещё один пакетный фильтр bpfilter. Он не новый, но как я понял из некоторых новостей, которые погуглил, его активно развивают и уже много куда внедряют. Его используют в том числе Facebook и Netflix. Понятно, что они много чего используют и это не показатель реальной популярности и скорого роста использования того или иного продукта.

Написал эту заметку не только, чтобы поделиться информацией, но и спросить тех, кто разбирался уже в этом вопросе. Мне сейчас реально не понятно, eBPF это реально наше будущее в Linux и переходить на nftables не имеет большого смысла. Или не всё так однозначно? Если посмотреть презентацию с недавней конфы линуксоидов, то там прям на пальцах объяснили, что bpfilter это будущее. И там же указано, что будет переход From nft to bpfilter. Во разогнались как 😄 Я ещё на nft не перешёл, а они уже на bpfilter переезжают.

#iptables #nftables #bpfilter #firewall
Сейчас почти во всех современных Linux дистрибутивах по умолчанию используется firewall nftables. Я себе не придумываю никаких оправданий, почему я всё ещё им не пользуюсь. Уже пора это делать, но просто руки не доходят переделать правила. Ничего сложного там нет, а синтаксис nft удобнее и нагляднее, чем у iptables.

Предлагаю к просмотру простое видео с наглядным примером по настройке типовых правил для веб сервера с помощью nftables. Автор кратко рассказывает про nftables, приводит старые правила для iptables и переводит их в формат nftables.

▶️ Начинаем работу с nf_tables:
https://www.youtube.com/watch?v=XcILw0qFBLA

С учётом того, что nftables чаще всего уже установлены, для них есть юнит в firewalld, использовать стоит именно их. Я по старинке удаляю nftables, ставлю iptables и беру свои готовые, проверенные временем правила на все случаи жизни. Пора от этого уходить. Если раньше ещё туда-сюда было, то сейчас это банально экономия времени.

Основные отличия от iptables, о которых знаю:
единый конфиг для ipv4 и ipv6;
более короткий и наглядный синтаксис;
nftables умеет быстро работать с огромными списками, не нужен ipset;
экспорт правил в json.

Вы перешли уже на nftables? Проскакивает инфа, что грядёт переход на bpfilter, так как он ещё удобнее, но пока не понятна окончательная история с ним. В дистрибутивах по факту стоит nftables.

#видео #firewall #nftibles
​​Когда речь заходит о программном шлюзе, первое, что приходит в голову это наиболее популярный Pfsense. Более продвинутые, кто предпочитает настраивать шлюзы через cli, вспомнят про VyOS. Но есть ещё один продукт, который я лично использовал - IPFire.

Это аналог Pfsense, только на Linux. Причём сделан не на основе готового дистрибутива, а собран из исходников самостоятельно авторами. То есть там под капотом не какой-то условный debian или centos. Поэтому там нет ничего лишнего. Разработчики заявляют, что всё собрано и оптимизировано конкретно под задачи маршрутизации и фаервола. Отсутствие лишних компонентов повышает безопасность и стабильность системы.

Всё управление через web браузер, в консоль ходить не надо. На мой взгляд IPFire проще сделан, меньше функционала, но и настроить, разобраться быстрее. Лично мне по логике работы и организации функционала IPFire понравился больше Pfsense, когда я его использовал. Но это субъективно, не претендую на какой-то анализ и сравнение.

Основные задачи, которые решает IPFire:
DHCP и DNS сервер.
Firewall. Сделан на базе iptables.
QOS.
Intrusion Prevention System (IPS). Построена на базе Suricata.
Web Proxy. Под капотом Squid.
Ipsec и OpenVPN.

В IPFire удобно организована настройка OpenVPN через браузер. Уже даже для одной этой задачи имеет смысл его рассмотреть и попробовать. Из необычного, там реализован функционал 2FA для соединений на базе типовых сертификатов (с паролем или без) и дополнительного pin кода.

Функционал можно расширять с помощью дополнений. Их там довольно много. Можно реализовать типовой функционал для linux дистрибутивов: Samba, NFS Server, Bacula, Borg Backup, Postfix и т.д. Можно поставить Zabbix Agent, чтобы организовать нормальный мониторинг системы. В веб интерфейсе есть русский язык.

Проект живой, регулярно обновляется. Последний релиз - 17 сентября этого года. Сам софт бесплатный, исходники открыты. Компания зарабатывает продажей готового железа с преднастроенной системой.

Думаю, среди читателей найдётся немало людей, кто использовал или использует IPFire. Поделитесь, почему остановились именно на нём, а не каком-то другом продукте.

Сайт - https://www.ipfire.org
Исходники - https://github.com/ipfire/ipfire-2.x

#gateway #firewall
​​Если вам нужно скрыть UDP трафик или организовать соединение там, где разрешено только TCP или ICMP, то может помочь Udp2raw-tunnel. Это open source решение от автора UDPspeeder, про который я рассказывал отдельно.

Udp2raw умеет маскировать UDP пакеты, добавляя фейковые ICMP/TCP заголовки. Фаерволы, не имеющие в своем арсенале анализаторов пакетов, будут считать их пакетами соответствующих протоколов с фейковыми заголовками.

При этом настроить и запустить в работу Udp2raw очень просто. Достаточно скачать бинарник, запустить его с некоторыми параметрами. И то же самое сделать со стороны клиента.

# Запустить со стороны сервера:
./udp2raw_amd64 -s -l0.0.0.0:4096 \
-r 127.0.0.1:7777  -k "passwd" --raw-mode faketcp -a

# Запустить со стороны клиента:
./udp2raw_amd64 -c -l0.0.0.0:3333 \
-r44.55.66.77:4096 -k "passwd" --raw-mode faketcp -a

Подключение к локальному UDP порту 3333 на стороне клиента будет эквивалентно подключению к локальному порту 7777 на сервере. При этом через туннель пойдёт фейковый TCP трафик.

Зачем это может быть нужно? Например, в публичных сетях часто закрыт UDP трафик, открыт только TCP на 80 и 443 порту. С помощью Udp2raw можно обойти это ограничение. Правда я в этом случае использую OpenVPN на TCP порту. Но он достаточно легко определяется и блокируется при желании.

Если заблокирован и TCP и UDP, то поднимаем фейковый туннель через ICMP. Со стороны своего сервера настраиваем OpenVPN, через ICMP туннель подключаемся к своему OpenVPN и пользуемся полным доступом в сеть.

Исходники / Инструкция с OpenVPN

#vpn #firewall #security