>Весь «гемморой» заключается в одной строчке:
>pass in to <local-addrs> port ssh keep state (max-src-conn-rate 10/5)Скажите пожалуйста, а если с разных хостов меня брутит пачка ботов - это как? Да, боты в курсе что за активный долбеж - банят. Поэтому в пересчете на бота - количество запросов в единицу времени небольшое. Зато самих ботов - предостаточно, поэтому нагрузка от них случается и довольно приличная временами на некоторые хосты. В итоге при потугах лимитировать число соединений или запросто пролезают распределенные боты типа этих, или просасывает сам админ которого его же файер и зарубит. А боты в последнее время что-то поумнели и брутят нынче распределенно. В пересчете на 1 бота - медленно. Чтобы не попадать под всякие fail2ban-ы, лимиты соединений и прочая как раз. Или вы думаете что все ботмастеры - тупые, а вы один - в белом?
>Это не «защита», а разделение обязанностей.
Это именно подстановка костылей. Когда демон начинает жрать 30% проца, его зад приходится оборонять.
>Да, к слову, login.conf тоже никто не отменял.
Развейте эту мыслю? Дано: есть машина с доступом в инет. На ней sshd. На него должен ходить админ. Ремотно. Откуда угодно. Есть боты. Узнать о том что они не админ можно только после того как боты подконектятся к sshd и некорректно авторизуются, что логично. Есть только одна проблема: на это будет сожрано прилично ресурсов, в общем то. И если припирается орава ботов которые медленно (в пересчете на рыло) но ощутимо (по суммарному эффекту) грузят демон - как-то не очень то и понятно как их цивильно отбить чтобы админ сам потом не сосанул. Единственное более-менее эффективное, но немного страусиное решение - порткнокинг разве что. Так что боты до ресурсоемких операций не добираются. Но, блин, это было так сложно на уровень демона загнать? Или это недостаточно полезная свистелка?
>Или в Linux до сих пор всё печально с login-классами?..
Не понял честно говоря к чему вы это. См. выше.
>К слову, в sshd встроена защита от брутфорса, но другого плана —
>задержки и лимит количества попыток ввода пароля / подбора ключа, так
>как это уже, ессесно, на фаерволе не реализуется.
Это все круто. Кроме того что пачка ботов припершихся на sshd начинает неторопливо в пересчете на одного бота брутить. Не попадая под бан но создавая приличную нагрузку от кучки ботов в целом. Что самое обидное - даже если бы они лупили на полной скорости, они бы не подобрали пароль до погасания солнца :). А вот проц почем зря - жрется.
>Вот и спросите об этом тех, кто преднастраивал ваш фаервол.
А почему я это должен у файрвола вообще спрашивать? Файрвол 30% CPU не жрет. Или будем искать ключи не там где потеряли а там где светлее?
>Какой ещё геморрой? Раскомментировать несколько строчек в конфиге и сделать sudo pkill
>-HUP sshd? Вообще, ситуация, когда дают шелл недоверенному человеку уже изначально
>заставляет всё в системе перепроверять, а не только конфиг SSH.
Ну вообще да, тут вы правы - недоверяемый человек потенциально может делать много всяских действий и портфорвард... ну если шелл есть то уж и данные с порта в него пхнуть можно, если уж приперло. Тут я тупанул.
>сделать тот же форвард, просто чуть больше усилий ручками придётся приложить.
Угу, тут уже какой-то аноним менее культурно объяснил мне что я туплю.
>Да сколько угодно. Зато SSH-VPN быстрее и легче поднимается.
Зато менее универсально, менее фичасто и т.п.. А так - я вот еще почтовик и браузер каждый день использую. Почему бы на засунуть какиенить простенькие в sshd? А что, зато быстрее и легче поднимается - не надо софт никакой ставить. Зашел по шеллу и бац - вот те и браузер и почтовик сразу. Можно и жаббер встроить. И клиент и сервер. А то мало ли, вдруг понадобится?
>Разработчики сами позиционируют его как решение «когда надо быстро, но надёжно».
Только не совсем понятно почему этим надо по дефолту озадачить тулсу для секурного шелла. А скажем браузер в ней - нужен? А почтовик? А жаббер-клиент простенький?
>Ну так и ставьте, вам что, кто-то мешает?
Дык. Только зачем мне какой-то недо сватать?
>SSH от большого количества детей ломается? Нет? Значит, с _его_ защитой всё
>в порядке. Резать же лишние коннекты на фаерволе не только логичнее
>и удобнее
См. выше - расскажите как мне удобно порезать ботнетец медленных брутфорсеров чтобы и ботов отстрелить и самому под раздачу не попасть. Я как-то не вижу однозначной логики которая бы принципиально отличала меня от неторопливого бота. А если ботов много - я один из этой пачки получаюсь. При это я или должен чем-то отличаться или сам попаду под раздачу вместе с ними. На уровне файера отличение меня от ботов без раскочегарки крутой криптографии немилосердно грузящей проц реализуется, конечно, но относительно геморройненько, скажем порткноком. Безусловно, есди жизнь прижмет - еще и не так раскорячишься, настроив айпитаблес, но было бы лучше если бы демон позволял настройку этого в каком-то простом универсальном виде одинаковом для всех систем. Тем более что сделать порткнок на уровне демона ни разу не проблема а последовательность кнока можно было бы удобно кодировать например в относительно простую для запоминания строку (рулесы для фаера и номера портов как цифры запоминаются сильно хуже). Единственное что порткнок создает ощущение слегка страусиного метода
>здесь всё удобно интегрировано.
Блин, по такой логике винды сделаны. Ну и что что почтовик хреновый, IM годен только на свалку, почтовик убогий, файрвол никакрй, etc? Зато все удобно интегрировано.
>От того, что вы десять раз продемонстрируете кривость своих рук,
Вы мне трухина напоминаете при этом. Да, безусловно, окультурить можно что угодно. Но чем меньше танцев с бубном - тем лучше система для админов. Ибо расстановка костылей оптом для грабельных демонов - не совсем то о чем мечтают админы...