Извините за столь позднюю просьбу, знаю раньше надо было просить, но пожалуйсто, услужите соотечественику.
Вобщем, мне срочно нужно найти до вечера Пятницы, Янв 16, 2009, по МСК времени, какие нибудь слайд шоу (PowerPoint и тд и тп), видео, и фотоальбом о Таджикистане. Слайдшоу и видео обязательно на инглише.
Пожалуйсто, если у кого есть эти ресурсы, будьте любезны, скиньте сюда файлы, или ссылочки на файлы.
Я очень прошу, от этого зависит оплата моего обучения.
В общем вот и темка где нам можно обсуждать ход чемпионата, ставить YouTube ролики, фотки, делиться возражениями и радостью.
Давайте еще прибавим азарт. В течении следующих 10 дней делайте ставки какая команда будет чемпионом Европы чемпионата 2008 года. В награждение, админчег MC-1717 что нибудь придумает .
Пардон админчег, без твоего ведома, навязываю тебе вручение призов .
Ну значит ждем и смотрим первые матчи, и давай сюда.
В общем за последние несколько дней, сервер где распологается наш форум был атакован злоумышлениками, у которых полезное время уходит напрасно.
Так как такие атаки не предусмотрены хостерами в Дата Центре (к сожалению), пришлось покопаться.
Статья:
Как бы мы этого не хотели но много видов сетевых (D)DoS атак на уровне ПО (програмного обеспечения) предотвратить не возможно, возможно только замедлить. Статья это написана с учетом того, что читающий уже знает, что такое (D)DoS и хотябы поверхностно понимает разновидности атак. Читающий понимает терминалогию TCP/IP стека, сетевых протоколов, пакетной структуры, и операционную систему Linux/Unix. Данная статья предназначена для защиты Linux/юникса подобных систем. Автор не несет никакой ответственности за ваши действия, так что рискуйте сами.
Мы будем концентрироваться на виде (D)DoS атаки под именем Syn Flood attack. Это очень известный и широко распространненый вид сетевой атаки, который удается в большинстве случаев если сервер(а) не сконфигурированы для защиты, или же сервер не защищен от такой атаки с помощью физическиx файрволов (Cisco routers, и тд и тп).
Краткое описание Syn Flood атаки:
Цитата
SYN-атака ? это одна из самых эффективных пакетных атак, дающая наибольший эффект с минимальными затратами. Она подменяет IP исходного соединения ложным, на который отвечающая сторона не в состоянии ответить. Установка TCP-соединения требует обмена тремя пакетами: первый с битом SYN (синхронизации) от пользователя, затем ответ SYN/ACK от Web-сервера, и, наконец, подтверждение ACK (от англ. ACKnowledge) от пользователя. В случае задержки в установке соединения, сервер посылает ответ SYN/ACK несколько раз, а затем переходит в режим ожидания, выделив ресурсы на возможное соединение.
Периоды повтора попытки и тайм-аута, в общем, могут занимать до трех минут на одно фиктивное соединение. Таким образом, даже небольшой поток SYN-пакетов, на которые невозможно ответить, может привести к переполнению сервера в небольшие сроки.
Злонамеренные SYN-пакеты сложно выделять среди обычных, так как установка соединения ? это необходимый элемент сетевого трафика. Атаку возможно предотвратить, изменяя количество повторных SYN/ACK ответов сервера, но существует опасность, что сервером будет отказано и в обычных соединениях.
источник:
Ниже привожу общее описание методов защиты из другой статьи
Цитата
a) Стандартный таумаут. Полуоткрытые соединения по прошествии некоторого времени выбрасываются из буфера. При истощении буфера запросы клиентов на подключение будут проходить с вероятностью C1/C2, где C1 - количество SYN-пакетов от клиента, C2 - количество SYN-пакетов от всех остальных (включая атакующего). Даже при нагрузке на канал атакующего в 6 пакетов в секунду C1/C2 - примерно 1/100, т.е. служба выведена из строя на 99%.
б) Безлимитный буфер полуоткрытых соединений. При нагрузке на канал атакующего 100 Mb/сек и таймауту около минуты очередь полуоткрытых соединений будет занимать примерно 1 Gb памяти, что для крупных серверов не смертельно. Побочный эффект: атакуемый сервер отвечает трафиком, в 3 раза большим, чем трафик атакующего (говорят, что происходит DDoS с умножением в 4 раза), что может привести к истощению пропускной способности канала. Однако, при невозможности истощить ширину канала, защита от атаки будет абсолютной, ни одно клиентское соединение не будет отвергнуто.
в) Очистка наиболее старых полуоткрытых соединений. При переполнении буфера из него удаляется самое старое полуоткрытое соединение. Побочный эффект: если при атаке буфер заполняется за время t, то клиент не сможет подключиться во время атаки, если время подтверждения соединения больше t - его запрос тоже будет выброшен. Например, для нагрузки канала атакующего 4 Мбит/сек и длины буфера 512 (рекомендуемое значение для Win2K) время t - около 50 msec, что гарантированно отбросит все попытки подключения к серверу с диалапа и многие - с выделенных линий. Увеличивая размер буфера, защиту можно свести к предыдущему варианту.
г) SYN COOKIE. После истощения буфера информация, которая не помещается в буфер, отсылается клиенту, который якобы запросил ее. Если клиент - настоящий, то он возвращает информацию обратно, если поддельный - она теряется, причем механизм реализован в рамках RFC по TCP, т.е. его поддерживают и клиенты, не знакомые с этой технологией. Операционная система c SYN COOKIE, независимо от размера буфера полуоткрытых соединений, совершенно неуязвима для SYN-flood атак. Побочный эффект: запрет "больших окон".
Ну а теперь я приведу более детальное описание защиты. Для этого нам понадобится некоторое ПО
1) iptables (linux firewall)
2) APF (Advanced Policy Firewall) http://www.rfxnetworks.com/apf.php
В большинстве ОСях iptables установлен по умолчанию, но если нет, то можно скачать тут: http://www.netfilter.org/
Как пользоваться и нстраивать iptables я тут описывать не буду. Напоминаю, что статья о другом, и читатель должен уже знать как настраивать и запускать iptables.
Метод 1)
Уже как несколько лет, ядра всех никс дистрибутивов приходят со своей встроенной защитой от Syn Flood атак, не всегда надежной, но все же лучше чем ничего. Это защита методом syn cookies. Обычно, этот тип защиты уже влкючен автоматически по умолчанию (по крайней мере в BSD системах). Но в Линукс системах, не всегда это факт.
В консоле под юзером root, нужно выполнить ниже следующие команды:
# Настраиваем tcp параметры ядра для уменьшения (D)DoS атак
#Уменьшаем возможность DoS при уменьшении таймаутов
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_time
echo 1 > /proc/sys/net/ipv4/tcp_window_scaling
echo 0 > /proc/sys/net/ipv4/tcp_sack
echo 1280 > /proc/sys/net/ipv4/tcp_max_syn_backlog
# Включаем SYN COOKIES
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo "65535" > /proc/sys/net/ipv4/ip_conntrack_max
Метод 2 (желательно сочитать с методом 1):
Базовые правила для iptables (для более прочного мануала ищите в google.com )
Так же под рутом в консоле набираем эти команды.
# Правила по умолчанию
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD DROP
/sbin/iptables -F
/sbin/iptables -F INPUT
/sbin/iptables -F OUTPUT
/sbin/iptables -F FORWARD
/sbin/iptables -F -t mangle
/sbin/iptables -X
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A INPUT -d 127.0.0.0/8 -j REJECT
/sbin/iptables -A INPUT -i eth0 -j ACCEPT
/sbin/iptables -A INPUT -m state --state INVALID -j DROP
### Цепь для сброса (DROP) флуд пакетов SYN-s ######
/sbin/iptables -N syn-flood
/sbin/iptables -A syn-flood -m limit --limit 100/second --limit-burst 150 -j RETURN
/sbin/iptables -A syn-flood -j LOG --log-prefix "SYN flood: "
/sbin/iptables -A syn-flood -j DROP
Метод 3:
Заходим под рут:
1. cd /root/downloads или другая директория где вы храните файлы.
2. wget http://www.r-fx.ca/downloads/apf-current.tar.gz
3. tar -xvzf apf-current.tar.gz
4. cd apf-0.9.3_3/ или какая у вас там версия.
5. ./install.sh
Получите сообщение
.: APF installed
Install path: /etc/apf
Config path: /etc/apf/conf.apf
Executable path: /usr/local/sbin/apf
6. Редактируем конфиг: vi /etc/apf/conf.apf
Базовые настройки, читайте README для полных настроек
Находим: DEVEL_MODE="1"
Заменяем на: DEVEL_MODE="0"
Удостоверяемся:
SYSCTL_SYN ="1"
SYSCTL_SYNCOOKIES="1"
7. Настраиваем порты
Приблизительно:
(Все это на ваше усмотрение)
Common ingress (inbound) ports (Входящие порты)
# Common ingress (inbound) TCP ports
IG_TCP_CPORTS="21,22,25,53,80,110,143,443,6000_7000"
#
# Common ingress (inbound) UDP ports
IG_UDP_CPORTS="53"
Common egress (outbound) ports (исходящие порты)
# Common egress (outbound) TCP ports
EG_TCP_CPORTS="21,25,80,443,43"
#
# Common egress (outbound) UDP ports
EG_UDP_CPORTS="20,21,53"
8. Запускаем
/usr/local/sbin/apf -s
Другием команды:
usage /usr/local/sbin/apf [OPTION]
-s|--start ............. загрузить правила файрвола
-r|--restart ........... перезагрузить
-f|--flush|--stop ...... остановить
-l|--list .............. показать правила
-st|--status ........... статус
-a HOST|--allow HOST ... добавить host (IP/FQDN) в allow_hosts.rules
-d HOST|--deny HOST .... добавить host (IP/FQDN) to deny_hosts.rules
Метод 4: (iptables и apf должны быть установлены)
Загружаем (D)DoS-Deflate
В заключении, я хочу заметить, что вышеуказаные методы, это НЕ 100% предотвращение, а просто замедление (D)DoS атак. Существуют физические файрволы как свитчи и раутеры, которые должны учитывать (D)DoS атаки и предотвращать их. Но к сожалению это забота хостеров в Дата Центрах. Если у них нет того оборудования, то... придется пытаться вышеуказаными методами, и надеется, что все это сработает, иначе Гитлер-Капут.
Комментарии
Guest
02 Апр 2008 - 22:05