
หลังจากที่เพื่อนๆ ได้ทำการติดตั้ง และ Implement อุปกรณ์ใดๆก็ตามแล้ว การทำ Best Practice ยังคงเป็นส่วนที่สำคัญมาก โดยเราจะได้ยินมาเสมอว่า คำว่า “ใช้งานได้” กับ “ใช้งานได้อย่างมั่นคง” มีความหมายที่ต่างกันเป็นอย่างมาก โดยในบทความนี้ จะมาพูดถึงเรื่อง Post Installation Checklist หลังการ Implement Fortigate ว่า หลังจากการขึ้นระบบได้แล้ว จะต้องตั้งค่าอะไรเพิ่มเติมบ้าง เพื่อให้ทั้ง Engineer เอง และลูกค้า Happy กันทั้ง 2 ฝ่ายครับ
1.) อัพเกรด FortiOS Firmware
อัพเกรด FortiOS Firmware ให้มีความใหม่อยู่เสมอ เพื่อป้องกันช่องโหว่ที่เกิดขึ้น โดย Firmware ที่เป็น FortiOS จะมีรหัสพ่วงท้าย (tag) มาด้วยกัน 2 รหัสคือ
(M) – mature เป็น patch ที่ทำการ Bug Fixes ที่เกิดขึ้นอย่างเดียว ไม่ได้มีการอัพเดท Feature ใหม่เข้ามาเพิ่ม ซึ่งจะแตกต่างจาก Firmware ที่ลงท้ายด้วย
(F) – Feature เป็น Patch อัพเดท feature ใหม่ๆ มาให้ใช้งานกัน + Bug Fixes
โดยทาง Fortinet แนะนำว่า ให้เลือกอัพเกรด Firmware ที่ลงท้ายด้วย (M) ในงาน Production เพื่อป้องกัน Bug ที่อาจจะเกิดขึ้นหลังการ Upgrade ได้ โดยเพื่อนๆสามารถเข้าไปดู Firmware ที่ทาง Fortinet แนะนำได้จาก Link : Recommended Release for FortiOS ซึ่งจะมีการอัพเดทในทุกๆ ไตรมาศ ครับผม
และเพื่อนๆสามารถดู Upgrade Path / Known Issue / Resolve Issue ของ Firmware version ที่จะอัพเกรดไป ได้จาก https://docs.fortinet.com/upgrade-tool/fortigate ครับผม
2.) Disable การ Access เข้า Fortigate จากขา WAN
ควรมีการปิด การ Access จากขา WAN เข้ามาที่ Fortigate เพื่อป้องกันการโดน Hack จากผู้ไม่ประสงค์ดี โดยสามารถปิดได้จาก Network –> Interface –> Disable all –> OK
หรือถ้าทำผ่าน CLI จะใช้คำสั่ง
config system interface edit <external-interface-name> ==> คือขา wan นั่นเอง unset allowaccess
ซึ่งเราจะเปลี่ยนไปใช้ท่า VPN แทน เพื่อ remote support ให้กับทางลูกค้าครับ
2.1) Disable interface ที่ไม่ได้ใช้งานทิ้ง เพื่อความปลอดภัยเช่นเดียวกันกับข้อ 2 ครับ
3.) กำหนด Admin Profile ให้กับแต่ละคนที่ access เข้ามาได้
เพื่อจัดระเบียบของตำแหน่ง และหน้าที่ , role ของ admin ที่จะ access เข้ามาครับ ว่า user ไหน สามารถทำอะไรได้บ้าง โดยเข้าไปที่ System –> Admin Profiles –> Create New –> เลือกว่า ใครสามารถทำอะไรได้บ้าง
เมื่อทำเสร็จแล้ว สามารถไป apply กับ admin user ได้ที่ System –> Administrators –> Create New –> เลือก administrator Profile ที่จะให้ user นั้นๆ ใช้งานได้เลยครับ
4.) เปิด TLS version 1.2 ขึ้นไป สำหรับ HTTPS Access
โดยสามารถเปิดผ่าน CLI ได้โดยใช้คำสั่ง
config system global set admin-https-ssl-version tlsv1-2 tlsv1-3 ==> กรณีต้องการใช้งาน 2 version end
และสามารถเช็คว่า Fortigate เปิดใช้งาน TLS version ไหนอยู่ ได้จาก CLI
show full-configuration | grep admin-https-ssl-versions
5.) เปลี่ยน Port ที่ใช้ในการ Access เข้า Fortigate
โดยควรจะเปลี่ยนจาก Port Default เดิม (Standard) เป็น Port ใหม่ (non-standard) ที่อยู่ใน Range Registered Ports: 1024 through 49151 เพื่อหลีกเลี่ยงการชนกับระบบ และ ไม่ได้เป็น Port ที่นิยมใช้กัน เช่น 8080, 8443, 2222 เป็นต้น เพื่อป้องกัน Bot ยิง brute force โดยตัวอย่างจะเปลี่ยน Https จาก 443 ==> 15443 (15 เป็นเลขวันก่อตั้งองค์กร) แล้ว Flip กลับหลัง ==> 34451
SSH จาก 22 ==> 41722 (417 เป็นที่อยู่ขององค์กรเรา เป็นต้น)
5.1) Login Timeout (idle-timeout) GUI –> ควรตั้งค่าไว้เป็น 5 นาที ตาม Default
5.2) Login Timeout (idle-timeout) SSH –> ควรตั้งค่าให้น้อยๆ เพื่อป้องกันการโดน Brute Force โดย Default จะตั้งค่า SSH Session 2 นาที เราสามารถไปปรับได้จาก CLI ครับ
config system global set admin-ssh-grace-time <เวลาเป็นวินาที> end
6.) Limit Admin Access From Trusted Hosts
เป็นการตั้งค่าให้เฉพาะ Host ที่มี IP ที่เรากำหนด สามารถ Login เข้า Fortigate ได้ เพื่อเพิ่ม Security ให้กับองค์กรของเราครับ โดยสามารถทำได้ที่ System –> Administrators –> เลือก account ของ admin –> enable Restrict login to trusted hosts แล้วใส่ IP ของเครื่องที่เป็น admin นั้นๆ ได้เลยครับ
7.) ใช้งาน 2FA บน admin account หรือ VPN Account
เพื่อเพิ่มความ Security มากขึ้น โดย Fortigate จะมี Free License ให้ กับ FortiToken 2 Licenses ติดมากับทุกๆรุ่นอยู่แล้ว โดยเราสามารถเปิด 2FA ตอน login เข้ามาที่ Fortigate หรือ เมื่อ VPN ผ่าน FortiClient ก็สามารถแปะ 2FA ไปได้เช่นกัน โดย Fortigate จะมี Authentication Method Types 2 แบบ คือ ส่งรหัส OTP ผ่าน FortiToken Apps (Push Notification), Email
7.1) เปิดใช้งาน 2FA บน admin account ผ่าน FortiToken Apps
สามารถเข้าไปตั้งค่าที่ System –> Administrators –> เลือก Account ที่ต้องการจะแปะ Fortitoken –> เปิดใช้งาน Two-factor Authentication –> เลือก Authentication Type FortiToken –> เลือก Token ที่ต้องการใช้งาน (จะมีมาให้ฟรี 2 License) –> send activation Code : Email –> ใส่ Email ที่ต้องการจะรับ Activation Code –> OK
จะมี Email เด้งเข้ามา ให้เรา download application ที่ชื่อ FortiToken (มีทั้ง Android / iOS) จากนั้นให้ scan barcode ใน email หรือ fill activation code แบบ static ก็ได้ครับ
หลังจากนั้นบน application ก็จะขึ้น Token ที่เรา Register ไว้ครับ
7.1.1) ตั้งค่า Push Notification
เพื่อเพิ่มความสะดวกสบายในการใช้งานมากยิ่งขึ้น เราจะตั้งค่า Fortigate ให้ใช้งาน FortiToken แบบ Push notification เพื่อจะได้ไม่ต้องเปิดแอพ กรอกรหัสผ่านทุกครั้งที่ต้อง login โดยสามารถทำผ่าน CLI ดังนี้
config system ftm-push set server "x.x.x.x" ==> ขา wan IP ของ Fortigate / หรือใช้เป็น DDNS ก็ได้ครับ set status enable end
จากนั้นเปิด Ping และ FTM (FortiToken Mobile service) บน admin access ที่ขา wan ที่เราตั้งค่าไว้
config system interface edit <name> ==> ชื่อ interface ของขา wan set allowaccess ftm ping next end
เมื่อเรา login เข้า Fortigate จะแสดง pop-up Fortitoken บนมือถือของเรา ทำให้เราสามารถ Login ได้อย่างง่าย โดยไม่ต้องเปิดแอพแล้วมากรอกรหัสอีก
7.2) เปิดใช้งาน 2FA บน admin account ผ่าน Email
ทางตัวของ Fortigate ก็สามารถส่ง OTP มาผ่าน Email ได้เหมือนกัน ในกรณีที่ไม่สะดวกในการติดตั้ง Application FortiToken หรือ มี admin 3 คน แล้วใช้ FortiToken ครบ 2 License แล้ว โดย 2FA ครับ โดยสามารถ Configure ผ่าน CLI ดังนี้
config system admin edit "ชื่อ user ของ admin account" set two-factor email set email-to "email ที่เราต้องการจะให้ส่ง OTP ไป" end
จากนั้นเมื่อ Login มาแล้ว จะมี Email ส่งเข้ามาเป็นรหัส OTP ไปที่ Email ที่เราได้ตั้งค่าไว้
โดยการทำ 2FA ผ่าน Email นี้ เราสามารถนำไปประยุกต์ใช้ได้กับ User Local ที่ใช้ในการ VPN เข้ามาก็ได้ หรือถ้า User อยู่บน LDAP หรือ Radius ก็สามารถใช้งานได้เช่นกันครับผม
Ref : https://docs.fortinet.com/document/fortigate/7.6.0/best-practices/555436/hardening