| Comments: |
![[User Picture]](http://l-userpic.livejournal.com/30547903/7198020) | From: unbe 2005-06-17 10:36 none (UTC)
не решил проблему, а создал | (Link)
|
Не рекомендую пользоваться этим никому. Во-первых, серьезные проблемы с security, во-вторых будет пропускать строки в быстрозаполняющихся логах - низкая эффективность.
В багртраке был аналогичный скрипт, конечно не на С, по иронии - тоже с огромными дырами :)
![[User Picture]](http://l-userpic.livejournal.com/88156621/231109) | From: egorfine 2005-06-17 10:59 none (UTC)
Спасибо за критику | (Link)
|
Дык я ж говорю contribution welcome. Пропускать не должен по идее.
Какие дыры я допустил?
PS: Я не сишник. я просто получил удовольствие от процесса кодинга, соскучился уже:)
![[User Picture]](http://l-userpic.livejournal.com/30547903/7198020) | From: unbe 2005-06-17 11:18 none (UTC)
не за что, поругать я всегда могу :) | (Link)
|
Да, пропуск маловероятен - только если запись строки в лог неатомарна. Виноват, не врубился сразу в оригинальный метод построчного чтения :) Дыры, как минимум, здесь:
int logMessage(char *message) { ... fprintf(logFile, messageLine); printf(messageLine);
В messageLine есть username, полученный от пользователся.
Что касается contribution, то я лучше воздержусь. При всем к тебе уважении, это - отстой :) И по дизайну, и по реализации. Проще заново написать.
![[User Picture]](http://l-userpic.livejournal.com/88156621/231109) | From: egorfine 2005-06-17 11:29 none (UTC)
Re: не за что, поругать я всегда могу :) | (Link)
|
Заново - проще, но где мой фан? :)
про messageLine - пять баллов
![[User Picture]](http://l-userpic.livejournal.com/30547903/7198020) | From: unbe 2005-06-17 11:31 none (UTC)
Re: не за что, поругать я всегда могу :) | (Link)
|
фан фаном, но других-то зачем подставлять? :) тем более массово.
Хотя, кто подставился - сам дурак :)
![[User Picture]](http://l-userpic.livejournal.com/88156621/231109) | From: egorfine 2005-06-17 11:35 none (UTC)
Re: не за что, поругать я всегда могу :) | (Link)
|
Ну хорошо, я исправлю юзера. Где еще там потенциальная неправда?
![[User Picture]](http://l-userpic.livejournal.com/30547903/7198020) | From: unbe 2005-06-17 12:01 none (UTC)
| (Link)
|
По реализации - очень странное чтение из файла (man fgets, если уж с потоками связался), неудачные регулярные выражения, полный швах с fd=0..2, куча лишнего кода - лениво мне, в общем-то, все выискивать. Основная проблема в самой идее. Во-первых, почему это делается по логам? Во-вторых, почему вечный бан за первый received disconnect?
Ладно, убедил. Грохну. :(
![[User Picture]](http://l-userpic.livejournal.com/30547903/7198020) | From: unbe 2005-06-17 12:07 none (UTC)
| (Link)
|
Ну вот, теперь я чувствую себя виноватым - лишил человека игрушки :)
ну вот ... как ты мог ... жестокий ... :)
![[User Picture]](http://l-userpic.livejournal.com/30547903/7198020) | From: unbe 2005-06-17 12:37 none (UTC)
| (Link)
|
Во-первых, против проблемы не поможет скорее всего, т.к. не-realtime. Во-вторых, есть подозрение, что схавает и забанит IP адрес, аккуратно подсунутый в username - как и у Егора :) В третьих, тоже изрядно раком написано, как по мне.
Просто в отличие от Егорки, у меня предпринимается 3-5 атак в день ;) Каждая из них - пару сот попыток :(
![[User Picture]](http://l-userpic.livejournal.com/30547903/7198020) | From: unbe 2005-06-17 12:44 none (UTC)
| (Link)
|
Основной вопрос - ну и что? :) Второй вопрос - эти атаки что, с одних и тех же адресов? Если нет, то этот скрипт не поможет.
ППКС.
мне от этих атак - не холодно и не жарко, пусть ломятся, если им не лень :)
Ну у меня не 3-5 атак в день, конечно... но "в отличии от Егорки" - откуда у тебя представление о количестве атак? :)
![[User Picture]](http://l-userpic.livejournal.com/82426090/664396) | From: ormuz 2005-06-17 12:44 none (UTC)
| (Link)
|
Он ещё лог не переоткрывает. Ну и впадет в спячку на log-rotate.
ну и непонятно чем это лучше какого нибудь - tail -f /var/log/messages|egrep "sshd.*Failed" | perl -ne 'if( /(\d+\.\d+\.\d+.\d+)/ ){ print $1,"\n";}'|grep -v -f "protectedIPS" |xargs -n 1 banIP
![[User Picture]](http://l-userpic.livejournal.com/30547903/7198020) | From: unbe 2005-06-17 12:48 none (UTC)
| (Link)
|
не, все-таки получше, ваш вариант - это совсем "ужоснах" :)
![[User Picture]](http://l-userpic.livejournal.com/82426090/664396) | From: ormuz 2005-06-17 12:52 none (UTC)
| (Link)
|
Не понял.
![[User Picture]](http://l-userpic.livejournal.com/30547903/7198020) | From: unbe 2005-06-17 13:02 none (UTC)
| (Link)
|
Выражаюсь более развернуто: программа господина Егорова будет работать в целом корректнее, чем ваша строчка, которая обладает рядом недостатков. Дальше идет смайлик, который говорит о том, что данное высказывание следует воспринимать с улыбкой, а не на полном серъезе.
Теперь поняли?
![[User Picture]](http://l-userpic.livejournal.com/82426090/664396) | From: ormuz 2005-06-17 13:12 none (UTC)
| (Link)
|
Я ж и интересуюсь, какими такими неисправимыми за 2-3 минуты недостатками обладает такая строка по сравнению с программой господина Егорова (я её не читал особо)?
![[User Picture]](http://l-userpic.livejournal.com/30547903/7198020) | From: unbe 2005-06-17 13:24 none (UTC)
эх, пофлеймим! | (Link)
|
Ну, так и программу можно исправить. По сути, конечно, использовать С для такой задачи смысла практически нет, просто Егор поиграцца хотел :) Что касается вашей строки, то раз вы уж вызываете перл, то зачем еще 2 грепа? :)
![[User Picture]](http://l-userpic.livejournal.com/82426090/664396) | From: ormuz 2005-06-17 15:52 none (UTC)
Re: эх, пофлеймим! | (Link)
|
Из концептуальных соображений не делать на пёрле ничего сложнее вышеуказаного.
Опухнуть... это вы написали или бойфренд? :)
![[User Picture]](http://l-userpic.livejournal.com/50213010/990679) | From: k001 2005-09-19 23:10 none (UTC)
| (Link)
|
Мне тоже надоели такие вот пионэры, долбящиеся в закрытую дверь (скорее даже, больше озаботила не безопасность (пароли вроде сложные), а флуд в /var/log/messages), поэтому я переставил дверь на потолок, то есть перевесил sshd на другой порт, 2231, а на клиентах сказал что-то типа
echo -e "Host myhost.com *.myhost.com\n\tPort 2231" >> ~/.ssh/config
Поскольку машинок, с которых я на эти хосты хожу, у меня от силы штук пять, особого труда мне это не составило. Второй вариант решения проблемы - закрыть фаерволом на сервере всем доступ к 22 порту, открыть для себя (для своих сетей). Вполне работает, но хуже тем, что в случае чего не удастся зайти с произвольной машины (а при первом способе надо только вспомнить номер порта).
Порт 22 гораздо чаще НАТится чем любой другой. Если уж перевешивать ssh, то на 443.
| |