1
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
Приветствуем вас,Гость, на форуме IFUD.WS. Обязательно рекомендуется к прочтению правила форума http://ifud.ws/threads/obnovleno-pravila-foruma.7759

Защита от DDoS в nginx от тупых ботов

Тема в разделе "Чужие", создана пользователем TwoStar, 11 янв 2015.

  1. TopicStarter Overlay
    TwoStar

    TwoStar

    Регистрация:
    25 ноя 2013
    Сообщения:
    13
    Симпатии:
    6
    В рунете гуляет очень много ботнетов с ботами которые делают тупой запрос в корень сайта с рандомным referer — набор произвольных букв и цифр, он вообще не разу не валидный, давайте посмотрим пример, вырезку из access.log:
    Код:
    78.181.1.75 - - [06/Jun/2012:23:44:03 +0400] "GET / HTTP/1.0" 503 323 "3gd55drbtq3u.ru" "Mozilla/5.0 (Slurp/cat; slurp@inktomi.com; http://www.66c2f8.com/slurp.html)"
    175.184.81.46 - - [06/Jun/2012:23:44:03 +0400] "GET / HTTP/1.0" 503 323 "8mvh02mr.ru" "Mozilla/3.0 (compatible; ScollSpider; http://www.826ax3wt3i.com)"
    121.112.132.231 - - [06/Jun/2012:23:44:03 +0400] "GET / HTTP/1.0" 503 323 "6jd896o21.net" "Mozilla/5.0 (Windows; U; Win9x; en; Stable) Gecko/20020911 Beonex/0.8.1-stable"
    85.110.52.75 - - [06/Jun/2012:23:44:03 +0400] "GET / HTTP/1.0" 503 323 "3ird4abm.biz" "Mozilla/4.7 (compatible; OffByOne; Windows 98) Webster Pro V3.2"
    46.35.69.2 - - [06/Jun/2012:23:44:03 +0400] "GET / HTTP/1.0" 503 323 "96otzza82qu22x.net" "Mozilla/5.0 (compatible; LinksManager.com_bot http://gc3883s73p.com/linkchecker.html)"
    190.239.177.77 - - [06/Jun/2012:23:44:03 +0400] "GET / HTTP/1.0" 503 323 "yuqel5z2w5l.ru" "Mozilla/5.0 (compatible; Webduniabot/1.0; +http://search.u129c16.com/bot.aspx)"
    164.77.114.94 - - [06/Jun/2012:23:44:03 +0400] "GET / HTTP/1.0" 503 323 "ws6h16k3io.biz" "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) (8us06m31ml@cq4sp96z2r2om2.com)"
    189.231.65.7 - - [06/Jun/2012:23:44:03 +0400] "GET / HTTP/1.0" 503 323 "mh8v8dg8.biz" "Mozilla/4.0 (compatible; KeepNI web site monitor)"
    88.228.125.137 - - [06/Jun/2012:23:44:03 +0400] "GET / HTTP/1.0" 503 323 "wje7tjb0z60l1.info" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; PeoplePal 3.0; MSIECrawler)"
    88.253.64.120 - - [06/Jun/2012:23:44:03 +0400] "GET / HTTP/1.0" 503 323 "0pflcbf.net" "Mozilla/4.02 [en] (X11; I; SunOS 5.6 sun4u)"
    
    не сложно догадаться о том как это дело порезать в том же nginx, валидный referer это:
    1. пустой
    2. начинающийся с http
    на основе этой информации можно соорудить такую конструкцию в nginx, например
    Код:
        set $badref 0;
            if ($http_referer != "") {
                set $badref 1;
            }
            if ($http_referer !~* (^http://.*|^https://.*) ){
            set $badref "1${badref}";
            }
            if ($badref = 11) {
                return 403;
            }
    
    Что мы делаем?
    1. проверяем наличие referer
    2. проверяем валидность referer — http:// или https://

    В случае если referer проставлен и не попадает под нашу регулярку то отдаем клиенту 403, там уже по желанию (можно 444 но если банить ботов не будете то у вас разрастется количество подключений к серверу т.к 444 вы разрываете соединение и бот каждый раз будет устанавливать новое)

    Код:
    197.162.27.93 - - [29/Dec/2012:20:48:08 +0400] "POST /index.php HTTP/1.0" 403 173 "xmff21.info" "Mozilla/5.0 (compatible; http://www.86179y.com/bot/ )"
    41.42.255.78 - - [29/Dec/2012:20:48:08 +0400] "POST /index.php HTTP/1.0" 403 173 "z67za88.info" "Mozilla/4.5 (compatible; iCab 2.5.3; Macintosh; I; PPC)"
    182.178.75.130 - - [29/Dec/2012:20:48:08 +0400] "POST /index.php HTTP/1.0" 403 575 "s1rts87.com" "Mozilla/4.0 (compatible; MSIE 5.0; www.galaxy.com; www.psychedelix.com/; http://www.c13c7r885ftn6e.com/info/crawler.html)"
    197.162.27.93 - - [29/Dec/2012:20:48:08 +0400] "POST /index.php HTTP/1.0" 403 173 "pf1d6951v5q.info" "Mozilla/5.0 (compatible; PWeBot/3.1; http://www.88bw6767lsroze.net/robot.php)"
    41.42.255.78 - - [29/Dec/2012:20:48:08 +0400] "POST /index.php HTTP/1.0" 403 575 "2x3uh4e9i93.info" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; bgft)"
    182.179.89.88 - - [29/Dec/2012:20:48:08 +0400] "POST /index.php HTTP/1.0" 403 173 "g05zw4p1.com" "Mozilla/2.0 (Compatible; AOL-IWENG 3.0; Win16)"
    197.162.27.93 - - [29/Dec/2012:20:48:08 +0400] "POST /index.php HTTP/1.0" 403 173 "06py0qpg7nh.biz" "Mozilla/4.72 [en] (BACS http://www.ba.be)"
    182.178.75.130 - - [29/Dec/2012:20:48:08 +0400] "POST /index.php HTTP/1.0" 403 173 "0eh0nxe0.com" "Mozilla/4.0 (agadine3.0) www.6emzr1bhndn60b.de"
    182.179.89.88 - - [29/Dec/2012:20:48:08 +0400] "POST /index.php HTTP/1.0" 403 173 "9o09t6013.info" "Mozilla/1.1 (compatible; MSPIE 2.0; Windows CE)"
    197.162.27.93 - - [29/Dec/2012:20:48:08 +0400] "POST /index.php HTTP/1.0" 403 575 "z610utw00o48z.net" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90; BTinternet V8.1)"
    197.162.27.93 - - [29/Dec/2012:20:48:08 +0400] "POST /index.php HTTP/1.0" 403 575 "kag3p3b6mb88t2.net" "Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPS; 240x320)"
    182.178.75.130 - - [29/Dec/2012:20:48:08 +0400] "POST /index.php HTTP/1.0" 403 575 "h2797w3x8.info" "Mozilla/4.0 (compatible; MSIE enviable; DAUMOA 2.0; DAUM Web Robot; Daum Communications Corp., Korea; +http://ws.m6181in16odr.net/aboutkr.html)"
    197.162.27.93 - - [29/Dec/2012:20:48:08 +0400] "POST /index.php HTTP/1.0" 403 173 "7vwbqhcuyf6261.biz" "Mozilla/5.0 (Windows;) NimbleCrawler 1.12 obeys UserAgent NimbleCrawler For problems contact: crawler@healthline.com"
    182.178.75.130 - - [29/Dec/2012:20:48:08 +0400] "POST /index.php HTTP/1.0" 403 173 "2899j9.com" "Mozilla/4.0 efp@gmx.net"
    
    Таким образом боты режутся в реал тайме на фронтенде с точностью 100%
    Советую почитать эту тему: Please login or register to view links

    --- добавлено: 11 янв 2015 в 23:03 ---
    Добавлю что если воспользоваться данным методом то не забывайте поставить Please login or register to view links (Ботов будет банить, как пирожки печь).
    --- добавлено: 11 янв 2015 в 23:03 ---
     
    • Like Like x 3
    Метки:
  2. EEjester

    EEjester hack_the_god

    Регистрация:
    25 окт 2012
    Сообщения:
    1.339
    Симпатии:
    957
    Источник: Please login or register to view links
     
    • Like Like x 1

Поделиться этой страницей

Загрузка...