• Авторизация


Испытания почтовых серверов на устойчисовть к DoS 13-07-2010 18:59 к комментариям - к полной версии - понравилось!


Предисловие
Я решил сравнить нагрузку на систему при DoS атаке методом CONNECT на различные SMTP сервера.
Для эксперементов я взял postfix, sendmail, exim4 и smtpx.
smtpx - это мой проект SMTP сервера, предназначенного для обработки больших объемов данных.

DoS CONNECT
Суть атаки в следующем: Атакующий открывает соединения с сервером и не посылая никаких данных "забывает" о соединении.
Моя атака была в 1 поток, длительность атаки - 10 000 успешных соединений.

Площадка для тестирования
2 машины - сервер и клиент, между ними канал Ethernet 1 Гб/с
Сервер - виртуальная машина Linux CentOS 5.5 i386, 256МБ RAM, 1 CPU 2,6 Гб
Клиент идентичен

На сервер были установлены postfix, exim4, smtpx и sendmail. Единственное изменение конфигов - замена tcp-адреса 127.0.0.1:25 на 192.168.2.227 - адрес машины в локалке.

Программы поочередно включались и испытывались.

Скрипт для атаки написан на python

POSTFIX
время на обработку 10 000 коннектов: 0m45.557s, образовалось еще 7 процессов smtpd помимо master при этом процессор был загружен до 30%.

SENDMAIL
время на обработку 10 000 коннектов: 10m40.115s, загрузка процессора не превышала 1%, но при параллельном соединении на smtp порт приходиться ждать примерно 70-100ms

EXIM
время обработки 10 000 соединений: 1m7.163s, загрузка процессора на пике достигла 10%.

SMTPX
время обработки 10 000 соединений: 0m44.462s, загрузка процессора на пице была 8,7%

Выводы
Я пришел к выводу, что написал наилучший обработчик соединений для smtp сервера.

Скрипт для DoS (python):

PHP:

#!/usr/bin/python. 

import socket
import time

HOST 
'192.168.2.227'
PORT 25

for i in range(1,10000):
   
time.sleep(0.001)
   
socket.socket(socket.AF_INET,socket.SOCK_STREAM)
   
s.connect((HOSTPORT))
   
s.close()
   if (
i%200)==0:
      print 
i.
print 
вверх^ к полной версии понравилось! в evernote
Комментарии (1):
piroman17 13-07-2010-19:00 удалить
Сорри за код, скрипт обрезал пробелы


Комментарии (1): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Испытания почтовых серверов на устойчисовть к DoS | piroman17 - Дневник piroman17 | Лента друзей piroman17 / Полная версия Добавить в друзья Страницы: раньше»