Имена, которые нужно зарезервировать (ldpreload.com)
Некоторые сервисы используют имя пользователя в качестве поддомена (username.example.com
), почтового адреса (username@example.com
) или части URL (example.com/username
). Джеффри Томас составил список имен, которые в этом случае надо зарезервировать.
- Даже если подобного использования имен пока нет, лучше ограничить имена буквами нижнего регистра, цифрами и дефисами (при этом первым символом должна быть буква, а последним — не дефис). Регулярка:
/^[a-z]([a-z0-9-]*[a-z0-9])?$/
. Так можно будет в будущем дать пользователям собственный поддомен или почту. - Главный источник проблемы с поддоменами — неопределенный DNS-запрос (unqualified lookup) с сервера на другом поддомене. Если компьютер
a.example.com
ищетb
, DNS-сервер вернет ему адресb.example.com
. Поэтому следует зарезервировать localhost, localdomain и broadcasthost, хоть они обычно и прописаны в/etc/hosts
. - Различные приложения могут использовать поддомены: www, wpad, isatap, autoconfig, imap, pop, pop3, smtp, mail.
- И
a.example.com
, иb.example.com
могут прописывать куки дляexample.com
. Это позволяет злоумышленнику, который владеет поддоменом, подсунуть пользователю собственную сессию. Чтобы избежать этого, нужно добавить домен в список публичных суффиксов. Разработчики браузеров запрещают устанавливать куки для доменов из этого списка. Даже самexample.com
, если он является публичным суффиксом, не может прописывать куки для себя. Поэтому, например, GitHub и Heroku используют для пользовательских доменов не основные сайты, аgithub.io
иherokuapp.com
. - Центры сертификации проверяют право управлять доменом с помощью письма на один из адресов: admin, administrator, webmaster, hostmaster или postmaster. Адреса root, info, ssladmin, ssladministrator, sslwebmaster, sysadmin, is, it и mis безопаснее будет тоже зарезервировать, хотя сейчас ими пользоваться не должны.
- RFC 2142 резервирует почтовые адреса info, marketing, sales, support, abuse, noc, security, postmaster, hostmaster, usenet, news, webmaster, www, uucp и ftp. Для автоматической рассылки используются адреса mailer-daemon, nobody, noreply, no-reply и так далее.
- Если имена пользователей используются в виде URL верхнего уровня (
example.com/username
), то нужно запретить: robots.txt, favicon.ico, crossadmin.xml, clientaccesspolicy.xml, .well-known. Все эти имена содержат точку, поэтому проще всего просто запретить имена, которые бы не могли быть поддоменами. Заодно это поможет, если потом захочется выделить каждому пользователю поддомен.
Этот же список запрещенных имен, расширенный именами, которые могут использоваться для социальной инженерии.
Питоновская библиотека со списком запрещенных имен, в который добавлены английские ругательства.
Поделиться ссылкой:
ВКонтакте
Твиттер
Фейсбук
29 ноября 2015 14:09