1. В Украине нет хороших ДЦ.
Хороший сервер с серверным железом, в правильном ДЦ, гарантированным каналом и базовой защитой от ДДОС стоит от 300 баксов. В Украине эти деньги просят просто за железо. Много пробовал хостеров, плюнул и теперь размещаю сервера только в России. Ни у одного пользователя из Украины не было проблем с доступом. По поводу серверов в Германии и других соседних государствах. Не надо ориентироваться на "дешевле" - такая же фигня с десктопным железом и отсутствием каких-либо гарантий и помощи Hetzner, webtropia, Burst.net и др. даже не смотрите.
2. Метод борьбы с SYN-Flood, не раз провереный в бою.
A] Мониторим соединения и записываем их в файл
tcpdump -v -n -w attack.log dst port 80 -c 100000
где "100000" - количество соединений для статистики. При ДДОС очень быстро заполняется, можно увеличивать в зависимости от интенсивности атаки, я ставлю так, чтобы заполнялось за минуту.
B] Фильтруем полученный файл
tcpdump -nr attack.log |awk '{print $3}' |grep -oE '[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}' |sort |uniq -c |sort -rn | head -200
Где "head -200" - количество соединений, которые надо вывести, иначе вывод будет большой
Устанавливайте такой, чтобы из лога убрать валидные IP, в каждом случае по интенсивности атаки нужно определять индивидуально. Без ключа uniq -c будут отображаться только IP, чтобы получить файл с IP нужно в конце дописать >> ips.txt
В итоге команда может выглядеть так:
tcpdump -nr attack.log |awk '{print $3}' |grep -oE '[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}' |sort |sort -rn | head -200 >> ips.txt
C] Создаём файл
nano ddos-ban.sh
#!/bin/bash
BLOCKDB="ips.txt"
IPS=$(grep -Ev "^#" $BLOCKDB)
for i in $IPS
do
iptables -A INPUT -s $i -j DROP
D] Делаем его исполняемым chmod +x ddos-ban.sh
И запускаем ./ddos-ban.sh
Процедуру придётся периодически повторять, но можно автоматизировать и повесить на cron
После того как ДДОС завершиться, не забудьте разбанить всех кого вы заблокировали, предварительно сохранив список IP.
3. Ваш зарубежный канал в 5 Мбит - ваше узкое горлышко, вас задосит даже школьник с однокласниками в 15 компов. Расширяйте. C Мирохоста советую съехать - тот ещё сервис с десктопным железом, дорогущим трафиком и беспомощьностью перед ДДОС.
4. Для вашего сайта я бы рекомендовал также организовать RDNS с синхронизацией между серверами в разных ДЦ. Это позволило бы выдержать любую ДДОС атаку.