Задать вопрос
  • Как сделать инфраструктуру виртуальной?

    Sanes
    @Sanes
    Попробуйте сначала ваш новый RAID настроить. Может этого будет достаточно.
    Ответ написан
    3 комментария
  • Почему cron не выполняет скрипт?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Потому что #!/bin/bash в шабанге писать нужно, раз уж это bash, а не pure sh.
    Ответ написан
    2 комментария
  • Как через iptables в Debian ограничить доступ к mysql?

    # iptables -A INPUT -s первый_ip/32 -p tcp -m tcp --dport 3306 -j ACCEPT
    # iptables -A INPUT -s второй_ip/32 -p tcp -m tcp --dport 3306 -j ACCEPT
    # iptables -A INPUT -p tcp -m tcp --dport 3306 -j DROP
    Ответ написан
    Комментировать
  • Как настроить Nginx в качестве прокси?

    @xtreme
    Снимаю порчу по SSH :)
    server {
      listen 80;
      server_name xxx.com;
      root /var/www/yyy.com/web;
      location /adb/ {
        resolver 127.0.0.1;
        rewrite ^/adb/(.*)$ /$1 break;
        proxy_pass http://yyy.com;
        proxy_redirect default; #???
        proxy_set_header Host yyy.com;
      }
    }


    Не поленитесь поставить named на локалхост. В CentOS, например, достаточно запустить дефолтную конфигурацию (yum install bind && chkconfig named on && service named start). Так будет проще и быстрее резолвить, чем каждый раз стучаться в гуглоднс.
    Далее - если не сделать rewrite с break, убрав ваш локейшн, то запрос на xxx.com/adb/ уйдет не на yyy.com, а на yyy.com/adb/. И если там такого урла нет - получим 404 или что-нибудь еще хуже.
    Далее - если собрались проксировать трафик на yandex.ru, то при проксировании подставляйте заголовок "Host yandex.ru". Если оставить, как есть "Host $host", то получится, что на yandex.ru придет ваш запрос, который ищет xxx.com на хосте с yandex.ru, как следствие - 404.
    Далее - nginx.org/ru/docs/http/ngx_http_proxy_module.html#... - стоит разобраться с proxy_redirect. Для разных узлов возможны разные значения. Обычно хватает default, но вполне может понадобиться и off или другие параметры.

    Чтобы заблокировать xxx.com/adb/logo.png при проксировании:

    location ~ ^/adb/logo\.png$ {
      empty_gif;
    }


    В location можно также и так:
    location = /adb/logo.png {
    Либо вместо empty_gif если надо отдавать свою картинку - тогда можно, например, сделать rewrite в нужный урл и отдавать картинку от себя.

    P.S. Можно также сделать пару локейшнов для статических элементов, чтобы обрабатывать их отдельно и класть в локальный кеш - сокращается трафик и ускоряется доступ.
    Ответ написан
  • Кем лучше банить?

    IlyaEvseev
    @IlyaEvseev
    Opensource geek
    1) И обнаруживать, и банить можно и нужно на нескольких уровнях.
    Грубые атаки обнаруживать командой ss (не netsat!).
    Безусловную блокировку делать через ipset (не iptables!).
    Через nginx обнаруживать хитрые атаки, блокировать подозрительные.

    2) В качестве отправной точки ищите в Гугле "site:habrahabr.ru nginx ipset".
    Особо рекомендую habrahabr.ru/post/139931

    3) Не пытайтесь сразу построить идеальную защиту.
    Начните с простейшей и постепенно совершенствуйте.

    4) Если вы не крутой спец по антиддосу, абсолютная защищенность недостижима. Можно только повысить порог пробития.
    Ответ написан
    1 комментарий