หลังจาก ติดตั้งและคอนฟิก BIND DNS เซิร์ฟเวอร์ – ตอนที่ 1 caching only เสร็จเรียบร้อย
ในตอนนี้จะมาดูวิธีการเพิ่มข้อมูลโดเมนใหม่เพื่อแปลงชื่อเป็น IP Address เช่นไว้ใช้สำหรับภายในองค์กรเอง หรือถ้าเราจดทะเบียนชื่อโดเมนบนอินเตอร์เน็ตแล้ว ต้องการให้บริการแก่คนอื่น วิธีการที่จะแปลงชื่อเช่น www.example.com มาเป็น IP Address ของเครื่องเว็บเซิร์ฟเวอร์ของเรา แทนที่ต้องไปเสียค่าบริการเช่า DNS hosting เพิ่มเติม เรามาคอนฟิกตั้ง DNS Server แล้วชี้ name server มาที่ IP ของเซิร์ฟเวอร์ที่เรากันดีกว่า
ความเห็นส่วนตัว DNS Server จัดว่าเป็นโปรแกรมหรือเซอร์วิสที่อยู่เบื้องหลังความสำเร็จของอินเตอร์เน็ตอย่างหนึ่ง คือแทนที่ผู้ใช้จะต้องจำและระบุ IP Address ในการเรียกใช้บริการเซิร์ฟเวอร์เครื่องอื่นๆ ผู้ใช้ก็สามารถใช้ชื่อแทนได้ เช่นแค่ระบุชื่อ www.google.com ก็สามารถเข้าสู่เว็บไซต์ของ google ได้ แทนที่ต้องระบุ IP Address เครื่องเซิร์ฟเวอร์ของ google ซึ่งมีอยู่มากมาย และอาจมีการเปลี่ยนแปลงได้ตลอดเวลา
เรามาลองดูวิธีการติดตั้งและคอนฟิก DNS กัน ผู้เขียนขอเลือกใช้ BIND ซึ่งถือว่าเป็นโปรแกรม DNS Server ที่มีการใช้งานกันมากที่สุดบนโลกอินเตอร์เน็ตนี้ และรองรับคุณสมบัติมาตรฐานของ DNS Server โดยจะทดสอบการติดตั้งบน CentOS 6
ตอนแรกเราจะเริ่มติดตั้ง BIND และคอนฟิกเป็น caching only ความหมายคือ คอนฟิกให้ทำหน้าที่เป็น DNS เซิร์ฟเวอร์ที่ให้บริการเครื่องไคลเอ้นต์ในการถามชื่อแล้วตอบเป็น IP Address ให้ โดยเซิร์ฟเวอร์ที่ทำหน้าที่ caching only นี้ จะทำหน้าที่ไปค้นหาข้อมูล (recursion) โดยการถาม DNS เซิร์ฟเวอร์ตัวอื่นๆ ที่อยู่บนอินเตอร์เน็ต จนกว่าจะได้คำตอบว่า ชื่อที่ไคลเอ้นต์ถามมา มี IP Address เป็นอะไร
หลังจากที่ได้นำเสนอวิธีแก้ไขตามบทความ ลืม root password บนลีนุกซ์ ต้องแก้ไขอย่างไร – ตอนที่ 1 แก้โดย single user mode ไปแล้วนั้น
ถ้ามีการใส่คอนฟิก password ใน GRUB แล้วเราเองก็ไม่ทราบหรือลืม password นี้ไปด้วย ต้องใช้อีกวิธีในการแก้ไข คือใช้แผ่นดีวีดีติดตั้ง
จะเนื่องด้วยสาเหตุใดก็แล้วแต่ หากลืมรหัสผ่านของ root หรือ root password บนลีนุกซ์ คุณก็ไม่สามารถแก้ไขคอนฟิกหรือทำอะไรได้เลยในระดับแอดมิน (root) ของเครื่อง ยกเว้นจะมีการใช้ sudo เพื่อเพิ่มสิทธิผู้ใช้ธรรมดา ให้เทียบเท่า root ได้
โดนถามอยู่เรื่อยๆ ว่าต้องทำอย่างไร จึงเลยขอโอกาสนำมาอธิบายวิธีการแก้ไขกัน โดยใช้วิธีการที่ผู้เขียนคิดว่าถูกต้อง เหมาะสม ผู้ที่ดูแลเครื่องจริงๆ เท่านั้นน่าจะเป็นผู้ทำได้
ในที่นี้ทดสอบกับ CentOS 6 ซึ่งสามารถนำวิธีการนี้ไปใช้ได้กับ CentOS 5 หรือ Fedora เวอร์ชั่นต่างๆ ได้ ส่วนลีนุกซ์ดิสทริบิวชั่นอื่นๆ วิธีการอาจแตกต่างกันไปเล็กน้อย แต่หลักการน่าจะใกล้เคียงกัน
เพื่อป้องกันไม่ให้ผู้ไม่มีสิทธิ์หรือผู้ไม่ปรารถนาดีทั้งหลาย ใช้เมล์เซิร์ฟเวอร์เราส่งอีเมล์ไปยังคนอื่นๆ ไม่ว่าจะตั้งใจหรือตั้งใจในรูปแบบสแปมหรือปลอมแปลงอีเมล์ทั้งหลาย
แนะนำให้คอนฟิก SMTP AUTH ในเมล์เซิร์ฟเวอร์ เพื่อให้ก่อนที่จะส่งอีเมล์ได้นั้น ต้องมีการระบุตัวตนด้วยการใส่ user, password ให้ถูกต้องก่อน ถึงจะส่งเมล์ได้
ในที่นี้จะแสดงการคอนฟิก postfix ในส่วนของพอร์ต submission (TCP 587) ที่รองรับการส่งอีเมล์จากผู้ใช้ โดยให้มีการใส่ user, password แล้วนำไปตรวจสอบกับ dovecot เหมือนกับก่อนที่จะอ่านเมล์ได้ ไม่ว่าจะเป็น pop หรือ imap ต้องล็อกอินก่อน
read more…
หลังจากที่ คอนฟิก postfix เบื้องต้น บน CentOS 6
ในตอนนี้เราจะเพิ่มความปลอดภัยในการส่งเมล์ (SMTP) เข้าเมล์เซิร์ฟเวอร์ที่รัน postfix ด้วยการให้ผู้ส่งเข้ารหัสการส่งเมล์ด้วยการคอนฟิก TLS
เพื่อให้สามารถใช้งานเซิร์ฟเวอร์ในบริษัทจากที่ไหนก็ได้ ผ่านทางมือถือไม่ว่าจะเป็น Android หรือ iPhone แทนที่จะเปิดพอร์ตแล้วให้เครื่อง client เชื่อมต่อโดยตรงจากอินเตอร์เน็ต ซึ่งค่อนข้างอันตรายต่อความปลอดภัยของระบบ
วิธีการหนึ่งที่ทำได้คือใช้การเชื่อมต่อ VPN แบบ PPTP ซึ่งติดตั้งมาอยู่แล้วไม่ว่าจะเป็น iPhone, Android หรือแม้กระทั่ง Windows เวอร์ชั่นต่างๆ เชื่อมต่อเข้า PPTP Server จะทำให้มีความปลอดภัยเพิ่มขึ้น เพราะจะมีการตรวจสอบ user, password ก่อนที่จะเชื่อมต่อได้
ในที่นี้จะแนะนำวิธีการติดตั้งและคอนฟิก PPTP Server บนลีนุกซ์ โดยทดสอบบน CentOS 6
อุปกรณ์หลายตัวที่เชื่อมต่อเน็ตเวิร์กได้ เช่น Router, ADSL Modem, Switch ส่วนใหญ่จะสามารถเก็บ log เหตุการณ์ที่เกิดขึ้นในอุปกรณ์ เพื่อใช้ในการแก้ไขปัญหาการใช้งานได้
แต่พื้นที่ที่ใช้เก็บ log ในตัวอุปกรณ์เหล่านี้ส่วนใหญ่จะมีขนาดไม่มาก ใช้ flash หรือ memory เล็กๆ ในการเก็บ log มีขนาดไม่กี่ MByte เท่านั้น ทำให้เมื่อเก็บไประยะ ต้องเคลียร์หรือเขียนทับของเก่าลงไป
หากต้องการเก็บ log ย้อนหลัง แนะนำให้คอนฟิกเพื่อส่ง log ไปเก็บยังเซิร์ฟเวอร์ที่ติดตั้งโปรแกรมประเภท syslog ไว้
ลีนุกซ์เกือบทั้งหมดจะติดตั้งโปรแกรมประเภท syslog ไว้ แต่ดีฟอลต์จะไม่รับ log จากเครื่องอื่น ในที่นี้เราจะมาคอนฟิกลีนุกซ์เพื่อให้รับ log หรือ syslog จากเครื่องอื่นได้
ในหลายครั้งเมื่อมีโอกาสใช้หน้าจอคอนโซลของลีนุกซ์ พบว่ามีการล็อกอินทิ้งไว้ ซึ่งค่อนข้างเป็นอันตรายโดยเฉพาะอย่างยิ่งหากล็อกด้วย root ทิ้งไว้
เพื่อความปลอดภัยของเครื่อง แนะนำให้ตั้งเวลาไว้ ว่าถ้าไม่มีการใช้งานภายในเวลาที่กำหนด ให้ logout ออกโดยอัตโนมัติ
วิธีการตั้งค่าเวลา auto logout ในที่นี้ เป็นการตั้งค่าตัวแปร TMOUT ซึ่งจะมีผลเฉพาะล็อกอินแล้วใช้ BASH เป็น shell เท่านั้น ซึ่งลีนุกซ์ส่วนใหญ่จะใช้ shell นี้เป็นดีฟอลต์อยู่แล้ว
ช่วงหลัง หันมาศึกษาและใช้ SELinux อย่างจริงจัง พยายามจะไม่ปิดการใช้ SELinux แต่จะแก้ไขคอนฟิก อนุญาตเป็นรายโปรแกรมไป
บทความนี้ขอแปะวิธีแก้ไข SELinux บนเครื่องที่รัน vsftpd FTP Server เพื่อให้ผู้ใช้สามารถล็อกอิน ftp เข้ามา home ของผู้ใช้เองได้

