- •Защита it-инфраструктуры от ddos Содержание
- •1 Характеристики DoS-атак
- •1.1 Краткое описание DoS/dDoS-атак
- •1.2 Обнаружение DoS/dDoS-атак
- •2 Анализ наиболее распространённых методов защиты
- •2.1 Программные методы защиты
- •2.1.1 Icmp-флуд
- •2.1.4 Http-флуд
- •2.2 «Универсальная методика защиты»
- •2.1.5 Обновление используемого по и тщательная проверка log-файлов
- •2.3 Методы защиты, основанные на аппаратном и сетевом подходах
- •2.3.1 Лишение атаки «смысла»
- •2.3.2 Решения компании Cisco
- •2.3.3 Решения компании Reactive Networks
- •2.3.4 Решения компании Intel
- •2.4 Комплексное решение на основе кластеризации
- •2.5 Решение на основе front-end/back-end
- •3 Разработка программно-аппаратного комплекса
- •3.1 Выбор концепции для проектирования пак
- •3.2 Архитектура пак
- •4 Экспериментальное исследование пак
- •Заключение
- •Список использованных источников
- •Приложение в Настройка Varnish
Заключение
Рассмотренные в проекте атаки и методы противодействия, разумеется, не являются самыми верными или наилучшими.
Использованное в качестве сервера-жертвы оборудование не идет ни в какое сравнение с реально действующими серверными системами, насчитывающими несколько процессоров и многократно больший объем оперативной памяти и жестких дисков.
Однако, решающими факторами, признающими некоторое соответствие экспериментальной модели реальным условиям, являются:
заведомо малое количество атакующих хостов;
не соизмеримая с ними по величине «ширина канала» связи;
отсутствие SQL-базы «логин-паролей» для Apache и Samba, что значительно повышает быстродействие всей серверной системы;
примитивность всех видов реализованных атак.
Так же следует отметить, что наибольшей уязвимостью по отношению к успешному проведению DoS/DDoS-атаки обладает файловый samba-сервер, не отвечающий, даже как программный модуль, заданным требованиям безопасности. С другой стороны, подобная ситуация никогда не будет иметь места в реальных условиях сети Internet, но только в случае локальных DDoS-атак. К тому же экспериментально было доказано опровержение мифа о серьезной нестабильности последних версий Samba по отношению к «лавине» запросов. Очевидно, что в исходные коды было внесено дополнение, позволяющее системе Samba в момент пиковой нагрузки обрывать все сеансы связи с последующим перезапуском модуля сервера и восстановлением данных сеансов.
В таком случае наиболее важными фактами противодействия DDoS-атакам всегда остаются:
Быстрые веб-приложения и более чем один сервер, т.е если тестирвать проекты не на 60-70% загрузке CPU, как при обычной работе, а разгонять до 200-300 запросов в секунду с одного ядра, то бороться с DDoS уже будет много легче.
При DDoS необходимо блокировка по IP, участвующим в атаке.
Нужна резервируемость проекта. Атака стоит денег и не имеет смысла, если не приносит никакой выгоды. Именно поэтому любой проект изначально должен иметь возможность подключать сервера в кратчайшие сроки. Это будет стоить денег, но проводить атаку, если она не приносит результатов вообще, никто не станет.
Список использованных источников
Д. Лавникевич. Анатомия DDoS. [Электронный ресурс] – Режим доступа: http://j3qx.wordpress.com/2009/01/07/анатомия-ddos/, свободный, дата обращения 20.05.2010г., свободный, загл. с экрана.
Е. Зобин. Устоять любой ценой: методы борьбы с DoS/DDoS-атаками. [Электронный ресурс] – Режим доступа: http://www.xakep.ru/post/49752/default.asp, свободный, дата обращения 24.04.2010г., свободный, загл. с экрана.
Positive Technologies. Методы защиты от DDoS нападений. [Электронный ресурс] – Режим доступа: http://www.securitylab.ru/analytics/216251.php, свободный, дата обращения 12.04.2010г., свободный, загл. с экрана.
Р. Хансен. DoS-атака с малым использованием трафика выявляет уязвимость в Apache. [Электронный ресурс] – Режим доступа: http://www.xakep.ru/post/48609/default.asp, свободный, дата обращения 9.04.2010г., свободный, загл. с экрана.
Костров Д.В. Рынок систем обнаружения компьютерных атак. - Конфидент, №6, 2002 г., стр. 53 – 60.
В. Путяк. Примеры сетевой обороны на PHP. [Электронный ресурс] – Режим доступа: http://docs.com.ru/php_7.php, свободный, дата обращения 14.05.2010г., свободный, загл. с экрана.
Front-End and Back-End Server Topology Guide for Microsoft Exchange Server 2003 and Exchange 2000 Server [Электронный ресурс] – Режим доступа: http://go.microsoft.com/fwlink/?LinkId=69352, свободный, дата обращения 11.01.2010г., свободный, загл. с экрана.
Д. Батранков. Не так страшен DDoS, как его малюют [Электронный ресурс] – Режим доступа: http://www.securitylab.ru/contest/357397.php, свободный, дата обращения 18.12.2011г., свободный, загл. с экрана.
Приложение А
Спецификация
Обозначение |
Наименование |
Примечание |
Документ |
Настройка lighttpd |
Приложение Б |
Документ |
Настройка Varnish |
Приложение В |
ПРИЛОЖЕНИЕ Б
Настройка lighttpd
#portsnap fetch update
#portsnap fetch update
lexx# whereis lighttpd
lighttpd: /usr/ports/www/lighttpd
lexx# cd /usr/ports/www/lighttpd && make install clean
lexx# cd /usr/local/etc/
lexx# cp ./lighttpd.conf.sample ./lighttpd.conf
lexx# ee ./lighttpd.conf
## список всех модулей
server.modules = (
"mod_rewrite",
"mod_redirect",
"mod_alias",
"mod_access",
# "mod_cml",
# "mod_trigger_b4_dl",
# "mod_auth",
# "mod_status",
# "mod_setenv",
"mod_fastcgi",
# "mod_proxy",
# "mod_simple_vhost",
# "mod_evhost",
# "mod_userdir",
# "mod_cgi",
# "mod_compress",
# "mod_ssi",
# "mod_usertrack",
# "mod_expire",
# "mod_secdownload",
# "mod_rrdtool",
"mod_accesslog" )
## Алиасы сервера: к примеру http://www.mysite.ru/phpmyadmin/
alias.url += ( "/phpmyadmin/" => "/usr/local/www/phpMyAdmin/" )
## Корневая папка сервера
server.document-root = "/usr/local/www/"
## Лог ошибок. Автоматически не создается
server.errorlog = "/var/log/lighttpd.error.log"
# Пример http://www.mysite.ru/index.php
index-file.names = ( "index.php", "index.html",
"index.htm", "default.htm" )
## Где то читал что это важная опция =)
server.event-handler = "freebsd-kqueue"
# Расширения
mimetype.assign = (
".pdf" => "application/pdf",
".sig" => "application/pgp-signature",
".spl" => "application/futuresplash",
".class" => "application/octet-stream",
".ps" => "application/postscript",
".torrent" => "application/x-bittorrent",
".dvi" => "application/x-dvi",
".gz" => "application/x-gzip",
".pac" => "application/x-ns-proxy-autoconfig",
".swf" => "application/x-shockwave-flash",
".tar.gz" => "application/x-tgz",
".tgz" => "application/x-tgz",
".tar" => "application/x-tar",
".zip" => "application/zip",
".mp3" => "audio/mpeg",
".m3u" => "audio/x-mpegurl",
".wma" => "audio/x-ms-wma",
".wax" => "audio/x-ms-wax",
".ogg" => "application/ogg",
".wav" => "audio/x-wav",
".gif" => "image/gif",
".jar" => "application/x-java-archive",
".jpg" => "image/jpeg",
".jpeg" => "image/jpeg",
".png" => "image/png",
".xbm" => "image/x-xbitmap",
".xpm" => "image/x-xpixmap",
".xwd" => "image/x-xwindowdump",
".css" => "text/css",
".html" => "text/html",
".htm" => "text/html",
".js" => "text/javascript",
".asc" => "text/plain",
".c" => "text/plain",
".cpp" => "text/plain",
".log" => "text/plain",
".conf" => "text/plain",
".text" => "text/plain",
".txt" => "text/plain",
".dtd" => "text/xml",
".xml" => "text/xml",
".mpeg" => "video/mpeg",
".mpg" => "video/mpeg",
".mov" => "video/quicktime",
".qt" => "video/quicktime",
".avi" => "video/x-msvideo",
".asf" => "video/x-ms-asf",
".asx" => "video/x-ms-asf",
".wmv" => "video/x-ms-wmv",
".bz2" => "application/x-bzip",
".tbz" => "application/x-bzip-compressed-tar",
".tar.bz2" => "application/x-bzip-compressed-tar",
# default mime type
"" => "application/octet-stream",
)
## Лог доступа. Тоже не создается автоматически, следовательно создаем вручную
accesslog.filename = "/var/log/lighttpd.access.log"
# Расширения для fastcgi
static-file.exclude-extensions = ( ".fcgi", ".php", ".rb", "~", ".inc", ".pl", ".yml" )
## Пид-файл сервера
server.pid-file = "/var/run/lighttpd.pid"
# Виртуальные директории
$HTTP["host"] == "www.mysite.su" {
server.document-root = "/usr/home/Mysite/public_html/"
server.error-handler-404 = "/index.php?error=404" }
$HTTP["host"] == "www.mysite2.ru" {
server.document-root = "/usr/home/Mysite2/public_html/mysite2/"
server.error-handler-404 = "/index.php?error=404"}
## Просмотр пустых директорий
dir-listing.activate = "enable"
## Пользователь, от которого работает сервер
server.username = "www"
## Группа, от которой работает сервер
server.groupname = "www"
## Конфигурация FastCGI (не забываем установить сам php)
fastcgi.server = ( ".php" =>( "localhost" =>
( "socket" => "/tmp/fcgi",
"max-procs" => 2,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "4",
"PHP_FCGI_MAX_REQUESTS" => "100"
),
"bin-path" => "/usr/local/bin/php-cgi",
"broken-scriptfilename" => "enable"
)
)
)
