TXT-запись (текстовая запись)

Типы DNS-записей
Запись DNS, содержащая произвольный текст, часто используемый для проверок и политик электронной почты.
← Вернуться к глоссарию

Что такое TXT-запись?

TXT (Text) — тип записи DNS, хранящий произвольные текстовые строки, связанные с доменом. Изначально TXT-записи предназначались для заметок, читаемых человеком, но теперь необходимы для машиночитаемых данных: политик аутентификации почты, проверки владения доменом и настроек отдельных сервисов.

Распространённые применения TXT-записей

Аутентификация почты

SPF (Sender Policy Framework):
example.com.    IN    TXT    "v=spf1 include:_spf.google.com ~all"

Указывает, какие серверы могут отправлять почту от имени домена.

DKIM (DomainKeys Identified Mail):
google._domainkey.example.com.    IN    TXT    "v=DKIM1; k=rsa; p=MIGfMA0..."

Содержит открытый ключ для проверки подписи электронной почты.

DMARC (Domain-based Message Authentication, аутентификация домена и электронной почты):
_dmarc.example.com.    IN    TXT    "v=DMARC1; p=reject; rua=mailto:[email protected]"

Определяет политику аутентификации почты и отчётности.

Проверка домена

Google Search Console:
example.com.    IN    TXT    "google-site-verification=abc123..."
Microsoft 365:
example.com.    IN    TXT    "MS=ms12345678"
Проверка сертификата SSL:
_dnsauth.example.com.    IN    TXT    "validation-token-from-ca"

Другие применения

Проверка домена Facebook:
example.com.    IN    TXT    "facebook-domain-verification=xyz789"
Идентичность Keybase:
_keybase.example.com.    IN    TXT    "keybase-site-verification=..."
Данные пользовательского приложения:
_app.example.com.    IN    TXT    "config=value123"

Формат TXT-записи

Базовый синтаксис

name    IN    TXT    "text content here"

Несколько TXT-записей

У домена может быть несколько TXT-записей:

example.com.    IN    TXT    "v=spf1 include:_spf.google.com ~all"

example.com. IN TXT "google-site-verification=abc123"

example.com. IN TXT "facebook-domain-verification=xyz789"

Длинные TXT-записи

Строка TXT ограничена 255 символами, но несколько строк можно объединить:

selector._domainkey.example.com.    IN    TXT    (

"v=DKIM1; k=rsa; "

"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..."

"...long key continues..."

)

DNS-клиенты автоматически объединяют эти строки.

Проверка TXT-записей

С помощью dig:
dig example.com TXT

; ANSWER SECTION:

example.com. 300 IN TXT "v=spf1 include:_spf.google.com ~all"

Проверка TXT конкретного поддомена:
dig _dmarc.example.com TXT

dig selector._domainkey.example.com TXT

С помощью DomScan:
curl "https://domscan.net/v1/health?domain=example.com"

# Returns hasTXT and email authentication status

Лучшие практики для TXT-записей

Для аутентификации почты

1. Всегда настраивайте SPF, DKIM и DMARC вместе

2. Используйте одну SPF-запись: несколько SPF-записей вызывают проблемы

3. Ограничивайте число SPF-запросов десятью: превышение лимита приводит к сбоям

4. Тестируйте до внедрения: используйте онлайн-проверки

Для проверки домена

1. Не удаляйте проверочные TXT-записи: сервисы могут повторно запрашивать проверку

2. Документируйте назначение каждой TXT-записи: записи могут накапливаться

3. Удаляйте неиспользуемые записи: очищайте записи отключённых сервисов

Для пользовательских приложений

1. Используйте префиксы с подчёркиванием (_app.example.com), чтобы избежать конфликтов

2. Документируйте формат: со временем его легко забыть

3. Учитывайте TTL: для часто меняющихся настроек используйте меньшие TTL

Вопросы безопасности

Раскрытие информации

TXT-записи общедоступны. Не храните в них секретные данные:

# Bad - exposes internal info

example.com. TXT "internal-api-key=secret123"

Уязвимости SPF

Слишком разрешающие SPF-записи могут позволить подделывать почту:

# Bad - allows anyone to send

example.com. TXT "v=spf1 +all"

# Good - restrictive

example.com. TXT "v=spf1 include:_spf.google.com -all"

Устранение проблем с TXT-записями

Несколько SPF-записей: допустима только одна SPF-запись на домен. Объедините политики в одну запись. Обрезанные записи: если TXT-запись выглядит неполной, проверьте кавычки и объединение строк. Задержки распространения: изменения TXT распространяются с учётом TTL. Перед изменением записей проверки уменьшите TTL.

TXT-записи — универсальный инструмент DNS, но при расширении их применения ими нужно управлять особенно внимательно.

Применяйте эти знания на практике

Используйте API DomScan для проверки доступности доменов, их состояния и многого другого.