Notes on Digital ID

นั่งอ่านเรื่อง Digital ID มาบ้าง ขอโน้ตเอาไว้ตรงนี้ก่อน

เกาหลีใต้นับเป็นชาติที่ก้าวหน้าที่สุดมานาน ออก cert ใช้กันเป็นวงกว้าง (ออกไปแล้ว 15 ล้านใบ) แต่บทเรียนคือเกาหลีเลือกอิมพลีเมนต์ประหลาด ทำให้ต้องใช้ ActiveX/Java หน่วยงานราชการไม่อัพเดต สร้างปัญหาระยะยาว แทนที่จะปลอดภัยดันสร้างอันตรายหนักกว่าเดิม คนจะใช้งานต้องไปลง Antivirus เพิ่ม

สุดท้ายเกาหลีใต้ยอมแพ้ เปิดให้เอกชนออก digital cert แทน ปล่อยให้เก็บค่าธรรมเนียมได้ คิดว่าหวังว่าเอกชนจะแข่งกันเอง ไม่ดองระบบให้ล้าสมัยแบบรอบที่แล้วอีก แถมช่วงแรกทุกเจ้าที่เปิดมาฟรีหมด

ออสเตรเลีย ไปท่าคล้ายๆ เกาหลีใต้ในปัจจุบัน ออกมาตรฐาน TDIF กำหนดว่าผู้ให้บริการยืนยันตัวตนต้องทำอะไรบ้าง ตอนนี้ผู้ให้บริการหลักมีสองรายคือ myGovID และ Digital iD ของไปรณีย์ออสเตรเลีย (โดนวิจารณ์ว่าทำไมรัฐบาลต้องทำสองอันแข่งกันเอง) แม้ไปรษณีย์ออสเตรเลียจะกึ่งๆ เอกชนแต่ก็ถือว่าเป็นของรัฐอยู่ดี เลยกลายเป็นว่ารัฐทำสองอัน

อ่าน TDIF แบ่งออกเป็น 4 หน้าที่ IdP เก็บข้อมูล, CSP ยืนยันตัวตน (งงว่าแยกทำไม paper ก็บอกว่ารวมกันกับ IdP ได้), IDX น่าจะคล้ายๆ NDID บ้านเรา, ASP คนเติมข้อมูล เช่น มหาวิทยาลัยสามารถส่ง transcript แนบไปกับตัวตนได้ แนวทางแบบนี้ทำให้เห็นชัดว่าใครจะเข้าไปต่อตรงไหนบ้าง ล่าสุด DocuSign ไปร่วมกับ Digital iD ยืนยันตัวตนในระดับสำคัญได้แทนที่จะใช้แค่อีเมล

สิงคโปร์ใช้ท่าแบบเกาหลีใต้เดิม คือรัฐเหมาคนเดียวเป็นแบบ SingPass เหมาเรียบทุกอย่าง เดิมออกแบบมาเป็น single sign-on ของรัฐ (ทำ IdP+CSP) ทำไปทำมาเพิ่ม MyInfo รวม ASP เข้าไปในตัว แถมเปิดบริการเซ็นเอกสาร กลายเป็น DocuSign เรียบร้อย แต่ก็เปิดให้เอกชนใช้งานด้วย ธนาคารดึงข้อมูลกันได้แล้ว

 

Wi-Fi CCTV

ช่วงเดือนที่ผ่านมาเพิ่งติด CCTV หลังจากมองซ้ายมองขวาสักพักก็ตัดสินใจใช้ Wi-Fi เพราะน่าจะง่ายสุด เนื่องจากบ้านเก่าไม่ได้เดิน LAN ไว้แต่แรก (อีกทางเลือกคือ Ethernet over Power Line แต่ตัดไป ไม่เคยใช้)

เลือก HIKVISION DS-2CD2121G1-IDW1 เพราะราคากับคิดว่าแบรนด์มาตรฐานน่าจะโอเค โดยเฉพาะเตรียมจะต่อ ONVIF เข้า NAS อยู่แล้ว ปรากฎว่าลืมดูว่าไม่รับ Wi-Fi 5GHz ทำให้เรื่องยาวกว่าที่คิดเพราะพอติดหลังบ้านแล้ว connection แย่มาก 2.4GHz นี่ noise น่าจะสูงอยู่แล้วแม้จะเป็นหมู่บ้าน ไม่ใช่คอนโดก็ตามที

ยังตัดสินใจไม่ติดสาย แต่เลือกใช้ repeater มากระจายสัญญาณไปหลังบ้าน เงื่อนไขคือราคาถูกๆ กับรองรับ Wi-Fi 5GHz เพื่อทำเป็น back haul มาเข้า router กลางบ้าน เลือกไปได้ TP-Link RE200 เข้าข่ายครบ แปะไว้ในห้องด้านหลังๆ หน่อยก็น่าจะเชื่อมไป CCTV ได้

ปรากฎว่าพอคอนฟิกกล้องให้ต่อ repeater แล้วกล้องร่วงไปเลย เช็คไปเช็คมา ปรากฎว่า RE200 มันจะเปลี่ยน MAC สามชุดแรกให้กลายเป็น vendor ID ของ TP-Link เองแล้วเหลือ 3 ชุดหลังให้เหมือนของอุปกรณ์จริงอันนี้เป็นเรื่องแปลกๆ ที่เพิ่ง่เคยเจอ เลยทำให้ static DHCP ไม่ทำงาน (อันนี้พลาด คือไม่ตรวจก่อนว่ามี MAC แปลกๆ โผล่มาในเน็ตเวิร์ค)

อุปกรณ์ทุกตัว รวมถึงตัว repeater (ที่มีหมายเลขไอพีของตัวเองด้วย) ถูกบังไว้หลัง MicroTik แล้วบล็อคออกเน็ตทั้งหมด ยอมให้ NAS ออกได้อย่างเดียว ปกติแล้วกล้อง CCTV จำเป็นต้องออกเน็ตสองเรื่องคืออัพเดตเฟิร์มแวร์ก็อาศัยการอัพเดตจากเดสก์ทอปได้ กับการตั้งเวลาผ่าน time server กรณีนี้ ONVIF มันรองรับอยู่แล้ว ก็ให้ซิงก์เวลาจาก NAS ที่ทำหน้าที่ DVR ไป

 

PFG = PostgreSQL + Fluent-bit + Grafana

ปีที่ผ่านมาความรับผิดชอบหนึ่งของผมใน MFEC คือการดู centralized log ทั้งบริษัท โดยทั่วไปการใช้ ELK (Elasticsearch + Logstash + Kibana) ก็เป็นแนวทางมาตรฐาน แม้จะทำงานได้ดีแต่ก็มีส่วนที่ไม่ชอบหลายอย่าง เช่น

  • ผมไม่เคยอัพเกรด Elasticsearch สำเร็จเลย หลังๆ เลยยอมลง cluster ใหม่แล้วชี้ Logstash ออกไปที่ใหม่ชัวร์กว่ามาก
  • ภาษา query ค่อนข้างเฉพาะตัว คนไม่เคยใช้งงแน่นอน
  • ทั้ง Stack เป็น Java กินแรมเริ่มต้นค่อนข้างสูง
  • จากปัญหากินแรม ใน edge จริงๆ ฝั่ง ELK เลยมักใช้ filebeat ไปกวาดข้อมูลขึ้น logstash แต่จะเจอว่า filebeat มันจำกัดมาก process อะไรกับ log แทบไม่ได้เลย

ผมเองเห็น fluentd มาพักใหญ่ๆ แล้วได้ลองมาพักหนึ่งแต่ไม่เคยเอาขึ้น production จริงจัง พอดีมีโปรเจคใหม่กำลังขึ้นเลยจะขอลอง พออ่านไปอ่านมาก็เจอว่า fluentbit มันเล็กกว่า แม้จะมีฟีเจอร์น้อยกว่า fluentd มาก แต่รวมๆ ก็ถือว่าเยอะกว่า filebeat อยู่ดี (มี stream processor ด้วยซ้ำไป)

จุดสำคัญคือ PostgreSQL นั้นมีคนเข้าใจมันเยอะกว่า Elasticsearch มาก งาน operation ทั่วๆ ไป การ query ข้อมูล, backup, restore, upgrade นั้นมักมีคนได้เป็นเรื่องปกติ ส่วนจุดขายของ ELK จะเป็นการทำงานกับข้อมูลแบบไม่มี schema ที่เหมาะกับ log มากกว่า แต่ PostgreSQL เองก็รองรับข้อมูลแบบ JSON/JSONB มาตั้งแต่เวอร์ชั่น 9.4

fluentbit รองรับ postgesql ในตัว โดยตารางที่เขียนข้อมูลมีแค่ 3 column คือ time, tag, data แล้วใส่ตัว data ไว้เป็น JSONB

พอลองเล่นแล้วพบว่าเวิร์คกว่าที่คิด จุดประหลาดที่สุดคงเป็น Grafana ที่คุมให้กราฟมันออกอย่างที่อยากได้ยากกว่า ELK แม้ ELK จะ alien กว่าตอนเริ่มต้น แต่พอทำงานจริงๆ แล้วจะพบว่ามันคิดอะไรให้เยอะแล้ว พวกกด drill down ข้อมูล ELK ทำได้ดีกว่ามากกดเงื่อนไขเพิ่มจากในกราฟได้เลย นับเป็นข้อได้เปรียบของการใช้ UI ที่ผูกกับ data source เดียว

ในแง่ประสิทธิภาพผมยังไม่ได้ทดสอบเองแต่เจอว่า Postgres เสียเปรียบเรื่องการกินพื้นที่ดิสก์มาก แต่ประสิทธิภาพการคิวรีดีกว่า InfluxDB ไว้มีเวลาแล้วค่อยเอา data ชุดเดียวกันมาเทียบอีกที (ยังหา benchmark เทียบกับ elasticsearch ไม่เจอ)

 

The Net

The Net หนังที่ได้ดูตั้งแต่สมัยเด็กๆ และจำได้ว่ามันเท่มาก พอกลับมาบน Netflix เลยนั่งดูดีๆ อีกรอบ ทำให้เห็นว่าเนื้อเรื่องหลักของมันคือซอฟต์แวร์รักษาความปลอดภัยที่ชื่อว่า Gatekeeper ตอนเด็กๆ ดูแล้วไม่เข้าใจอะไร แค่รู้สึกว่ามันพิมพ์ๆ เจาะๆ แล้วเท่

ตัว Gatekeeper เองถ้ามองสมัยนี้มันคงเป็น WAF (Web Application Firewall) ที่ช่วยดูแลไม่ให้เว็บโตนเจาะ แต่ตัวมันดันวาง backdoor ให้คนรู้รหัสพิเศษเข้าไปได้

ในโลกยุคกูเกิล (และ shodan) การวางลิงก์พิเศษไว้มุมจอดูไร้สาระ แต่ข้อจำกัดของหนัง จะให้บอกว่าต้องเข้าผ่าน curl -X POST https://host/gatekeeper_backdoor/ แบบนั้นคงยากเกินไป (ยกเว้นหนังที่ใช้ฉากแฮกประกอบสั้นๆ เช่น The Matrix)

จุดที่ไม่สมจริงมากๆ คืออยู่ๆ คนทั่วไปก็เชื่อในบริษัทซอฟต์แวร์รักษาความปลอดภัยบริษัทหนึ่งขึ้นมาพร้อมกันไปทั้งหมด ทนายตอนคุยกับนางเอกยังเชื่อว่าระบบโดนแฮกไม่ได้เพราะลงซอฟต์แวร์ตัวนี้ โลกความเป็นจริงคนทั่วไปแทบไม่สนใจหรอกว่าใช้ซอฟต์แวร์ตัวไหนยังไง มีแต่ CIO/CISO ที่นั่งคิดนั่งดูกันเอง

โลกความเป็นจริงการวางซอฟต์แวร์ Security ก็ไม่ได้สมบูรณ์ หลายครั้งไฟร์วอลล์เองก้มีช่องโหว่จนแฮกเกอร์ใช้เป็นจุดรันโค้ดโจมตีในองค์กรเรื่อยๆ

ชีวิตนี้ไป MOSCONE CENTER มาแล้ว กลับไปดูในหนังอีกทีแล้วรู้สึกเจ๋งมาก ที่เราสมัยเด็กๆ ได้แต่มองงานคอนเฟอร์เรนซ์ระดับโลกแค่ไหนหนัง แล้วถึงเวลามีโอกาสได้ไป