realurix (realurix) wrote in foss_ru,
realurix
realurix
foss_ru

Category:

Ленивый админ - самая большая дыра.

Cтарая новость "Волна DDoS-атак, использующих NTP-серверы для усиления трафика". Однако, не смотря на предупреждение CERT и исправление бага в NTPD, атаки продолжаются. Начал разбираться в чём дело и выяснил, что вся проблема в ленивых сисадминах.

Для анализа ситуации пришлось написать скрипт. Вот его текст:
#!/usr/bin/perl

use strict;

my $iface="bge0";
my %cnt = ();
my $told = '';

open(NTP,"tcpdump -n -i $iface | grep NTP |") or die "Can't open tcpdump";
while (my $line = <NTP>) {
    chomp($line);
    if ($line =~ /^(\d+:\d+):\d+\.\d+ IP (\d+\.\d+\.\d+\.\d+)\.(\d+) \> (\d+\.\d+\.\d+\.\d+)\.123\: (NTPv\d)\, (\S+)\, length (\d+)\s*$/) {
        my ($tnew,$from,$port,$targ,$ntpv,$what,$size) = ($1,$2,$3,$4,$5,$6,$7);
        if ($tnew ne $told) {
            open(LOG,">> .ntpseach.log") or die "Can't open log file";
            foreach my $key (keys %cnt) {
                print LOG "$told:00\t$cnt{$key}\t$key\n";
            }
            close(LOG);
            $told = $tnew;
            %cnt = ();
        }
        $cnt{"$ntpv:$from $port:$targ"} += 1;
    } else {
        print $line,"\n";
    }
}
Хорошая получилась программулина - маленькая и лёгкая. Статистику собирает поминутно, поэтому места на диске не жрёт, как свинья помои. И лог можно в любое время удалять не останавливая программулину.

Занялся, значит, анализом получившегося лога и вдруг увидел, что часть пакетов идёт с портов 80 (HTTP), часть с портов 123 (NTPv2) и совсем чуть-чуть, доли процента, с других портов, но уже пакеты были версий NTPv3 и NTPv4. Анализ делал с помощью команд
# grep ' 80:' < .ntpseach.log | cut -d : -f 4 | sort | uniq
# grep ' 123:' < .ntpseach.log | cut -d : -f 4 | sort | uniq
. И что я увидел? Хакнутых машин, шлющих пакеты с 80 порта, всего было 25 штук, а ntpd сервера, которых ленивые сисадмины не патчили и не исправляли настройки, было всего 7. И эти 7 серверов отъёдали полосу в канале 7 Gb.

В общем, решил я опубликовать это дело, чтоб любой человек мог выяснить кто его атакует. Ленивых сисадминов надо наказывать. И лучше сапогами по голове. У ленивых сисадминов мозгов всё равно нет, не страшно.
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 4 comments