- 1
https://habr.com/ru/post/456558/
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
https://habr.com/ru/post/456558/
Какой багор )))))))))))))))))))))))))))))))))))))))) ))))))))))))))))))
Закон этого не запрещает.
Отпечаток можно получить и другими способами:
http://ip-check.info/?lang=en
Браузер перед запросом GET/POST посылает запрос OPTIONS, чтобы прочитать заголовки для CORS. Если CORS разрешает запросы, то он посылает настоящий запрос GET/POST. Если CORS запрещает, то он запросы GET/POST посылать не будет, но ведь запрос OPTIONS он уже послал без спросу (иначе он не узнает правила CORS)!
Это моя пика. Таких пик много, но эта моя. Моя пика без меня бесполезна. Я бесполезен без моей пики. С моей пикой и божьей помощью сокрушу любого врага. Аминь.
Мне сказал один мужик, нынче в моде лес из пик...
Это мои прыщи. Таких прыщей много, но эти —– мои. Мои прыщи без меня бесполезны. Я бесполезен без моих прыщей. С моими прыщами и божьей помощью сокрушу любого врага. Админь.
Но, конечно, если нужно просто закрыть порты — то iptables будут излишне сложными.
В «iptables» для такого используется «ipset». Правда, API у него — то ещё дерьмо, но оно таки есть (см. «libipset»).
Кстати, а в pf есть аналог «-m recent» (https://manpages.debian.org/unstable/iptables/iptables-extensions.8.en.html#recent)? Эта фигня крайне мощная, в сочетании с остальными возможностями «iptables» позволяет строить прямо-таки интеллектуальные фильтры.
С помощью «recent» можно складывать в лист адреса-источники пакетов, выбранных по произвольному критерию. Например, можно добавлять в вайтлист всех, кто послал пакет с определённым содержимым на определённый порт, причём не обязательно, чтобы порт был открыт.
Собственно, в своё время я знатно ебался с созданием антидудоса под древнюю игрушку, работающую по UDP — вот там без таких штук никак не обойтись было.
> Все эти ваши iptables-extensions же работают в ядре, в netfilter?
> Это может и быстрее, но сложнее. Я бы в ядре только NAT делал.
В хуйлоаде каждая инструкция дорога. В то же своё время я для пирфоманса переносил часть правил из таблички «filter» в табличку «raw» (где пакеты отбрасывались до обработки conntrack'ом) — и это давало ощутимый результат.
Единственное, что вызывало у меня опасение — это виндовый фаерволл. Ничто в мире не бывает более беспомощным, безответственным и порочным, чем фаерволл с тремя кнопками. Я знал, что рано или поздно мы перейдем и на эту дрянь.
Спермоволл — это такое кастрированное говно, что плакать хочется (когда пытаешься его настроить). Серьёзно, там можно задать программу, протокол, порты и список адресов, пакеты с которых будут либо блокироваться, либо пропускаться. Всё, блядь, больше — ничего!
> виндовый файрвол достаточно гибок для декстопа (в режиме advanced firewall)
Ну хз, я как-то попытался настроить примитивную обработку трафика — и пригорел. Там же даже адаптер, на который прилетел пакет, задать нельзя!
> Windows filtering platform, тоесть апять таки апи коего у прыщей нет
Ознакомился с API, на первый взгляд — довольно ограниченная штуковина, условия уж больно простые. Можно, конечно, фильтровать «callout driver»'ом, но с абсолютно таким же успехом можно и для айпических таблиц написать расширение и течь.
> кроме того есть MS ISA (Forefront), и там можно овердохуя всего
Уже нет. 9 сентября 2012 Microsoft объявила о прекращении дальнейшего развития Forefront TMG. Основная поддержка была прекращена после 14 апреля 2015 года, а расширенная поддержка закончится 14 апреля 2020 года. Продукт не доступен для приобретения с 1 декабря 2012 года.
> давайти все таки не скатываться в лоровское прыщедрочерство
Давайте! Виндовый фаерволл мне просто так вспомнился, и я прекрасно понимаю, что в ориентированной на десктоп ОСи монстр-комбайн уровня айпических таблиц не нужен.
Кстати, некоторые интернет-провайдеры блокируют входящие в сторону клиента запросы на порты 22, 80, 8080, 443, порты NETBIOS/SMB и ещё какие-то, которые «могут причинить вред оборудованию клиента». Чтобы разблокировать, нужно подавать заявку на статический айпишник.
Т. е. жопоскрипт из браузера на эти порты сможет достучаться, а внешний клиент из интернетов не сможет.