NGINX и американские санкции

И знаешь, Геральт, порой бывает так, что Очень Большое Зло схватит тебя за горло и скажет: «Выбирай, братец, либо я, либо то, которое чуточку поменьше...»

А.Сапковский, "Меньшее зло"

Контора, где я работаю, является американской. Соответственно, несмотря на то, что вся разработка нашей системы производится в Эстонии, крутится эта система на американских серверах и продаётся от имени нашего головного офиса, расположенного в Нью-Йорке. Поэтому соблюдение законодательства США является для нас весьма важным требованием.

И в один прекрасный день из юридического отдела "прилетела" очередная задача в рамках соблюдения этого самого законодательства, а именно: заблокировать доступ к нашему сервису из ряда стран, с которыми не дружит США. Куда, естественно, также относится и Крым, который всё никак не могут поделить. И приписка, что, мол, если не получится заблокировать точечно Крым, то можно блокировать всю Украину - клиентов у нас там всё равно нет.

Я поизучал вопрос и ответил следующее. Во-первых, хоть у нас и нет клиентов с Украины, а у наших клиентов, судя по логам, есть, и их это затронет. А во-вторых, если вам нужно стопроцентно и гарантированно заблокировать Крым, то блокировать придётся и Украину, и Россию - в противном случае всегда останется некий процент (до 7%) крымских айпишников, которые фильтр не отловит. Вам как надо: чтобы закон соблюдался или чтоб работало?

Наверху посовещались и решили, что погрешность в 7% их устроит. Тогда я взял страничку с геокодами Украины (по ISO Крым украинский и не волнует) и выписал коды собственно Крыма, а также находящегося на полуострове Севастополя. Вместе с прочими запретными регионами получилась следующая конфигурация в NGINX:

    geoip_country /GeoIP.dat;
    geoip_city /GeoLiteCity.dat;
    geoip_proxy ;
    map "$geoip_country_code:$geoip_region" $embargoed_region {
      default no;
      "UA:43" yes; # Crimea region
      "UA:40" yes; # Sebastopol City, part of Crimea
      "~^CU:.*$" yes; # Cuba
      "~^IR:.*$" yes; # Iran
      "~^SD:.*$" yes; # Sudan
      "~^SY:.*$" yes; # Syria
      "~^KP:.*$" yes; # North Korea
      "~^VE:.*$" yes; # Venezuela
    }

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

  if ($embargoed_region = yes) {
    return 451;
  }

Чувствовал себя при этом премерзко. Вероятно, что-то подобное чувствует солдат, которому приказано стрелять в мирное население. И дело тут не только в Крыме.

Комментарии

Изображение ksch

I'm so sorry :(
Нашу семью эта новая холодная война затронула уже не раз, начиная с закрытия консультва РФ в Сан Франциско в 2017 году, а потом и консультсва в Сиэттле. Теперь за паспортами придется ехать в Хьюстон через 4 года, если и там не закроют к тому времени :( А визу в США в России получить практически невозможно, если не ловить запись на собеседование круглыми сутками, как я и делала для своей мамы в этом году. А так как визу ей дали всего на год, в следующем году придется все делать по-новой :(

Изображение myx

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

Изображение ksch

Ну мы стараемся смотреть на все с позитивной точки зрения - зато посмотрели Сиэттл, потом Техас посмотрим ;) А вообще плохо, да :(

Маму мою жалко больше всего - ей в этот раз вообще пришлось лететь в Ебург, потому что в Москве записаться так и не получилось за 2! месяца. Что будет в след. году - пока неизвестно.

*сарказ мод он* вот из-за этого пол-СНГ не может читать некий хейтерский форму без реги под кофеек *саказм мод офф*

По-моему это противозаконно. Деньги клиентам за платную версию ведь никто возвращать не собирается? Мир и так разделен, а это только подливает масла в огонь.

Изображение myx

Насчёт денег не знаю, там со всеми клиентами индивидуальные контракты, думаю, договорятся. А вот то, что Интернет постепенно превращается в набор изолированных песочниц, меня сильно расстраивает.

P.S. А что за хейтерский форум? Я, видимо, не в теме.

Да уж все там починили. :)

Эх, не для того кабели тянули через океан, чтобы потом огораживаться. :(

Изображение madmit

Странно, а разве оптику по знаменитом мосту не кинули до сих пор?

Изображение myx

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