WAF (Web Application Firewall) เป็นอีกหัวข้อหนึ่งของระบบความปลอดภัยทางไซเบอร์ที่เป็นข้อกำหนดของกระทรวงที่ให้ทุกหน่วยงานต้องมี

WAF ที่มีใช้ได้ฟรีกันมานานแล้วคือ Mod-security ที่เป็นตัวเสริมของ nginx ได้หมดอายุลง (End-Of-Life) เมื่อปีที่แล้ว เราจึงจำเป็นต้องหา WAF ตัวใหม่มาทดแทน ซึ่งแน่นอน ... ก็ต้องเป็นของฟรี :)

ค้นไปค้นมา เห็นมีหลายที่แนะนำ SafeLine WAF ซึ่งมีทั้ง 2 edition คือของให้ใช้ฟรี และรุ่น Pro ให้จ่ายเงิน ลำพัง Standard version ก็น่าจะเพียงพอสำหรับป้องกันความปลอดภัยได้ในระดับหนึ่งแล้ว .. ต่อไปนี้เป็นแนวทางการติดตั้ง SafeLine WAF

การปรับฐานข้อมูลจาก MySQL 5.x ไปเป็น 8.0 มีการเปลี่ยนแปลงหลายอย่าง

Character set & Collation - MySQL รุ่นเก่ามากๆ รหัสตัวอักษรจะเป็นแค่ latin กับ utf8 (3-byte) มาถึง MySQL 5.7 ค่าดีฟอลต์ collation จะป็น utf8mb4_general_ci พอมาถึง MySQL 8 ค่าดีฟอลต์ character set เป็น utf8mb4 ส่วนค่าดีฟอลต์ของ collation จะเป็น utf8mb4_0900_ai_ci ซึ่งเป็น utf8 เวอร์ชั่นที่สนับสนุนตัวอักษร 4-byte สนับสนุน Unicode รุ่นที่ 9 (0900) ส่วน ai = accent-insensitive collation และ ci = case-insensitive

ในการ upgrade ข้อมูลมา เราจึงควรเปลี่ยน character set และ collation เป็น utf8mb4 และ utf8mb4_0900_ai_ci ตามลำดับ ซึ่งทำให้ฐานข้อมูลสามารถรับข้อมูลได้กว้างขวางขึ้น รวมทั้งเก็บ emoji ได้ด้วย

การ upgrade ฐานข้อมูล ทำดังนี้ :

การเปลี่ยน IP ของเครื่อง master

ในบางครั้ง เราอาจจะต้องเปลี่ยน IP ของเครื่อง MySQL Master ที่ใช้สำหรับทำ replication

เมื่อเราเปลี่ยน IP ของเครื่อง master แล้ว จะทำให้เครื่อง slave หาเครื่อง master ไม่เจอ เพราะ IP เปลี่ยนไปแล้ว วิธีการแก้ไขทำดังนี้

1. หยุดเครื่อง slave ก่อน

mysql> stop slave;

2. เรียกดูสถานะของเครื่อง slave ว่ามันทำการ replicate ไปถึงไหนแล้ว

mysql> show slave status\G

มาดูโปรแกรมที่ให้ข้อมูลการทำงานของเครื่อง Linux กันครับ คือคำสั่ง top

เมื่อเราเรียกใช้คำสั่ง top แล้ว เราจะได้หน้าตาออกมาประมาณนี้

บรรทัดแรก:

top - 17:27:47 up  5:27,  1 user,  load average: 0.33, 0.26, 0.26

sed syntax

ทุกบรรทัด:   sed 'command ' filename
บรรทัดเดียว:   sed 'line command ' filename
หลายบรรทัดติดกัน:   sed 'startline,endline command ' filename
บรรทัดที่มี pattern:   sed 'pattern command ' filename