_| | |
__| __ | __| _ _ | __|
__ | | __|_____| | ( | ( | |__
____/ .__/ _| __|___/ ___/ _|____/
_|
เครื่องมือง่ายๆสำหรับการเก็บบันทึก SPF TXT เป็นระเบียบเพื่อต่อสู้กับการค้นหา DNS สูงสุด 10 ครั้ง
ชื่อโดเมน spf-tools.eu.org ใช้สำหรับการทดสอบตอนนี้
SPF-Tools ตั้งแต่เวอร์ชัน SPF-Tools/SPF-Tools@F4F51F7 ไม่ได้ส่งออกเพียงบันทึก ip4
และ ip6
แต่ยังเก็บ ptr
ดั้งเดิมและ exists
บันทึก TXT ดั้งเดิมของคุณซึ่งเป็นสาเหตุของการค้นหา DNS มากกว่า 10 รายการควรบันทึกเป็นบันทึก 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)
ED และ uniq(1)
ED ไปยัง 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 ที่ทั้งหมดเข้ากับแพ็กเก็ต UDP หนึ่งแพ็คเก็ตโดยแยกออกเป็นบันทึก TXT มากขึ้นหากจำเป็น
หนึ่งระเบียน TXT ต่อบรรทัดของเอาต์พุตมาตรฐาน
./despf.sh | ./normalize.sh | ./simplify.sh | ./mkblocks.sh
บันทึก SPF ปัจจุบันสามารถตรวจสอบได้โดยเรียกใช้ compare.sh
หากบันทึก TXT ต้องการการอัปเดตจะเรียกใช้เครื่องมืออื่น ๆ โดยอัตโนมัติเพื่อพิมพ์หรือคัดลอกลงใน Pastebuffer บันทึก TXT ใหม่ตามลำดับย้อนกลับ
แนวปฏิบัติที่ดีที่สุดคือการนำสายเหล่านั้นเข้าสู่ DNS เริ่มต้นด้วยสายสุดท้าย นั่นเป็นเหตุผลที่ xsel.sh
กลับอินพุตที่รวบรวมจาก mkblocks.sh
ระเบียนสุดท้ายที่จะอัปเดตคือบันทึกของรูทโดเมนซึ่งมีรวมถึง ควรได้รับการอัปเดตเสมอเป็นอันสุดท้ายและคำนำหน้าสลับกันระหว่างคำนำหน้า spf
และ _spf
เมื่อเปลี่ยนระเบียนดังนั้นระเบียนทั้งหมดจะสอดคล้องกันจนกว่ารูทจะเปลี่ยน
ในการกึ่งอัตโนมัติภารกิจในการอัปเดตบันทึกให้ส่งเอาต์พุตของ mkblocks.sh
เป็น 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
ซึ่งใช้เพื่อเชื่อมต่อกับ CloudFlare API ไฟล์ควรมีตัวแปร DOMAIN
และ ORIG_SPF
ซึ่งหมายถึงโดเมนเป้าหมาย SPF (เช่น spf-tools.eu.org
) และบันทึก SPF ดั้งเดิมที่มีรวม (เช่น 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
AWS CLI สามารถกำหนดค่าได้โดยใช้ ~/.aws/credentials
หรือใช้ตัวแปรสภาพแวดล้อม: AWS_ACCESS_KEY_ID
และ AWS_SECRET_ACCESS_KEY
(ค้นหารายละเอียดเพิ่มเติมในการกำหนดค่าเอกสาร AWS CLI
ตัวอย่าง:
./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.