DNSSEC และ DANE ช่วยป้องกันการโดน Pharming และป้องกันการออก Certficate ปลอมหรือซ้ำซ้อน

การทำ DNSSEC ช่วยป้องกันการโดน Pharming (หรือเรียก DNS spoofing หรือ DNS cache poisoning) เพราะเป็นการ signed ตัว DNS Server ที่ใช้งานคู่กับ domain name ที่จดกับผู้รับจด domain เวลาตรวจสอบคำตอบที่ Resolver จะเช็คว่ามาจาก Name server ตัวจริงหรือไม่ ช่วยให้การได้รับ IP ส่งให้ client มีความถูกต้องเสมอ (ทดสอบแบบง่ายๆ คือแก้ไขไฟล์ hosts บนเครื่องให้วิ่งไปอีกเครื่องหนึ่งที่มีข้อมูลเหมือนกันทุกประกาศ ทำตัวเหมือนโดน trojan มาเปลี่ยนบนเครื่องให้ไปเครื่องปลอมเพื่อหลอกเอาข้อมูล)

image 

image

image

image

 

สำหรับการทำ DANE ป้องกันการถูก fake certificate หรือเจอ Certification Authority ออกใบ certificate ซ้ำซ้อน เพราะเราจะเอา fingerprint ของ certificate ใส่ลงใน TLSA record บน DNS Server ทำให้ตอนตัว browser เรียกเว็บ จะมีการตรวจสอบว่า certificate ที่ได้มา มี fingerprint ตรงกับที่อยู่ใน TLSA record หรือไม่

image 

image

 

ซึ่งทั้งสองอย่างยังไม่ค่อยเจอเว็บทั่วไปทำสักเท่าไหร่ และ browser ทั้ง 3 อันดับแรก ถ้าไม่ลง plugins ก็ยังตรวจสอบไม่ได้ครับ แต่เชื่อว่าอีกสักพักคงทยอยค่อยๆ ปรับกันมาแล้ว และเว็บในไทยที่เท่าที่เจอยังไม่ค่อยมีใครทำขนาด Google, Facebook, Micorosft ยังไม่ทำเลย

การทำให้เว็บรองรับ DNSSEC และ DANE ช่วยเพิ่มระบบในการป้องกันการที่ผู้ใช้งานเข้าใช้บริการของเว็บต่างๆ ได้ปลอดภัยมากขึ้นจากการทำ Man-in-The-Middle attacks ได้

วิดีโออธิบายการทำงานของ DNSSEC และ DANE

Tutorial on DANE and DNSSEC

ตัวอย่างเว็บที่ implement DNSSEC หรือ DANE

อ้างอิง

PHP 5.4 กำลังจะหมด Security support และ End of Life ในเดือนกันยายน 2015 นี้

เมื่อปีก่อน PHP 5.3 นั้นก็หมดช่วง Security support  และ End of Life ไปตั้งแต่เดือนสิงหาคม 2014 แล้ว โดย version สุดท้ายคือ 5.3.29

มาปีนี้ PHP 5.4 ก็ตามมาติดๆ โดยจะหมด Security support และ End of Life ในเดือนกันยายน 2015 ที่จะถึงนี้เช่นกัน โดยใครที่จะอัพเกรดไป version ใหม่ในตอนนี้จากทั้ง PHP 5.3 หรือ PHP 5.4 ขอแนะนำให้อัพเกรดไปใช้ PHP 5.6 ไปเลย เพราะ PHP 5.5 จะหมดช่วง Security support  และ End of Life ในปีหน้านี้แล้วเช่นกัน ฉะนั้น อัพแล้วได้ support ยาวๆ ซึ่ง PHP 5.6 ยังคง support ไปอย่างน้อยๆ ก็ 2 ปี (End of Life ในสิงหาคมปี 2017)

ข้อมูลอื่นๆ

  • PHP 5.2 นั้น End of Life ไปตั้งแต่เดือนมกราคม 2011 (version สุดท้ายคือ 5.2.17)
  • PHP 5.3 นั้น End of Life ไปตั้งแต่เดือนสิงหาคม 2014 (version สุดท้ายคือ 5.3.29)
  • PHP 5.4 ในตอนนี้อยู่ในช่วง Security support เท่านั้น จะหมด support ในเดือนกันยายน 2015 นี้แล้ว (version ล่าสุด ณ วันที่โพสนี้คือ 5.4.40)
  • PHP 5.5 ยังอยู่ในช่วง Active support แต่จะหมดช่วง Active support ในเดือนมิถุนายน 2015 นี้ แล้วจะเข้าสู่ช่วง Security support เท่านั้น และจะหมด support ในเดือนมิถุนายน 2016 หรือปีหน้า (version ล่าสุด ณ วันที่โพสนี้คือ 5.5.24)
  • PHP 5.6 ตัวล่าสุด อยู่ในช่วง Active support แต่จะหมดช่วง Active support ในเดือนสิงหาคม 2016 (ปีหน้า) แล้วจะเข้าสู่ช่วง Security support เท่านั้น และจะหมด support ในเดือนสิงหาคมม 2017 หรือ 2 ปีข้างหน้า (version ล่าสุด ณ วันที่โพสนี้คือ 5.6.8)
  • PHP 7.0 จะออก RC version ในเดือนหน้า (มิถุนายน 2015) และ GA/Release ในเดือนตุลาคม 2015 นี้ โดยอ้างอิงจากแผนใน php.net

อ้างอิง

ส่วนใครยังอยากใช้ตัวที่ End of Life ไปแล้ว หรือเปิด options ใน php.ini ที่มีผลต่อความปลอดภัยของระบบ เอาตามที่สบายใจครับ

ปิดการใช้งาน QUIC บน Google Chrome เนื่องจากการใช้งานบริการของ Google ผ่าน Trueonline แล้วมีปัญหา

Google ใช้ QUIC (Quick UDP Internet Connections) โดยมันทำงานบน UDP protocal มาได้สักพักใหญ่ๆ แล้ว กับบริการของตัวเองผ่านทาง Google Chrome ซึ่งในช่วงหลายเดือนที่ผ่านมา หากใครใช้งาน Trueonline จะพบปัญหาว่า ไม่สามมารถเรียกใช้บริการของ Google ได้อย่างสมบูรณ์ เช่น โหลดภาพ thumbnail ของ Youtube มาไม่ครบ, โหลดรายการไฟล์จากใน Google Drive มาได้บ้างไม่ได้บ้าง หรือโหลดผลการค้นหามาบ้างไม่มาบ้างเป็นต้น ซึ่งเป็นผลจากการใช้ congestion control ของ Trueonline ซึ่งทำให้ UDP packet ถูก drop ทิ้งไป เพราะ QUIC ทำงานบน UDP protocal นั่นเอง ซึ่งมักจะเกิดในช่วงที่ Trueonline มีการใช้งานมาก ซึ่งมักจะเป็นช่วงหัวค่ำของแต่ละวัน จะเห็นได้อย่างชัดเจนที่สุด

ทีนี้เมื่อรู้แล้วว่าอะไรเกิดขึ้น และปัญหาคืออะไร สิ่งที่ง่ายที่สุดคือปิดการใช้งาน QUIC บน Google Chrome ซะ

  1. พิมพ์ chrome://flags/ ที่ address ของ Google Chrome
  2. ไปที่หัวข้อ Experimental QUIC protocol. Mac, Windows, Linux, Chrome OS, Android
  3. เลือก Disabled ที่หัวข้อนี้ แล้วปิด-เปิด Google Chrome ใหม่อีกครั้ง

    2015-05-10_123005

เพียงเท่านี้ก็จบปัญหาของ QUIC ที่มีปัญหาบน Trueonline ได้แล้ว

เลิกใช้ µTorrent อย่าเป็นทางการ และหันมาใช้ Deluge แทน

เหตุผลคือ มันเป็น open source ทำให้มีการตรวจสอบโค้ดได้หน่อยว่ามันมีอะไรแอบไว้ไหม คือตอน µTorrent ก็ที โดนเอามาขุด bitcoin เล่นเอาเครื่องอืดไปเลย

โดยตัว Deluge มันรันแบบ Daemon และ CLI ได้ทำให้มันทำงานบนพวก Linux/Unix ที่ทำงานแบบ shell ล้วนๆ ได้สบายๆ ทำให้ตอนนี้เอามาทำงานบน raspberry pi ได้เหลือๆ

ซึ่งการที่มันแย่งส่วน Daemon ออกมา ทำให้มันทำงานแยกส่วนกันระหว่าง Daemon และ GUI ทำให้เราสั่งโหลดทิ้งไว้บน Daemon แล้วปิด GUI ไปได้เลย ทำให้กิน CPU/RAM น้อยกว่า แถม Daemon รันแบบ remote ได้ ทำให้เราสั่งงาน Daemon ต่างๆ ผ่านเครื่องอื่นๆ ได้ด้วย GUI

ทำให้ในตอนนี้ทดสอบใช้งานอยู่ด้วยการตั้งโหลดบน raspberry pi แล้ว mount NAS มาทำเป็น NFS (CIFS) เสร็จแล้วสั่งงานแบบ remote ให้ไปเซฟที่ NAS แทนบน local drive ก็ทำงานได้ดีงามมาก

2015-05-02_222006

Large Scale NAT กับ Trueonline

ตอนติดตั้ง Internet ของ Trueonline ก็ไม่ได้สนใจว่าจะโดนจับเข้า Large Scale NAT ของ ISP หรือเปล่า จนกระทั้งมาทำ remote-access ที่ตั้งไว้ server ที่ห้องพัก ตรวจสอบจาก ddns แล้วก็ได้ IP มาปรกติ แต่ forward port วิ่งเข้ามาข้างในซึ่งตั้ง forward port ไว้ตาม IP ที่ตั้งแล้วมันเหมือนไม่วิ่งเข้ามา จนมาเช็คแล้วพบว่า IP ที่รายงานกับ ddns กับ IP ที่ router มันคนละตัวกัน เลยตรวจสอบกับ ipinfo.io อีกที ก็จริงตามนั้น IP ที่ router ได้อยู่ช่วง 100.xxx.xxx.xxx ซึ่งคิดว่า 90% น่าจะโดนจับโยนเข้า Large Scale NAT ทำให้การทำ remote-access เพื่อวิ่งกลับเข้ามาทำไม่ได้

วิธีการแก้ไข ก็ไม่ได้ยากอะไร โทรไปหา Call center ของ trueonline แล้วให้เจ้าหน้าที่ปลดออกจาก Large Scale NAT ให้ซะ บอกเค้าไปว่าเราติดตั้งกล้องวงจรปิด เราดึงภาพมาดูไม่ได้อะไรแบบนั้น เค้าจะเข้าใจว่าเราต้องการสื่ออะไร (บอกเหตุผลอื่นเดี่ยวจะอธิบายยาวไป ต้องขอบคุณ @pats ที่แนะนำ) ขั้นตอนนี้ ต้องบอกหมายเลขสมาชิก หรือหมายเลขโทรศัพท์ที่ติดตั้ง internet เพื่อให้เค้ารู้ว่าหมายถึง account ไหน ซึ่งก็ใช้เวลาไม่นาน โทรไปติดต่อ 5-10 นาที เท่านั้น โดยเจ้าหน้าที่จะยืนยัน และให้เรา reset router ใหม่ พอเปิดกลับมมา ต่อเน็ตได้ ก็ทดสอบดูว่า IP ที่ router และ IP ที่ ipinfo.io ตรวจกันหรือไม่ ถ้าตรงกัน ก็โอเคจบปัญหาครับ

ข้อมูลอื่นๆ ลองอ่าน True เปิดตัว Large Scale NAT