Пользователь
0,0
рейтинг
18 февраля 2010 в 12:12

Администрирование → Блокируем китайцев

Ниже пойдет текст достойный пера К.О.

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

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

Примеров реализации есть несколько (ngx_http_geo_module, ngx_http_geoip_module или обычным deny), наиболее эффективный с помощью ngx_http_geo_module и базы wipmania (http://www.wipmania.com/ru/base/)

Облегчение на одном из серверов.
image


http {
...
geo $geo {
include geoip.conf;
default XX;
}

}

server {

if ($geo = CN)
{
return 403;
}

...
}


Если нужно закрыться ото всех, оставив несколько стран, то поможет такая реализация

server {
...
#дефолтовый флаг
set $a 0;

if ($geo = RU)
{
set $a 1;
}

if ($geo = UA)
{
set $a 1;
}

#неизвестные ipшки пусть ходят
if ($geo = XX)
{
set $a 1;
}

if ($a = 0)
{
return 403;
}
...
}


UPD! В этом случае правильнее выдавать 444, спасибо rolltin
@alfa
карма
87,7
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Администрирование

Комментарии (58)

  • 0
    До кучи правда зарулил на localhost китайские ipшки через view бинда.
  • +20
    «Две вещи не люблю, расизм и негров» (с)
    • +2
      Зато я к сожалению могу легко написать пособие:

      «Как подставить на бабки размещающих оборудование в Ростелекоме и в РТКомме, для чайников».
      • +2
        просим в студию!
        )
        • +1
          Только после того, как я не буду присутствовать на площадке в рткомме :)
  • +7
    Как вариант — вместо 403 использовать 444. В таком случае nginx просто закроет соединение.
    Невежливо, конечно, но зато неплохо экономит трафик :-)
    • 0
      Вы совершенно правы, я совсем забыл про 444, хоть 403 и идеологически правильнее, но я сомневаюсь, что это изменит поведение хотлинкеров, поэтому правильнее будет 444 в данном случае. Совсем правильно на фаерволе закрыть, но возможность есть не всегда.
      • –2
        Может всетаки 404 Page not found? Что такое 444?
        • +5
          Я как и 4% умнейших администраторов интернета :) использую nginx.

          В случае если выдавать 403, 404 и т.п. коды, то 106 или сколько там байт будет передано веб-сервером клиенту, в случае если выдавать нестандартный код 444 в nginx, то nginx просто закрывает соединения не передавая ничего. Когда в секунду десятки и сотни запросов так удобнее и лучше делать, чем показывать никому не нужную красивооформленную для людей 403 внутри img src
          • 0
            Большое спасибо за разяснение.
  • +14
    И всё же блокировать трафик по географическому признаку — это как-то неправильно.
    Вряд ли вам нравится, когда вы обнаруживаете, что тот или иной сервис заблокирован для России.
    Я бы лучше поискал более адекватного хостера или CDN.
    А если вы деньги на этом зарабатываете, то выберите способ монетизации на китайцах :)
    • +5
      Нужно понимать, что некоторые проекты бывают более-менее четко географически привязаны. Ну и касательно хостера :) я сам хостер и я не против 70Мбит исходящего, но я против 45% в нем китайского нецелевого.
      • +7
        Так адаптируйтесь — сделайте его целевым! :)
        Ведь если вы сядете и подумаете, как на этом заработать, в выигрыше останетесь и вы, и китайцы.
        А так получается, что к вам текут посетители, а вы от них носом крутите — дескать «не наша ЦА».
        Я не спорю, иногда экономически выгоднее их заблокировать, но для этого надо сначала хотя бы рассмотреть несколько альтернативных вариантов.
        Ведь если то, что вы опубликовали, так понравилось китайцам — значит географическая привязанность не столь очевидна (как минимум в данном конкретном случае).
        • +3
          То, что и им и нам нравится одни и те-же картинки лишний раз подтверждает, что все мы произошли от одной и той-же обезьяны.

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

          А варианты написать на картинках «пришлите мне юань и получишь доступ» не будет востребовано :)
          • +1
            Вам виднее — я специфики вашего бизнеса не знаю.
            Я просто исходил из того, что если трафик «живой» (а не DDoS, например), то можно попробовать извлечь пользу из ситуации.
          • +4
            Закройте хотлинкинг проверкой: если идет хотлинк и от китайца, то редирект на какую-нибудь страницу, где висит та самая картинка, которую он так хочет посмотреть.
            А попутно еще 10 баннеров — вот отличное экономическое решение проблемы.

            Можно еще хитрее сделать — маленькие картинки отдавать напрямую (все они большой трафик не создадут), а большие отдавать с рекламой.

            Люди платят деньги за раскрутку по блогам — вам она дается на халяву. Используйте ее!
            • +1
              Закройте хотлинкинг проверкой: если идет хотлинк и от китайца, то редирект на какую-нибудь страницу, где висит та самая картинка, которую он так хочет посмотреть.


              Глупость какая, вы серьезно считаете, что что-либо в img src= отличное от обычных image-type покажется в браузере китайца? Какой смысл в img src выставлять что-угодно кроме картинки с Лениным или просто блокировать соединение? Никто не будет смотреть исходный код и переходить потом по доменному имени или по url картинки напрямую.
              • +3
                Представляю лица китайцев, если им показывать Ленина с фигой :)
                • 0
                  Самое главное, чтобы не Ху Цзиньтао =)
                  • +7
                    Кстати, тоже решение — напишите у себя там, что Ху мудак и свободу Тибету — они сами вас быстренько заблокируют :)
              • 0
                Кажется, хозяева picamatic.ru как-то рассказывали на хабре, что они зарабатывают как раз на китайском трафике. Для России — это просто бесплатный сервис, без рекламы и прочего. А вот для китайцев показывается реклама, и на этом они делают приличные деньги.
              • 0
                Заблочить, как вариант, конечно

                Но, вариант с монетизацией, попробовать было бы интересно. Очень бы порадовал топик с «опытами» на эту тему.
                Выдавать уменьшенное изображение с надписью «Полное изображение на xxxxx.cn»… Какой-то % не полениться набрать руками в браузере урл, открыть, получить полное изображение и конечно же порцию рекламы (контекст, партнерки, банеры что угодно… пробовать эффект).
                • 0
                  ну уж лучше тогда просто выдавать картинку, но с присоединенной рекламой. по-моему очень кошерно) — китайцы афигеют от такого =)
          • 0
            Показывайте китайскую рекламу :)
    • 0
      Youtube блокирует постоянно :( Какое-нибудь видео на хабре, пытаешься посмотреть, а тебе: «Недоступно для вашей страны».
  • –2
    У iptables geoip есть, работает намного шустрее
    А на счет китайского трафика — верно, набигают и грабят сайты
    Это не люди а боты которые воруют контент, потому и трафф такой
    • 0
      Да нет, это люди, я же на те блоги заходил по реферерам, смотрел.
    • –1
      Намного шустрее вышестоящего провайдера попросить не пускать :)

      iptables помогает и будет разумеется быстрее\выше\сильнее, но не всегда можно iptables использовать.
    • +1
      Странно, когда мы пробовали ограничивать по iptables система нагибалась еще сильнее чем через nginx.
      • +1
        Так и есть.
        geoip в iptables неэффективен в плане утилизации ресурсов.
        Особенно на таких нагрузках.
  • 0
    «Что китайцу хорошо — русскому смерть.» (с)
    Как-то так.
  • +4
    не отдавайте картинки, если их запрашивают не с ваших страниц, вот и всё…
    • 0
      Если делать проверку на реферера, то попадают пользователи проксей, некоторых антивирусов и т.п.
      • 0
        но всё равно это как-то гуманнее, чем отрезать всех китайцев… (меньше людей пострадает)
      • +1
        попадают пользователи проксей, некоторых антивирусов и т.п.
        на этот случай у nginx есть параметр blocked:
        blocked — строка «Referer» в заголовке запроса присутствует, но её значение удалено файрволлом или прокси-сервером; к таким строкам относятся строки, неначинающиеся на «http://»;
        http://sysoev.ru/nginx/docs/http/ngx_http_referer_module.html#directives
      • +2
        Одно дело — когда в реферера нет и совсем другое — когда там другой домен. Я лично хотлинкинг защищаю именно по принципу наличия домена и домена отличного от моего. Если реферера нет, спокойно отдаю контент, таковых не очень много и серьёзной нагрузки они не создают.
        • 0
          * запрещаю
  • +16
    а можно линк на ню фотосет столь понравившийся китайцам? ;)
    • –2
      Вы путаете сайты, вам на тот, что начинается на l а заканчивается на um.ru, на мордочке его они кстати они иногда бывали, да :)
      • 0
        Это на который ещё инвайт нужно суметь достать? :)
      • +7
        На loremipsum.ru какая-то пустышка. Фотосет давай!
  • +26
    Только китаец прорвался через великий китайский файрволл, как его по geoip банят :)
  • –29
    Оффтопик! Паника!
    TORRENTS.RU разделегирован.
    kartz.ru/2010/02/18/torrents-ru-not-delegated/
    (Извиняюсь, для создания топик-ссылки не хватает кармы.)
  • 0
    А как же Coral CDN?
  • +6
    Ох, ужасный гимор, живя тут, в Китае, каждый раз переподключаться к разным VPN-ам, из-за таких вот «экономных» админов. И я здесь, как бы, далеко не единственный русский.
    • –1
      Я выше уже писал, что мне не жалко отдавать трафик, мне не жалко головок жесткого диска :), мне жалко 30-40Мбит которые невозможно ни монетизировать, ни как-то принести себе в пользу. Да даже не в отсутствие альтруизма дело, просто платить за него не хватит никакого моего кармана.

      Сейчас я за свои десятки и сотни мегабит ничего не плачу, магистральщик радуется размещая такой ресурс, просто они с большого количества зарубежного огорчаются, вы же понимаете, что «неограниченный трафик» термин используемый только говнохостерами, остальные вынуждены учитывать кое-какие соотношения или входящего\исходящего или российского\зарубежного.
      • +1
        Так и я просто бурчу. Мне тоже не жалко сделать два клика для подключения к vpn. :) Peace!
        Все к тому, что блокировать 1/4 человечества… странное ощущение.
    • +1
      каждый раз переподключаться к разным VPN-ам

      Прикупите себе дешевый российский vds за 150 рублей в месяц и настройте на нем vpn. Я так и сделал.
  • –1
    Простите за офтопик. У меня есть вопрос к собравшимся здесь сисадминам.

    Что-то случилось в последние несколько часов с графиком загрузки процессора на одном VDS. Сайт работает нормально, беспокоит толко график.
    • 0
      А это его в ответ заблокировали китайцы:)
      • 0
        Это мой вопрос и мой VDS.
  • 0
    интересно, а как китайцы свои собственные сервера держат? )))
  • 0
    А вот вам как отгородить от китайцев свои сервисы, на примере sshd, также с использованием geoip
    • 0
      как уже сказали выше — у iptables есть модуль geo. Я защищаюсь от брутфорса при помощи snort'а
      • 0
        Видимо вы не совсем поняли меня, тут не идет речь о защите от брута, тут тотальное отрубление стран, а для защиты от брута имеется sshguard.
        PS: iptables далеко не всегда необходим, я бы даже сказал бы что огромное число людей его ставит из-за тупорылой паранои, когда и без него никто не поимеет к вам доступа.
        • 0
          iptables далеко не всегда необходим, я бы даже сказал бы что огромное число людей его ставит из-за тупорылой паранои


          В этом деле лучше всегда переспать, чем недоесть.
  • 0
    Вредный парсер, скушас ссылочку guruway.wordpress.com/2010/02/18/pam-pam_geoip
  • 0
    В xtables расширении для iptables есть модуль libxt_geoip.
    Через пару дней на wipmania.com выходит новая версия WorldIP базы и мы планируем добавить формат для этого модуля
    А вообще китайцы активны в завоевывании IP диапазонов

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