Page 36 - การบริหารความมั่นคงปลอดภัยสารสนเทศ
P. 36
8-26 การบ ริหารค วามม ั่นคงป ลอดภัยสารสนเทศ
เร่ืองที่ 8.3.1
การเสรมิ ส ร้างค วามม ่ันคงปลอดภัยใหก้ ับร ะบบฐานขอ้ มลู
การเสริมสร้างความม ั่นคงปลอดภัยให้กับร ะบบฐ านข ้อมูลสามารถแบ่งได้ 2 ลักษณะค ือ
• การเสริมสร้างความม ั่นคงปลอดภัยให้ก ับซ อฟต์แวร์ร ะบบฐ านข้อมูล (hardening)
• การเสริมส ร้างความม ั่นคงป ลอดภัยให้กับโครงสร้างพ ื้นฐานของระบบ (securing the infrastructure)
1. การเสรมิ ส ร้างความมน่ั คงปลอดภยั ใหก้ ับซอฟตแ์ วรร์ ะบบฐานข อ้ มลู
การเสริมสร้างความมั่นคงปลอดภัยให้กับซอฟต์แวร์ระบบฐานข้อมูล หรือที่เรียกกันว่าการฮาร์เดนนิ่ง
(hardening) คือการปรับแต่งค่าต่าง ๆ ที่กำ�หนดให้ซอฟต์แวร์ระบบฐานข้อมูลมีความมั่นคงแข็งแรงมากยิ่งขึ้นกว่า
การต ดิ ต ัง้ โดยป กติ รายล ะเอียดก ารเสรมิ ส ร้างค วามม ัน่ คงป ลอดภยั ข องแ ต่ละร ะบบฐ านข อ้ มลู จ ะแ ตกต ่างก นั อ อกไปใน
ที่น ี้จ ะก ล่าวถ ึงแ นวทางก ารป รับแ ต่งค ่าซ อฟต์แวร์ร ะบบฐ านข ้อมูล MySQL ซึ่งเป็นซ อฟต์แวร์ร ะบบจ ัดการฐ านข ้อมูลท ี่
ได้ร ับค วามนิยมใช้ก ันอย่างแพร่หลาย โดยก ำ�หนดให้ใช้ค่าดังต ่อไปน ี้ในการใช้ง านโปรแกรม mysql ซึ่งเป็นโปรแกรม
หลักในก ารให้บ ริการร ะบบฐ านข ้อมูล การจ ัดการเสริมสร้างค วามมั่นคงป ลอดภัยให้ก ับร ะบบ และก ารป รับตั้งค่าอ ื่น ๆ
ทำ�ได้โดยการแก้ไขไฟล์ mysql.conf ซึ่งถ ูกเก็บไว้ใน /etc/mysql/ สำ�หรับร ะบบปฏิบัติการล ินุกซ์ หรือ C:\Program
Files\MySQL\MySQL Server\ สำ�หรับร ะบบปฏิบัติการว ินโดวส์ โดยแ นะนำ�ให้ป รับตั้งค่าด ังนี้
• --local-infile=0 เพื่อป้องกันการ LOAD ฐานข ้อมูลจ ากภ ายในเซิร์ฟเวอร์
• --safe-show-database เพื่อให้การแ สดงผ ลค ำ�สั่ง SHOW DATABASES แสดงฐ านข้อมูลท ี่ผู้ใช้ง าน
มีส ิทธิ์เรียกใช้เท่านั้น
• --safe-user-create เพื่อป้องกันผู้ใช้งานทั่วไปสร้างบัญชีผู้ใช้งานใหม่ด้วยคำ�สั่ง GRANT ยกเว้นผู้ใช้
งานน ั้น ๆ มีสิทธิ์ใช้ง านคำ�สั่ง INSERT กับ MYSQL.USER
• --secure-auth เพื่อกำ�หนดให้การพิสูจน์ต ัวต นเป็นไปต ามท ี่กำ�หนดใน MySQL รุ่น 4.1 หรือมากกว่า
• --skip-name-resolve ป้องกันการโจมตีแ บบ DNS Poisoning
• --skip-symbolic-links เพือ่ ป อ้ งกนั ก ารเขา้ ถ งึ ต ารางข อ้ มลู ผ า่ นร ะบบไฟลใ์ นก รณที ซี่ อฟตแ์ วรร์ ะบบท �ำ งาน
บนระบบปฏิบัติการ Linux หรือ UNIX
• set-variable = local-infile=0 เพื่อป้องกันก ารใช้ง านคำ�สั่ง LOCAL INFILE
และ ไม่ใช้ง าน ออปชั่นดังต่อไปนี้
• --skip-grant-tables
• --enable-named-pipe ในกรณีที่ซอฟต์แวร์ระบบท ำ�งานบนระบบปฏิบัติก ารว ินโดวส์
และ
• ห้ามให้ส ิทธิ์การเข้าถ ึง PROCESS, FILE หรือ SUPER แก่ผ ู้ใช้งานท ี่ไม่เกี่ยวข้องก ับการดูแลระบบฐาน
ข้อมูล
• ไม่ค วรให้ร ะบบฐ านข้อมูลท ำ�งานอ ยู่บ นเครื่องเดียวกับเว็บเซิร์ฟเวอร์
• ใช้พ าสเวิร์ดท ี่มีความมั่นคงปลอดภัยสูง