Автор Тема: Bash скрипт  (Прочетена 17984 пъти)

empty

  • Напреднали
  • *****
  • Публикации: 893
  • Distribution: Gentoo
  • Window Manager: KDE
  • Alien Invader
    • Профил
    • WWW
Bash скрипт
« -: Aug 23, 2007, 03:06 »
Трябва ми просто скриптче което да се сложи в crontab примерно и да следи за failed connection attempts в /var/log/messages и ако има повече от 10 опита да адва правило в iptables което да блоква IP-то пробващо да пробие в машината. Правилото да речем, че се записва в /etc/sysconfig/iptables и после се рестартират iptables посредством service iptables restart.
Става въпрос за Fedora Core.

Благодаря предварително.
Активен

Powered by 220 Volts.

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Bash скрипт
« Отговор #1 -: Aug 23, 2007, 03:51 »
http://linux-bg.org/cgi-bin....5185851
http://denyhosts.sourceforge.net/
http://linux-bg.org/cgi-bin....4186810

Виж и коментарите.

Иначе:


Примерен код
#!/bin/bash

for ip in `cat /var/log/messages | grep "failed connection" | awk '{print $11}' | sort -u`; do

        acount=`cat /var/log/messages | grep "failed connection" | grep " $ip" | wc -l`

        if [ "$acount" -gt "10" ];
        then
                `iptables -D INPUT -s $ip -j DROP 2>&1 > /dev/null`
                `iptables -I INPUT -s $ip -j DROP`
        fi

done




Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

empty

  • Напреднали
  • *****
  • Публикации: 893
  • Distribution: Gentoo
  • Window Manager: KDE
  • Alien Invader
    • Профил
    • WWW
Bash скрипт
« Отговор #2 -: Aug 23, 2007, 03:51 »
Мерси!



Активен

Powered by 220 Volts.

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Bash скрипт
« Отговор #3 -: Aug 23, 2007, 03:52 »
Ти си го пооправи '<img'>
Примерно може да не е 11-тата "дума" ИП-то ...



Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

sdr

  • Напреднали
  • *****
  • Публикации: 655
    • Профил
Bash скрипт
« Отговор #4 -: Aug 23, 2007, 12:10 »
Примерен код
cat /var/log/messages | grep "failed connection" | awk '{print $11}'


Който го е писал това не е бил уред с главата! То вярно, че се изпълнява веднъж на високосна ама все пак е по-добре да се помисли малко преди да се пише
Примерен код
cat|grep
си е малоумие при положение че може да се мине само с grep а да се прави
Примерен код
cat|grep|awk
 при положение, че може да се мине само с awk ... срам, срам и позор!
Активен

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Bash скрипт
« Отговор #5 -: Aug 23, 2007, 14:04 »
Цитат (sdr @ Авг. 23 2007,12:10)
Примерен код
cat /var/log/messages | grep "failed connection" | awk '{print $11}'


Който го е писал това не е бил уред с главата! То вярно, че се изпълнява веднъж на високосна ама все пак е по-добре да се помисли малко преди да се пише
Примерен код
cat|grep
си е малоумие при положение че може да се мине само с grep а да се прави
Примерен код
cat|grep|awk
 при положение, че може да се мине само с awk ... срам, срам и позор!

Я, по-спокойно! Ходи, бегай, пуши една цигара ...
К'вото си искам това си пиша ...
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

syman

  • Участници
  • ***
  • Публикации: 8
    • Профил
Bash скрипт
« Отговор #6 -: Aug 23, 2007, 14:58 »
cat|grep|awk боже боже колко ламерштина има
трябваше да е cat|grep|awk|sed
я бързо записвай курсове за bash че с това ниво до никъде,
помеждудругото проблема с големия лог от опити за бруте форсе се оправя само със смяна на порта
Активен

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Bash скрипт
« Отговор #7 -: Aug 23, 2007, 14:59 »
Цитат (syman @ Авг. 23 2007,14:58)
cat|grep|awk боже боже колко ламерштина има
трябваше да е cat|grep|awk|sed
я бързо записвай курсове за bash че с това ниво до никъде,
помеждудругото проблема с големия лог от опити за бруте форсе се оправя само със смяна на порта

До-о-о-бре!
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

the_real_maniac

  • Напреднали
  • *****
  • Публикации: 1258
  • Kernel panic, me - no panic ;-) :-)
    • Профил
Bash скрипт
« Отговор #8 -: Aug 23, 2007, 15:14 »
Ако е по-прегледно , защо да не се напише един cat в повече ? (примерно)

не винаги НАЙ-ЛЕСНИЯТ начин е НАЙ-БЪРЗИЯТ !

как да е ... по работа

as_moderator: Всеки има право на мнение, независимо дали е правилно или не. А може и всеки да си е прав за себе си ! Така че ... по-спокойно с определенията "от Великите към Непросветените"

Изказвайте мнения, никой не Ви кара да се съгласявате с другият. !

Точка ... без обиди ... и най-вече да се правите на всезнаещи @syman си е не детска работа ,а пубертетска (в лошият смисъл)!
Активен

Powered by Debian GNU / LINUX /// Intel inside ...

„Насилието е последното убежище на некомпетентността“ - Айзък Азимов (1920 — 1992)

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Bash скрипт
« Отговор #9 -: Aug 23, 2007, 15:21 »
Съгласен съм с някои от критиките - тона не ми хареса ...
Кодът го писaх в "debug" режим в 4:00am ... който иска по-добър - да пише код, а не да се самовъзхвалява.



Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

Mitaka

  • Гост
Bash скрипт
« Отговор #10 -: Aug 23, 2007, 15:55 »
apt-get install fail2ban
 

или ако не използваш дебиан базирана дистрибуция - просто си намери сорс/пакет на fail2ban за твоята.
Активен

Gaara

  • Напреднали
  • *****
  • Публикации: 631
  • Distribution: Debian
  • Window Manager: E17
    • Профил
Bash скрипт
« Отговор #11 -: Aug 23, 2007, 16:35 »
Еми аз може и да съм малко лайк, но скрипта на VladSun ми хареса, както и всичките му постове '<img'>
Та:
1. Лога в CentOS е
Примерен код

Aug 23 14:37:26 c sshd(pam_unix)[5006]: authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=10.191.2.36  user=root

т.е. IP-то е 13 колона и трябва да се използва sed. Нещо от сорта на:
Примерен код

.......
for ip in `awk '/authentication failure/ {print $13}' /var/log/messages |sed 's/[a-z]*=//'|sort -u`; do
.......

и нататък би трябвало да е същото '<img'>

sdr, като си толкова могъщ на думи, покажи ни и на практика колко си добър.
Активен

Last night, Darth Vader came down from planet Vulcan and told me that if you don't install Debian, he'd melt your brain.

the_real_maniac

  • Напреднали
  • *****
  • Публикации: 1258
  • Kernel panic, me - no panic ;-) :-)
    • Профил
Bash скрипт
« Отговор #12 -: Aug 23, 2007, 16:51 »
Наистаина за да няма повече заяжданя по темата ще припомня:

"който иска по-добър - да пише код, а не да се самовъзхвалява. "

:-)

Има една японска поговорка:

Дървото се познава по плодовете ;-)

не казано че всички могат да видят плодовете, но ако ги има, то би трябвало да може да се видят :-)

Успех на всички.

пп: имаше една простичка програмка , която преди 2г преправих на C по молба, не помня колко добре се справих а и беше нещо малко, но като първи крачки тогава бееш добре
та ето я темата http://www.linux-bg.org/cgi-bin....antilam

аа сега виждам .. мда ... във форума не може да се прикачват файлове та му я пратих по mail/icq ... мхм , е ако някой има интерес ще сложа линк по-късно, но не очаквайте кой знае какво беше просто програмка

откриваше опит за връзка и правеше рег. в syslog level кой беше не помня точно ;-) т.е като кой тип съобщение го бях вкарал '<img'>


edit:
ок , намерих предпоследната версия, но не и последната, която правих

+ това съм го правил 2004, първи стъпки в системното проргамиране

+ бил съм доста ентусиязиран още го помня, ето какви глупости съм писал даже в началото на сорс кода

 © dgt_it@abv.bg

!!!!!! This software IS UNDER GPL !!!!!!

© за copyright , което е пълна глупост, просто исках да си дам maila- и после GPL ... ... как да е ... ентусиязма ми е бил малко в повече '<img'>

+ има ДВЕ,три грешки с английският в коментарите, но ...  :-)

едит: забравих линка

http://dani11.hit.bg/antilame-002g.c

пп: и това нещо работи :-D ':crazy:' хаха '<img'> Не добре е, но определено има какво да се оправи '<img'> и най-вече в коментарите хаха :-)



Активен

Powered by Debian GNU / LINUX /// Intel inside ...

„Насилието е последното убежище на некомпетентността“ - Айзък Азимов (1920 — 1992)

Йордан

  • Напреднали
  • *****
  • Публикации: 1451
  • Distribution: Ubuntu / Gentoo
  • Window Manager: Gnome
  • не е важно колко ти е голяма пишката, а какво можеш с нея
    • Профил
    • WWW
Bash скрипт
« Отговор #13 -: Aug 23, 2007, 17:19 »
ГОЛЯМ ОФТОПИК!

Много се нервя на "компетентни" мнения!

@sdr, като си голям специялист вместо да плюеш защо не даде твой вариант на скрипта? Написал си цели 6 реда, а можеше с твойте способности да напишеш скрипта н един ред!
Активен

Всеки пост - отговор на въпрос !!!

Йордан Георгиев
http://ygeorgiev.net/

sdr

  • Напреднали
  • *****
  • Публикации: 655
    • Профил
Bash скрипт
« Отговор #14 -: Aug 23, 2007, 17:28 »
Не мислех да поствам след като казах каквото иках да кажа но понеже се понатрупаха въпроси към мен:

@Gaara
Цитат
sdr, като си толкова могъщ на думи, покажи ни и на практика колко си добър.


Колко си готов да платиш?

@GigaVolt
Цитат
@sdr, като си голям специялист вместо да плюеш защо не даде твой вариант на скрипта? Написал си цели 6 реда, а можеше с твойте способности да напишеш скрипта н един ред!

Щото има тонове готови такива скриптове.

Хубавото в цялата тая работа е, че успях да предизвикам дискусия и има надежда следващите ви скриптове да са по-иконимични
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
BASH: Как да поддържам една програма работеща
Общ форум
Regia 1 9420 Последна публикация Feb 16, 2005, 08:51
от
Bash features
Настройка на програми
kostadinz 1 1010 Последна публикация Mar 25, 2005, 13:42
от n_antonov
Малко помощ за bash скрипт
Общ форум
idn 3 2319 Последна публикация Feb 10, 2008, 17:39
от neter
подмяна на дума във файл през bash
Хардуерни и софтуерни проблеми
mishot 12 4274 Последна публикация Aug 01, 2008, 14:54
от Hapkoc
За bash и команди за супер потребител
Общ форум
Vatman 4 3147 Последна публикация Oct 25, 2008, 19:25
от Vatman