DNSSEC คืออะไร | 1412 https://xvlnw.com I'm on my way Mon, 05 Sep 2022 11:37:49 +0000 th hourly 1 https://wordpress.org/?v=5.5.13 วิธีตั้งค่า DNS Server ใน Windows/macOS/Linux/iOS/Android https://xvlnw.com/topic/646 Sun, 13 Sep 2020 07:36:25 +0000 https://xvlnw.com/?p=646 เกริ่นนำก่อน: โดยปกติแล้ว เมื่อเราเชื่อมต่ออินเตอร์เน็ต ไม่ว่าจะเป็นในคอมพิวเตอร์ หรือโทรศัพท์ ผู้ให้บริการจะทำการแจกจ่าย DNS Server มาให้เราได้ใช้งานแบบอัตโนมัติอยู่แล้ว ไม่อย่างนั้นเราจะใช้งานอินเตอร์เน็ตไม่ได้ เพราะไม่สามารถ Reslove IP ของ Server ผ่านชื่อโดเมนได้ คือถ้าเราจะใช้ Service อะไรก็ตามท…

The post วิธีตั้งค่า DNS Server ใน Windows/macOS/Linux/iOS/Android first appeared on 1412.]]>
เกริ่นนำก่อน: โดยปกติแล้ว เมื่อเราเชื่อมต่ออินเตอร์เน็ต ไม่ว่าจะเป็นในคอมพิวเตอร์ หรือโทรศัพท์ ผู้ให้บริการจะทำการแจกจ่าย DNS Server มาให้เราได้ใช้งานแบบอัตโนมัติอยู่แล้ว ไม่อย่างนั้นเราจะใช้งานอินเตอร์เน็ตไม่ได้ เพราะไม่สามารถ Reslove IP ของ Server ผ่านชื่อโดเมนได้ คือถ้าเราจะใช้ Service อะไรก็ตามที่เป็นชื่อโดเมน เช่น xvlnw.com เป็นต้น เราจะเรียกใช้งานไม่ได้เลย เพราะเราจะไม่ได้หมายเลข IP ปลายทาง และเชื่อมต่อไปยัง Server ที่ถูกต้อง

DNS Server ทำการแปลงชื่อโดเมน => IP address และอุปกรณ์ของเราจะทำการเชื่อมต่อไปยัง IP ที่ได้มาอีกที นี่คือขั้นตอนการทำงานของระบบ DNS Server เบื้องต้น

แต่เมื่อบางที ความต้องการของเรามากกว่า DNS มาตรฐานที่ทางผู้ให้บริการอินเตอร์เน็ต หรือ ISP ส่งมาให้เรา เราก็ต้องหา Solution เสริมขึ้นมา เช่น เปลี่ยนไปใช้ DNS จากผู้ให้บริการเจ้าอื่นๆ ที่พ่วงคุณสมบัติพิเศษเข้ามา เช่น 1.1.1.2 ที่ Block Domain ที่เป็น Malware, Ransomware ได้ด้วย หรือจะใช้ 1.1.1.3 ที่ Block เว็บสำหรับผู้ใหญ่พ่วงเข้ามาด้วย (เหมาะสำหรับเด็ก) โดยเป็นของ Cloudflare โดยที่เราไม่ต้องไปไล่นั่งอัพเดต DNS เองเลย

หรือหากต้องการ Customize มากกว่านั้น ยังมี Software จัดการ DNS Server เอง อย่างเช่น Pi-hole ที่น่าสนใจ เพราะเป็น Open Source และเราสามารถที่จะ Block เว็บไซต์ผ่านทางชื่อโดเมนได้ด้วยตัวเอง

วิธีตั้งค่า DNS Server ใน Windows

ไปที่ Network and Sharing Center > เลือก Internet Connection ของเรา > Properties > เลือก IPv4 และคลิก Properties > ในส่วนของ Use the following DNS Server addresses: กรอกหมายเลข IP ของ DNS Server 1 ช่องต่อ 1 หมายเลข IP (หากมี IPv6 ด้วย ให้เลือก IPv6 และคลิ Properties เหมือนกับ IPv4​)

วิธีตั้งค่า DNS Server ใน macOS

ไปที่ Open Network Preferences.. > Network > DNS > DNS Servers: กรอกหมายเลข IP ของ DNS Server ซึ่งหากมี IPv6 ด้วย เราก็สามารถกรอกเพิ่มตรงนี้ได้เลย

วิธีตั้งค่า DNS Server ใน Linux

ใน Linux นั้น เราสามารถแก้ไขไฟล์ /etc/resolv.conf ด้วย Editor ผ่านทาง Command line ครับ

# Edit file
nano /etc/resolv.conf

# Cloudflare DNS
nameserver 1.1.1.2
nameserver 1.1.1.1

วิธีตั้งค่า DNS Server ใน iOS/Android

สำหรับใน Mobile ผมจะแนะนำเป็น Application เพื่อความง่ายในการใช้งานและตั้งค่านะครับ แยกเป็น 2 กรณี คือ ต้องการใช้ Safety DNS โดยไม่ได้มีความรู้ในการทำ DNS Server เอง แนะนำเป็น Cloudflare DNS และหากต้องการกรอกหมายเลข IP DNS Server เอง แนะนำเป็น Trust DNS

Cloudflare DNS:

หมายเหตุ: Cloudflare App มีโหมด WARP ซึ่งเป็นลักษณะของ Full VPN ทำให้เราสามารถเข้าเว็บไซต์ที่โดน Block ภายในประเทศไทยได้ด้วยนะครับ 🙂

Trust DNS:

The post วิธีตั้งค่า DNS Server ใน Windows/macOS/Linux/iOS/Android first appeared on 1412.]]>
Pi-hole ตอนที่ 5: ทดสอบ DNSSEC https://xvlnw.com/topic/637 Sat, 12 Sep 2020 10:07:50 +0000 https://xvlnw.com/?p=637 เอาหละ เมื่อเรา Install & Config ตัวระบบ Pi-hole ของเราเรียบร้อยแล้ว สิ่งหนึ่งที่ผมให้ความสำคัญมากก็คือ ระบบ DNSSEC เพราะมันจะเป็นมาตรฐานความปลอดภัยในปัจจุบันและอนาคตที่ควรจะคำนึงถึงอย่างมาก สำหรับตอนที่ 5 เราจะมาดูวิธีการตรวจสอบ Pi-hole ของเรา ว่ารองรับการ Req DNSSEC หรือไม่?​ ในบทความนี้ผมจะใช…

The post Pi-hole ตอนที่ 5: ทดสอบ DNSSEC first appeared on 1412.]]>
เอาหละ เมื่อเรา Install & Config ตัวระบบ Pi-hole ของเราเรียบร้อยแล้ว สิ่งหนึ่งที่ผมให้ความสำคัญมากก็คือ ระบบ DNSSEC เพราะมันจะเป็นมาตรฐานความปลอดภัยในปัจจุบันและอนาคตที่ควรจะคำนึงถึงอย่างมาก

สำหรับตอนที่ 5 เราจะมาดูวิธีการตรวจสอบ Pi-hole ของเรา ว่ารองรับการ Req DNSSEC หรือไม่?​ ในบทความนี้ผมจะใช้ macOS และคำสั่ง dig นะครับ และในที่นี้ ผมติดตั้ง Pi-hole ไว้ในเครื่องตัวเอง Docker เพราะฉะนั้น IP Pi-hole จึงเป็น 127.0.0.1 นะครับ

dig xvlnw.com @127.0.0.1

จะเห็นว่า เราจะได้ A Record กลับมา 3 ค่า และ SERVER เป็น 127.0.0.1#53 เป็น Port DNS (UDP) นะครับ

dig xvlnw.com @127.0.0.1 +dnssec

และเมื่อเราเพิ่ม +dnssec เข้าไป หาก DNS Server ของเรารองรับ DNSSEC ซึ่งในที่นี้เราใช้ Pi-hole อยู่ รองรับการเรียกใช้ จะมี RRSIG Record ส่งกลับมาเพิ่มจาก A Record ตามปกติครับ

และเมื่อเรามาดู DNS Query Log ในระบบ Pi-hole เราจะพบประวัติการร้องขอ DNS ตามรูปด้านล่างนี้

จะเห็นได้ว่า แถวแรก ในส่วนของ Status จะมีคำว่า SECURE อยู่ครับ ซึ่งมันคือการเรียกแบบ DNSSEC นั่นเอง ส่วนแถวที่ 2 จะเป็นการเรียกแบบปกติที่ไม่มีการเข้ารหัสนั่นเอง

เมื่อเราได้ DNS Server เรียบร้อยแล้ว เราสามารถตั้งค่านำไปใช้งานจริงๆได้เลย >> ดูวิธีการตั้งค่า DNS Server

The post Pi-hole ตอนที่ 5: ทดสอบ DNSSEC first appeared on 1412.]]>
DNSSEC คืออะไร? วิธีเปิดใช้ DNSSEC Domain/Client https://xvlnw.com/topic/424 Mon, 20 Jul 2020 17:44:40 +0000 https://xvlnw.com/?p=424 Domain Name System Security Extensions (DNSSEC) คือ รูปแบบการให้บริการ DNS Server แบบเข้ารหัสข้อมูล โดยใช้ระบบ Public Key & Private Key เมื่อเรามีการเรียกเว็บไซต์ผ่านเบราเซอร์ หากโดเมนนั้นๆมีการตั้งค่า DNSSEC ไว้ DNS Server ที่รองรับ DNSSEC ก็จะส่งค่า IP ปลายทางมาให้เรา พร้อมกับ Public Key เพื่อ…

The post DNSSEC คืออะไร? วิธีเปิดใช้ DNSSEC Domain/Client first appeared on 1412.]]>
Domain Name System Security Extensions (DNSSEC) คือ รูปแบบการให้บริการ DNS Server แบบเข้ารหัสข้อมูล โดยใช้ระบบ Public Key & Private Key เมื่อเรามีการเรียกเว็บไซต์ผ่านเบราเซอร์ หากโดเมนนั้นๆมีการตั้งค่า DNSSEC ไว้ DNS Server ที่รองรับ DNSSEC ก็จะส่งค่า IP ปลายทางมาให้เรา พร้อมกับ Public Key เพื่อให้เราไว้ใช้ยืนยันกับ DNS Server ว่าเป็นข้อมูลที่ถูกต้อง ไม่ได้ถูกเปลี่ยนเส้นทางระหว่างการร้องขอ DNS Record นั่นเอง

ทำไมต้อง DNSSEC

โดยหลักๆเลยก็คือ เรื่องของความปลอดภัย เพื่อยืนยันว่าเราจะเชื่อมต่อไปยัง Server ที่ถูกต้อง ไม่ได้เชื่อมต่อไปยัง Server ของ Hacker แล้วกรอกข้อมูล Login ของเราไปให้แฮกเกอร์ เป็นต้น

ถ้าโดเมนที่รองรับถูกเปลี่ยนเส้นทาง และหากมีการเซต DNSSEC ไว้ โดเมนนั้นๆจะเข้าไม่ได้เลยครับ

จะใช้ DNSSEC ได้อย่างไร

เนื่องจาก DNSSEC เกี่ยวข้องกับระบบ Domain Name ซึ่งจะเป็นในส่วนของฝั่ง Server และ Client ที่เป็นส่วนของผู้ใช้งาน เพราะฉะนั้น การที่จะรองรับการใช้งาน DNSSEC ได้นั้น จะต้องรองรับทั้ง 2 ฝั่ง ซึ่งปัจจุบันนี้ Domain Name นามสกุลต่างๆนั้นเกือบจะทั้งหมด รองรับการตั้งค่า DNSSEC อยู่แล้ว รวมถึงฝั่งของ Client ก็เช่นกัน เบราเซอร์รุ่นใหม่ๆ ก็รองรับการใช้งาน DNSSEC ด้วยเช่นกัน

ทดสอบ DNSSEC ฝั่ง Domain Name

วิธีการเช็คโดเมนของเรารองรับ DNSSEC ไหม สามารถเช็คได้ที่ลิงก์ https://dnsviz.net ครับ กรอกชื่อโดเมนที่ต้องการ > คลิกที่ Analyze > Continue แล้วเราจะได้ Chain DNS มาครับ ซึ่ง Chain ที่มีความปลอดภัย จะต้องไม่มีลูกศรสีดำ ระหว่าง Chain นะครับ

เพิ่มเติม: สามารถทดสอบได้อีกเว็บ https://dnssec-analyzer.verisignlabs.com/ เป็นเว็บเพิ่มเติม ดูง่ายดี

การเปิดใช้งาน DNSSEC ที่ฝั่ง Domain Name

General Top Level Domain Name (gLTD). Example: .com, .net, .org

วิธีการที่แสนจะง่ายที่สุด สำหรับโดเมนที่เป็น General Top-Level Domain (gTLD) เช่น .com, .net, .org เป็นต้น ที่ผมค้นพบก็คือ ใช้บริการ DNS ของ Cloudflare DNS Server เพียงแค่เราชี้ Name Server ไปหา Cloudflare โดเมนของเราก็จะได้รับการเข้ารหัส DNS เป็นที่เรียบร้อย อันเนื่องมาจาก Cloudflare DNS นั้นรองรับ DNSSEC อยู่แล้วนั่นเอง

xvlnw.com DNSSEC Authentication Chain (21/07/2020)

แต่สำหรับโดเมนที่เป็น Country-Code Top-Level Domain (ccLTD) ยกตัวอย่างประเทศไทย เช่น .in.th, .co.th, .at.th เป็นต้น การเข้ารหัส DNSSEC จะเริ่มจาก .th => .in.th => yourname.in.th ซึ่งจะมี Chain เพิ่มขึ้นมาอีก 1 Chain นั่นเอง ในกรณีโดเมนของประเทศไทย ที่ทาง THNIC เป็นผู้ดูแลนั้น ณ ขณะนี้ก็รองรับการทำ DNSSEC เป็นที่เรียบร้อยแล้ว แต่การใช้งาน Cloudflared DNS Server เพียงอย่างเดียว จะทำให้ DNSSEC ไม่สมบูรณ์ ตามภาพตัวอย่างด้านล่างนี้

cloudhost.in.th DNS chain before using DNSSEC. (21/07/2020)
cloudhost.in.th – DNS Chain Status: INSECURE

วิธีการเปิดใช้งาน DNSSEC สำหรับโดเมน .th ใช้บริการร่วมกับ Cloudflared DNS Server

ให้เราไปที่ Cloudflare.com > Your Domain > เมนู DNS > DNSSEC > คลิกที่ Enable DNSSEC จากนั้นทาง Cloudflare จะให้ข้อมูล Key ต่างๆ โดย Key ที่ต้องนำมากรอกคือ Key Tag, Algorithm, Digest Type และ Digest ให้เรานำเอาไปกรอกที่ระบบจัดการโดเมนกับทางผู้ให้บริการที่เราใช้บริการอยู่ หากไม่ทราบ แนะนำให้ติดต่อกับผู้ให้บริการจดโดเมน แจ้งขอเปิดใช้งาน DNSSEC นะครับ และเมื่อเราตั้งค่าเสร็จเรียบร้อย จะต้องรอให้ DNS Update ใช้เวลาประมาณ 1 Hour ตามที่ทาง Cloudflare แจ้งไว้ หลังจากเสร็จสมบูรณ์แล้ว ที่ฝั่งของ Cloudflare จะได้ตามรูปครับ

Cloudhost.in.th is protected with DNSSEC.

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

cloudhost.in.th – All DNS Chain is SECURE.

ทดสอบ DNSSEC ฝั่ง Client

เราสามารถตรวจสอบอุปกรณ์ของเราว่ารองรับ DNSSEC หรือไม่? ได้ที่ลิงก์ https://dnssec.vs.uni-due.de โดยเข้าเว็บแล้วกด Start Test

Client not support DNSSEC.
Client support DNSSEC.

การเปิดใช้งาน DNSSEC ที่ฝั่ง Client

สำหรับฝั่ง Client ผมแนะนำให้ใช้ DNS ของ Cloudflare DNS Client หรือ Google DNS Client ซึ่งรองรับการใช้งาน DNSSEC อยู่แล้ว

Cloudflare DNS

Cloudflare DNS IPv4

  • 1.1.1.1 และ 1.0.0.1
  • 1.1.1.2 และ 1.0.0.2 (ป้องกันโดเมนไวรัส)
  • 1.1.1.3 และ 1.0.0.3 (ป้องกันโดเมนไวรัส และป้องกันเว็บโป้ เหมาะสำหรับเด็ก)

Cloudflare DNS IPv6

  • 2606:4700:4700::1111 และ 2606:4700:4700::1001
  • 2606:4700:4700::1112 และ 2606:4700:4700::1002 (ป้องกันโดเมนไวรัส)
  • 2606:4700:4700::1113 และ 2606:4700:4700::1003 (ป้องกันโดเมนไวรัส และป้องกันเว็บโป้ เหมาะสำหรับเด็ก)

Google DNS

Google DNS IPv4

  • 8.8.8.8 และ 8.8.4.4

Google DNS IPv6

  • 2001:4860:4860::8888 และ 2001:4860:4860::8844

ทำไมต้อง Cloudflare + Google

โดยส่วนตัว ผมจะแนะนำ 2 ตัวนี้นะครับ อันเนื่องมาจากความเร็วในการ Reslove DNS และมาตรฐานความปลอดภัยครับ มีความน่าเชื่อถือสูงด้วย

สำหรับการตั้งค่า DNS เราสามารถเลือกใช้โปรแกรม แอพ มาช่วยการตั้งค่าได้ รวมถึง เราสามารถเลือกใช้ทั้ง Cloudflare, Google อย่างละ 1 ตัวก็ได้นะครับ เพราะว่า DNS Setting เราจะสามารถกรอกได้ 2 อัน เพื่อป้องกันอีกตัวล่มนั่นเอง

The post DNSSEC คืออะไร? วิธีเปิดใช้ DNSSEC Domain/Client first appeared on 1412.]]>