Privacy Ratings

การทดสอบอัตโนมัติ

บริการแบบโฮสต์ (หมวดหมู่ที่มี type: service) จะได้รับการทดสอบโดยอัตโนมัติเมื่อไฟล์ผลการประเมินมี domain ผู้ให้บริการอีเมลและบริการส่งต่ออีเมลที่มี mail_domain จะได้รับการทดสอบอีเมลด้วย

การทดสอบ สิ่งที่ตรวจสอบ เกณฑ์ ใช่ บางส่วน ไม่
Qualys SSL Labs เวอร์ชัน TLS, cipher, ใบรับรอง และช่องโหว่ TLS ที่รู้จัก tls A+ หรือ A A- หรือ B C หรือต่ำกว่า
Mozilla HTTP Observatory เฮดเดอร์ความปลอดภัย เช่น CSP, HSTS และ X-Frame-Options รวมถึงแฟล็กของคุกกี้ security_headers A+ หรือ A A-, B+ หรือ B B- หรือต่ำกว่า
การทดสอบเว็บไซต์ของ Internet.nl IPv6, DNSSEC, HTTPS และตัวเลือกความปลอดภัย web_standards 90% ขึ้นไป 70% ถึง 89% ต่ำกว่า 70%
การทดสอบอีเมลของ Internet.nl IPv6, DNSSEC, DMARC, DKIM, SPF, STARTTLS และ DANE สำหรับโดเมนอีเมล mail_standards 90% ขึ้นไป 70% ถึง 89% ต่ำกว่า 70%
Hardenize การกำหนดค่าความปลอดภัยของ DNS อีเมล และเว็บ ลิงก์ไว้เท่านั้น

มาตรฐานอีเมล

ผู้ให้บริการอีเมลและบริการส่งต่ออีเมลที่มี mail_domain จะได้รับการทดสอบเหล่านี้ด้วย ซึ่งรันโดย scripts/mail-tests.js:

การทดสอบ สิ่งที่ตรวจสอบ เกณฑ์ ใช่
DNS over HTTPS SPF, นโยบาย DMARC, โหมด MTA-STS (RFC 8461), TLS-RPT (RFC 8460), การตรวจสอบ DNSSEC, DANE TLSA บนทุกโฮสต์ MX (RFC 7672) และระเบียน BIMI กับ SRV ตาม RFC 6186 เพื่อเป็นข้อมูล transport_security บังคับใช้ครบทั้งหก
IMAP CAPABILITY Implicit TLS บนพอร์ต 993 (RFC 8314), IMAP4rev1 หรือ IMAP4rev2, IDLE หากไม่ได้จะลองใช้ STARTTLS บนพอร์ต 143 imap_standards Implicit TLS, IMAP4rev1/rev2 และ IDLE
POP3 CAPA Implicit TLS บนพอร์ต 995, CAPA (RFC 2449), UIDL หากไม่ได้จะลองใช้ STLS บนพอร์ต 110 pop3_standards Implicit TLS, CAPA และ UIDL
SMTP EHLO การส่งอีเมลผ่าน implicit TLS บนพอร์ต 465, SMTPUTF8, 8BITMIME, PIPELINING, AUTH หากไม่ได้จะลองใช้ STARTTLS บนพอร์ต 587 smtp_standards Implicit TLS และส่วนขยายครบทั้งสี่

ชื่อเซิร์ฟเวอร์มาจาก imap_host, pop3_host และ smtp_host ในไฟล์ผลการประเมิน หรือจากระเบียน SRV ตาม RFC 6186 ของผู้ให้บริการ ตั้งค่าโฮสต์เป็น false เมื่อผู้ให้บริการไม่มีโปรโตคอลนั้น ความสามารถคือสิ่งที่แต่ละเซิร์ฟเวอร์ประกาศไว้ก่อนเข้าสู่ระบบ และรายการทั้งหมดแสดงอยู่ในหน้าผลการประเมินแต่ละหน้า

ตัวติดตามบนเว็บไซต์

ทุกรายการที่มีเว็บไซต์ รวมถึงแอป จะได้รับการทดสอบตัวติดตามซึ่งรันโดย scripts/trackers.js การทดสอบจะโหลดหน้าแรกโดยไม่รัน JavaScript และเปรียบเทียบโฮสต์ของทุกสคริปต์ เฟรม รูปภาพ และสไตล์ชีต รวมถึงโค้ดแบบอินไลน์ กับรายชื่อบริการติดตามและวิเคราะห์ที่รู้จัก

สิ่งที่พบ ผลต่อ no_trackers
ตัวติดตามจากบุคคลที่สาม เช่น Google Analytics, Google Tag Manager, Meta Pixel, Hotjar หรือ HubSpot คำตอบกลายเป็น "ไม่" ไม่ว่าไฟล์ผลการประเมินจะระบุว่าอย่างไร
การวิเคราะห์แบบไม่ใช้คุกกี้ (Plausible, Fathom, Simple Analytics, Matomo Cloud, Cloudflare Web Analytics) "ใช่" กลายเป็น "บางส่วน"
ฟอนต์ ส่วนฝัง การรายงานข้อผิดพลาด แชตช่วยเหลือ หรือเครื่องมือขอความยินยอม แสดงไว้ในหน้า ไม่คิดคะแนน
ไม่พบสิ่งใด ใช้คำตอบในไฟล์ผลการประเมิน

เมื่อเว็บไซต์เป็นหน้าบนแพลตฟอร์มโฮสต์โค้ดหรือร้านค้าแอป (GitHub, GitLab, Codeberg, SourceForge, F-Droid, Google Play และที่คล้ายกัน) การทดสอบจะถูกข้าม เพราะหน้านั้นไม่ได้ดำเนินการโดยโครงการ

การทดสอบเห็นเฉพาะตัวติดตามที่เขียนไว้ในตัวหน้าเว็บเท่านั้น ตัวติดตามที่สคริปต์เพิ่มเข้ามาภายหลัง และการส่งข้อมูลการใช้งานภายในแอป ยังต้องมีหลักฐานในไฟล์ผลการประเมิน เช่น นโยบายความเป็นส่วนตัวหรือรายงานของ Exodus Privacy

SRS และ ARC ไม่สามารถมองเห็นได้จากภายนอกโดยไม่ส่งอีเมล จึงเป็นเกณฑ์ที่ตอบด้วยหลักฐานแทนการทดสอบ

การตรวจสอบอัตโนมัติที่ยังไม่ได้รันจะแสดงเป็น "ยังไม่ได้ทดสอบ" และไม่นำมาคิดคะแนน ผู้ให้บริการจึงไม่ถูกหักคะแนนจากการทดสอบที่ยังไม่เกิดขึ้น

สำหรับ SSL Labs จะใช้เกรดที่ต่ำที่สุดจากที่อยู่ IP ทั้งหมดของโดเมน

Hardenize ไม่มี API สาธารณะแล้ว แต่ละหน้าจึงลิงก์ไปยังรายงานสาธารณะแทนการให้คะแนน

กำหนดเวลา

เวิร์กโฟลว์ Scan รันทุกวันและทดสอบ 40 รายการที่มีผลลัพธ์เก่าที่สุด (Internet.nl มีขีดจำกัดของตัวเอง ดูด้านล่าง) ทุกบริการจึงได้รับการทดสอบเป็นประจำโดยไม่ทำให้ API ฟรีรับภาระมากเกินไป ผลลัพธ์ถูกบันทึกไว้ใน scans/ เป็น JSON คอมมิตลงในคลังโค้ด และเผยแพร่พร้อมกับเว็บไซต์ แต่ละหน้าแสดงเวลาที่การทดสอบรันครั้งล่าสุด

การทดสอบที่ล้มเหลวจะเก็บผลลัพธ์ก่อนหน้าไว้และบันทึกข้อผิดพลาด การขัดข้องชั่วคราวจึงไม่เปลี่ยนคะแนน

ขีดจำกัดของ Internet.nl

การใช้ batch API ของ Internet.nl เป็นไปตามข้อกำหนดการใช้งานของบริการ:

ทุกคำขอจะถูกบันทึกไว้ใน scans/internetnl-requests.json ซึ่งจะถูกคอมมิตพร้อมกับผลลัพธ์แม้การรันจะล้มเหลว การรันที่พบว่าถึงขีดจำกัดรายสัปดาห์แล้วจะข้าม Internet.nl และเก็บผลลัพธ์ที่มีอยู่ไว้ batch ใช้เวลาหลายชั่วโมง จึงมีการตรวจสอบสถานะคำขอทุก 5 นาที และคำขอที่ยังทำงานอยู่เมื่อการรันสิ้นสุดจะถูกรับผลโดยการรันครั้งถัดไปแทนการส่งใหม่ Internet.nl ไม่สนใจ --limit และมีเพียงการรันบน branch เริ่มต้นเท่านั้นที่ใช้ข้อมูลรับรองของ Internet.nl การรันทั้งหมดจึงใช้บันทึกร่วมกันชุดเดียว

เว็บไซต์นี้นำผลการทดสอบที่ได้จากเครื่องมือทดสอบ Internet.nl มาใช้ซ้ำ

การกำหนดค่า

การตั้งค่าทั้งหมดเป็น secret ของคลังโค้ดที่ไม่บังคับ (Settings › Secrets and variables › Actions):

Secret วัตถุประสงค์
SSLLABS_EMAIL อีเมลที่ลงทะเบียนกับ SSL Labs API v4 หากไม่มีจะใช้ API v3 การลงทะเบียนต้องใช้ที่อยู่อีเมลขององค์กร
INTERNETNL_USERNAME, INTERNETNL_PASSWORD บัญชีสำหรับ Internet.nl batch API หากไม่มี หน้าต่างๆ จะลิงก์ไปยังการทดสอบสาธารณะของ Internet.nl และเกณฑ์ของ Internet.nl จะยังคงเป็น "ไม่ทราบ"
INTERNETNL_API URL ฐานของ batch API สำหรับ Internet.nl แบบโฮสต์เอง ค่าเริ่มต้นคือ https://batch.internet.nl/api/batch/v2

Mozilla HTTP Observatory ไม่ต้องใช้บัญชี ข้อมูลสัญญาอนุญาตจาก GitHub ใช้โทเค็นในตัวของเวิร์กโฟลว์

การรันการทดสอบในเครื่อง

npm ci
node scripts/scan.js --only email-providers/forward-email
node scripts/scan.js --limit 5 --tests observatory
node scripts/scan.js --tests mail-dns          # email DNS checks only
npm run test:unit                              # protocol probes against local mock servers
npm run build

โดเมนใดที่ถูกทดสอบ

ฟิลด์ domain ควรเป็นเว็บไซต์หลักหรือเว็บแอปที่ผู้คนใช้เข้าสู่ระบบ เช่น mail.example.com แทนที่จะเป็นซับโดเมนการตลาดบนโฮสต์อื่น ผู้ให้บริการสามารถเสนอโดเมนที่ถูกต้องกว่าได้ใน pull request

แก้ไขหน้านี้บน GitHub Markdown