The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"заблокировать массу SSH коннектов"
Отправлено usama, 03-Мрт-06 12:12 
я сделал так:
в sshd.conf записал:
SysLogFacility AUTHPRIV

#!/usr/bin/perl

$log="Subject: IP banned\n";
%ban;

open(F, '< /var/log/secure');
while(<F>){
    $str = $_;
    $str=~/Failed password for .+ (.+) port/;
    if(!$ban{$1}){ $ban{$1}=1; }  else { $ban{$1}++; }
}
close(F);


open (BL, '>>/etc/rc.d/ban.ip');
foreach $key (keys %ban){
   if($ban{$key} > 10 && $key){
    print BL $key,"\n";
    `iptables -I tcp_new -p tcp -s $key -j DROP`;
    $log.="$key\n";
    smtp_send('postmaster@inteh.com.ua', $log);
    }
}
close(BL);


open(F, '> /var/log/secure');
print F "0";
close(F);    

sub smtp_send{
local $m_addr=shift;
local $m_body=shift;
my $ret;
my $p;

use IO::Socket;
my $remote = IO::Socket::INET->new(PeerAddr => '212.40.43.98:25')
          or die "Can't create socket";
$p.=<$remote>;
print $remote "helo inteh\n";
$p.=<$remote>;
print $remote "mail from: <krot-s\@mail.ru>\n";
$p.=<$remote>;
print $remote "rcpt to: <$m_addr>\n";
$p=<$remote>;
if($p=~/250/i ){
    print $remote "DATA\n";
    $p.=<$remote>;
    print $remote "$m_body\n.\n";
    $p.=<$remote>;
if($p=~/250/i){
    $ret=0;
    }else{
    $ret.="Error:\n$p\n";
    }
}else{
$ret.= "Error: \n$p\nCan't sent the mail!\n";
}
print $remote "quit\n";
$p=<$remote>;

return $ret;
}

Тупо конечно, но слепил за 10 мин., и работает


 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру