_| | |
__| __ | __| _ _ | __|
__ | | __|_____| | ( | ( | |__
____/ .__/ _| __|___/ ___/ _|____/
_|
Alat sederhana untuk menjaga catatan SPF TXT tetap rapi untuk melawan 10 pencarian DNS maksimum.
Nama Domain SPF-Tools.eu.org digunakan untuk pengujian sekarang.
SPF-Tools Karena versi SPF-Tools/SPF-Tools@f4f51f7 tidak menghasilkan hanya catatan ip4
dan ip6
, tetapi juga menyimpan ptr
asli dan ada yang exists
.
Catatan txt asli Anda yang menyebabkan lebih dari 10 pencarian DNS harus disimpan sebagai catatan txt subdomain yang tidak digunakan (misalnya spf-orig.spf-tools.eu.org
).
Buat file konfigurasi:
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
Sekarang hubungi saja salah satu skrip yang dijelaskan di bawah ini.
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
adalah alat yang menyelesaikan semua blok ip4
dan ip6
yang ditemukan di subdomain SPF yang disertakan. Ini mencetak semua blok ini sort(1)
ed dan uniq(1)
ed ke stdout, satu per baris. Output lain ( Getting ...
) ada di Stderr.
Contoh:
./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
Variabel konfigurasi DNS_TIMEOUT
menetapkan jumlah detik untuk perintah host -W SECS
(sama dengan opsi -t
, lihat bantuan).
mkblocks.sh
Tool dimaksudkan untuk mengurai daftar blok yang diproduksi oleh despf.sh dan menyiapkan konten catatan txt yang semuanya cocok menjadi satu paket UDP, membagi menjadi lebih banyak catatan txt jika diperlukan.
Satu catatan txt per baris output standar.
./despf.sh | ./normalize.sh | ./simplify.sh | ./mkblocks.sh
Catatan SPF saat ini dapat diverifikasi dengan menjalankan compare.sh
. Jika catatan TXT memerlukan pembaruan, itu akan secara otomatis menjalankan alat lain untuk mencetak atau menyalin ke Pastebuffer catatan TXT baru dalam urutan terbalik.
Praktik terbaik adalah memasukkan garis -garis itu ke DNS dimulai dengan yang terakhir. Itu sebabnya xsel.sh
membalikkan input yang dikumpulkan dari mkblocks.sh
.
Catatan terakhir yang diperbarui adalah catatan domain root yang hanya berisi termasuk. Itu harus selalu diperbarui sebagai yang terakhir dan awalan bergantian antara awalan spf
dan _spf
saat mengubah catatan, sehingga semua catatan konsisten sampai root yang diubah.
Untuk semi-otomatis tugas memperbarui catatan, pipa output mkblocks.sh
ke xsel.sh
Skrip ini menangani rentang CIDR yang benar. Saat ini hanya IPv4.
Contoh:
$ ./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
Script ini mengeluarkan alamat IPv4 individual yang sudah terkandung dalam rentang CIDR.
$ ./simplify.sh <<EOF
> ip4:192.168.0.1
> ip4:192.168.0.0/24
> EOF
ip4:192.168.0.0/24
Ketergantungan: JQ, AWK, SED, GREP
Skrip untuk memperbarui catatan SPF TXT yang sudah ada sebelumnya untuk domain sesuai dengan input dalam format zona DNS menggunakan API CloudFlare.
Untuk menggunakan skrip ini, file .spf-toolsrc
di $HOME
direktori harus berisi definisi variabel TOKEN
yang kemudian digunakan untuk terhubung ke cloudflare API. File ini juga harus berisi variabel DOMAIN
dan ORIG_SPF
yang berdiri untuk domain SPF target (misalnya spf-tools.eu.org
) dan catatan SPF asli dengan termasuk (misalnya spf-orig.spf-tools.eu.org
) untuk digunakan runspftools.sh
tanpa memodifikasi skrip.
Script ditulis terhadap V4 dari https://api.cloudflare.com/
Satu -satunya izin yang diperlukan untuk token API khusus adalah:
Penggunaan:
./despf.sh | ./normalize.sh | ./simplify.sh | ./iprange.sh | ./cloudflare.sh
Ketergantungan: 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
Skrip untuk memperbarui catatan SPF TXT yang sudah ada sebelumnya untuk domain sesuai dengan input dalam format zona DNS.
AWS CLI dapat dikonfigurasi menggunakan ~/.aws/credentials
atau menggunakan variabel lingkungan: AWS_ACCESS_KEY_ID
dan AWS_SECRET_ACCESS_KEY
(temukan lebih banyak detail dalam mengkonfigurasi dokumentasi AWS CLI.
Contoh:
./despf.sh | ./simplify.sh | ./mkblocks.sh |
./route53.sh -a "google-site-verification=deadbeef" DEADBEEF
Ketergantungan Ekstra: iPrange
Script ini mengoptimalkan output blok alamat IPv4 (mirip dengan, tetapi lebih dari simplify.sh
karena dapat bergabung dengan beberapa jaringan menjadi satu lebih besar).
Penggunaan:
./despf.sh | ./iprange.sh
Contoh:
$ ./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
Karena kami berhasil menggunakan domain eu.org gratis, kami bangga menyebarkan kata: domain gratis: 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.