_| | |
__| __ | __| _ _ | __|
__ | | __|_____| | ( | ( | |__
____/ .__/ _| __|___/ ___/ _|____/
_|
أدوات بسيطة للحفاظ على سجلات SPF TXT مرتبة من أجل محاربة 10 عمليات البحث عن DNS القصوى.
اسم المجال spf-tools.eu.org يستخدم للاختبار الآن.
أدوات SPF منذ الإصدار 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)
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
tool إلى تحليل قائمة بالكتل التي تنتجها 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
.
آخر سجل للتحديث هو سجل Root Domain الذي يحتوي فقط على تضمين. يجب تحديثه دائمًا باعتباره الأخير والبادئة بالتناوب بين بادئات 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.
لاستخدام هذا البرنامج النصي ، يجب أن يحتوي File .spf-toolsrc
في الدليل $HOME
على تعريف متغير TOKEN
يتم استخدامه بعد ذلك للاتصال بـ CloudFlare API. يجب أن يحتوي الملف أيضًا على متغيرات DOMAIN
و ORIG_SPF
والتي تعتمد على مجال SPF الهدف (EG 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.