Защита windows от ddos атак

Get one today for enhanced protection

by Madalina Dinita

Madalina has been a Windows fan ever since she got her hands on her first Windows XP computer. She is interested in all things technology, especially emerging technologies… read more


Updated on

  • Experiencing a DDoS attack can incapacitate your website, so you need Windows Server DDoS protection.
  • Once set up, these tools, software, and web services will automatically prevent DDoS attacks. 
  • We did the hard work for you and found the best available options, presented in this guide.

best windows server ddos protection tools

For many Internet users, DDoS was a completely new word until recently. Then, millions of Windows users couldn’t access platforms such as Twitter, Reddit, and Amazon due to attacks, and that’s when the idea of a Windows Server DDOS protection software became mainstream.

Distributed Denial of Service (DDoS) attacks overwhelm websites by pushing traffic from many sources, usually computers and other network-based devices infected by malware. So, let’s find out more about the subject and the best DDOS protection software.

Does Windows have DDoS protection?

If you are running a domain, Windows can’t do much about protecting it, and third-party software is usually the best bet. But with the built-in Windows Security (Windows Defender), it can identify and remove malware responsible for DDoS attacks.

Microsoft offers Azure DDoS Protection, which provides advanced features to eliminate even the most intricate DDoS attacks. The best part, it doesn’t require any application or changes to the resources.

Let’s now find out the best options for Windows Server DDoS protection.

What is the best Windows Server DDOS protection software?

Sucuri – Constant threat monitoring

Sucuri is a web security company that provides cloud-based security services. It is not the software you must install but a subscription service that will keep your website safe from malware, hackers, and DDoS attacks.

Regarding DDoS, Sucuri’s platform detects and blocks DDoS layers 3, 4, and 7 attacks. All these attacks are aggregated and analyzed by the Sucuri platform’s AI to anticipate malicious behavior.

Other features include:

  • The cleaning process doesn’t affect the website in any way.
  • A website firewall protects you from malware and hacking, brute force and DDoS attacks, and zero-day exploits.
  • Constant threat monitoring with a variety of alert options.
  • Highly optimized CDN that offers greater loading speeds for webpages.
  • Unlimited malware removal.
  • Increased page loading speed.

Sucuri

Highly secure your Windows server with this security resource that stops any malware or DDoS attacks.

SiteLock – Built-in VPN

SiteLock is another great cloud-based website security service that will eliminate all the possible threats that might affect your website, and it offers DDoS protection.

How we test, review and rate?

We have worked for the past 6 months on building a new review system on how we produce content. Using it, we have subsequently redone most of our articles to provide actual hands-on expertise on the guides we made.

For more details you can read how we test, review, and rate at WindowsReport.

Let’s get straight to the point: SiteLock offers infrastructure, web application protection, and DNS security.

It also detects and blocks application levels of DDoS attacks and gives you detailed reports so you can be up to date with the state of your website after each attack.

Other features include:

  • Automatic separation for human and bot traffic.
  • Detects DDoS attempts and starts different protection services accordingly.
  • Full PCI compliance lets you keep your client’s card details safe from third parties.
  • The built-in VPN ensures your anonymity online.
  • Great hosting security that protects your end-users.

Get SiteLock

Imperva FlexProtect – API security

imperva windows server ddos protection

FlexProtect is a very reliable tool, offering complete protection from all types of network and application-level DDoS attacks. The tool automatically filters traffic for transparent mitigation and relies on a 2Tbps network backbone for instant overprovisioning.

FlexProtect secures websites against the most fierce and dangerous DDoS attacks without disrupting your business.

Thanks to its cloud-based service, your online business will be up and running even under attack, and your visitors won’t notice anything unusual.

Other features include:

  • A real-time dashboard that gives you a useful overview of your security.
  • Uses advanced technologies to reduce the number of false positives to a minimum.
  • Web application Firewall Gateway.
  • API security – protects your website and APIs by using a single-stack approach.
  • Attack analytics – automatically analyzes the threats and adapts to them proactively.

⇒ Get Imperva FlexProtect

BeeThink anti-DDoS Guardian – Real-time network activities monitoring

top windows server ddos protection

BeeThink’s anti-DDoS tool protects your Windows servers against most DDoS/DoS attacks, such as SYN attacks, IP flood, TCP flood, UDP flood, ICMP flood, slow HTTP DDoS attacks, Layer 7 attacks, Application attacks, Windows Remote Desktop brute force password guessing attacks, and more.

This DDoS protection software is light, robust, and can easily be deployed on Windows website server machines.

Other features include:

  • Support multiple IP list formats, such as Apache’s .htaccess.
  • Automatically update the IP list.
  • Support IP blacklist and white list.
  • Support exceptional rules.
  • Look up remote IP addresses and ownership information.
  • Run Anti-DDoS Guardian as a Windows service.

⇒ Get BeeThink anti-DDoS Guardian 

Cloudbric – Deep learning system

cloudbric

Cloudbric is a reliable Windows Server DDoS protection tool that can be used by anyone with a website and domain, irrespective of the website platforms hosting your online business.

You can activate Cloudbric on your website in less than three minutes – a simple DNS change is all you need.

This tool sets up a shield in front of your website to filter malicious attacks. Penta Security System guarantees that Cloudbric can protect your website against all cyber-attacks.

Major companies activating in various fields, such as Samsung, ING, eBay, and others, rely on Cloudbric to protect their websites.

Other features include:

  • Easy-to-use interface
  • The dashboard allows you to have an overview of your entire security settings plan
  • Deep learning system – COCEP engine that integrates a machine learning platform called VISION
  • You can download monthly customized reports

⇒ Get Cloudbric

These were the best options for Windows Server DDOS protection, and a few here also offer remote DDOS protection. So, get one of these today to protect your website.

Also, for those looking for all-around protection, check the best website security software.

Tell us your favorite pick from the options listed here, or share your recommendations in the comments section below.

newsletter icon

Предисловие

Приветствую тебя, дорогой читатель. Скорее всего, если ты это читаешь, то уже очень устал получать кучу алертов о том, что твоя площадка загибается от регулярных набегов печенегов ботов или других нежелательных посетителей контента. Я надеюсь, что эта статья поможет тебе спать спокойно и оградит тебя от недугов, а также внесет больше ясности в твое понимание теории и практики защиты от dos и ddos. Приятного чтения!


Глава 1: “Знай своего врага.” — Сунь Цзы

Что такое Dos и Ddos, и в чём их отличия?

Dos, или по-другому Denial of Service — «отказ в обслуживании». Это атака со стороны одиночного IP-адреса, связанная с отправкой нелегитимного трафика и приводящая к неработоспособности системы, что, в свою очередь, приводит к простою площадки или сервиса и потере финансовой составляющей.

Ddos, или Distributed Denial of Service — «распределенный отказ в обслуживании».  Отличие данной атаки от описанной выше в том, что отправка трафика в данном случае будет идти с различных IP-адресов. Этот аспект приводит к сложности защиты сервисов.

Как распознать возникновение атаки на инфраструктуру?

В случае, если на вашей машине, локальной или виртуальной, резко повысилась нагрузка на CPU и увеличилось потребление RAM, то, вероятнее всего, вы стали жертвой криво залитого кода или же ddos/dos-атаки. Распознать подобное поведение и определиться с окончательным выбором варианта ответа нам помогут следующие шаги.

Во-первых, как уже было написано выше, — если у вас установлен мониторинг, и вы видите резкие скачки на графиках ресурсопотребления, к примеру:

Также вы заметите увеличение количества коннектов на вашем сервисе обработчике данных. Для примера мы рассматриваем стандартный LEMP-стек Nginx + Apache + Mysql,  а значит в момент проблемы мы фиксируем резкий скачок соединений:

Во-вторых можно произвести анализ запросов за время возникновения проблемы. В этом, как правило, могут помочь однострочные скрипты, которые полезно иметь каждому системному администратору под рукой, данные скрипты вы можете написать самостоятельно, изучив команды чуть подробнее или воспользоваться нашим готовым решением. Ниже команда для парсинга логов за последние 10000 и вывод в top IP адресов, встречающихся наиболее часто:

tail -10000 access.log | awk '{print $1}'| sort -nr | uniq -c | sort -nr | head

Так можно узнать количество уникальных IP, после чего можно сравнить с результатами за предыдущие сутки и узнать было ли значительное увеличение трафика:

cat access.log | awk '{print $1}'| sort -nr | uniq -c | wc -l

Следом представляем отличную команду для парсинга IP-адресов в момент фиксирования проблемы, а именно по дате и временному промежутку:

head access.log | grep 26/Apr/2021:1[1-2]: | awk '{print $1}'| sort -nr | uniq -c | sort -nr

Теперь давайте посмотрим примеры на практике нелегитимного трафика:

head -20 access.log | grep "25/Jul/2022:00:" | awk '{print $1}' | sort | uniq -c | sort -nr
   4150 45.155.53.76
   3550 84.38.189.56
   3184 5.45.207.189
   233 5.255.253.188
   233 45.10.217.121
   233 92.119.203.156
   229 5.45.207.112
   223 84.38.189.54
   200 109.194.11.25
   147 5.255.253.160

В этом примере первое, что бросается в глаза — это около 4000 запросов за последний час с 00:00. Из этого можно сделать вывод, что это явно не обычный пользователь, которому нравится заходить на сайт. Также одним из отличительных признаков ddos-атаки можно назвать регулярное изменение user agent в каждом запросе, что наводит на мысль о машинном создании запроса.

Что же такое user agent?

User agent — идентификационная строка клиентского приложения; обычно используется для приложений, осуществляющих доступ к веб-сайтам — браузеров, поисковых роботов и «пауков», мобильных телефонов и других устройств со встроенным доступом к веб-ресурсам.

Например:

tail -10 access.log | grep 185.250.45.31
185.250.45.31 [Via:NGENIX; X-Proxy-Name:-] (RU) "www.testsite.ru" [24/Jul/2021:21:27:24 +0300]    200     "GET /ajax/rq_list.php?product_id=10692404 HTTP/1.1"    0.049 (0.048)   Upstream:10.250.0.5:443 1963    "https://www.testsite.ru/ajax/rq_list.php?product_id=10692404" "Mozilla/5.5 (Windows; I; Windows NT 6.1; en-us) Chrome/36.6.59.965"    "blocked=0"     "whitelistCOUNTRY=1"    "whitelistIP=0" "whitelistORG=0" 
185.250.45.31 [Via:NGENIX; X-Proxy-Name:-] (RU) "www.testsite.ru" [24/Jul/2021:21:27:24 +0300]    200     "GET /ajax/rq_list.php?product_id=10692404 HTTP/1.1"    0.056 (0.056)   Upstream:10.250.0.5:443 1963    "https://www.testsite.ru/ajax/rq_list.php?product_id=10692404" "Mozilla/5.3 (compatible; Windows NT 6.6; WOW64; en-us) Chrome/35.1.309.843 Safari/551.56"      "blocked=0"     "whitelistCOUNTRY=1"    "whitelistIP=0" "whitelistORG=0" 
185.250.45.31 [Via:NGENIX; X-Proxy-Name:-] (RU) "www.testsite.ru" [24/Jul/2021:21:27:27 +0300]    200     "GET /ajax/rq_list.php?product_id=10692404 HTTP/1.1"    0.063 (0.064)   Upstream:10.250.0.5:443 1963    "https://www.testsite.ru/ajax/rq_list.php?product_id=10692404" "Mozilla/5.9 (Linux (Wine); Windows NT 7.2; ru-ru) like Gecko Chrome/34.8.208.96 Safari/639.27" "blocked=0"     "whitelistCOUNTRY=1"    "whitelistIP=0" "whitelistORG=0" 
185.250.45.31 [Via:NGENIX; X-Proxy-Name:-] (RU) "www.testsite.ru" [24/Jul/2021:21:27:27 +0300]    200     "GET /ajax/rq_list.php?product_id=10692404 HTTP/1.1"    0.071 (0.072)   Upstream:10.250.0.5:443 1963    "https://www.testsite.ru/ajax/rq_list.php?product_id=10692404" "Mozilla/5.0 (compatible; U; Windows NT 6.3; en-us) Chrome/35.1.226.692"        "blocked=0"     "whitelistCOUNTRY=1"    "whitelistIP=0" "whitelistORG=0" 
185.250.45.31 [Via:NGENIX; X-Proxy-Name:-] (RU) "www.testsite.ru" [24/Jul/2021:21:27:28 +0300]    200     "GET /ajax/rq_list.php?product_id=10692404 HTTP/1.1"    0.073 (0.072)   Upstream:10.250.0.5:443 1963    "https://www.testsite.ru/ajax/rq_list.php?product_id=10692404" "Mozilla/5.0 (Windows; Windows NT 6.9; x64; en-us) KHTML/4.3.5 (like Gecko) Chrome/39.3.54.483" "blocked=0"     "whitelistCOUNTRY=1"    "whitelistIP=0" "whitelistORG=0" 

Здесь прекрасно видно, как на протяжении 1 минуты useragent потенциального пользователя в каждом запросе меняет браузер на Chrome, Mozilla, Safari. Как и саму ОС, с которой происходит отправка Windows, Linux.

Итак, когда мы чуть-чуть познакомились с теорией, настало время практики. В частности, мы поднимем стандартный Nginx на OC Debian 10 в качестве обработчика статического контента и Apache в качестве backend и произведем стресс тест нашей площадки.

Глава 2: “Лучшая защита — нападение” — Александр Македонский.

Начнём… Давайте поставим актуальный Nginx из официальных репозиториев для дальнейшей работы.

1.1. Ставим необходимые библиотеки:

apt install curl gnupg2 ca-certificates lsb-release debian-archive-keyring

1.2. Импортируем официальный ключ подписи:

curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
    | tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

1.3. Проверяем его правильность:

gpg --dry-run --quiet --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg

1.4. Добавляем репозитории:

echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/debian `lsb_release -cs` nginx" \
    | tee /etc/apt/sources.list.d/nginx.list

1.5. Настраиваем приоритет наших пакетов, над пакетами из основного дистрибутива:

echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
    | tee /etc/apt/preferences.d/99nginx

1.6. Перечитываем репозитории и ставим наш Nginx

apt update
apt install -y nginx

2. Проверяем, что Nginx установлен корректно и уже автоматически запустился.

systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
  Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
  Active: active (running) since Mon 2022-01-31 18:19:12 +07; 7s ago
    Docs: man:nginx(8)
Main PID: 9381 (nginx)
   Tasks: 5 (limit: 4915)
  Memory: 5.8M
  CGroup: /system.slice/nginx.service
          ├─9381 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
          ├─9382 nginx: worker process
          ├─9383 nginx: worker process
          ├─9384 nginx: worker process
          └─9385 nginx: worker process

янв 31 18:19:12 user systemd[1]: Starting A high performance web server and a reverse proxy server...
янв 31 18:19:12 user systemd[1]: Started A high performance web server and a reverse proxy server.

3. Теперь напишем простую конфигурацию для виртуального хоста и проведём тестирование.

nano /etc/nginx/conf.d/default

Конфигурация:

server {
       listen 80 ;

       root /var/www/html;

       server_name www.zashitimsa_ot_ddos.ru;

       location / {
               try_files $uri $uri/ =404;
       }

}

4. Прописываем необходимую запись к себе в hosts, чтобы иметь возможность открыть наш созданный сайт.

nano /etc/hosts

Конфигурация:

$наш_ip_адрес www.zashitimsa_ot_ddos.ru

5. Делаем проверку и получаем подобный результат.

p.s. Картинка

Картинка была заготовлена изначально и положена в файлы площадки.

6. Теперь проверим, как наш Nginx выдержит стресс-тест. Используем для этого любую тестовую утилиту для Dos. Я в качестве примера использую GoldenEye. Ссылка на источник прилагается.

Её запуск можно произвести как со своей локальной машины, так и с другой  виртуальной машины для наглядности.

Перемещаемся в рабочий каталог:

cd /opt

И клонируем себе репозиторий:

git clone https://github.com/jseidl/GoldenEye.git
cd ./GoldenEye

Если у вас изначально нету git и python, то их можно также легко установить себе на машину следующими командами:

apt install git python3.9

Теперь делаем тестовый запуск и смотрим на логи и результат:

python3 goldeneye.py http://www.zashitimsa_ot_ddos.ru/test.png -w 50 -s 1500 -m random -d
GoldenEye v2.1 by Jan Seidl <jseidl@wroot.org>

Hitting webserver in mode 'get' with 2500 workers running 500 connections each. Hit CTRL+C to cancel.

Starting 50 concurrent workers

7. Результат.

Площадка не отдает контент:

В логах видим, что на площадку было отправлено 3000 беспорядочных запросов Nginx.

head /var/log/nginx/access.log | grep 07/Feb/2022:05: | awk '{print $1}'| sort -nr | uniq -c | sort -nr
   3002 62.109.28.95

При этом все запросы имеют примерно следующее содержание:

tail -3 access.log 
62.109.28.95 - - [07/Feb/2022:05:50:40 +0000] "GET /test.png?C5fpRAtsX=mDtamkj&fvHhGpqK5E=wFsRJifnxpAr8yXYA8Ip HTTP/1.1" 200 119941 "http://www.zashitimsa_ot_ddos.ru/mCiN2DNf7Y?N1tw=c7aqmB&0lFIpn=pUYexNiiySDc2&fw1h=3KiPFpk30NerKd6&2F1bOYVUhl=JoFsDn2&fg7ljW=b7KNWm&qE2=QtSctM2c53dVRUlx&eaQ=aTP18q14oKF" "Mozilla/5.0 (compatible; MSIE 7.0b; Windows NT.6.2; .NET CLR 2.5.24981; WOW64)"
62.109.28.95 - - [07/Feb/2022:05:50:40 +0000] "GET /test.png?lTbPcEcrHp=24ohNGEqR0 HTTP/1.1" 200 138765 "-" "Mozilla/5.0 (compatible; MSIE 7.0; Macintosh; .NET CLR 3.0.6224; Intel Mac OS X 10_2_5)"
62.109.28.95 - - [07/Feb/2022:05:50:40 +0000] "GET /test.png?jUqMn0gKkI=w2EUD4Ycvt&dSYvge=x0W&vXBaoy7=pvpl21LV&1tssU73vTd=eoqNCWqcv60&BG1FRwnEV2=8qnklbsrP HTTP/1.1" 200 121389 "-" "Mozilla/5.0 (Windows NT 5.1; WOW64) AppleWebKit/537.35 (KHTML, like Gecko) Chrome/27.0.229.36 Safari/536.2"

Это привело к исчерпанию свободных workers обработчиков сервиса:

tail -5 /var/log/nginx/error.log
2022/02/07 05:50:30 [alert] 29231#29231: 768 worker_connections are not enough
2022/02/07 05:50:30 [alert] 29231#29231: 768 worker_connections are not enough
2022/02/07 05:50:30 [alert] 29231#29231: 768 worker_connections are not enough
2022/02/07 05:50:30 [alert] 29231#29231: 768 worker_connections are not enough
2022/02/07 05:50:30 [alert] 29231#29231: 768 worker_connections are not enough

p.s. Предосторожность!

Будьте аккуратны с GoldenEye, так как во время тестирования он потребляет основные ресурсы сервера и, как правило, при неправильном выставлении параметров из серии:

python3 goldeneye.py http://www.zashitimsa_ot_ddos.ru/test.png -w 5000000 -s 15000000 -m random -d

Может привести к исчерпанию свободных ресурсов сервера и к его зависанию.

Глава 3: “В сражении само по себе численное превосходство не дает преимущества. Не надо идти в атаку, опираясь только на голую военную мощь.” — Сунь Цзы

После того, как наша площадка спустя непродолжительное время упала под натиском атаки, можно пробовать выстраивать защиту, которая сможет помочь избежать нелегитимного трафика и дать возможность почувствовать себя крутым IT-шником.

Перед этим необходимо ответить себе на следующие вопросы:

  1. От каких атак я хочу защититься?

  2. Хочу ли я отсеять запросы ботов?

  3. Как не потерять трафик от реальных пользователей?

Приступим…
Разумеется, для тех, кто уже имел опыт работы с Nginx, не будет сюрпризом функция ‘rate’. Для тех, кто не имел такого опыта, ниже мы подробнее рассмотрим эту функцию: что это и с чем это едят.

Шаг первый ‘rate’:

rate — настраиваемая функция, которая позволяет вам ограничить количество HTTP-запросов, которые пользователь может сделать за определенный период времени.

1. Производим добавление зоны в блок server нашего виртуального хоста в корневой location:

Конфигурация:

limit_req_zone $binary_remote_addr zone=shield:10m rate=1r/s;

server {
       listen 80 ;

       root /var/www/html;

       server_name www.zashitimsa_ot_ddos.ru;

       location / {
              limit_req zone=shield;
               try_files $uri $uri/ =404;
       }

}

Чтобы понимать, что мы пишем, разберём сразу несколько ‘лемм’ данной настройки:

zone   /// Ни для кого не будет секретом, что зона представляет из себя зону общей памяти, используемую для хранение IP адресов
zone=shield  /// Название зоны, оно может быть любым
$binary_remote_addr  /// переменная содержащая в себе двоичный IP адрес
10m  /// размер зоны памяти в мегабайтах                                                                                
rate=1r/s /// количество requests в секунду, в данном случае 1 запрос в секунду

Результаты:

После произведения небольшого теста мы сразу увидим в логах следующую картину работы нашей настройки:

head access.log
62.109.28.95 - - [07/Feb/2022:06:08:08 +0000] "GET /test.png?gtv0SN=QwAgT&6SAGxK3h=AFw0opHJed3XpCtwHb HTTP/1.1" 200 189721 "-" "Mozilla/5.0 (Windows NT 5.1; WOW64) AppleWebKit/535.20 (KHTML, like Gecko) Version/5.0.4 Safari/536.21"
62.109.28.95 - - [07/Feb/2022:06:08:08 +0000] "GET /test.png?c6aJYc=lwveJ5aI76xw&ogFuK8R4W=CUqFlTXSrhT1S&F3v=R7EhYI7gpucmbq4&xqN=cq3coSVvPT6&HHq=vjnt7FFyKLx HTTP/1.1" 503 213 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) Gecko/20042612 Firefox/19.0"
62.109.28.95 - - [07/Feb/2022:06:08:08 +0000] "GET /test.png?2L6Ymgh=mvoXScoSmiaM&mjjkt3o=Lkwyw&5I1ym=7VKefXOma HTTP/1.1" 503 615 "http://www.google.com/xNlsQ3?1nvky0BRyy=JmTICugXrcPMXx0DC" "Mozilla/5.0 (compatible; MSIE 9.0; Macintosh; .NET CLR 2.2.26969; Intel Mac OS X 11_1_1)"
62.109.28.95 - - [07/Feb/2022:06:08:08 +0000] "GET /test.png?Xk4y=xsyeB7FObY3J&TQoJ5=VLTnHP HTTP/1.1" 503 615 "http://www.zashitimsa_ot_ddos.ru/TRvKqc" "Mozilla/5.0 (Windows; U; MSIE 7.0; Macintosh; .NET CLR 3.5.13570; Intel Mac OS X 11_0_5)"
62.109.28.95 - - [07/Feb/2022:06:08:08 +0000] "GET /test.png?A0wPrP=xcKcOdMTSFEGqaUw1&C4lwH=YcQgUkhR1QOI&NCeuc2=LDW5odrQN2bNcWhn2 HTTP/1.1" 503 213 "http://www.zashitimsa_ot_ddos.ru/IdMNN4?CKf7Ux=Jv1CuJ&kah4l8EofJ=o0BPFDqnOE5XWR&iJvEuVR=LEUud0hfi2m&0fRWX0=Fx6SkHP5VRIuJKt&xNQKBnLm=GqquF1C7PEWiKiHD8jG&thesU=HG80V0N&bWtoxEG=CpK8ju5E6lmYm7rOwsyC&wPt=uVQSsyk7XrW7Eq1h" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) Gecko/20103004 Firefox/15.0"
62.109.28.95 - - [07/Feb/2022:06:08:08 +0000] "GET /test.png?5O0=3DmuAKsJUVPpdU&TkKL=wJJpKSqOo HTTP/1.1" 503 615 "http://www.yandex.com/ehfnY5" "Mozilla/5.0 (Windows NT.6.2; WOW64) AppleWebKit/537.19 (KHTML, like Gecko) Chrome/17.0.1671.100 Safari/536.22"
62.109.28.95 - - [07/Feb/2022:06:08:08 +0000] "GET /test.png?5ra=7qBQLV&h3YaO=JNUwUUpq HTTP/1.1" 503 213 "-" "Mozilla/5.0 (Windows NT 5.1; Win64; x64) Gecko/20072512 Firefox/11.0"
62.109.28.95 - - [07/Feb/2022:06:08:08 +0000] "GET /test.png?NiU=O3lRfkyh4cDRKo&KWEgQScD0=A4uYEw5rCUI55yt1&C5qjWevh=BJp&qY7q77=XlkE0 HTTP/1.1" 503 615 "http://www.google.com/gwqPjY?SnC=QjCvRl6WkihbOXx3VD&YBbXQ=kfK&u8y6r=qBMhgA67RbfqNOG&CH1jrHn=nJEpNgIdhXq6eP6AL6Y&6u2CM=mjry&KMge75d=4VjNynX&PVU=vWLeLCMRQ1O&ayQVLV=ynE0qdxKmwyQUR6X&uTwvDJU=gB86jE1bJh6PTp&31xQy=NYqINsYwjx8gx8" "Mozilla/5.0 (Windows; U; MSIE 6.0; Windows NT 6.1; Trident/4.0; WOW64)"
62.109.28.95 - - [07/Feb/2022:06:08:08 +0000] "GET /test.png?wCoex=PrlSPlMIAkWGd3J&e7xBA6=ltFAGNQlQHCeGyh24&EWMvYuRt5=57lPG26Mq HTTP/1.1" 503 213 "http://www.yandex.com/loiWFn8?EcOgc=N44Hh1NgNpsTAF&H3dkdP5sps=MW6wACSn&YU4xDEL22u=3QnCuKkybO&MvpI4=RSHViVAvsScoE&d7bQuVeMms=FcGUbmWv&bR4P63j=TolMsDcX0GmrXHUQB&E8A8jR2wf=jl2BA4ipBva&xKgBJB=xnqJAic1ePkX81UfI" "Mozilla/5.0 (Linux i386; X11) Gecko/20100505 Firefox/25.0"
62.109.28.95 - - [07/Feb/2022:06:08:08 +0000] "GET /test.png?GBSOIJ=IVlXF&F7EoI30=bcRHF6ej2vX4i2vj&TE7=mWfJ2E47oe37cgjegjL&x4QKBtRDW=USvUq HTTP/1.1" 503 213 "http://www.baidu.com/GLbGL6q" "Mozilla/5.0 (Linux x86_64; X11) Gecko/20072512 Firefox/11.0"

Отсюда мы видим, 1 запрос получил 200-й код ответа, после чего все остальные запросы получали 503-й код, говорящий о том, что сервер не готов обработать данный запрос. Прекрасно — мы на верном пути.

После того как мы настроили данную защиту, мы защитились от вредоносных IP-адресов, которые создают ненужные запросы, но что, если мы представим ситуацию, когда к нам заглянут толпы поисковых ботов не принадлежащие Yandex, Google, Mail, исходя из нашей настройки 1 запрос будет всегда обрабатываться корректно, но нужен ли он нам?

Шаг второй ‘блокировка по user_agent’

Производим настройку блокировки по user_agent, добавим в наш блок сервера интересное условие для блокировки наиболее популярных поисковых ботов и получим финальную конфигурацию:

limit_req_zone $binary_remote_addr zone=shield:10m rate=1r/s

server {
       listen 80 ;

       root /var/www/html;

       server_name www.zashitimsa_ot_ddos.ru;

       
      if ( $http_user_agent ~* (bingbot|AhrefsBot|Ruby|PetalBot|SemrushBot|MJ12bot) ){
               return 403;
       }

       location / {
              limit_req zone=shield;
               try_files $uri $uri/ =404;
       }

}

Результаты:

Теперь боты, обращающиеся с данным user agent автоматически получают 403 независимо от запроса и отправляются отдыхать, не затрагивая нашу площадку.

62.109.28.95 - - [07/Feb/2022:06:27:41 +0000] "GET /test.png?OBDmsO6=foc&kbCf=xy6VgK4QYN HTTP/1.1" 403 571 "-" "Mozilla/5.0 (MJ12bot; Intel Mac OS X 10_0_1) AppleWebKit/537.18 (KHTML, like Gecko) Chrome/30.0.1475.18 Safari/535.5"
62.109.28.95 - - [07/Feb/2022:06:27:41 +0000] "GET /test.png?TteMB=tmrbqmDJabtTAT&cGr4=p2Yxpkdku&Afk20eI=wTibBYkQRqCwOxgh1HD&cULj3rci=POV2pj&rWtHK0=UwnWlr3el HTTP/1.1" 403 571 "-" "Mozilla/5.0 (Windows; U; MSIE 7.0; MJ12bot; .NET CLR 2.0.4936; Intel Mac OS X 11_1_1)"
62.109.28.95 - - [07/Feb/2022:06:27:41 +0000] "GET /test.png?iAHhFb6HF=W8YtpeInTbX774IOHWM&VFU2BXL=Kgfe0n5d631 HTTP/1.1" 403 140 "-" "Mozilla/5.0 (MJ12bot; Intel Mac OS X 11_1_1) Gecko/20053010 Firefox/16.0"
62.109.28.95 - - [07/Feb/2022:06:27:41 +0000] "GET /test.png?SH41W=bSxf8dkWfwK&W7yR=lqY0s0 HTTP/1.1" 403 169 "-" "Mozilla/5.0 (MJ12bot; Intel Mac OS X 11_3_3) Gecko/20091604 Firefox/10.0"
62.109.28.95 - - [07/Feb/2022:06:27:41 +0000] "GET /test.png?P52AAb=gDsyT4foW&nwGCdNH=oMV HTTP/1.1" 403 571 "http://www.zashitimsa_ot_ddos.ru/hmcHaC?S7yLL=6S5wMd0gLqeU7pDVJhju&AIkWBRq7s=NRXF2LkivYBU85dCGa&Q3VhbAts=36R3Ybw&WagrK7x=eE4CAB5AbALM&3yY=GI8vgaCLa2BapE2&bkSLGi=2jVjFgDSdwtxj&EWWCesCSDc=P2qu&5djUfS=Yfin7q3t2UsPN8rbx" "Mozilla/5.0 (compatible; MSIE 7.0; MJ12bot; .NET CLR 3.0.27172; Intel Mac OS X 11_1_0)"
62.109.28.95 - - [07/Feb/2022:06:27:41 +0000] "GET /test.png?grw=txjgo&XSrbd=mbcJAf2diPBOxh&mLl=OGunDrcoWkhP HTTP/1.1" 403 571 "-" "Mozilla/5.0 (MJ12bot; Intel Mac OS X 11_3_3) AppleWebKit/535.35 (KHTML, like Gecko) Chrome/29.0.1227.45 Safari/537.7"
62.109.28.95 - - [07/Feb/2022:06:27:41 +0000] "GET /test.png?XmqsKdXD4p=JXm&Ehm=DofRoOaWIHukWIYHWbbo HTTP/1.1" 403 169 "-" "Mozilla/5.0 (MJ12bot; Intel Mac OS X 10_0_1) Gecko/20082911 Firefox/23.0"
62.109.28.95 - - [07/Feb/2022:06:27:41 +0000] "GET /test.png?hcFy=3jiNPtYiL&G0ctkasjSP=qHebQoiF&FkPPo=0lrX0QyRq05tqmqBO2P5&iH1YlUT=1KkpEb4on0Ef HTTP/1.1" 403 140 "http://www.bing.com/7kLfQh" "Mozilla/5.0 (MJ12bot; Intel Mac OS X 11_3_3) Gecko/20091607 Firefox/16.0"
62.109.28.95 - - [07/Feb/2022:06:27:41 +0000] "GET /test.png?hfiKSAITuR=qMl5GqfT6dim&AAdUx2=GKs HTTP/1.1" 403 199 "http://www.bing.com/FN2DCyTle" "Mozilla/5.0 (MJ12bot; Intel Mac OS X 11_7_5) AppleWebKit/535.27 (KHTML, like Gecko) Chrome/28.0.633.27 Safari/536.36"
62.109.28.95 - - [07/Feb/2022:06:27:41 +0000] "GET /test.png?EoJFcrq=DX53dVcC7U&7fx=Pwimtil50F5gYyR1d7 HTTP/1.1" 403 571 "http://www.bing.com/yPulwdB8S" "Mozilla/5.0 (compatible; MSIE 7.0b; MJ12bot; .NET CLR 3.0.27172; Intel Mac OS X 11_3_3)"

Шаг третий ‘fail2ban’

Пришло время для настройки отличного инструмента для защиты сервера и вашего продукта от вредоносного помешательства — fail2ban. Суть его работы такова, что он анализирует logs файлы запущенных программ и на основании выставленных условий производит блокировку IP-адреса на указанный промежуток времени.

1. Производим его установку на сервер

apt install fail2ban

2. Время настройки!

Копируем стандартный jail.conf и сохраняем его в jail.local:

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

После чего редактируем jail.local:

nano /etc/fail2ban/jail.local

И вставляем в конце jail.local. Конфигурация:

[nginx-limit-req]
enabled = true
filter  = nginx-limit-req
port    = http,https
logpath = /var/log/nginx/*error.log
findetime = 600
bantime = 600
maxretry = 5

Где:

enabled = true   /// включить фильтр
filter  = nginx-limit-req   /// название фильтра ‘nginx-limit-req’
port    = http,https   // название портов в данном случае 80 и 443
logpath = /var/log/nginx/*error.log   /// откуда парсить логи
findetime = 600   /// интервал в секундах, за которое событие должно повториться определённое количество раз
bantime = 600   /// время бана в секундах
maxretry = 5   /// количество повторений сообщения об ошибках

p.s. Не забываем!

Не забываем удалить повторяющиеся уже настройки данного фильтра в самой конфигурации иначе fail2ban не сможет перечитать конфиг и будет ругаться на ошибки.

3. Перезапускаем fail2ban и проверяем результат

fail2ban-client reload

Либо сделать restart сервиса:

systemctl restart fail2ban

Проверяем, что наш фильтр запущен:

fail2ban-client status nginx-limit-req
Status for the jail: nginx-limit-req
|- Filter
|  |- Currently failed: 0
|  |- Total failed:     0
|  `- File list:        /var/log/nginx/error.log
`- Actions
   |- Currently banned: 0
   |- Total banned:     0
   `- Banned IP list:

Результат:

В дальнейшем, когда запросы будут идти в Nginx, наш настроенный выше ‘rate’ будет писать сообщения об ошибках в /var/log/nginx/error.log.

Пример ответа из logs файлов:

2022/02/07 07:12:23 [error] 981#981: *203984 limiting requests, excess: 0.600 by zone "shield", client: 62.109.28.95, server: www.zashitimsa_ot_ddos.ru, request: "GET /test.png?ahcBAmSMG6=82a5yFHKiohqnB&AX4tIBX=msA50EPwJD7dB0eTabXe&RHxTyKgc=JBej4S5EGgeJDDA&TRGxNTpkq=AjtnEu&7rhhe=k6BW4UpFcmmNH8bC7N5 HTTP/1.1", host: "www.zashitimsa_ot_ddos.ru", referrer: "http://www.baidu.com/cxikKmt0?yonyA=TixYYDnOAG3XlORl&JdL4yV0iQ=7ep5APklt"

После этого в /var/log/fail2ban.log будет выведено сообщение о блокировке нашего подозрительного IP:

2022-02-07 07:14:22,208 fail2ban.actions        [3066]: NOTICE  [nginx-limit-req] Ban 62.109.28.95

и данный пользователь в дальнейшем не сможет отправлять запросы в течении 10 минут, так как будет заблокирован правилами iptables.

Шаг четвертый ‘geoip’

Если вы прекрасно знакомы со своей аудиторией и знаете из каких стран вы желаете видеть пользователей, то для решения этой задачи отлично подойдет модуль, способный производить отсеивание и блокировку нежелательного трафика по геолокации IP адреса.

Если ранее у нас уже был установлен Nginx, то для работы с geiop нам потребуется собрать модуль из исходников и подключить его.

1. Производим установку на сервер необходимых библиотек.

add-apt-repository ppa:maxmind/ppa
apt update
apt install libmaxminddb0 libmaxminddb-dev mmdb-bin

2. Компилируем модуль под нужную версию Nginx, у нас это будет 1.18.0

cd /root
wget http://nginx.org/download/nginx-1.18.0.tar.gz
git clone https://github.com/leev/ngx_http_geoip2_module.git
tar zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
./configure --with-compat --add-dynamic-module=../ngx_http_geoip2_module
make modules

3. Кладём его в наш каталог

mkdir -p /etc/nginx/modules
cp -vi objs/ngx_http_geoip2_module.so /etc/nginx/modules/

4. Скачиваем актуальные БД с IP адресами:

mkdir /etc/nginx/geoip ; cd /etc/nginx/geoip ; wget https://git.io/GeoLite2-Country.mmdb

5. После чего редактируем nginx.conf:

nano /etc/nginx/nginx.conf

И вставляем в блок http следующую мапу. Конфигурация:

load_module modules/ngx_http_geoip2_module.so;

...

http { 

        geoip2 /etc/nginx/geoip/GeoLite2-Country.mmdb {                                                                                                                                                                                                                         
          $geoip2_data_country_iso_code country iso_code;                                                                                                                                                                                                                      
       }

        map $geoip2_data_country_iso_code $is_deny {                                                                                                                                                                                                                                                                                                                                                                                                                                                               
           default no; # Запрещаем всем
           RU yes; # Разрешаем России
	    UK yes; # Разрешаем Великобритании
       }


}

6. Добавляем код location в наш виртуальный хост, как это делалось ранее. Конфигурация:

limit_req_zone $binary_remote_addr zone=shield:10m rate=1r/s

server {
       listen 80 ;

       root /var/www/html;

       server_name www.zashitimsa_ot_ddos.ru;

       
      if ( $http_user_agent ~* (bingbot|AhrefsBot|Ruby|PetalBot|SemrushBot|MJ12bot) ){
               return 403;
       }

      if ($allowed_country = no) {
          return 403;
      }

       location / {
              limit_req zone=shield;
               try_files $uri $uri/ =404;
       }

}

7. Посылаем команду нашему любимому Nginx на перечитку конфигураций и проверяем результат.

nginx -s reload

Если вы хотите узнать более подробную информацию про сборку динамических модулей, то вы можете ознакомиться со статьёй написанной ранее нашим DevOps Engineer.


Итог: “У каждого поколения должна быть своя война.” — Мао Цзэдун

Нельзя не заметить, что данная статья повествует о различных способах защиты от dos, но остаётся главный вопрос, который, я уверен, за время чтения уже был задан не однократно: “Как защититься от ddos?”. Ведь высококачественная атака, использующая большое количество IP-адресов может с лёгкостью обойти все уровни защиты, выставленные нами ранее. В данном случае лучше всего помогают следующие средства, а именно платформы по предоставлению услуг защиты и спокойного сна: Cloudflare, Incapsula, Servicepipe,  DDoS-Guard и etc

И хотя готовых решений может быть бесчисленное множество, необходимо уже изначально, на раннем этапе создавать грамотную настройку основного функционала сервиса обработчика. Ведь это позволяет с самого начала дать отпор ботам и недоброжелательным конкурентам, которые хотят создать проблемы в работе вашей инфраструктуры.

Берегите свои площадки и не допускайте простоя! 

P.S.: Кстати, DevOps-инженерам и системным администраторам будет интересно заглянуть в телеграм-канал DevOps FM, присоединяйтесь)

DDoS-атаки являются сегодня крупнейшей системной угрозой для общества, вставшего на путь цифровизации и зависящего от стабильной работы сайтов. Из-за атак компании и организации теряют прибыль и репутацию, а их клиенты не могут получить привычную услугу, вплоть до бытовых сервисов вроде вызова такси, и испытывают ощутимые неудобства.

Атаки этого типа являются именно системной проблемой, которая никуда не уйдет, а будет со временем только усиливаться. Этому способствует постоянный рост числа устройств, доступных для их объединения в ботнеты, удешевление стоимости и упрощение организации DDoS-атак.

Распределенные сетевые атаки или атаки типа «отказ в обслуживании» (Distributed Denial of Service) отправляют огромное количество запросов в адрес веб-ресурсов. 

Если веб-ресурс, который стал жертвой бомбардировки такими запросами, оказывается не способен обработать аномальный объем входящего трафика, сервер выходит из строя. Сайт становится недоступен для посетителей, а его владелец несет финансовые и репутационные убытки.

Классификация DDoS-атак

Существует множество типов атак вида «отказ в обслуживании», они классифицируются по механизму воздействия, по используемым протоколам и по уровню, который затрагивают в рамках 7-контурной модели OSI.

Наиболее популярными являются:

  • Атаки на сетевую инфраструктуру (L3 по модели OSI).
  • Атаки на слабые места сетевых протоколов TCP/IP (L4).
  • Атаки на исчерпание ресурсов сервера и отказ в обслуживании на уровне приложений (L7).

По протоколам атаки делятся на:

  • Задействующие User Datagram Protocol (UDP).
  • Использующие Transmission Control Protocol (TCP).
  • Прочие (ряд других реже используемых протоколов).

Более подробно о классификации DDoS-атак мы рассказывали здесь.

Цели и принцип действия DDoS-атак

Такие атаки используются в различных целях: их организуют компании-конкуренты, идейные хактивисты или вымогатели, требующие денег за прекращение вредоносного воздействия.

Независимо от механизма, уровня и протокола действия все DDoS-атаки нацелены на вывод из строя веб-ресурса и прекращение его нормальной работы.

Это достигается путем перегрузки сервера отправкой огромного количества запросов за пределами нормальной пропускной способности. Атаковать могут как страницу или определенный веб-элемент, так и сетевую инфраструктуру.

Иллюстрация принципа осуществления DDoS-атаки

Принцип действия DDoS-атаки

Для пользователей результат DDoS-атаки выглядит как перебои в работе сайта, которые, при отсутствии защиты, всегда заканчиваются его «падением». Последствия известны: временный паралич бизнес-процессов, технические и репутационные издержки, потеря прибыли и позиций в поисковой выдаче.

Кто может стать жертвой DDoS

От DDoS-атаки не застрахован никто. По данным DDoS-Guard на 2021-й год, больше всего от кибератак страдали развлекательные сайты, на которые пришлось почти 30% от всего числа инцидентов. С примерно одинаковой частотой год назад подвергались DDoS-атакам бизнес-порталы, образовательные сайты, IT и телеком-ресурсы (10-13%).

За первую половину 2022 года количество DDoS-атак уже в четыре раза превысило показатели за весь 2021-й.  Наибольшей популярностью пользовались атаки на прикладном уровне L7, было зафиксировано почти полмиллиона таких инцидентов. На втором месте — транспортно-сетевые атаки L3-L4, около 90 тысяч случаев. 

Чаще всего по-прежнему атакуют развлекательные сайты (20%), сильно возрос интерес злоумышленников к СМИ, в частности информационным порталам (14%) и игровым серверам (9%).

Детальную статистику можно посмотреть в нашем аналитическом отчете за I полугодие 2022 года.

Какие бывают методы для защиты от распределенных атак

Максимально полную и эффективную защиту сайта от DDoS-атак может дать только подключение профессионального сервиса. Однако еще до подобного обращения можно принять ряд мер по повышению степени защищенности вашего проекта:

  1. Составьте актуальный план своей инфраструктуры и ее уязвимых мест.
  2. Закройте для доступа извне базы данных и другие подобные элементы.
  3. Сконфигурируйте фаервол так, чтобы открытыми оставались только доверенные адреса и сети.
  4. Разграничьте используемые ресурсы, если на сервере больше одного сайта.
  5. Настройте непрерывный мониторинг сетевого трафика.

ТОП-10 способов защиты от DDoS-атак

Перечислим десять основных методов защиты от DDoS. Главное помнить, что каждый из них сам по себе не является панацеей!

1. Начните с начала

Еще на этапе планирования и подготовки нового интернет-проекта выберите безопасного хостинг-провайдера, который предоставляет надежную защиту от угроз, дает вам доступ к статистике, а также, что особенно важно, имеет техподдержку 24/7. Убедитесь, что вы не используете уязвимое ПО, вовремя его обновляете и делаете бэкапы. В случае разработки собственного ПО тщательно сканируйте его на уязвимости.

2. Позаботьтесь о базовой безопасности

Доступ для третьих лиц к вашей сетевой инфраструктуре должен быть закрыт, а для собственных сотрудников — строго регламентирован. Необходимо обеспечить несколько уровней доступа к сетевым службам сервера и архиву версий проекта, отключать его для неактуальных сотрудников. При малейшем подозрении на компрометацию сайта, сбрасывайте все пароли. Стоит ли говорить, что они должны быть разными и сложными?

3. Используйте фаервол, VPN и CDN

Фильтруйте трафик и обеспечьте его защищенность, вместе с тем позаботившись и о скорости работы сайта. Вам понадобится брандмауэр для приложений, чтобы фильтровать входящий трафик, межсетевые экраны либо списки ACL. Защиту и ускорение сайта можно обеспечить с помощью сети доставки контента (Content Delivery Network, CDN). Контент сайта будет храниться сразу на нескольких серверах по всему миру, что снизит нагрузку на исходный сервер и ускорит отображение страниц для пользователей.

Иллюстрация использования CDN, VPN и Firewall

4. Защитите DNS

Регулярно очищайте кэш DNS, чтобы злоумышленникам не удалось подменить ваш IP-адрес в кэше сервера. Найдите способ постоянного отслеживания сетевого трафика и запросов, отправляемых на сервер. Используйте DNS Response Rate Limiting — инструмент, специально разработанный для защиты от DDoS-атак типа «DNS амплификация». Есть также варианты с построением геораспределенной сети Unicast, чтобы закрепить за каждым DNS-сервером уникальный IP-адрес, или установкой дополнительного оборудования DNS.

5. Предотвратите спам

Один из весьма популярных способов атаки — спам в формы обратной связи, через которые отправляется гигантское количество однотипных бессмысленных запросов. Капча должна стоять везде, где есть поле ввода данных со стороны пользователя. Безопасность ресурса важнее, чем незначительные неудобства, вызванные необходимостью пройти проверку. Еще один вариант — перевести формы обратной связи на JS-компоненты.

6. Позаботьтесь о резервных ресурсах

Убедитесь, что ваш хостинг-провайдер предоставляет избыточную пропускную способность подключения: в период аномальных всплесков из-за DDoS-атак придется обрабатывать большие объемы трафика. Обеспечьте возможность масштабирования производительности сервера, приобретайте большее количество ресурсов, чем нужно для работы в стабильных условиях. Также желательно иметь несколько рабочих серверов, чтобы можно было перераспределить нагрузку в случае атаки.

7. Настройте фильтрацию входящего трафика

Обеспечьте себе возможность сбора сведений о типичном и нетипичном трафике, определите характеристики «хорошего» трафика для сравнения с этим образцом входящих запросов. Как и в случае с CDN, черные/белые списки доступа можно использовать в качестве дополнительной меры к основной защите от DDoS. Важно проверять, кого вы заносите в белый список и помнить, что этот метод не гарантирует защиты от мощных атак.

8. Выберите оптимальную конфигурацию защиты

Современные DDoS-атаки относятся к разным типам (см. модель OSI), они могут отличаться в зависимости от бизнес-отрасли, в которой работает ваш сайт. Оцените, что реально угрожает, и что может угрожать потенциально в плане DDoS и попробуйте сформировать видение защиты, ее типа, ее уровней. Это поможет решить, можно ли обеспечить безопасность своего проекта самостоятельно или стоит обратиться к специалистам.  

9. Если ничего не помогает, бросайте трафик в черную дыру

Этот способ подходит только для оперативного отражения атаки в том случае, если вы пропустили какие-то из описанных выше пунктов, и теперь сайт не справляется с потоком вредоносных запросов. Blackholing – перенаправление трафика с атакуемой страницы на несуществующий ресурс (так называемую черную дыру) или же его блокирование. Метод чреват падением производительности, снижением трафика (а также атакуемая страница или ассет становятся недоступны, то есть хакер достигает своей цели). Тем не менее, blackholing рабочий метод, если вы планируете отразить атаку, а потом серьезно заняться укреплением безопасности. К счастью, абсолютное большинство DDoS-атак носят кратковременный характер.

10. Приобретите профессиональную защиту от DDoS

Если вы не справляетесь самостоятельно с кибератаками, либо если важно как можно скорее обеспечить безопасность сайта – обратитесь к специалистам, которые помогут подобрать оптимальный вариант. Вы сможете выбрать виртуальный или физический защищенный сервер для переноса на него сайта, обеспечить защиту сети от DDoS и, при необходимости, подключить дополнительные услуги. Этот вариант обойдется дороже, чем предшествующие девять способов, но он значительно проще, и дает гарантию отказоустойчивости, что может быть критически важно.

Актуальные меры защиты DDoS-Guard

Есть множество способов снизить ущерб от распределенных атак типа «отказ в обслуживании» или даже полностью отразить некоторые не слишком сильные их разновидности. По соотношению время/цена/результат, самым выигрышным вариантом будет подключить профессиональные средства защиты от DDoS. Для малого бизнеса такое решение достаточно быстро окупится, для крупного – сэкономит время и силы, для социально значимых сервисов – позволит обеспечить бесперебойную работу для населения.

Об актуальных мерах защиты для заказчиков и провайдеров безопасности также рассказал наш эксперт Дмитрий Никонов в своем выступлении на Selectel Network MeetUp 3. 

Читайте в телеграм-канале DDoS-Guard

Анонсы, статьи, истории и советы по кибербезопасности. Каждый месяц собираем дайджест о самых громких событиях

Подписаться

Как то друг попросил собрать для него сервер LineAge. В поисках достойных мануалов, я забрел на один сайт и нашел там очень интересную вещь. Статья полностью скопирована оттуда.

Те, кто знаю Linux, понимают, на сколько удобно использовать iptables для создания правил, который будут отражать все атакующие зомби-машины, с помощью этих защит можно огородить не только свой Lineage 2 Java сервер, но и другие серверы.

Но к счастью, или к сожалению ( для хакеров ), на Windows’e тоже есть подобная софтина, и называется она — wipfw.

Разархивируем данный софт в любую папку, и устанавливаем ( запускаем install.bat ).
Отлично, вот и все, софт установлен — стандартные правила записаны.

Для изменений правил, Вы можете использовать cmd.exe и команды ipfw, посмотреть их можно здесь Тынц

Но согласитесь, не очень удобно записывать правила в команду, если их очень много, поэтому мы будем использовать файл «wipfw.conf», который находится в корне программы — в него записываются стандартные правила, а для того, чтоб они загрузились, нужно запустить «loadrules.cmd», который находится в папке bin.

С этого момента, если Вы прочитаете DOC по командам ipfw, Вы уже можете написать хорошую защиту.

Но я хочю Вам, как пример, предоставить структуру своего файла «wipfw.conf», что возможно упростит Вашу настройку защиты.

Для начала, выложу полностью весь файл, а далее мы будем разбирать каждую строку.

И так, «wipfw.conf» выглядит так:

Код

-f flush
add 1 allow tcp from any to any 53
add 2 allow tcp from any 53 to any
add 3 allow udp from any to any 53
add 4 allow udp from any 53 to any

add 10 allow tcp from 195.16.88.3 to me

add 100 allow tcp from me to any
add 120 allow tcp from 192.0.0.0/8 to any
add 120 skipto 10000 tcp from 2.0.0.0/8 to any
add 120 skipto 10000 tcp from 66.0.0.0/8 to any
add 120 skipto 10000 tcp from 46.0.0.0/8 to any
add 120 skipto 10000 tcp from 62.0.0.0/8 to any
add 120 skipto 10000 tcp from 77.0.0.0/8 to any
add 120 skipto 10000 tcp from 78.0.0.0/8 to any
add 120 skipto 10000 tcp from 79.0.0.0/8 to any
add 120 skipto 10000 tcp from 80.0.0.0/8 to any
add 120 skipto 10000 tcp from 81.0.0.0/8 to any
add 120 skipto 10000 tcp from 82.0.0.0/8 to any
add 120 skipto 10000 tcp from 83.0.0.0/8 to any
add 120 skipto 10000 tcp from 84.0.0.0/8 to any
add 120 skipto 10000 tcp from 85.0.0.0/8 to any
add 120 skipto 10000 tcp from 86.0.0.0/8 to any
add 120 skipto 10000 tcp from 87.0.0.0/8 to any
add 120 skipto 10000 tcp from 88.0.0.0/8 to any
add 120 skipto 10000 tcp from 89.0.0.0/8 to any
add 120 skipto 10000 tcp from 90.0.0.0/8 to any
add 120 skipto 10000 tcp from 91.0.0.0/8 to any
add 120 skipto 10000 tcp from 92.0.0.0/8 to any
add 120 skipto 10000 tcp from 93.0.0.0/8 to any
add 120 skipto 10000 tcp from 94.0.0.0/8 to any
add 120 skipto 10000 tcp from 95.0.0.0/8 to any
add 120 skipto 10000 tcp from 109.0.0.0/8 to any
add 120 skipto 10000 tcp from 178.0.0.0/8 to any
add 120 skipto 10000 tcp from 188.0.0.0/8 to any
add 120 skipto 10000 tcp from 193.0.0.0/8 to any
add 120 skipto 10000 tcp from 194.0.0.0/8 to any
add 120 skipto 10000 tcp from 195.0.0.0/8 to any
add 120 skipto 10000 tcp from 212.0.0.0/8 to any
add 120 skipto 10000 tcp from 213.0.0.0/8 to any
add 120 skipto 10000 tcp from 217.0.0.0/8 to any
add 120 skipto 10000 tcp from 204.16.252.109 to any
add 120 skipto 10000 tcp from 38.99.77.20 to any
# GOOGLE
add 120 skipto 10000 tcp from 74.125.95.93 to any
add 120 skipto 10000 tcp from 74.125.127.93 to any
add 120 skipto 10000 tcp from 74.125.43.99/16 to any
add 120 skipto 10000 tcp from 209.85.135.95/16 to any
add 120 skipto 10000 tcp from 64.12.202.116/16 to any
# depositfiles
add 120 skipto 10000 tcp from 208.88.224.248/24 to any
# DynDNS
add 120 skipto 10000 tcp from 204.13.248.117/16 to any
add 200 skipto 10000 icmp from any to any in icmptype 5,9,13,14,15,16,17
add 500 deny all from any to any

add 10000 allow tcp from any to any 80,443,49441,5938,4344,9019,5190
add 10001 allow tcp from any 80,443,49441,5938,4344,9019,5190 to any
add 10002 allow tcp from any to me 7777 setup limit src-addr 15 in
add 10003 allow tcp from any to me 2106 setup limit src-addr 5 in
add 10005 allow tcp from any to any 7777 out
add 10006 allow tcp from any to any 2106 out
add 10500 deny all from any to any

И так, начали.

Код

-f flush

— Удаляем все записи, которые были у меня до этого момента.

Код

add 1 allow udp from any to any 27015
add 1 allow udp from any 27015 to any

— Открываю порты для получения и отправки данных к серверам DNS

Код

add 10 allow udp from 94.229.237.21 to me

— Открываю данному ip ( ip моего хостинга ) все порты и разрешаю передавать мне любую информацию

Код

add 100 allow udp from me to any

— Разрешаю себе передавать информацию любому серверу на всех портах

Код

add 120 allow udp from 94.0.0.0/8 to any

— Разрешаю своим локальным компьютерам передавать информацию любому серверу на всех портах

Код

add 120 skipto 10000 upd from 2.0.0.0/8 to any
add 120 skipto 10000 udp from 66.0.0.0/8 to any
add 120 skipto 10000 udp from 46.0.0.0/8 to any
add 120 skipto 10000 udp from 62.0.0.0/8 to any
add 120 skipto 10000 udp from 77.0.0.0/8 to any
add 120 skipto 10000 udp from 78.0.0.0/8 to any
add 120 skipto 10000 udp from 79.0.0.0/8 to any
add 120 skipto 10000 udp from 80.0.0.0/8 to any
add 120 skipto 10000 udp from 81.0.0.0/8 to any
add 120 skipto 10000 udp from 82.0.0.0/8 to any
add 120 skipto 10000 udp from 83.0.0.0/8 to any
add 120 skipto 10000 udp from 84.0.0.0/8 to any
add 120 skipto 10000 udp from 85.0.0.0/8 to any
add 120 skipto 10000 udp from 86.0.0.0/8 to any
add 120 skipto 10000 udp from 87.0.0.0/8 to any
add 120 skipto 10000 udp from 88.0.0.0/8 to any
add 120 skipto 10000 udp from 89.0.0.0/8 to any
add 120 skipto 10000 udp from 90.0.0.0/8 to any
add 120 skipto 10000 udp from 91.0.0.0/8 to any
add 120 skipto 10000 udp from 92.0.0.0/8 to any
add 120 skipto 10000 udp from 93.0.0.0/8 to any
add 120 skipto 10000 udp from 94.0.0.0/8 to any
add 120 skipto 10000 udp from 95.0.0.0/8 to any
add 120 skipto 10000 udp from 109.0.0.0/8 to any
add 120 skipto 10000 udp from 178.0.0.0/8 to any
add 120 skipto 10000 udp from 188.0.0.0/8 to any
add 120 skipto 10000 udp from 193.0.0.0/8 to any
add 120 skipto 10000 udp from 194.0.0.0/8 to any
add 120 skipto 10000 udp from 195.0.0.0/8 to any
add 120 skipto 10000 udp from 212.0.0.0/8 to any
add 120 skipto 10000 udp from 213.0.0.0/8 to any
add 120 skipto 10000 udp from 217.0.0.0/8 to any

— Все СНГ пользователи ( т.е — здесь IP всей СНГ ) перебрасываются на правило №10000

Код

add 120 skipto 10000 udp from 204.16.252.109 to any
add 120 skipto 10000 udp from 38.99.77.20 to any
add 120 skipto 10000 udp from 74.125.95.93 to any
add 120 skipto 10000 udp from 74.125.127.93 to any
add 120 skipto 10000 udp from 74.125.43.99/16 to any
add 120 skipto 10000 udp from 209.85.135.95/16 to any
add 120 skipto 10000 udp from 64.12.202.116/16 to any
add 120 skipto 10000 udp from 208.88.224.248/24 to any
add 120 skipto 10000 udp from 204.13.248.117/16 to any

— Дополнительные серверы, которые подключаясь ко мне будут перебрасываться на правило №10000 — За зоной СНГ ( Здесь google, depositfiles, imageshacke, youtube )

Код

add 200 skipto 10000 icmp from any to any in icmptype 5,9,13,14,15,16,17

— Закрываем порты от сканирование ( делаем невидимыми )

Код

add 500 deny all from any to any

— Отклоняем все пакеты, что дошли к данному правилу. ( Запретить все что сюда дошло )

Код

add 10000 allow udp from any to any 80,443,49441,5938,4344,9019,5190,27015
add 10001 allow udp from any 80,443,49441,5938,4344,9019,5190,27015 to any

— Открываем нужные мне порты для использования, здесь http, skype, icq

Код

add 10002 allow tcp from any to me 7777 setup limit src-addr 15 in
add 10003 allow tcp from any to me 2106 setup limit src-addr 5 in

— Открываю порт 27015 или другой для подсоединения ко мне, с максимальным числом подсоединение с одного IP 5

Код

add 10004 allow tcp from any to any 27015 out

Вот и все, также хочу сказать, что все правила выполняются в последовательности их номеров, это очень важно!
Если Вы сначала поставите правило, которые будет запрещать это, а после добавите правило для разрешения подключений, оно будет нерабочим.

— Разрешают доступ к себе только странам СНГ и нужным нам серверам ( А зачем нам Великобритания или Африка? Не думаю что потенциальный игроки там будут, но вот бот-машины там точно есть ).
— Закрываем все порты, исключая нужные нам и игровые порты.
— Устанавливаем ограничение на подключение к игровым портам с 1 IP.

Функция deny — сбрасывает пакет.
Функция skipto [number] — перебрасывает пакет на указанное правило, если его нет, идет дальше по списку ( выше по номеру ).
Функция allow — пропуска пакет.
Для добавления правил через cmd, в начало нужно добавлять ipfw.
Для очистки всех правил, наберите в cmd — ipfw -f flush
Для просмотра всех правил, наберите в cmd — ipfw list

Команда в cmd для блокировки конкретного ip:
ipfw add 10 deny tcp from 10.10.10.10 to any
(ip 10.10.10.10 будет заблокирован)

Команда в cmd для блокировки под-сети пользователя:
ipfw add 10 deny tcp from 10.10.10.10/24 to any
(ip 10.10.10.0 — 10.10.10.255 будут заблокированы)

ipfw add 10 deny tcp from 10.10.10.10/16 to any
(ip 10.10.0.0 — 10.10.255.255 будут заблокированы)

Соблюдаем права. Статья взята отсюда http://kos-master.ru/other/instructions/25…a-windowsa.html и чуть чуть подправлена дял сервера cs.
Данные для знающих людей. Попрошу также знающих людей допилить статью =) Я думаю эти данные кому нибудь прогодятся.

Для Windows x86 Прикрепленный файл
 wipfw.rar ( 58.8 килобайт )
Кол-во скачиваний: 82

Для Windows x64 Прикрепленный файл
 wipfw_x64.rar ( 64.03 килобайт )
Кол-во скачиваний: 192

https://gbcdn.mrgcdn.ru/uploads/post/2180/og_image/276cb16b0a85316a669cd2db4cdc5af7.jpg

Здравствуйте. Это снова Антон Чигарёв, и мы продолжаем серию заметок начинающего системного администратора. В прошлый раз я рассказывал о создании интернет-радио, а сегодня поделюсь советами, как защитить сервер от DoS-атак.

Эта угроза, к сожалению, актуальна для любых интернет-ресурсов: никогда не знаешь, что может стать причиной недоброжелательства и вандализма. Мой проект, посвящённый играм для слепых людей, много раз подвергался атакам, из-за чего я занялся укреплением «обороны» и на этом пути перепробовал множество вариантов. Ниже я расскажу о базовых и малозатратных способах оградить небольшой проект от активности хакеров-самоучек.

Эта статья – обзор механизмов защиты, с каждым из которых вы можете ближе познакомиться в материалах по приведённым мною ссылкам. Поскольку большинство серверов работает под управлением Linux, в тексте я ориентируюсь именно на эти системы.

Речь пойдёт прежде всего о бесплатных инструментах. Многие хостинг-провайдеры предлагают защиту от DoS как услугу. За 100-300 рублей в месяц они проверяют пакеты «на подступах» к вашему серверу и отсекают нежелательный трафик. Для коммерческого проекта такие затраты оправданы, а если сайт пока не приносит прибыли – попробуйте сначала защититься методами, о которых я расскажу ниже.

Сам я уже около года использую межсетевой экран ConfigServer Security Firewall (CSF), который успешно выявляет и пресекает нежелательную активность пользователей.

Способы защиты

Ключевая задача при построении обороны – своевременно обнаружить и блокировать злоумышленника. И здесь есть несколько механик, которые можно использовать как вместе, так и по отдельности:

  1. Вы оставляете открытыми только нужные порты, а остальные закрываете. Это делается, чтобы злой хакер не проник в систему после простого сканирования портов.
  2. Файервол следит за открытыми портами по указанным протоколам и блокирует отправителей, которые присылают серверу больше пакетов, чем вы позволили при конфигурации. Вы можете настроить время блокировки, но учтите, что по истечении этого периода преступник снова сможет присылать лишние пакеты.
  3. При обнаружении нежелательной активности вы, администратор, получаете электронное письмо с уведомлением о происшествии и IP-адресом злоумышленника.

Да, я в своём уме и прекрасно понимаю, что существуют статические и динамические IP-адреса, так что попытка атаки может длиться вечно. Но хватит ли ресурсов нападающего навечно – вопрос открытый. Если учесть, что мы будем блокировать все источники, которые перегружают сервер пакетами, атакующему придётся часто перезагружаться и менять айпишник.

Инструменты

Выше я обрисовал, что можно сделать, а теперь предлагаю посмотреть, каким образом и с помощью каких программ всё это реализовать. В качестве основного компонента защиты предлагаю использовать встроенный в ядро Linux межсетевой экран IPTables. Он позволяет обрабатывать трафик, управлять портами и решать множество задач, связанных с настройкой сети. Например, вы можете создать «белый список» IP-адресов и полностью запретить любые другие подключения к нужной машине. 

Сам по себе встроенный межсетевой экран сложен в настройке, но зато мы можем использовать его в связке с более понятными дополнительными файерволами. Один из них – CSF. У этого решения множество параметров, которые легко «подкрутить» как вам нужно в файле csf.conf. Либо вы можете поставить APF-firewall и к нему – скрипт DoS-deflate. Есть и другие аналогичные решения.

IPTables

Как можно догадаться из названия (буквально – «Таблицы IP»), данный инструмент фильтрует весь трафик при помощи специальных таблиц, которые вы можете добавлять по мере необходимости.

Каждая таблица содержит цепочки правил, определяющих, что делать с пакетом в той или иной ситуации. Стандартные варианты реагирования:

  • ACCEPT – принять пакет и пропустить дальше.
  • DROP – отбросить пакет и не пропускать.

Подробное и понятное русскоязычное руководство по IPTables вы найдёте на сайте ITproffi.

При работе с этим софтом нужно быть внимательным, понимать, что и для чего вы делаете. Иначе легко закрыть доступ к серверу вообще всем и даже самому себе. В этом случае сервер придётся перезагружать через панель управления.

Важно! IPTables хранит правила только до перезагрузки системы. Чтобы сохранить правила насовсем, нужно установить одну из дополнительных утилит. В сети на этот счёт есть готовые инструкции.

Пока вы только начали осваивать утилиту, настоятельно рекомендую НЕ сохранять правила, чтобы в случае ошибки не пришлось переустанавливать систему.

Знакомимся с CSF 

Это готовый конфигуратор правил, который позволяет управлять трафиком, перенаправлять порты и контролировать сеть. Проще говоря, если у вас не получается или нет на времени разобраться с IPTables, конфигуратор сделает это за вас. Нужно лишь правильно заполнить текстовый файл конфигурации – прописать в нём необходимые вам порты и адреса. Дальше файервол приступит к работе.

По личному опыту могу сказать, что CSF действительно избавляет администратора от лишней возни и проблем с IPTables. Главное – быть внимательным и проверять, что вы вносите в конфиг.

Не забудьте добавить в исключения своих администраторов и активных пользователей, которые частенько заливают файлы по FTP и имеют право что-то настраивать. Если этого не сделать, файервол может внезапно забанить и их, когда они пришлют чуть больше пакетов, чем указано в конфиге. 

Ставим серверный файервол 

Перед установкой межсетевого экрана необходимо установить два компонента, без которых ничего работать не будет. Это интерпретатор Perl и библиотека Library World Wide Web, сокращённо – libwww.

apt-get install -y libwww-perl

Теперь можно браться за ConfigServer Security Firewall. В официальном репозитории он отсутствует, поэтому скачиваем его по ссылке. Или сразу грузим архив к себе на сервер:

cd /usr/src

wget https://download.configserver.com/csf.tgz

Теперь распаковываем архив и перемещаемся в папку, где хранятся файлы нашего защитника, чтобы разобраться с ними.

tar xzf csf.tgz

cd csf

Дальше запускаем установку программы и проверяем, всё ли у нас впорядке с зависимостями – на месте ли необходимые компоненты.

sh install.sh

perl /usr/local/csf/bin/csftest.pl

В результате мы должны получить следующее: 

Это значит, что всё хорошо. Если у вас на данном этапе возникли какие-то ошибки, не игнорируйте их, а запрягайте поисковик, чтобы найти доступное объяснение проблемы и её решение.

Настройка

После установки утилиты можно сразу переходить к настройке защиты. Файл конфигурации лежит здесь: /etc/csf/csf.conf. Откройте его.

По умолчанию наш охранник работает в тестовом режиме, то есть честно защищает вас в течение пяти минут, после чего отключается. Сделано это, чтобы вы могли удаляться из списка заблокированных, пока будете учиться и экспериментировать.

Перевести CSF в рабочий режим очень просто  – надо в тексте конфига изменить значение флага TESTING на 0.

Описание всех параметров конфига заняло бы слишком много времени, и оно уже есть в сети, поэтому скажу только о том, что стоит изменить. Хотя, если у вас возникнут вопросы, задавайте – постараюсь помочь.

Для начала пропишем входящие порты. Указывать их надо в кавычках и через запятую:

TCP_IN = «20,21,22,25,53,80,110,143,443,465,587,993,995,10333,127015»

Теперь – исходящие:

TCP_OUT = «20,21,22,25,53,80,110,113,443,587,993,995,10333»

Если вы хотите задать диапазон портов, границы диапазона обозначайте при помощи  двоеточия. Например: 40000:55000,10335.

В блоке «EMAIL_ALERT» файла конфигурации вы можете настроить почтовые оповещения. Например, давайте установим оповещение о том, что кто-то подключился к ssh: 

LF_SSH_EMAIL_ALERT = «1»

Теперь, если кто-нибудь подключится к ssh, мы получим уведомление на почту. Кстати о почте! CSF – мощный и крутой защитник, но он не волшебник и не знает вашего электронного адреса, пока вы не укажете его в блоке «LF_ALERT_TO».

Пора сохранить все изменения и написать в терминале следующее:

systemctl restart {csf,lfd}

csf -r

Обратите внимание на команды csf -r и csf -f. Нужны они, чтобы перезагружать и останавливать выполнение правил. А когда вам нужно просмотреть цепочку правил, используйте команду csf -l.

Если вы решили прислушаться к моему совету и добавить в исключения всех, кто имеет право на доступ к серверу, можете это сделать следующей командой:

csf -a 192.168.0.6

Когда нужно запретить подключение к серверу кому-то конкретно, можно воспользоваться командой: 

csf -d 192.168.0.7

А удалить все правила, связанные с заданным IP, можно с помощью команды:

csf -ar 192.168.0.6

Удалить все запрещающие правила, связанные с конкретным адресом, можно вот так:

csf -dr 192.168.0.7

Заключение 

Собственно, мы установили CSF и немного настроили его. Если у вас будет желание детальнее разобрать параметры инструмента, внимательно просмотрите файл конфигурации – там вы найдёте подробные комментарии на английском языке. Каким из возможных вариантов настройки пользоваться – решать вам. Главное, что у вас есть выбор.

А я пока прощаюсь с вами до следующей статьи, жду ваших комментариев и вопросов. 

Хотите свободно работать с Debian и другими дистрибутивами Linux? Приходите учиться на профессию «системный администратор», и через 9 месяцев вы не только освоите Linux, но и сможете обеспечивать бесперебойную работу компьютерной техники и ПО в любой организации! А если вас интересует защита IT-систем — приглашаем на факультет информационной безопасности!

Время на прочтение
5 мин

Количество просмотров 23K

image

По статистике, около 33% компаний попадают под DDoS-атаки. Предсказать атаку невозможно, а некоторые из них могут быть действительно мощными и достигать 300-500 Гб/с. Для того чтобы обезопасить себя от DDoS-атак можно воспользоваться услугами специализированных сервисов. Не все владельцы сайтов знают, куда бежать, если попал под атаку — так что я решил собрать несколько вариантов в одном топике.

Примечание: при подготовке к посту использовались англоязычные материалы и публикации на Хабре

Cloudflare

Один из самых известных защитных сервисов. При использовании тарифов FREE и PRO можно рассчитывать на базовую защиту от DDoS-атак. Для более надёжной защиты от атак уровней 3, 4 и 7 нужно подключить бизнес или корпоративный аккаунт.

В Cloudflare фиксированная оплата, то есть независимо от того сколько и каких уровней будут атаки, клиент платит одну и ту же сумму. Среди клиентов этого сервиса такие крупные компании, как Nasdaq, DigitalOcean, Cisco, Salesforce и Udacity.

Сеть Cloudflare представлена в 102 датацентрах с пропускной способностью более 10 Тбит/с и способна устранять любые атаки, а также отражать DNS и Smurf-атаки. У сервиса также есть круглосуточная служба экстренной помощи, куда можно обратиться во время атаки.

Incapsula

Этот сервис предлагает комплексную защиту от атак различных типов. Сервис может работать постоянно или по запросу и обнаруживать любые атаки. Сеть Incapsula состоит из 32 дата-центров с пропускной способностью в 3 Тбит/с. У Incapsula есть пробная версия для бизнеса c SSL протоколом, CDN и WAF, которая защитит от DDoS-атак.

На случай, если атака уже совершена и счёт идёт на минуты, можно воспользоваться сервисом экстренной помощи Under Attaсk.

Akamai

Этот сервис один из лидеров в сфере обеспечения безопасности и CDN. По заявоениям руководства Akamai, сервис может справиться с атакой в 1,3 терабита в секунду.

Этот сервис построен на интеллектуальной платформе Akamai и оказывает поддержку круглосуточно. Защитить сайты можно от всех известных атак, включая зашифрованный трафик. У Akamai 1300 сетевых адресов более чем в 100 странах.

Qrator

Один из наиболее известных российских ресурсов по борьбе с DDoS, ведет блог на Хабре. Особенностью работы системы является «прозрачность» для легитимных пользователей — их она выявляется с помощью алгоритмов умной фильтрации, не заставляя вводить капчу или другим образом подтверждать свою «легитимность».

Кроме того, даже при необходимости отражения атаки на уровне приложений (7 уровень модели OSI) не требуется тонкой настройки продукта — при обнаружении атаки система перейдет в нужный режим автоматически.

Для подключения защиты Qrator нужно изменить A-запись сайта. К недостаткам можно отнести достаточно высокую стоимость использования продукта, но компания предоставляет SLA (если уровень услуги не обеспечен, платить не обязательно) и бесплатный тестовый период в семь суток.

AWS Shield Advanced

Сервис Shield предназначен для защиты приложений, работающих на платформе AWS. Он бесплатный, однако, для продвинутой защиты стоит перейти на тариф Shield Advanced. В продвинутую версию добавлена проверка сетевого потока и мониторинг трафика прикладного уровня, защита от большего количества атак, блокировка нежелательного трафика, анализ после атаки и круглосуточное время работы.

Все эти службы защиты от DDoS-атак предназначены для блоггеров, электронной коммерции, малого и среднего бизнеса. Для бизнеса более крупных масштабов существуют другие сервисы, с более высоким уровнем защиты и большим функционалом. Вот некоторые из них: Сети ARBOR, Neustar, Rackspace, Akamai, F5 Silverline и Radware.

King Servers Anti DDoS

Еще один российский проект со своим блогом на Хабре. Поскольку King Servers — это хостинг-провайдер, то и защитный инструмент компании «заточен» под нужды пользователей хостинга. Защита предоставляется в двух вариантах — при аренде оборудования в определенном дата-центре оно сразу попадает в зону фильтрации (защищенный хостинг). Если площадка в этой зоне по каким-то причинам не подходит, остается вариант удаленной защиты, при которой размещать оборудование в дата-центре компании не нужно.

Компания дает гарантию безопасности от SYN Flood, UDP/ICMP Flood, HTTP/HTTPS-атак, фильтрацию грязного трафика до 1 ТБит/с — чистый трафик выделяется и направляется на сайт пользователя. Пользователям не нужно самим заниматься настройками, эту задачу берет на себя круглосуточная служба поддержки, которая отрабатывает и заявки на кастомизацию сервиса.

BeeThink Anti-DDoS Guardian

Этот инструмент защищает серверы Windows от большинства DoS и DDoS-атак: SYN, IP flood, TCP flood, UDP flood, ICMP flood, HTTP-DDoS, атак 7 уровня и многих других.

Сервис BeeThink совместим с Windows 10, Windows 8, Windows 7, Windows 2016, Windows 2012, Windows 2008, Windows 2003, Windows 2000, Windows XP и Vista.

Помимо защиты от DDoS-атак сервис в режиме реального времени проводит мониторинг сетевых операций, поддерживает разные форматы IP-адресов, поддерживает black и white листы, ищет удалённые IP-адреса и информацию о их владельцах. Базовый тариф стоит $99,95.

Sucuri

Этот сервис предоставляет защиту для любых сайтов: WordPress, Joomla, Drupal, Magento, Microsoft.Net и других.

Sucuri предоставляет антивирус и межсетевой экран для сайтов, в которые включена защита от DDoS. Также сервис обнаруживает и удаляет вредоносные программы, повышает производительность сайтов, защищает от брутфорс-атак и защищает от ботов. Минимальная стоимость месячного тарифа — $19,88.

Cloudbric

Этот инструмент работает с сайтами на всех платформах. Он очень удобен в использовании, имеет интуитивно понятный интерфейс, а его настройки занимают три минуты — нужно просто изменить настройки DNS. Информация об уровне защиты отображается на рабочей панели, что позволяет быстро выявить и устранить угрозу.

Разработчики гарантируют защиту от всех кибератак. Среди клиентов сервиса такие крупные компании, как Samsung, ING и eBay.

Стоимость использования зависит от объёма трафика, так за 10 Гб придётся заплатить $29, а за 100 Гб $149. Если объём трафика не превышает 4 Гб, сервисом можно пользоваться бесплатно.

Alibaba Anti-DDoS

Сервис китайского гиганта интернет-коммерции поможет справиться с атаками до 2 Тбит/с и поддерживает все протоколы: TCP, UDP, HTTP, HTTPS.

Сервис можно использовать не только для защиты сайтов, расположенных на хостинге Alibaba, но и размещённых на AWS, Azure, Google Cloud и других.

Также Anti-DDos Pro работает круглосуточно и в случае проблем, можно обратиться в службу поддержки к экспертам по безопасности.

StormWall Pro

Этот инструмент защищает от любых уровней DDoS-атак и поддерживает сайты на платформах Drupal, Joomla, WordPress, Bitrix, Magento, PrestaShop и других CMS.

Датацентры StormWall расположены в США, России и Европе и работают с минимальной задержкой. Настройка системы займёт всего несколько минут, а в случае трудностей, это могут сделать менеджеры компании. Любая техническая проблема, которая может возникнуть в течение работы, будет решена в короткие сроки — ответа техподдержки придётся ждать не дольше 15 минут.

Стоимость использования сервиса зависит от количества посетителей сайта. Так, за $69 можно обеспечить защиту сайта с 5000 посетителей в месяц, а за $300 купить безлимит.

Myra

Сервис Myra DDoS полностью автоматизирован и предназначен для защиты сайта, DNS-серверов и веб-приложений. Система подходит для всех типов CMS и интернет-магазинов.

Штаб-квартира Myra расположена в Германии, поэтому все данные обрабатываются согласно законом о конфиденциальности этой страны.


Предлагаю собрать в комментариях более полный список полезных инструментов по защите от DDoS. Какие сервисы знаете вы?

Get one today for enhanced protection

by Madalina Dinita

Madalina has been a Windows fan ever since she got her hands on her first Windows XP computer. She is interested in all things technology, especially emerging technologies… read more


Updated on February 28, 2023

Reviewed by
Alex Serban

Alex Serban

After moving away from the corporate work-style, Alex has found rewards in a lifestyle of constant analysis, team coordination and pestering his colleagues. Holding an MCSA Windows Server… read more

  • Experiencing a DDoS attack can incapacitate your website, so you need Windows Server DDoS protection.
  • Once set up, these tools, software, and web services will automatically prevent DDoS attacks. 
  • We did the hard work for you and found the best available options, presented in this guide.

best windows server ddos protection tools

XINSTALL BY CLICKING THE DOWNLOAD FILE

To fix various PC problems, we recommend Restoro PC Repair Tool:
This software will repair common computer errors, protect you from file loss, malware, hardware failure and optimize your PC for maximum performance. Fix PC issues and remove viruses now in 3 easy steps:

  1. Download Restoro PC Repair Tool that comes with Patented Technologies (patent available here).
  2. Click Start Scan to find Windows issues that could be causing PC problems.
  3. Click Repair All to fix issues affecting your computer’s security and performance
  • Restoro has been downloaded by 0 readers this month.

For many Internet users, DDoS was a completely new word until recently. Then, millions of Windows users couldn’t access platforms such as Twitter, Reddit, and Amazon due to attacks, and that’s when the idea of a Windows Server DDOS protection software became mainstream.

Distributed Denial of Service (DDoS) attacks overwhelm websites by pushing traffic from many sources, usually computers and other network-based devices infected by malware. So, let’s find out more about the subject and the best DDOS protection software.

Does Windows have DDoS protection?

If you are running a domain, Windows can’t do much about protecting it, and third-party software is usually the best bet. But with the built-in Windows Security (Windows Defender), it can identify and remove malware responsible for DDoS attacks.

Microsoft offers Azure DDoS Protection, which provides advanced features to eliminate even the most intricate DDoS attacks. The best part, it doesn’t require any application or changes to the resources.

Let’s now find out the best options for Windows Server DDoS protection.

What is the best Windows Server DDOS protection software?

Sucuri – Constant threat monitoring

Sucuri is a web security company that provides cloud-based security services. It is not the software you must install but a subscription service that will keep your website safe from malware, hackers, and DDoS attacks.

Regarding DDoS, Sucuri’s platform detects and blocks DDoS layers 3, 4, and 7 attacks. All these attacks are aggregated and analyzed by the Sucuri platform’s AI to anticipate malicious behavior.

Other features include:

  • The cleaning process doesn’t affect the website in any way.
  • A website firewall protects you from malware and hacking, brute force and DDoS attacks, and zero-day exploits.
  • Constant threat monitoring with a variety of alert options.
  • Highly optimized CDN that offers greater loading speeds for webpages.
  • Unlimited malware removal.
  • Increased page loading speed.

Sucuri

Highly secure your Windows server with this security resource that stops any malware or DDoS attacks.

SiteLock – Built-in VPN

SiteLock is another great cloud-based website security service that will eliminate all the possible threats that might affect your website, and it offers DDoS protection.

Let’s get straight to the point: SiteLock offers infrastructure, web application protection, and DNS security.

It also detects and blocks application levels of DDoS attacks and gives you detailed reports so you can be up to date with the state of your website after each attack.

Other features include:

  • Automatic separation for human and bot traffic.
  • Detects DDoS attempts and starts different protection services accordingly.
  • Full PCI compliance lets you keep your client’s card details safe from third parties.
  • The built-in VPN ensures your anonymity online.
  • Great hosting security that protects your end-users.

Get SiteLock

Imperva FlexProtect – API security

imperva windows server ddos protection

FlexProtect is a very reliable tool, offering complete protection from all types of network and application-level DDoS attacks. The tool automatically filters traffic for transparent mitigation and relies on a 2Tbps network backbone for instant overprovisioning.

FlexProtect secures websites against the most fierce and dangerous DDoS attacks without disrupting your business.

Some PC issues are hard to tackle, especially when it comes to corrupted repositories or missing Windows files. If you are having troubles fixing an error, your system may be partially broken.
We recommend installing Restoro, a tool that will scan your machine and identify what the fault is.
Click here to download and start repairing.

Thanks to its cloud-based service, your online business will be up and running even under attack, and your visitors won’t notice anything unusual.

Other features include:

  • A real-time dashboard that gives you a useful overview of your security.
  • Uses advanced technologies to reduce the number of false positives to a minimum.
  • Web application Firewall Gateway.
  • API security – protects your website and APIs by using a single-stack approach.
  • Attack analytics – automatically analyzes the threats and adapts to them proactively.

⇒ Get Imperva FlexProtect

BeeThink anti-DDoS Guardian – Real-time network activities monitoring

top windows server ddos protection

BeeThink’s anti-DDoS tool protects your Windows servers against most DDoS/DoS attacks, such as SYN attacks, IP flood, TCP flood, UDP flood, ICMP flood, slow HTTP DDoS attacks, Layer 7 attacks, Application attacks, Windows Remote Desktop brute force password guessing attacks, and more.

This DDoS protection software is light, robust, and can easily be deployed on Windows website server machines.

Other features include:

  • Support multiple IP list formats, such as Apache’s .htaccess.
  • Automatically update the IP list.
  • Support IP blacklist and white list.
  • Support exceptional rules.
  • Look up remote IP addresses and ownership information.
  • Run Anti-DDoS Guardian as a Windows service.

⇒ Get BeeThink anti-DDoS Guardian 

Cloudbric – Deep learning system

cloudbric

Cloudbric is a reliable Windows Server DDoS protection tool that can be used by anyone with a website and domain, irrespective of the website platforms hosting your online business.

You can activate Cloudbric on your website in less than three minutes – a simple DNS change is all you need.

This tool sets up a shield in front of your website to filter malicious attacks. Penta Security System guarantees that Cloudbric can protect your website against all cyber-attacks.

Major companies activating in various fields, such as Samsung, ING, eBay, and others, rely on Cloudbric to protect their websites.

Other features include:

  • Easy-to-use interface
  • The dashboard allows you to have an overview of your entire security settings plan
  • Deep learning system – COCEP engine that integrates a machine learning platform called VISION
  • You can download monthly customized reports

⇒ Get Cloudbric

These were the best options for Windows Server DDOS protection, and a few here also offer remote DDOS protection. So, get one of these today to protect your website.

Also, for those looking for all-around protection, check the best website security software.

Tell us your favorite pick from the options listed here, or share your recommendations in the comments section below.

Still having issues? Fix them with this tool:

SPONSORED

If the advices above haven’t solved your issue, your PC may experience deeper Windows problems. We recommend downloading this PC Repair tool (rated Great on TrustPilot.com) to easily address them. After installation, simply click the Start Scan button and then press on Repair All.

newsletter icon

Newsletter

Get one today for enhanced protection

by Madalina Dinita

Madalina has been a Windows fan ever since she got her hands on her first Windows XP computer. She is interested in all things technology, especially emerging technologies… read more


Updated on February 28, 2023

Reviewed by
Alex Serban

Alex Serban

After moving away from the corporate work-style, Alex has found rewards in a lifestyle of constant analysis, team coordination and pestering his colleagues. Holding an MCSA Windows Server… read more

  • Experiencing a DDoS attack can incapacitate your website, so you need Windows Server DDoS protection.
  • Once set up, these tools, software, and web services will automatically prevent DDoS attacks. 
  • We did the hard work for you and found the best available options, presented in this guide.

best windows server ddos protection tools

XINSTALL BY CLICKING THE DOWNLOAD FILE

To fix various PC problems, we recommend Restoro PC Repair Tool:
This software will repair common computer errors, protect you from file loss, malware, hardware failure and optimize your PC for maximum performance. Fix PC issues and remove viruses now in 3 easy steps:

  1. Download Restoro PC Repair Tool that comes with Patented Technologies (patent available here).
  2. Click Start Scan to find Windows issues that could be causing PC problems.
  3. Click Repair All to fix issues affecting your computer’s security and performance
  • Restoro has been downloaded by 0 readers this month.

For many Internet users, DDoS was a completely new word until recently. Then, millions of Windows users couldn’t access platforms such as Twitter, Reddit, and Amazon due to attacks, and that’s when the idea of a Windows Server DDOS protection software became mainstream.

Distributed Denial of Service (DDoS) attacks overwhelm websites by pushing traffic from many sources, usually computers and other network-based devices infected by malware. So, let’s find out more about the subject and the best DDOS protection software.

Does Windows have DDoS protection?

If you are running a domain, Windows can’t do much about protecting it, and third-party software is usually the best bet. But with the built-in Windows Security (Windows Defender), it can identify and remove malware responsible for DDoS attacks.

Microsoft offers Azure DDoS Protection, which provides advanced features to eliminate even the most intricate DDoS attacks. The best part, it doesn’t require any application or changes to the resources.

Let’s now find out the best options for Windows Server DDoS protection.

What is the best Windows Server DDOS protection software?

Sucuri – Constant threat monitoring

Sucuri is a web security company that provides cloud-based security services. It is not the software you must install but a subscription service that will keep your website safe from malware, hackers, and DDoS attacks.

Regarding DDoS, Sucuri’s platform detects and blocks DDoS layers 3, 4, and 7 attacks. All these attacks are aggregated and analyzed by the Sucuri platform’s AI to anticipate malicious behavior.

Other features include:

  • The cleaning process doesn’t affect the website in any way.
  • A website firewall protects you from malware and hacking, brute force and DDoS attacks, and zero-day exploits.
  • Constant threat monitoring with a variety of alert options.
  • Highly optimized CDN that offers greater loading speeds for webpages.
  • Unlimited malware removal.
  • Increased page loading speed.

Sucuri

Highly secure your Windows server with this security resource that stops any malware or DDoS attacks.

SiteLock – Built-in VPN

SiteLock is another great cloud-based website security service that will eliminate all the possible threats that might affect your website, and it offers DDoS protection.

Let’s get straight to the point: SiteLock offers infrastructure, web application protection, and DNS security.

It also detects and blocks application levels of DDoS attacks and gives you detailed reports so you can be up to date with the state of your website after each attack.

Other features include:

  • Automatic separation for human and bot traffic.
  • Detects DDoS attempts and starts different protection services accordingly.
  • Full PCI compliance lets you keep your client’s card details safe from third parties.
  • The built-in VPN ensures your anonymity online.
  • Great hosting security that protects your end-users.

Get SiteLock

Imperva FlexProtect – API security

imperva windows server ddos protection

FlexProtect is a very reliable tool, offering complete protection from all types of network and application-level DDoS attacks. The tool automatically filters traffic for transparent mitigation and relies on a 2Tbps network backbone for instant overprovisioning.

FlexProtect secures websites against the most fierce and dangerous DDoS attacks without disrupting your business.

Some PC issues are hard to tackle, especially when it comes to corrupted repositories or missing Windows files. If you are having troubles fixing an error, your system may be partially broken.
We recommend installing Restoro, a tool that will scan your machine and identify what the fault is.
Click here to download and start repairing.

Thanks to its cloud-based service, your online business will be up and running even under attack, and your visitors won’t notice anything unusual.

Other features include:

  • A real-time dashboard that gives you a useful overview of your security.
  • Uses advanced technologies to reduce the number of false positives to a minimum.
  • Web application Firewall Gateway.
  • API security – protects your website and APIs by using a single-stack approach.
  • Attack analytics – automatically analyzes the threats and adapts to them proactively.

⇒ Get Imperva FlexProtect

BeeThink anti-DDoS Guardian – Real-time network activities monitoring

top windows server ddos protection

BeeThink’s anti-DDoS tool protects your Windows servers against most DDoS/DoS attacks, such as SYN attacks, IP flood, TCP flood, UDP flood, ICMP flood, slow HTTP DDoS attacks, Layer 7 attacks, Application attacks, Windows Remote Desktop brute force password guessing attacks, and more.

This DDoS protection software is light, robust, and can easily be deployed on Windows website server machines.

Other features include:

  • Support multiple IP list formats, such as Apache’s .htaccess.
  • Automatically update the IP list.
  • Support IP blacklist and white list.
  • Support exceptional rules.
  • Look up remote IP addresses and ownership information.
  • Run Anti-DDoS Guardian as a Windows service.

⇒ Get BeeThink anti-DDoS Guardian 

Cloudbric – Deep learning system

cloudbric

Cloudbric is a reliable Windows Server DDoS protection tool that can be used by anyone with a website and domain, irrespective of the website platforms hosting your online business.

You can activate Cloudbric on your website in less than three minutes – a simple DNS change is all you need.

This tool sets up a shield in front of your website to filter malicious attacks. Penta Security System guarantees that Cloudbric can protect your website against all cyber-attacks.

Major companies activating in various fields, such as Samsung, ING, eBay, and others, rely on Cloudbric to protect their websites.

Other features include:

  • Easy-to-use interface
  • The dashboard allows you to have an overview of your entire security settings plan
  • Deep learning system – COCEP engine that integrates a machine learning platform called VISION
  • You can download monthly customized reports

⇒ Get Cloudbric

These were the best options for Windows Server DDOS protection, and a few here also offer remote DDOS protection. So, get one of these today to protect your website.

Also, for those looking for all-around protection, check the best website security software.

Tell us your favorite pick from the options listed here, or share your recommendations in the comments section below.

Still having issues? Fix them with this tool:

SPONSORED

If the advices above haven’t solved your issue, your PC may experience deeper Windows problems. We recommend downloading this PC Repair tool (rated Great on TrustPilot.com) to easily address them. After installation, simply click the Start Scan button and then press on Repair All.

newsletter icon

Newsletter

DDoS-атаки бывают разных типов — злоумышленники могут атаковать как сервер в целом, так и отдельный сайт. Сегодня мы подробнее остановимся на атаках уровня L7, его еще называют уровнем приложений. В случае с сайтами, такая атака направлена на http/https-сервер и проявляется, как правило, в том, что на веб-сервере запускается огромное количество процессов — нагрузка возрастает и сервер начинает тормозить или становится недоступен по причине исчерпания ресурсов.

Далее расскажем о том, как выявить проблемный сайт на сервере и восстановить работоспособность сайтов при атаках.

  1. Диагностика на наличие атаки
    1. Определяем наличие атаки 
    2. DoS-атаки и выявление источника атаки по логам
    3. Простой, но важный способ снижения нагрузки от атак
  2. Защита от DDoS-атак
    1. С помощью ISPmanager
      1. Точечная блокировка в ISPmanager
      2. Блокировка по странам
    2. Ручные настройки 
      1. Корректировка параметров apache
      2. Модули nginx
      3. Переменные sysctl
  3. Подключение DDoS-защиты
    1. Если нужен сервис защиты, но бюджет не позволяет

Диагностика на наличие атаки 

В первую очередь нам необходимо понять, есть ли DDoS-атака.

Если это атака на канальном уровне, то, скорее всего, ваш сервер будет недоступен, так как сетевой канал забит, и попасть на сервер можно будет только через VNC.
Однако в данной статье мы говорим об атаках на веб-сервер — в этом случае, если есть возможность — зайдите на сервер по ssh.

Определяем наличие атаки

Командами ps и top вы можете выявить главный признак атаки — большое количество процессов httpd (apache2), php-fpm или nginx (реже). 

Если на сервер по ssh войти не удается, то вполне возможно еще удастся попасть через окно VNC в панели VMmanager (бессетевой доступ к VDS).

Также можно перезагрузить сервер через VMmanager и попробовать зайти по ssh. Если возрастает количество процессов веб-сервера, то необходимо остановить его либо, как вариант, можно «убить» все процессы веб-сервера командой:

killall -9 <имя демона-процесса веб-сервера>

Посмотреть, какой процесс запускается в качестве веб-сервера, можно с помощью команды (если утилиты netstat нет, то необходимо предварительно ее установить):

netstat -na | grep ':80 '

netstat -na

Посмотреть количество процессов веб-сервера и количество подключений на 80-ый порт:

ps aux | grep -с <имя демона-процесса веб-сервера>

netstat -na | grep -с ":80 "

Эти команды считают количество процессов веб-сервера и количество подключений на 80 порт (если у вас используется SSL-сертификат, то вместо “80” необходимо указывать “443”, оптимально использовать оба варианта).

Если количество соединений превышает среднестатистическое, вероятно, это DoS/DDoS-атака.

DoS-атаки и выявление источника атаки по логам 

DoS-атаки случаются даже чаще,чем DDoS, и если говорить максимально упрощенно, то их отличает то, что они:

  • либо направлены с одного источника,
  • либо не приводят к полной недоступности ресурса — только к высокой нагрузке,
  • либо их основная цель использовать уязвимость на сайте или ином веб-ресурсе.

Посмотреть, какие источники подключений к 80-му (443-му) порту присутствуют, можно с помощью команды:

netstat -an | grep -E ':80 |:443 '| awk '{print $5}' | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' | sort | uniq -c | sort -n

Команда выведет список по возрастанию в виде строк: количество подключений — ip-адрес источника.

Данная команда также поможет в выявлении DoS/DDoS. Tcpdump запишет в файл ddos.log первые 200 пакетов, которые соединений на 80/443 порту:

tcpdump -nr ddos.log | awk '{print $3}' |grep -oE '[0-9]{1,}.[0-9]{1,}.[0-9]{1,}.[0-9]{1,}' |sort |uniq -c |sort -rn

Если атака временно прекратилась или вы хотите узнать, откуда больше всего подключались, можно проанализировать access-лог веб-сервера командой:

grep `date +%d/%b/%Y` /var/www/httpd-logs/*.access.log  | awk '{print $1}' | sort | uniq -c | sort -nr | head -n 10

Она выведет список 10 наиболее «активных» IP-адресов. Также по логу можно выявить, на какой сайт идет очень много обращений.

Выяснить, не было ли однотипных обращений, можно командой:

grep `date +%d/%b/%Y` /var/www/httpd-logs/*.access.log | awk '{print $1" "$7}' | sort | uniq -c | sort -rnk1 | head -n 10

Для этой же цели многие предпочитают использовать модуль mod_status.

Mod_status позволяет в реальном времени осуществлять мониторинг загрузки сервера.

Например, в случае apache 2.4 необходимо отредактировать файл /etc/apache2/mods-enabled/status.conf

Поменять секцию:

      <Location /server-status>

               SetHandler server-status

               Require local

               #Require ip 192.0.2.0/24

       </Location>

на

      <Location /server-status>

               SetHandler server-status

       </Location>

Затем проверить, чтобы следующая строка строка была не закомментирована, т.е. присутствовала в файле именно в таком виде:

ExtendedStatus On

Перезапустите apache.

Теперь по адресу http://ip-aдрес.сервера/server-status доступна статистика запросов к нему.

Нас интересует следующее:

0-0    86795    0/31/31    W     0.54    0    0    0.0    0.09    0.09     89.18.166.89    example.com    GET / HTTP/1.0

1-0    86796    0/19/19    W     0.30    0    0    0.0    0.06    0.06     79.140.78.68    example.com    GET / HTTP/1.0

2-0    86801    0/9/9    W     0.15    0    0    0.0    0.03    0.03     89.18.166.89    example.com    GET / HTTP/1.0

3-0    86802    0/9/9    W     0.14    0    0    0.0    0.03    0.03     82.12.33.48    myhost.com    GET /server-status/ HTTP/1.1

4-0    86805    0/4/4    W     0.07    1    0    0.0    0.01    0.01     79.140.78.68    example.com    GET / HTTP/1.0

5-0    86806    0/3/3    W     0.06    2    0    0.0    0.01    0.01     89.18.166.89    example.com    GET / HTTP/1.0

6-0    86807    0/4/4    W     0.07    0    0    0.0    0.01    0.01     89.18.166.89    example.com    GET / HTTP/1.0

7-0    86808    1/4/4    C     0.08    0    2015    3.0    0.01    0.01     89.18.166.89    example.com    GET / HTTP/1.0

8-0    86811    0/1/1    W     0.02    0    0    0.0    0.00    0.00     89.18.166.89    example.com    GET / HTTP/1.0

9-0    86812    0/1/1    W     0.02    0    0    0.0    0.00    0.00     89.18.166.89    example.com    GET / HTTP/1.0

10-0    86813    0/1/1    W     0.02    0    0    0.0    0.00    0.00     89.18.166.89    example.com    GET / HTTP/1.0 

В данном случае атака идет пустыми запросами GET / к серверу example.com. Вам следует его отключить. Выполнить это лучше всего в панели управления: зайдя в раздел с сайтами, выбрать сайт (в данном случае example.com) и нажать сверху кнопку Файлы конфигурации, где вы увидите внизу конфигурационный файл nginx. Найдите отрывок такого вида:

server {

       listen       80;

       server_name  example.com www.example.com;

Пропишите ниже server_name строку

deny all;

Аналогично сделайте в секции, где указано listen 443;

Если у вас нет nginx, а только apache, то перейдите в корневую директорию сайта и создайте файл .htaccess с содержимым:

Deny from All

Теперь при обращении к сайту будет выдаваться ошибка 403 Forbidden, и нагрузка на остальные сайты значительно снизится.

Простой, но важный способ снижения нагрузки от атак

Как правило, флуд-боты обращаются по доменному имени, но могут перебирать и IP-адреса. В этом случае необходимо создать домен-заглушку. Но не забудьте для него в файлах конфигурации nginx указать deny all; (как в примере выше) или, если у вас только apache, в корневой директории заглушки добавить такой же файл .htaccess с содержимым:

Deny from All

Это не самый эффективный способ борьбы с атаками, но крайне полезный, так как он решает помимо этого много проблем с индексацией сайта, со сканом сайтов по IP-адресу и другие случаи. Однако далее мы рассмотрим уже целенаправленные способы фильтрации атак.

С помощью ISPmanager

В панели ISPmanager есть функция, позволяющая ограничить количество подключений к сайту с одного IP-адреса. При этом IP-адрес блокируется по всем портам, поэтому если ваш IP-адрес попадёт в бан, то вы потеряете связь с сервером на 5 минут.

Приступаем к настройке.

Заходим в ISPmanager — раздел «Сайты» (в старом меню это «Домены-WWW-домены») — выделить домен — кнопка «Изменить». Ищем подраздел «Оптимизация» и «защита от DDos» и ставим галочку «Включить защиту от DDoS-атаки» — следом появятся параметры защиты от атаки.

А именно:

«Количество запросов в секунду» — при достижении указанного количества подключений, IP блокируется только в Nginx.
«Максимальный размер всплеска» — при достижении указанного количества подключений, IP блокируется по всем портам на 5 минут.

Обратите внимание! Данный модуль всего лишь метод сглаживания слабых атак силами веб-сервера. Если атака серьезная и полностью выводит из строя веб-сервер своей нагрузкой, то данный модуль никак не спасет. Также не указывайте экстремально низкие значения (меньше 30-20), так как архитектура некоторых сайтов подразумевает, что при одном клике на сайте к серверу уйдет несколько запросов, следовательно, повышается риск заблокировать легитимного пользователя.

Точечная блокировка в ISPmanager и блокировка по странам

Выше мы уже описывали варианты поиска источника нагрузки, когда атакующих IP-адресов немного. В этом случае их проще всего точечно заблокировать в панели ISPmanager в разделе «Администрирование» — «Брандмауэр», нажав кнопку «Создать» и указав адрес:

В этом же разделе есть возможность включить блокировку по определенным странам, нажав сверху кнопку «Страны». Стоит учитывать, что географическая привязанность IP-адресов всегда условна и может быть не точна. По этой причине для более-менее рабочей точности геораспределения адреса используются платные базы IP-адресов, в ISPmanager это работает именно так, и блокировка будет доступна, если вы зарегистрируетесь и приобретете ключ доступа к базам сервиса Maxmind:

Ручные настройки

Чтобы точечно зафильтровать 80 порт для ip xxx.xxx.xxx.xxx, используйте команду:

iptables -A INPUT -p tcp --src xxx.xxx.xxx.xxx --dport 80 -j DROP

Эти и последующие команды можно и нужно аналогично использовать и для 443-го порта.
Можно использовать ipset (нужен соответствующий модуль):

ipset -N ddos iphash

iptables -A INPUT -p tcp -m tcp --dport 80 -m set --set ddos src -j DROP

while true; do tail -10000 /var/www/httpd-logs/site.ru.access.log | sort | cut -f 1 -d " " | uniq -c | awk '($1>50){print $2}' | xargs -tl -I _ ipset -A ddos _;sleep 30; done

Закрываем icmp (поможет при icmp-flood):

iptables -A INPUT -p icmp -j DROP --icmp-type 8

Ограничение максимального числа «полуоткрытых» соединений с одного IP к конкретному порту (необходим соответствующий модуль):

iptables -I INPUT -p tcp --syn --dport 80 -m iplimit --iplimit-above 10 -j DROP

Ограничение максимального числа соединений с одного IP к конкретному порту:

/sbin/iptables  -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 3 -j REJECT

Корректировка параметров apache

Если в качестве веб-сервера используется apache, в качестве дополнительных средств можно корректировать параметры, влияющие на количество создаваемых процессов в системе.

Откройте любым удобным текстовым редактором конфигурационный файл /etc/httpd/conf/httpd.conf (если Centos) и /etc/apache2/mods-available/mpm_prefork.conf (если Debian/Ubuntu):

<IfModule mpm_itk_module>

   StartServers          1

   MinSpareServers       1

   MaxSpareServers       1

   MaxClients          150

   MaxRequestsPerChild  100

</IfModule>

Измените MaxClients (максимальное число процессов) в меньшую сторону до количества процессов, которые не забивают ресурсы вашего сервера до отказа. Каждый процесс apache занимает в среднем 4-8 мегабайт памяти. А лучше узнать точно, сколько памяти в среднем на вашем сервере занимает один процесс apache/httpd так:

top -d 1 | grep -E 'http|apache' | awk '{a+=$7}END{print a/(1024*NR) " Mb"}'

Необходимо, чтобы суммарное количество помещалось в оперативной памяти.

Отредактируйте /etc/httpd/conf/httpd.conf (если Centos) и /etc/apache2/apache2.conf (если Debian/Ubuntu)

Следует уменьшить параметры:

Timeout 300

MaxKeepAliveRequests 100

до 60 и 50 соответственно, чтобы как можно скорее старые процессы apache прекращали свое существование.

Модули Nginx

Если панели ISPmanager нет, но используется веб-сервер nginx, проверьте, чтобы nginx был собран с модулями http limit req и GeoIP. С их помощью аналогичным образом, как в панели ISPmanager, только вручную в конфигурационных файлах, можно блокировать доступ для IP-адресов, превысивших ограничение на количество подключений. Также можно заблокировать и доступ по странам. Ввиду возможных особенностей ручных конфигураций, рекомендуем самостоятельно изучить документацию nginx по модулю HTTP limit req и GeoIP.

Переменные sysctl

Системные переменные, которые могут быть полезны, при DDoS.

ICMP-FLOOD

Команда ниже поможет при отражении атаки типа icmp-flood:

sysctl net.ipv4.icmp_echo_ignore_all=1

SYN-FLOOD

Уменьшает время удержания «полуоткрытых» соединений:

sysctl -w net.ipv4.tcp_synack_retries=1

Включает TCP syncookies:

sysctl -w net.ipv4.tcp_syncookies=1

Увеличивает размер очереди полуоткрытых соединений, по умолчанию — 512:

sysctl -w net.ipv4.tcp_max_syn_backlog=4096

Проверяет TCP-соединение каждую минуту. Если на другой стороне — легальная машина, она сразу ответит. По умолчанию — 2 часа:
sysctl -w net.ipv4.tcp_keepalive_time=60

Повторяет проверку через 20 секунд:

sysctl -w net.ipv4.tcp_keepalive_intvl=20

Количество проверок перед закрытием соединения:

sysctl -w net.ipv4.tcp_keepalive_probes=3

Изменяет время ожидания приема FIN:

sysctl -w net.ipv4.tcp_fin_timeout=10

Обратите внимание! Эти настройки будут работать до первой перезагрузки сервера, для постоянного использования параметры необходимо внести в системный конфиг sysctl.conf

Подключение DDoS-защиты

Этот раздел статьи должен был быть, пожалуй, самый первым, так как является самым эффективным и главным способом бороться с DDoS-атаками.
Как уже упоминалось, указанные выше меры могут спасти только от небольших атак или атак с источников-«одиночек». 

Для качественной защиты и избавления от дополнительных манипуляций стоит подключать профессиональную DDoS-защиту. Есть много сервисов, которые не привязаны к хостингу и могут помочь защитить ваш сайт.

Мы, в свою очередь, предлагаем готовое решение от наших партнеров DDoS-Guard по подключению защищенного канала (для атак на канальном уровне) и защиты L7 (для атак на уровне приложений), обе защиты по одной стоимости, подробнее здесь.

Если нужен сервис защиты, но бюджет не позволяет

Стоит упомянуть и еще один сервис, который допускает вариант бесплатной защиты от DDoS (как вы понимаете, «бесплатно» означает, что это будет не настолько же эффективно) — Cloudflare. 

Базово, на этом сервисе можно добавить свой домен, направив его на предоставляемые ими NS. Также по умолчанию, направив домен на их NS, в качестве А-записей на стороне Cloudflare предлагается указать «проксирующий» IP-адрес, который будет отдаваться по домену глобально и принимать на себя все запросы и пропускать их через фильтр бесплатной защиты. 

Помимо того, что более эффективная фильтрация будет платной, есть еще «узкое горлышко» в том, что сам VDS при наличии доменов с Cloudflare не избавляется от угрозы прямой атаки по IP-адресу. Как правило, IP-адрес скрывают, стараются, чтобы по доменам нигде не «светились» старые DNS-записи, ведущие сразу на IP-адрес VDS и т.д.

Но есть более кардинальное и рекомендуемое решение в данном случае — запретить в фаерволе доступ по 80-му и 443-му портам для всех адресов, кроме адресов из подсетей cloudflare, тем самым пуская к веб-серверу только трафик, уже прошедший фильтрацию сервиса.

На примере Iptables это можно сделать следующими командами:

iptables -I INPUT -p tcp -m multiport --dports 80,443 -j DROP

ip6tables -I INPUT -p tcp -m multiport --dports 80,443 -j DROP

wget -O - https://www.cloudflare.com/ips-v4 | while read subnet; do iptables -I INPUT -s $subnet -j ACCEPT; done

wget -O - https://www.cloudflare.com/ips-v6 | while read subnet; do ip6tables -I INPUT -s $subnet -j ACCEPT; done

Это только базовая настройка, которую можно кастомизировать, в том числе и для случаев без Cloudflare, ограничив доступ атакующих источников, или ограничить доступ к DNS, и по почтовым портам, добавив правила для доступа ваших рабочих и других легитимных IP-адресов и т.д.

В целом, грамотная настройка фаервола и веб-сервера может помочь справляться с базовыми атаками даже без участия Cloudflare. Однако никакие бесплатные решения не помогут от серьезных и мощных DDoS-атак.

Содержание:

  • Для чего проводится DDoS атака
  • Какие бывают типы DDoS атак
  • Как работает защита от DDoS атак
  • Защита на уровне сети L3-L4
  • Защита на уровне приложения L5-L7
  • Защита в реальном времени
  • Тарифы на услуги с защитой от DDoS атак
  • Защита от DDoS атак без переноса

Сегодня вопрос обеспечения защиты серверов от DDOS-атак особенно актуален. Большая часть бизнеса построена именно на обработке данных и на предоставлении пользователям беспрепятственного доступа к сайту, веб-сервису, приложению или базам данных, расположенных на серверах. Чтобы нарушить работу бизнеса обычно применяется DDOS-атака. Это актуально не только для интернет-магазинов, которые в принципе не могут работать без сайта. Но и для многих других видов бизнеса, где поток клиентов и взаимосвязь с ними происходит удаленно онлайн. 

DDoS-атака дословно обозначает Distributed Denial of Service (множественная атака на систему). Конечная цель этого действия заключается в том, чтобы имитировать большую нагрузку на систему и заблокировать ее работу. Это как запустить на домашнем ноутбуке 1000 вкладок браузера одновременно. Вероятно, устройство зависнет. Так же происходит и с сервером, когда удалённо на него отправляется искусственный трафик в очень большом объеме. 

Для чего проводится DDoS атака

Существует несколько причин, по которым проводится DDoS-атака:

  1. Для блокировки работы веб-ресурса на некоторое время (для крупных интернет-проектов даже несколько минут сбоя чревато потерями в тысячи долларов);
  2. С целью отыскать уязвимые места и исправить их;
  3. Ограничить работу ресурса конкурента и переманить клиентов на свою сторону.

К сожалению, в 80% случаев DDoS-атаки осуществляются со стороны недоброжелателей бизнеса. Для этого есть целый нелегальный рынок, где можно заказать услуги подобной атаки на любой веб-ресурс. 

Однако успешно совершить DDoS-атаку получается далеко не всегда, так как уже существуют разные способы защититься от них. 

Какие бывают типы DDoS атак

Существует несколько основных типов подобных атак на веб-ресурсы:

  • HTTP-флуд и ping-флуд;
  • Smurf-атака (ICMP-флуд);
  • Атака Fraggle (UDP-флуд);
  • Атака с помощью переполнения пакетами SYN (SYN-флуд);
  • Отправка «тяжелых» запросов;
  • Переполнение сервера лог-файлами.

Тот или иной тип подбирается в соответствии с уровнем защиты веб-ресурса, а также с учетом цели, бюджета и мастерства исполнителя. 

Например, самые простые атаки совершаются через HTTP-запросы. Более сложными считаются разные виды флуда: SYN, UDP, ICMP, MAC и другие виды attack. 

Как работает защита от DDoS атак

Если описать вкратце, то защита от DoS и DDoS-атаки направлена на отсечение избыточного трафика, который направляется по тем или иным каналам. Самые простые средства защиты от DDoS-атак осуществляют фильтрацию трафика еще до того, как он попадет на обработку в сервер. При чем уязвимыми могут быть и простые хостинги, которые первыми принимают трафик расположенных на них сайтах. 

Есть несколько базовых методов защиты от подозрительного трафика:

  1. Применение брандмауэров с динамической проверкой пакетов;
  2. Установка экранов флуда;
  3. Ограничение количества SYN-ов за секунду;
  4. Работа с параметрами Timeout, KeepAliveTimeout, директивой Options в настройках веб-сервера.

Стоит рассмотреть отдельно способы защиты для атак разных уровней.

Защита на уровне сети L3-L4

Чаще всего на сетевом уровне происходят атаки L3-L4. На 3 и 4 уровне действуют такие протоколы, как IP, ICMP, ARP, RIP, а также TCP и UDP. Рациональными средствами защиты считается фильтрация DDoS-трафика. Этот метод больше известен как blackholing. Однако этот способ блокирует не только опасный трафик злоумышленников, но и попытки простых пользователей попасть на веб-ресурс. Поэтому в качестве альтернативы можно ограничить количество обрабатываемых запросов по протоколу ICMP. 

Защита на уровне приложения L5-L7

В некоторых случаях может потребоваться более серьезная защита канала трафика в реальном времени. 5-7 уровни атак предотвратить сложнее. И здесь важно не просто быстро реагировать на ситуацию, но и поддерживать программное обеспечение с актуальными обновлениями. Так как многие операционные системы и программные решения вендоров уже содержат встроенные инструменты блокировки DDoS-атак. Подобными решениями отличается Timeweb защита от DDoS, Cisco защита от DDoS и некоторые другие. 

Защита в реальном времени

Для обеспечения защиты от DDoS-атак в реальном времени важно применять разные инструменты, предлагаемые авторитетными разработчиками. Все зависит от операционной системы серверов и внедренных решений. Например, если в компании сервера основаны на решениях Cisco, то стоит доверить этой компании защиту от DDoS. У этой компании есть специальное ПО под названием Cisco DDoS Protection Solution. Также подойдут и смежные инструменты Cisco Guard и Detector. Подобные элементы позволяют контролировать трафик на всех уровнях и отсекать искусственную нагрузку злоумышленников. 

Подобные решения есть и у других вендоров наподобие CloudFlare, Comod, Wanguard и других. О них не стоит забывать, если речь идет о корпоративной и очень ценной инфраструктуре.

Тарифы на услуги с защитой от DDoS атак

Стоимость услуг на защиту серверов от атак варьируется от несколько сотен долларов до сотен тысяч долларов за разовую защиту или комплексную работу в режиме реального времени. В крупных компаниях за безопасность отвечают целые отделы, которые смежно используют дорогостоящие пакетные решения от вендоров, часть из которых упомянута выше. 

Защита от DDoS атак без переноса

Сегодня существуют решения для удаленной защиты ресурса от внешних атак посредством перегрузки. И это делается без переноса сайта и смены хостинга. Например, можно воспользоваться услугой подключения внешнего IP-адреса для перенаправления трафика злоумышленников. Подобное решение должно быть защищено WAF (Web Applications Firewall), а сам процесс защиты подразумевает фильтрацию трафика по HTTP-протоколу. 

С каждым годом появляются все новые способы защиты серверов от внешних угроз. С развитием серверного ПО усиливаются и методы работы злоумышленников, но и при грамотном подходе этого можно избежать. 

Как то друг попросил собрать для него сервер LineAge. В поисках достойных мануалов, я забрел на один сайт и нашел там очень интересную вещь. Статья полностью скопирована оттуда.

Те, кто знаю Linux, понимают, на сколько удобно использовать iptables для создания правил, который будут отражать все атакующие зомби-машины, с помощью этих защит можно огородить не только свой Lineage 2 Java сервер, но и другие серверы.

Но к счастью, или к сожалению ( для хакеров ), на Windows’e тоже есть подобная софтина, и называется она — wipfw.

Разархивируем данный софт в любую папку, и устанавливаем ( запускаем install.bat ).
Отлично, вот и все, софт установлен — стандартные правила записаны.

Для изменений правил, Вы можете использовать cmd.exe и команды ipfw, посмотреть их можно здесь Тынц

Но согласитесь, не очень удобно записывать правила в команду, если их очень много, поэтому мы будем использовать файл «wipfw.conf», который находится в корне программы — в него записываются стандартные правила, а для того, чтоб они загрузились, нужно запустить «loadrules.cmd», который находится в папке bin.

С этого момента, если Вы прочитаете DOC по командам ipfw, Вы уже можете написать хорошую защиту.

Но я хочю Вам, как пример, предоставить структуру своего файла «wipfw.conf», что возможно упростит Вашу настройку защиты.

Для начала, выложу полностью весь файл, а далее мы будем разбирать каждую строку.

И так, «wipfw.conf» выглядит так:

Код

-f flush
add 1 allow tcp from any to any 53
add 2 allow tcp from any 53 to any
add 3 allow udp from any to any 53
add 4 allow udp from any 53 to any

add 10 allow tcp from 195.16.88.3 to me

add 100 allow tcp from me to any
add 120 allow tcp from 192.0.0.0/8 to any
add 120 skipto 10000 tcp from 2.0.0.0/8 to any
add 120 skipto 10000 tcp from 66.0.0.0/8 to any
add 120 skipto 10000 tcp from 46.0.0.0/8 to any
add 120 skipto 10000 tcp from 62.0.0.0/8 to any
add 120 skipto 10000 tcp from 77.0.0.0/8 to any
add 120 skipto 10000 tcp from 78.0.0.0/8 to any
add 120 skipto 10000 tcp from 79.0.0.0/8 to any
add 120 skipto 10000 tcp from 80.0.0.0/8 to any
add 120 skipto 10000 tcp from 81.0.0.0/8 to any
add 120 skipto 10000 tcp from 82.0.0.0/8 to any
add 120 skipto 10000 tcp from 83.0.0.0/8 to any
add 120 skipto 10000 tcp from 84.0.0.0/8 to any
add 120 skipto 10000 tcp from 85.0.0.0/8 to any
add 120 skipto 10000 tcp from 86.0.0.0/8 to any
add 120 skipto 10000 tcp from 87.0.0.0/8 to any
add 120 skipto 10000 tcp from 88.0.0.0/8 to any
add 120 skipto 10000 tcp from 89.0.0.0/8 to any
add 120 skipto 10000 tcp from 90.0.0.0/8 to any
add 120 skipto 10000 tcp from 91.0.0.0/8 to any
add 120 skipto 10000 tcp from 92.0.0.0/8 to any
add 120 skipto 10000 tcp from 93.0.0.0/8 to any
add 120 skipto 10000 tcp from 94.0.0.0/8 to any
add 120 skipto 10000 tcp from 95.0.0.0/8 to any
add 120 skipto 10000 tcp from 109.0.0.0/8 to any
add 120 skipto 10000 tcp from 178.0.0.0/8 to any
add 120 skipto 10000 tcp from 188.0.0.0/8 to any
add 120 skipto 10000 tcp from 193.0.0.0/8 to any
add 120 skipto 10000 tcp from 194.0.0.0/8 to any
add 120 skipto 10000 tcp from 195.0.0.0/8 to any
add 120 skipto 10000 tcp from 212.0.0.0/8 to any
add 120 skipto 10000 tcp from 213.0.0.0/8 to any
add 120 skipto 10000 tcp from 217.0.0.0/8 to any
add 120 skipto 10000 tcp from 204.16.252.109 to any
add 120 skipto 10000 tcp from 38.99.77.20 to any
# GOOGLE
add 120 skipto 10000 tcp from 74.125.95.93 to any
add 120 skipto 10000 tcp from 74.125.127.93 to any
add 120 skipto 10000 tcp from 74.125.43.99/16 to any
add 120 skipto 10000 tcp from 209.85.135.95/16 to any
add 120 skipto 10000 tcp from 64.12.202.116/16 to any
# depositfiles
add 120 skipto 10000 tcp from 208.88.224.248/24 to any
# DynDNS
add 120 skipto 10000 tcp from 204.13.248.117/16 to any
add 200 skipto 10000 icmp from any to any in icmptype 5,9,13,14,15,16,17
add 500 deny all from any to any

add 10000 allow tcp from any to any 80,443,49441,5938,4344,9019,5190
add 10001 allow tcp from any 80,443,49441,5938,4344,9019,5190 to any
add 10002 allow tcp from any to me 7777 setup limit src-addr 15 in
add 10003 allow tcp from any to me 2106 setup limit src-addr 5 in
add 10005 allow tcp from any to any 7777 out
add 10006 allow tcp from any to any 2106 out
add 10500 deny all from any to any

И так, начали.

Код

-f flush

— Удаляем все записи, которые были у меня до этого момента.

Код

add 1 allow udp from any to any 27015
add 1 allow udp from any 27015 to any

— Открываю порты для получения и отправки данных к серверам DNS

Код

add 10 allow udp from 94.229.237.21 to me

— Открываю данному ip ( ip моего хостинга ) все порты и разрешаю передавать мне любую информацию

Код

add 100 allow udp from me to any

— Разрешаю себе передавать информацию любому серверу на всех портах

Код

add 120 allow udp from 94.0.0.0/8 to any

— Разрешаю своим локальным компьютерам передавать информацию любому серверу на всех портах

Код

add 120 skipto 10000 upd from 2.0.0.0/8 to any
add 120 skipto 10000 udp from 66.0.0.0/8 to any
add 120 skipto 10000 udp from 46.0.0.0/8 to any
add 120 skipto 10000 udp from 62.0.0.0/8 to any
add 120 skipto 10000 udp from 77.0.0.0/8 to any
add 120 skipto 10000 udp from 78.0.0.0/8 to any
add 120 skipto 10000 udp from 79.0.0.0/8 to any
add 120 skipto 10000 udp from 80.0.0.0/8 to any
add 120 skipto 10000 udp from 81.0.0.0/8 to any
add 120 skipto 10000 udp from 82.0.0.0/8 to any
add 120 skipto 10000 udp from 83.0.0.0/8 to any
add 120 skipto 10000 udp from 84.0.0.0/8 to any
add 120 skipto 10000 udp from 85.0.0.0/8 to any
add 120 skipto 10000 udp from 86.0.0.0/8 to any
add 120 skipto 10000 udp from 87.0.0.0/8 to any
add 120 skipto 10000 udp from 88.0.0.0/8 to any
add 120 skipto 10000 udp from 89.0.0.0/8 to any
add 120 skipto 10000 udp from 90.0.0.0/8 to any
add 120 skipto 10000 udp from 91.0.0.0/8 to any
add 120 skipto 10000 udp from 92.0.0.0/8 to any
add 120 skipto 10000 udp from 93.0.0.0/8 to any
add 120 skipto 10000 udp from 94.0.0.0/8 to any
add 120 skipto 10000 udp from 95.0.0.0/8 to any
add 120 skipto 10000 udp from 109.0.0.0/8 to any
add 120 skipto 10000 udp from 178.0.0.0/8 to any
add 120 skipto 10000 udp from 188.0.0.0/8 to any
add 120 skipto 10000 udp from 193.0.0.0/8 to any
add 120 skipto 10000 udp from 194.0.0.0/8 to any
add 120 skipto 10000 udp from 195.0.0.0/8 to any
add 120 skipto 10000 udp from 212.0.0.0/8 to any
add 120 skipto 10000 udp from 213.0.0.0/8 to any
add 120 skipto 10000 udp from 217.0.0.0/8 to any

— Все СНГ пользователи ( т.е — здесь IP всей СНГ ) перебрасываются на правило №10000

Код

add 120 skipto 10000 udp from 204.16.252.109 to any
add 120 skipto 10000 udp from 38.99.77.20 to any
add 120 skipto 10000 udp from 74.125.95.93 to any
add 120 skipto 10000 udp from 74.125.127.93 to any
add 120 skipto 10000 udp from 74.125.43.99/16 to any
add 120 skipto 10000 udp from 209.85.135.95/16 to any
add 120 skipto 10000 udp from 64.12.202.116/16 to any
add 120 skipto 10000 udp from 208.88.224.248/24 to any
add 120 skipto 10000 udp from 204.13.248.117/16 to any

— Дополнительные серверы, которые подключаясь ко мне будут перебрасываться на правило №10000 — За зоной СНГ ( Здесь google, depositfiles, imageshacke, youtube )

Код

add 200 skipto 10000 icmp from any to any in icmptype 5,9,13,14,15,16,17

— Закрываем порты от сканирование ( делаем невидимыми )

Код

add 500 deny all from any to any

— Отклоняем все пакеты, что дошли к данному правилу. ( Запретить все что сюда дошло )

Код

add 10000 allow udp from any to any 80,443,49441,5938,4344,9019,5190,27015
add 10001 allow udp from any 80,443,49441,5938,4344,9019,5190,27015 to any

— Открываем нужные мне порты для использования, здесь http, skype, icq

Код

add 10002 allow tcp from any to me 7777 setup limit src-addr 15 in
add 10003 allow tcp from any to me 2106 setup limit src-addr 5 in

— Открываю порт 27015 или другой для подсоединения ко мне, с максимальным числом подсоединение с одного IP 5

Код

add 10004 allow tcp from any to any 27015 out

Вот и все, также хочу сказать, что все правила выполняются в последовательности их номеров, это очень важно!
Если Вы сначала поставите правило, которые будет запрещать это, а после добавите правило для разрешения подключений, оно будет нерабочим.

— Разрешают доступ к себе только странам СНГ и нужным нам серверам ( А зачем нам Великобритания или Африка? Не думаю что потенциальный игроки там будут, но вот бот-машины там точно есть ).
— Закрываем все порты, исключая нужные нам и игровые порты.
— Устанавливаем ограничение на подключение к игровым портам с 1 IP.

Функция deny — сбрасывает пакет.
Функция skipto [number] — перебрасывает пакет на указанное правило, если его нет, идет дальше по списку ( выше по номеру ).
Функция allow — пропуска пакет.
Для добавления правил через cmd, в начало нужно добавлять ipfw.
Для очистки всех правил, наберите в cmd — ipfw -f flush
Для просмотра всех правил, наберите в cmd — ipfw list

Команда в cmd для блокировки конкретного ip:
ipfw add 10 deny tcp from 10.10.10.10 to any
(ip 10.10.10.10 будет заблокирован)

Команда в cmd для блокировки под-сети пользователя:
ipfw add 10 deny tcp from 10.10.10.10/24 to any
(ip 10.10.10.0 — 10.10.10.255 будут заблокированы)

ipfw add 10 deny tcp from 10.10.10.10/16 to any
(ip 10.10.0.0 — 10.10.255.255 будут заблокированы)

Соблюдаем права. Статья взята отсюда http://kos-master.ru/other/instructions/25…a-windowsa.html и чуть чуть подправлена дял сервера cs.
Данные для знающих людей. Попрошу также знающих людей допилить статью =) Я думаю эти данные кому нибудь прогодятся.

Для Windows x86 Прикрепленный файл
 wipfw.rar ( 58.8 килобайт )
Кол-во скачиваний: 81

Для Windows x64 Прикрепленный файл
 wipfw_x64.rar ( 64.03 килобайт )
Кол-во скачиваний: 188

  • Защита dma ядра отключена windows 10 что это
  • Защита dma ядра как включить windows 11
  • Зашифровать флешку в windows 10
  • Зачем увеличить файл подкачки windows 10
  • Зашифрованные файлы windows как открыть