Администраторы ресурсов, использующих имена хостов с символом подчёркивания, столкнулись (https://github.com/systemd/systemd/issues/6426) с проблемами, проявляющимися в новых выпусках systemd и Apache httpd, и вызванными неоднозначной трактовкой требований к именам в DNS.
В соответствии с RFC 1123 (https://tools.ietf.org/html/rfc1123) в DNS запрещено использовать символ подчёркивания в именах хостов, но разрешено (http://domainkeys.sourceforge.net/underscore.html) в именах меток. Т.е. в записях типа "A" и "MX", а также в содержимом полей "SOA" и "NS", символы подчёркивания недопускаются, но, в соответствии с RFC-2782 (http://ietf.org/rfc/rfc2782.txt), разрешены во вспомогательных полях, подобных "TXT" и "SRV", что активно используется, например, в системе DomainKeys. Обычно клиентское и серверное ПО достаточно лояльно относится к символу "_" в именах хостов, не требуя жесткого следования RFC, поэтому в обиходе часто встречаются поддомены с символом подчёркивания, например, в популярном на западе сервисе доставки видео Netflix используются имена подобные "ipv6_1-cxl0-c088.1.lhr004.ix.nflxvideo.net", а проект Fedora использует хост "_443._tcp.fedoraproject.org".
Проблемы всплыли после формировния новых выпусков systemd и Apache httpd. В systemd 234 была добавлена экспериментальная поддержка использования библиотеки libidn2 (https://gitlab.com/libidn/libidn2) вместо libidn для обработки доменных имён с символами национальных алфавитов. При сборке c libidn2 в systemd-resolver применялся предлагаемый в libidn2 фильтр имён хостов, который просто вырезал (https://gitlab.com/libidn/libidn2/issues/30) символ "_", что привело к проблемам с использованием сервиса Netflix на клиентских систмах с systemd-resolver. Проблема уже решена (https://gitlab.com/libidn/libidn2/commit/05d753ea69e2308cd02...) в libidn2 и войдёт (https://gitlab.com/libidn/libidn2/tags) в состав следующего обновления. Для systemd также выпущен (https://github.com/keszybz/systemd/commit/0926f34) патч, обходящий проблему при использовании старых версий libidn2.
Администраторы серверных систем столкнулись (https://ma.ttias.be/apache-httpd-2-2-15-60-underscores-hostn...) с похожей проблемой при переходе на Apache 2.4.25 или установке в RHEL/CentOS обновления httpd-2.2.15-60 (https://rhn.redhat.com/errata/RHSA-2017-1721.html). В рамках устранения уязвимости
CVE-2016-8743 (https://security-tracker.debian.org/tracker/CVE-2016-8743) код разбора HTTP-заголовков был приведён в строгое соответствие с RFC-7230 (http://ietf.org/rfc/rfc7230.txt). В случае наличия некорректного заголовка, оформление параметров которого не соответстует требованиям стандарта, теперь выдаётся ошибка 500
"Bad Request". В основном исправление было нацелено на блокирование использования закодированных символов пробелов к именах, но за одним было запрещено и применение других недопустимых символов, в том числе подчёркивания. Таким образом после установки обновления, перестали обрабатываться запросы к хостам, в именах которых присутствует символ "_". Для обхода проблемы можно использовать настройку "HttpProtocolOptions Unsafe".
URL: https://www.theregister.co.uk/2017/07/24/underscore_domain_n.../
Новость: http://www.opennet.ru/opennews/art.shtml?num=46905