_| | |
__| __ | __| _ _ | __|
__ | | __|_____| | ( | ( | |__
____/ .__/ _| __|___/ ___/ _|____/
_|
Простые инструменты для поддержания активизации SPF TXT Records, чтобы бороться с 10 максимальными поисками DNS.
Доменное имя spf-tools.eu.org используется для тестирования сейчас.
SPF-Tools, поскольку версия SPF-Tools/SPF-tools@F4F51F7 не выводит только записи ip4
и ip6
, но также сохраняют оригинальные ptr
и exists
.
Ваша оригинальная запись TXT, которая вызывает более 10 поисков DNS, должна быть сохранена в качестве неиспользованной записи TXT поддомена (например, spf-orig.spf-tools.eu.org
).
Создайте файл конфигурации:
cat > ~/.spf-toolsrc <<EOF
DOMAIN=spf-tools.eu.org
ORIG_SPF=spf-orig.spf-tools.eu.org
DESPF_SKIP_DOMAINS=_spf.domain1.com:spf.domain2.org
DNS_TIMEOUT=5
DNS_SERVER=
EOF
Теперь просто вызовите любой из сценариев, описанных ниже.
Usage: despf.sh [OPTION]... [DOMAIN]...
Decompose SPF records of a DOMAIN. Optionaly can
sort and unique them.
DOMAIN may be specified in an environment variable.
Available options:
-s DOMAIN[:DOMAIN...] skip domains, i.e. leave include
without decomposition
-t N set DNS timeout to N seconds
-h display this help and exit
despf.sh
- это инструмент, который разрешает все блоки ip4
и ip6
, найденные в любом включенном субдомене SPF. Он печатает все эти блоки, sort(1)
Эд и uniq(1)
Ed To STDOUT, по одному на строку. Другой вывод ( Getting ...
) находится на Stderr.
Пример:
./despf.sh google.com
Getting _spf.google.com
Getting _netblocks.google.com
Getting _netblocks2.google.com
Getting _netblocks3.google.com
ip4:173.194.0.0/16
ip4:74.125.0.0/16
...
ip6:2a00:1450:4000::/36
ip6:2c0f:fb50:4000::/36
Переменная переменная конфигурации DNS_TIMEOUT
устанавливает количество секунд для команды host -W SECS
(так же, как опция -t
, см. Справка).
Инструмент mkblocks.sh
предназначен для анализа списка блоков, произведенных Despf.Sh, и подготовить контент TXT Records, которые вписываются в один пакет UDP, разделяя больше записей TXT, если это необходимо.
Одна запись TXT на строку стандартного вывода.
./despf.sh | ./normalize.sh | ./simplify.sh | ./mkblocks.sh
Текущие записи SPF могут быть проверены с помощью compare.sh
. Если записи TXT нуждаются в обновлении, оно автоматически запускает другие инструменты для распечатки или копирования в PasteBuffer Новые записи TXT в обратном порядке.
Лучшая практика - поместить эти линии в DNS, начиная с последнего. Вот почему xsel.sh
реверсирует вход, собранной с mkblocks.sh
.
Последняя запись об обновлении - это запись Root Domain, которая просто содержит включение. Его всегда следует обновляться как последний, а префикс чередован между префиксами spf
и _spf
при изменении записей, поэтому все записи последовательны до тех пор, пока корневая не будет изменена.
Чтобы получить полуавтоматическую задачу обновления записей, подтолкните вывод mkblocks.sh
to xsel.sh
Этот сценарий заботится о правильных диапазонах CIDR. На данный момент только IPv4.
Пример:
$ ./normalize.sh <<EOF
> ip4:207.68.169.173/30
> ip4:207.68.169.175/30
> ip4:65.55.238.129/26
> EOF
ip4:207.68.169.172/30
ip4:207.68.169.172/30
ip4:65.55.238.128/26
Этот скрипт вынимает отдельные адреса IPv4, которые уже содержатся в диапазонах CIDR.
$ ./simplify.sh <<EOF
> ip4:192.168.0.1
> ip4:192.168.0.0/24
> EOF
ip4:192.168.0.0/24
Зависимости: JQ, Awk, SED, Grep
Скрипт для обновления ранее существовавших записей TXT SPF для домена в соответствии с входом в формате зоны DNS с использованием API CloudFlare.
Чтобы использовать этот скрипт, файл .spf-toolsrc
в $HOME
Directory должен содержать определение переменной TOKEN
, которое затем используется для подключения к API CloudFlare. Файл также должен содержать переменные DOMAIN
и ORIG_SPF
, которые соответствуют целевому домену SPF (например, spf-tools.eu.org
) и исходную запись SPF с включением (например, spf-orig.spf-tools.eu.org
) для использования (например, spf-orig.spf-tools.eu.org) runspftools.sh
без изменения сценария.
Сценарий написан против V4 https://api.cloudflare.com/
Единственными необходимыми разрешениями для пользовательского токена API являются:
Использование:
./despf.sh | ./normalize.sh | ./simplify.sh | ./iprange.sh | ./cloudflare.sh
Зависимости: JQ, AWS, AWK, SED, GREP
Usage: route53.sh [OPTION]... [HOSTED_ZONE_ID]
Script to update pre-existing TXT SPF records for
a domain according to the input in DNS zone format.
Available options:
-t TTL set Time To Live for DNS records
-a TXT RECORD set aditional TXT record to domain (can be used multiple times)
Default values:
TTL = 300
Скрипт для обновления ранее существовавших записей TXT SPF для домена в соответствии с входом в формате зоны DNS.
CLI AWS может быть настроен с использованием ~/.aws/credentials
или с использованием переменных среды: AWS_ACCESS_KEY_ID
и AWS_SECRET_ACCESS_KEY
(найдите более подробную информацию при настройке документации CLI AWS.
Пример:
./despf.sh | ./simplify.sh | ./mkblocks.sh |
./route53.sh -a "google-site-verification=deadbeef" DEADBEEF
Дополнительные зависимости: iPrange
Этот скрипт оптимизирует вывод адреса адреса IPv4 (аналогично, но более чем simplify.sh
.
Использование:
./despf.sh | ./iprange.sh
Пример:
$ ./despf.sh cont.spf-tools.eu.org
ip4:13.111.0.0/24
ip4:13.111.1.0/24
ip4:13.111.2.0/24
ip4:13.111.3.0/24
$ ./despf.sh cont.spf-tools.eu.org | ./iprange.sh
ip4:13.111.0.0/22
./despf.sh | ./normalize.sh | ./simplify.sh | ./iprange.sh
| ./mkblocks.sh | ./xsel.sh
Поскольку мы успешно используем бесплатный домен eu.org, мы с гордостью распространяем слово: бесплатные домены: http://www.eu.org/
Copyright 2015-2019 spf-tools team (see AUTHORS)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.