Security
น้องๆ เคยสงสัยไหมว่า ไอ้พวกอุปกรณ์ Smart Home, Smart Watch, หรือแม้แต่ Smart TV ที่บ้านเราเนี่ย มันคุยกันยังไง? นั่นแหละคือ IoT (Internet of Things) ง่ายๆ คืออุปกรณ์ที่เชื่อมต่ออินเทอร์เน็ตและสื่อสารกันเองได้ สมัยผมทำร้านเน็ตใหม่ๆ ใครจะคิดว่าจะมีตู้เย็นคุยกับมือถือได้!
แล้วทำไม Security ถึงสำคัญ? ลองคิดดูว่าถ้ามีคนแฮก Smart Lock ที่บ้านเราได้ จะเกิดอะไรขึ้น? หรือถ้าแฮกกล้องวงจรปิดได้ล่ะ? สมัยนี้ Hacker มันเก่งกว่าที่เราคิดเยอะ ต้องระวังตัวไว้เสมอ SiamCafe Blog มีบทความเรื่อง Security เยอะแยะ ลองไปอ่านดูได้นะ
ง่ายๆ Network ก็คือถนนที่ข้อมูลวิ่งไปมา สมัยก่อนก็แค่คอมพิวเตอร์ไม่กี่เครื่อง แต่เดี๋ยวนี้มีมือถือ แท็บเล็ต Smart Home เต็มไปหมด ถ้าถนนไม่ดี ข้อมูลก็วิ่งช้า หรืออาจจะหายไปเลย
Protocol ก็เหมือนภาษากลางที่อุปกรณ์ต่างๆ ใช้คุยกัน ที่ฮิตๆ ก็มี MQTT, CoAP, HTTP พวกนี้แหละ แต่ละตัวก็มีข้อดีข้อเสียต่างกันไป ต้องเลือกให้เหมาะกับงาน
// ตัวอย่าง MQTT message (JSON)
{
"temperature": 25.5,
"humidity": 60
}
พวก TLS/SSL นี่สำคัญมาก มันช่วยเข้ารหัสข้อมูล ทำให้ Hacker ดักจับข้อมูลไปอ่านไม่ได้ ลองนึกภาพว่าถ้า Hacker ดักจับ Password ของ Wi-Fi ที่บ้านเราได้ จะเกิดอะไรขึ้น? ต้องระวัง!
สำหรับคนที่อยากลองเล่น IoT Security เอง ผมแนะนำให้เริ่มจากง่ายๆ ก่อน อย่าเพิ่งไปซื้ออุปกรณ์ราคาแพง ลองใช้พวก Raspberry Pi หรือ ESP32 ดูก็ได้ ราคาไม่แพง แถมมี Community ช่วยเหลือเยอะแยะ
เริ่มต้นก็ต้องมีเครื่องมือพัฒนาโปรแกรมก่อน ผมแนะนำให้ใช้ VS Code หรือ Atom ก็ได้ แล้วก็ต้องลงพวก Library ที่จำเป็นสำหรับ IoT ด้วย
# ตัวอย่างการติดตั้ง Library สำหรับ ESP32 ใน PlatformIO
platformio lib install PubSubClient
อันนี้สำคัญมาก! เปลี่ยน Password default ของอุปกรณ์ทุกตัว อย่าใช้ Password ง่ายๆ เด็ดขาด แล้วก็เปิด Firewall ด้วย เพื่อป้องกันการบุกรุกจากภายนอก
อัพเดท Firmware ของอุปกรณ์ให้เป็นเวอร์ชั่นล่าสุดเสมอ เพราะ Firmware ใหม่ๆ มักจะมีการแก้ไขช่องโหว่ด้าน Security ที่สำคัญ SiamCafe Blog เคยมีบทความเรื่อง Firmware Update ด้วยนะ
จริงๆ แล้วมีหลายวิธีในการรักษาความปลอดภัยของ IoT Network ไม่ว่าจะเป็นการใช้ VPN, Firewall, หรือ IDS (Intrusion Detection System) แต่ละวิธีก็มีข้อดีข้อเสียต่างกันไป ลองดูตารางเปรียบเทียบด้านล่างนี้
| วิธี | ข้อดี | ข้อเสีย |
|---|---|---|
| VPN | เข้ารหัสข้อมูล, ป้องกันการดักจับข้อมูล | อาจจะทำให้ Internet ช้าลง |
| Firewall | ป้องกันการบุกรุกจากภายนอก | อาจจะ Config ยาก |
| IDS | ตรวจจับการบุกรุกได้ | ต้องมีคนคอยดูแล |
สรุปแล้ว ไม่มีวิธีไหนดีที่สุด ต้องเลือกให้เหมาะกับความต้องการและความสามารถของตัวเองครับ
เอาล่ะน้องๆ มาถึงส่วนสำคัญที่สุดแล้ว นั่นคือ "ของจริง" ที่พี่เจอมากับตัว สมัยทำร้านเน็ต SiamCafe น่ะ เรื่อง Security ไม่ใช่แค่ทฤษฎี แต่เป็นเรื่อง "เอาตัวรอด" เลยนะ เพราะถ้าโดนแฮก โดนไวรัส ลูกค้าเดือดร้อน ร้านเจ๊ง! พี่เลยมีเคล็ดลับที่ "ลองแล้ว เวิร์คจริง" มาฝาก
คิดง่ายๆ เหมือนบ้านเรา ถ้าเราเอาทุกอย่างมากองรวมกันในห้องเดียว โจรมันก็ปล้นง่าย! Network ก็เหมือนกัน แบ่ง VLAN ซะ! Guest Network สำหรับลูกค้า, Internal Network สำหรับเครื่องคิดเงิน, IoT Network สำหรับอุปกรณ์ Smart Home แยกกันไปเลย ถ้า IoT โดนเจาะ ก็ไม่ลามมาถึงเครื่องคิดเงินเรา
# ตัวอย่าง Config VLAN บน Cisco Switch
interface GigabitEthernet0/1
switchport mode access
switchport access vlan 10 # VLAN สำหรับ IoT
!
interface GigabitEthernet0/2
switchport mode access
switchport access vlan 20 # VLAN สำหรับ Internal
Firewall ไม่ได้มีไว้แค่เท่ๆ นะน้อง มันคือปราการด่านสุดท้าย! ตั้ง Rule ให้ดี ว่าใครเข้าออกอะไรได้บ้าง IoT Network คุยกับ Internet ได้ แต่คุยกับ Internal Network ไม่ได้! อันนี้สำคัญมาก
# ตัวอย่าง iptables rule บน Linux
iptables -A FORWARD -i eth0 -s 192.168.10.0/24 -d 192.168.20.0/24 -j DROP # IoT (192.168.10.0/24) ห้ามคุยกับ Internal (192.168.20.0/24)
IoT Device ส่วนใหญ่ "ขี้เกียจ" Update Firmware! แต่รู้ไหมว่าช่องโหว่ส่วนใหญ่มันมาจาก Firmware เก่าๆ นี่แหละ! ตั้ง Auto-Update ไว้เลย ถ้าทำได้ หรืออย่างน้อยก็เช็คเป็นประจำ
อย่ารอให้โดนแฮกแล้วค่อยรู้ตัว! ติดตั้งระบบ Monitoring ที่คอยดู Traffic ใน Network เราตลอดเวลา ถ้ามีอะไรผิดปกติ เช่น IoT Device ส่งข้อมูลไปที่แปลกๆ ก็ให้ Alert เราทันที
สมัยก่อนพี่ใช้โปรแกรมฟรีๆ อย่าง Nagios หรือ Zabbix แต่สมัยนี้มี Cloud-Based Solution ให้เลือกเยอะแยะ ลองหาดูที่เหมาะกับเรา
เพราะ IoT Device ส่วนใหญ่มัน "อ่อนแอ" กว่าอุปกรณ์อื่นๆ! ถ้าโดนแฮก จะได้ไม่ลามไปส่วนอื่นไงน้อง
หลักการคือ "Deny All, Allow Specific" คือ Block ทุกอย่างก่อน แล้วค่อย Allow เฉพาะที่จำเป็นจริงๆ
ต้องคอยเช็คเอง! หรือไม่ก็ "ตัดจบ" คือเลิกใช้ไปเลย ถ้าไม่มั่นใจใน Security
ถ้าทำได้ก็ดี! แต่ส่วนใหญ่ IoT Device มัน "เล็ก" เกินกว่าจะลง Anti-Virus ได้ ถ้าลงไม่ได้ ก็ต้องป้องกันที่ Network Level แทน
Security ของ IoT Network ไม่ใช่เรื่องยาก แต่ก็ไม่ใช่เรื่องง่าย! ต้องใส่ใจในรายละเอียด และต้อง "ขยัน" Update ความรู้เสมอ เพราะ Hacker มันก็พัฒนาตัวเองทุกวัน
หวังว่าเคล็ดลับที่พี่เอามาเล่าให้ฟังวันนี้ จะเป็นประโยชน์กับน้องๆ นะครับ อย่าลืมว่า "ความปลอดภัย" คือเรื่องที่เราต้องให้ความสำคัญเป็นอันดับแรกเสมอ!
ถ้าอยากรู้เรื่อง iCafeForex ก็ลองไปดูได้ที่ iCafeForex นะน้อง เผื่อสนใจลงทุน
และอย่าลืมติดตาม SiamCafe Blog นะครับ พี่จะพยายามเขียนเรื่อง IT ที่เป็นประโยชน์ให้อ่านกันเรื่อยๆ