Way-to-Make-Server-Security-Part-II.jpg

 

       สวัสดีครับ ต่อจาก Way to Make Server Security Part I นะครับ บทความนี้ผมจะกล่าวถึงขั้นตอนที่สำคัญ ๆ ในการสร้าง Server Security กันนะครับ โดยผมจะกล่าวถึงเฉพาะส่วนที่ควรต้องทำ เพราะหากจะกล่าวถึงการทำ Server Security ทั้งหมดบทความคงยาวเกินไปแน่ ๆ

Strong Server Passwords

       การตั้งรหัสผ่านมีความสำคัญมากเป็นลำดับต้น ๆ เลย ต้องมีความซับซ้อน ผสมกันทั้ง ตัวอักษร ตัวเลข อักขระพิเศษ รวมถึงมีจำนวนความยาวของรหัสผ่านที่เหมาะสมที่แข็งแรงพอ

 

Enable Firewall

       ในเรื่องของการใช้งาน Firewall นั้นมีความสำคัญมากๆ เพราะมันจะช่วยป้องกันการเชื่อมต่อที่ไม่พึงประสงค์ที่พยายามเชื่อมต่อมายังเซิร์ฟเวอร์  มีหลายตัวให้เลือกใช้งาน Firewalld ของ CentOS เอง , Hardware Firewall หรือ ThirdParty เช่น CSF (ConfigServer Security & Firewall) หรืออื่น ๆ

Update Kernel

       ในเรื่องของการ Update kernel และ rpm packages ของเครื่องเซิร์ฟเวอร์ให้ทันสมัยที่มีความเสถียรแล้ว(Stable Version) เพื่อช่วยให้ป้องกัน ช่องโหว่ต่าง ๆ อันอาจจะมาจาก OS เอง หรือ RPM Packages ที่ติดตั้งใช้งานบนระบบเซิร์ฟเวอร์  ซึ่งในระบบ Linux นั้นเราก็ใช้ yum command(CentOS)  ซึ่งเมื่อระบบเซิร์ฟเวอร์มีการรัน Online ไปแล้วเรามีเครื่องมือที่ช่วยให้เราสามารถทำการ Update Kernel ของเราให้ทันสมัยเสมอ โดยที่ไม่ต้องทำการ Reboot เซิร์ฟเวอร์ให้เสียเวลา เช่น KernelCare

SSH Secure

        SSH/Shell เป็นเครื่องมือที่ใช้ในการ Remote เข้ามาที่ระบบเซิร์ฟเวอร์ จึงมีความจำเป็นอย่างมากที่จะต้องทำการป้องกันการโจมตีจากส่วนนี้ นอกจากการ update ให้เป็น version ล่าสุดแล้ว ควรต้องทำการสร้าง User login เฉพาะที่ต้องการเท่านั้น รวมถึงทำการเปลี่ยน Protocol , SSH Port และปิดการทำ Root login

Update Software Management

       ควรดำเนินการเพื่อ update ให้ระบบบริหารจัดการที่ใช้ทันสมัยที่สุด เพื่อป้องกันช่วงโหว่ต่างๆ รวมถึง bug ที่มีการแก้ไขมาจาก Vendor ด้วย ทั้งนี้หากเป็น Software อื่น ๆ เช่น Plesk  ก็ควรต้องทำการ update ให้เป็นเวอร์ชั่นล่าสุดเช่นกัน

Keep SSL Based

       การเชื่อมต่อไปยังระบบหรือ Application ที่เราใช้งานบนระบบเซิร์ฟเวอร์ต้องบังคับให้เป็นการเชื่อมต่อด้วย SSL เท่านั้น เพื่อความปลอดภัยในการAccess เข้าใช้งานระบบ

Disable Compiler Access

        ทำการ Disable Compiler Access กับ Users ทั้งหมดในระบบ เพื่อป้องกันการรัน script หรือ program ที่ไม่พึงประสงค์จำพวก  C compiler บนระบบเซิร์ฟเวอร์ ซึ่งผู้ดูแลก็สามารถทำการ Enable เป็นราย User ได้หาก verify แล้วไม่เป็นปัญหา

Hardening tmp partition

       บนระบบเซิร์ฟเวอร์ Linux นั้นมีการเรียกใช้งาน /tmp  อยู่ ดังนั้นต้องมีการทำ secure ให้มันซึ่งในระบบ cPanel นั้นสามารถดำเนินการได้ด้วยการรัน script commanline ที่ทาง cPanel มีให้

Install Virus Protection

        บนระบบเซิร์ฟเวอร์ Linux นั้นแม้จะมีความปลอดภัยเรื่อง Virus อยู่ระดับนึงแล้วก็ความต้องมีการติดตั้งเพิ่มเติมโดยในที่นี้ขอเสนอตัว ClamAV ซึ่ง cPanel มีมาให้เราสามารถทำการติดตั้งได้อย่างง่ายดาย

Install RKHunter

        RKhunter เป็น Application ซึ่งเราใช้ในการตรวจจับ Rootkits, backdoors และ exploit อื่น ๆ บนระบบเซิร์ฟเวอร์ที่ตัวมันตรวจเจอ ซึ่งเราสามารถทำการติดตั้งผ่านทาง Command Line

Disable Anonymous FTP

       บ่อยครั้งเลยที่มักเจอปัญหาการ upload malicious scripts ขึ้นมายังระบบเซิร์ฟเวอร์ ด้วยการใช้ช่องทางการ FTP ผ่าน Anonymous User ดังนั้น จำเป็นอย่างยิ่งที่ต้องทำการ Disable Anonymous FTP

SYSCTL Tweak

       /etc/sysctl.conf เป็น text file ที่เก็บ Parameter ค่า sysctl value ที่จะถูกเรียกใช้ทันทีตอนที่มีการ boot ระบบซึ่งมันสามารถจัดการได้ทั้ง kernel, networking หรือSystem parameter อื่น ๆ

    ค่าที่เราควรมีการตั้งไว้ เช่น

  •  Enable SYN Cookie Protection
  •  Turn on exexcshield
  •  Enable IP spoofing protection
  •  Disable IP Source routing

Apache And PHP Security

        ในเรื่องของ Web Service ก็ต้องมีการทำ secure ในที่นี้เริ่มที่ต้องมีการติดตั้ง ModSecurity เพื่อป้องกันการโจมตีในลักษณะที่เป็นพวก Code injection เป็นต้น   นอกจากนี้ยังมีตัว Mod_evasive ที่จะช่วยป้องกันการ DDos มาที่เว็บไซต์ของลูกค้าเรา ซึ่งหากมีการ access ที่ผิดปกติเข้ามาก็จะถูก deny ไป ในส่วนของ PHP เองก็ควรต้องมีการปรับ mode เพื่อความปลอดภัย เช่นเลือกใช้งาน suPHP และเลือก suEXEC สำหรับรันพวก CGI script ของ User รวมถึงต้องมีการ Enable open_basedir เพือป้องกันการวาง script ไม่พึงประสงค์นอก home directory ของ User  และที่สำคัญอีกประเด็นนึงคือ ต้องมีการ Disable Function ที่ไม่จำเป็นออก เช่น

       show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open, allow_url_fopen

Keep Your Monitor Always

ไม่ว่าอย่างไรก็แล้วแต่ คุณต้องมีระบบ Monitor ที่ดีเพราะตราบใดก็ตามที่เครื่องเซิร์ฟเวอร์คุณยัง Online, Application ยัง running, ระบบเซิร์ฟเวอร์ยังมีเจ้าหน้าที่ต้อง Access ได้อยู่ เซิร์ฟเวอร์ของคุณก็ยังไม่มีความปลอดภัยแบบ 100% เต็ม  เราต้อง monitor ถึง patch ใหม่ ๆ , ช่องโหว่ที่เกิดขึ้นใหม่ ๆ และรีบทำการ update kernel, software ต่าง ๆ บนระบบเซิร์ฟเวอร์ของคุณให้ทันสมัยเสมอนั่นแหละถึงจะสร้างความมั่นใจใน Server Security ได้

 

หากต้องการ ดูสไลด์ Way to Make Server Security 

download.png