Linux Server Administration + Security บริหารเซิร์ฟเวอร์ยังไงให้ปลอดภัย ไม่กลัวโดน Hack
ผู้เขียน: สัญชัย รุ่งเรืองชูสกุล
ISBN: 978-616-7119-76-2
จำนวนหน้า: 620 หน้า
ขนาด: 16.5 x 19 x 2.9 ซม.
รูปแบบหนังสือ:
หนังสือขาวดำ
ราคาปก: 295 บาท
ราคาสั่งซื้อ: 260 บาท
- ครบทุกเรื่องทั้งที่ควรรู้และจำเป็นต้องรู้จากตัวอย่างที่ลงมือทำตามได้จริง อาทิ...
- การออกแบบ-ติดตั้ง-ปรับแต่ง Linux จากระดับพื้นฐานจนถึงระดับมืออาชีพ
- การเสริมสร้างความปลอดภัย หรือ hardening ของ Linux Server เพื่อป้องกัน hacker
- การบริหารจัดการ Linux Server จากเครือข่ายขนาดเล็กจนถึงเครือข่ายขนาดใหญ่
- การบริหารจัดการ bandwidth และควบคุมการใช้งานอินเทอร์เน็ตภายในองค์กรด้วย Squid Proxy Server
- การ backup ข้อมูล-การแก้ไขปัญหา-การใช้งานให้เต็มประสิทธิภาพ
หนังสือเล่มนี้เหมาะกับใครบ้าง
- ผู้ดูแลระบบที่สนใจศึกษาระบบ Linux Server ด้วย Redhat 6, CentOS 6 หรือ Linux เวอร์ชันก่อนหน้า เพื่อนำมาใช้ทดแทนระบบเดิม
- ผู้ดูแล Linux Server ที่ต้องการให้ระบบของตนเองมีความปลอดภัยมากยิ่งขึ้น
- นักเรียน/นักศึกษาที่ต้องการศึกษาการทำงาน Linux Server
ควรรู้อะไรมาบ้างก่อนอ่าน
- ความรู้พื้นฐานเกี่ยวกับ TCP/IP และระบบ IP Address
- หากมีความรู้พื้นฐานเกี่ยวกับเซิร์ฟเวอร์มาก่อน ไม่ว่าจะเป็น Windows หรือว่า Linux ก็จะช่วยให้เรียนรู้การใช้งานได้เร็วขึ้น
ต้องมีอะไรบ้างเพื่อทดสอบตามตัวอย่างในหนังสือ
- การทดสอบส่วนมากสามารถใช้เครื่องคอมพิวเตอร์ 1 เครื่องที่ลงโปรแกรมจำลองแบบ Virtualization เช่น VMWare Workstation หรือ Oracle Virtual Box เพื่อติดตั้งระบบปฏิบัติการ 2 ระบบ
- ระบบปฏิบัติการ Redhat 6, CentOS 6 หรือ Linux เวอร์ชันก่อนหน้า
- คอมพิวเตอร์แบบ 32 บิต หรือ 64 บิตก็ได้ การตั้งค่าคอนฟิกเหมือนกันทุกประการ
- อินเทอร์เน็ตเพื่อค้นหาข้อมูลเพิ่มเติมและดาวน์โหลดโปรแกรมที่เกี่ยวข้อง
บทที่ 1 ทำความรู้จักกับ Linux
ในบทนี้ จะเป็นการกล่าวถึง Linux และการใช้งาน Linux เป็นระบบปฏิบัติการเพื่อทดแทน Microsoft Windows เพื่อลดค่าใช้จ่ายในองค์กร โดยจะอธิบายภาพรวมของ Linux และการนำไปประยุกต์ใช้งานในองค์กร
- ประวัติและความเป็นมาของ Linux
- ทำความรู้จักกับลิขสิทธิ์แบบ Open Source
- ข้อแตกต่างระหว่าง Linux และ Windows
- ทำความรู้จักกับ Linux Distribution หรือ Linux Distro และการเลือกใช้งาน
- ทำความรู้จักกับระบบไฟล์ (File System) บน Linux
- ระบบโครงสร้างไฟล์และโฟลเดอร์บน Linux
- ระบบสิทธิของไฟล์บน Linux (File Permission)
- การจัดการโปรเซสของ Linux
- ทำความรู้จักกับ Package Name และเวอร์ชันของระบบ Linux
- การประยุกต์ใช้งาน Linux ในองค์กร
บทที่ 2 การติดตั้ง Linux เป็นเครื่องเซิร์ฟเวอร์ในองค์กร
หลังจากทราบรายละเอียดหลังจากที่ทราบรายละเอียดของ Linux ในเบื้องต้นแล้ว ในบทนี้จะเริ่มการติดตั้ง Linux เป็นระบบปฏิบัติการบนเครื่องเซิร์ฟเวอร์และการติดตั้งเครื่องเซิร์ฟเวอร์ให้ปลอดภัย
- เตรียมพร้อมก่อนการติดตั้ง Linux
- การดาวน์โหลด Linux จากเว็บไซต์
- การติดตั้ง Linux เป็นเครื่องเซิร์ฟเวอร์
- ปรับโหมดการบูต Linux จากกราฟิกโหมด (Graphic Mode)
- เป็นเท็กซ์โหมด (Text Mode)
- ข้อแนะนำในการติดตั้ง Linux เป็นเซิร์ฟเวอร์ให้ปลอดภัย
- ทำความรู้จักกับ Security level ต่างๆ บนระบบ Linux เซิร์ฟเวอร์ (SELinux)
- ตรวจสอบการทำงานของ SELinux
- การกำหนดค่า SELinux
- การสั่ง SELinux ทำงานผ่าน Command Line
บทที่ 3 การบริหารจัดการ Linux เบื้องต้น
หลังจากติดตั้ง Linux แล้ว ในบทนี้จะกล่าวเบื้องต้นเกี่ยวกับการ บริหารจัดการ Linux Server โดยแสดงเป็นคำสั่งที่มีการใช้งานจริงและไฟล์ต่างๆ ที่เกี่ยวข้องในการจัดการ Linux Server
- เริ่มต้นล็อกอินเข้าสู่ระบบ Linux Server
- ใช้งานคอมมานด์ไลน์บนระบบ Linux Server
- การใช้งาน Text Editor บนระบบ Linux Server (VI, nano)
- แก้ไขไอพีแอดเดรส, Gateway และ DNS ของเครื่อง Linux Server
- ทำความรู้จักกับเซอร์วิสต่างๆ ของ Linux Server
- จัดการบัญชีรายชื่อผู้ใช้ในระบบ
- จัดการสิทธิของไฟล์และโฟลเดอร์
- ตรวจสอบล็อกไฟล์ (log file) ของระบบ
- อัปเดตเครื่อง Linux Server ให้ทันสมัย
- ติดตั้งแพกเกจเพิ่มเติมด้วยโปรแกรม RPM
- คำสั่งที่ใช้งานบ่อยบนระบบ Linux Server
บทที่ 4 บริหารจัดการ Linux Server ในระยะไกลผ่านทาง Secure Shell (SSH)
ในการใช้งานจริง การบริหารจัดการ Linux Server นั้น จะเป็นการบริหารจัดการผ่านทาง Secure Shell ในระยะไกล ซึ่งการบริหารจัดการ Linux ในระยะไกลจะทำให้ ผู้ดูแลระบบทำงานสามารถบริหารจัดการเครื่อง Linux Server ได้เสมือนกับการจัดการหน้าเครื่อง
- ทำความรู้จักกับ Secure Shell (SSH)
- การเปิดการใช้งาน SSH บน Linux Server
- การติดตั้งโปรแกรมไคลเอนต์ SSH บนเครื่องไคลเอนต์ที่เป็น Windows
- การปรับแต่ง SSH ให้ปลอดภัยจากการใช้งานกับอินเทอร์เน็ต
- เปลี่ยนพอร์ตการเชื่อมต่อจาก TCP/22 เป็นพอร์ตอื่น
- จำกัดไอพีแอดเดรสที่จะเข้าเครื่อง Linux
- จำกัดผู้ใช้งาน (หรือกลุ่มผู้ใช้งาน) ที่เข้าเครื่อง Linux
- ไม่อนุญาตให้ “Root” สามารถล็อกอินเข้าสู่ระบบได้
- เปลี่ยนโพรโตคอล SSH ให้เป็นเวอร์ชัน 2 เท่านั้น
- เปลี่ยนวิธีการล็อกอินจาก Username/Password ไปเป็นกุญแจสาธารณะ
- การดาวน์โหลดและอัปโหลดไฟล์ผ่านทางเซอร์วิส SCP (Secure Copy)
- ติดตั้งโปรแกรม SCP บนเครื่อง Windows ไคลเอนต์
- เพื่อดาวน์โหลด/อัปโหลดไฟล์ไปยัง Linux Server
บทที่ 5 การ Hardening เครื่อง Linux Server (Hardening Linux Server)
หลังจากที่เราได้เรียนรู้การใช้คำสั่งเบื้องต้นบนระบบ Linux แล้ว การติดตั้งโดยดีฟอลต์นั้น ต้องทำให้เครื่อง Linux มีความปลอดภัยมากขึ้น (Hardening Server) เพื่อลดความเสี่ยงในการถูกแฮก
- ลบบัญชีรายชื่อผู้ใช้งานที่ไม่ได้ใช้ (Unuse User)
- ปิดเซอร์วิสที่ไม่ได้ใช้งานของ Linux
- ปรับ Kernel Linux ให้ปลอดภัย
- การ Hardening เครื่อง Linux ด้วยโปรแกรม Bastille-Unix
- ยกเลิกการรีบูตจากปุ่ม [[Ctrl]] + [[Alt]] + [[Delete]]
- เปลี่ยน Banner ของระบบ Linux
บทที่ 6 การบริหารจัดการฮาร์ดดิสก์บนระบบ Linux Server
ในบทนี้จะอธิบายถึงการจัดการฮาร์ดดิสก์ของเครื่องเซิร์ฟเวอร์ โดยกล่าวถึงการจัดการสร้างซอฟต์แวร์ RAID การจัดการดิสก์โควตา (Disk Quota) รวมไปถึงการสร้างความปลอดภัยของเครื่องเซิร์ฟเวอร์ในระดับพาร์ติชัน
- ทำความรู้จักกับระบบ RAID
- ข้อแตกต่างระหว่างฮาร์ดแวร์ RAID และซอฟต์แวร์ RAID
- การใช้งานซอฟต์แวร์ RAID บนระบบ Linux Server
- ตัวอย่างการใช้งานซอฟต์แวร์ RAID แบบ RAID 1
- ตัวอย่างการใช้งานซอฟต์แวร์ RAID แบบ RAID 5
- ทำความรู้จักกับ Fake RAID (ไฮบริดฮาร์ดแวร์และซอฟต์แวร์ RAID)
- ผ่านทางโปรแกรม dmraid
- ทำความรู้จักกับระบบดิสก์โควตาบน Linux Server
- การใช้งานดิสก์โควตาบน Linux Server
- ตัวอย่างการประยุกต์ใช้งานดิสก์โควตาบน Linux Server
- เสริมสร้างความปลอดภัยของ Linux Server ในระดับพาร์ติชัน
บทที่ 7 การใช้งาน Network File Server (NFS) เพื่อการแชร์ไฟล์ระหว่างเครื่องเซิร์ฟเวอร์
ในการใช้งาน Linux Server นั้น เราสามารถแชร์ไฟล์การใช้งานระหว่างเครื่อง Linux Server ด้วยกัน ผ่านทางบริการ Network File Server (NFS) ซึ่งมีประสิทธิภาพสูง
- ทำความรู้จักกับบริการ Network File Server (NFS)
- การติดตั้ง NFS เซิร์ฟเวอร์
- การติดตั้ง NFS ไคลเอนต์
- ตรวจสอบสถานะการทำงานของ NFS
- เสริมสร้างความปลอดภัยของ NFS
- กำหนดหมายเลขพอร์ตของ NFS
- การใช้งาน NFS เวอร์ชัน 4
- การกำหนดค่าสำหรับเครื่อง NFS เซิร์ฟเวอร์
- การกำหนดค่าสำหรับเครื่อง NFS ไคลเอนต์
บทที่ 8 การติดตั้งและใช้งาน Domain Name Server (DNS) ด้วย Bind
สำหรับการใช้งานหลักบนอินเทอร์เน็ตนั้น เบื้องหลังการทำงานทั้งหมด เกิดขึ้นจาก Domain Name Server (DNS) ซึ่งเป็นบริการที่ใช้ในการแปลงจากชื่อไปเป็นไอพีแอดเดรสและจากไอพีแอดเดรสไปเป็นชื่อเครื่อง
- ทำความรู้จักกับบริการ Domain Name Server (DNS)
- การติดตั้ง Bind บนเครื่อง Linux Server
- การปรับแต่ง Bind
- ทดสอบการทำงานของเซอร์วิส DNS
- ประยุกต์ใช้งาน DNS แบบ DNS Master และ DNS Slave
- การคอนฟิก bind บนเครื่อง DNS Master
- การคอนฟิก bind บนเครื่อง DNS Slave
- การปรับแต่ง DNS ให้ปลอดภัย
- ปิดการแสดงเวอร์ชันของ Bind
- ทำความรู้จักกับ DNSSEC
- ตรวจสอบสถานะการทำงานของ DNS ให้ปลอดภัย
บทที่ 9 การติดตั้งและการใช้งานเว็บเซิร์ฟเวอร์ด้วย Apache
ในบทนี้ เราจะติดตั้ง Linux ให้กลายเป็นเว็บเซิร์ฟเวอร์ที่ให้บริการ การใช้งานบนอินเทอร์เน็ต ซึ่งครอบคลุมไปถึงการติดตั้ง การปรับแต่ง และการสร้างความปลอดภัยในการใช้งานเว็บเซิร์ฟเวอร์ด้วยครับ
- ทำความรู้จักกับ Apache เว็บเซิร์ฟเวอร์
- เริ่มติดตั้ง Apache เว็บเซิร์ฟเวอร์
- ปรับแต่งการใช้งาน Apache เว็บเซิร์ฟเวอร์
- การใช้งาน Apache แบบชื่อเสมือน (Virtual Name) แบบเว็บโฮสติ้ง
- การคอนฟิกไฟล์หลัก
- การคอนฟิกแต่ละเว็บไซต์ภายในเว็บโฮสติ้ง
- เสริมสร้างความปลอดภัยของ Apache เว็บเซิร์ฟเวอร์
- การคอนฟิกเว็บเซิร์ฟเวอร์ที่ไม่ปลอดภัย
- การเขียนเว็บไซต์ที่ไม่ปลอดภัย
บทที่ 10 ติดตั้งและใช้งานฐานข้อมูลบน Linux Server ด้วย MySQL
ในบทนี้จะกล่าวถึงการติดตั้งและการปรับแต่งระบบฐานข้อมูลด้วย MySQL ซึ่งเป็นระบบฐานข้อมูลประสิทธิภาพสูงที่ทำงานได้บน Linux Server
- ทำความรู้จักกับระบบฐานข้อมูลของเซิร์ฟเวอร์ Linux
- การติดตั้ง MySQL บนเครื่องแม่ข่าย
- การปรับแต่ง MySQL บนเครื่องเซิร์ฟเวอร์
- การใช้งาน MySQL ในระดับสูง
- การออกแบบ MySQL แบบ Replication
- การออกแบบ MySQL แบบ Cluster
- การติดตั้ง PhpMyAdmin เพื่อจัดการฐานข้อมูล MySQL ผ่านทางเว็บบราวเซอร์
- การเสริมสร้างความปลอดภัยของ MySQL
- การสำรองและกู้คืนข้อมูล MySQL
- การปรับแต่งให้ phpMyAdmin เชื่อมต่อไปยังเครื่องเซิร์ฟเวอร์อื่น
- การยกเลิกออปชันของ MySQL บางส่วนที่ไม่ใช้งานออกไป
- การยกเลิกผู้ใช้งาน และรหัสผ่าน ในกรณีที่ลืมชื่อผู้ใช้งาน และรหัสผ่านของฐานข้อมูล
- การล็อกคิวรี่ที่ใช้เวลานานเพื่อตรวจสอบ
- การป้องกันการโจมตีแบบ SQL Injection
บทที่ 11 ติดตั้งและใช้งาน FTP Server ด้วย vsftpd
ในบทนี้จะกล่าวถึง การติดตั้งระบบ File Transfer Protocol (FTP) เพื่อใช้ในการขนถ่ายไฟล์ผ่านทางอินเทอร์เน็ตซึ่งโปรแกรม vsftpd เป็นโปรแกรม FTP ที่ได้รับความนิยมเป็นอย่างมากในอินเทอร์เน็ต อีกทั้งยังเป็นโปรแกรมที่มีประสิทธิภาพสูง
- ทำความรู้จักเกี่ยวกับโปรแกรม vsftpd
- การติดตั้งโปรแกรม vsftpd
- การคอนฟิกโปรแกรม vsftpd
- เสริมสร้างความปลอดภัยของโปรแกรม vsftpd
- การใช้งาน chroot เพื่อกำหนดให้ผู้ใช้งานอยู่ในโฟลเดอร์ที่กำหนด
- การซ่อนชื่อเจ้าของไฟล์และโฟลเดอร์
- การแก้ไขเวลาในล็อกไฟล์ของ vsftpd
- การกำหนดให้ผู้ใช้งานบางคนไม่สามารถล็อกอินได้
- การเปลี่ยนการใช้งาน FTP เป็น FTPs
- การติดตั้งโปรแกรม FTP บนเครื่องไคลเอนต์
- โปรแกรม FileZilla
- โปรแกรม WinSCP
บทที่ 12 ติดตั้งและใช้งานเว็บพร็อกซี่เซิร์ฟเวอร์ด้วย Squid
ในบทนี้จะกล่าวถึงการติดตั้งการใช้งานพร็อกซี่เซิร์ฟเวอร์เพื่อช่วยลดการใช้งานแบนด์วิดท์ในองค์กร และยังสามารถตรวจสอบพฤติกรรมการใช้งานอินเทอร์เน็ตภายในองค์กรได้อีกด้วย
- ทำความรู้จักโปรแกรม Squid พร็อกซี่เซิร์ฟเวอร์
- การติดตั้งโปรแกรม Squid
- การปรับแต่ง Squid ให้สามารถใช้งานได้
- ตัวอย่างการปรับแต่ง Squid ในองค์กรแบบต่างๆ
- การกำหนดให้เครื่องไคลเอนต์บางกลุ่มเล่นได้เป็นบางช่วงระยะเวลา
- การบล็อกเว็บไซต์ที่ไม่พึงประสงค์
- การกำหนดให้เครื่องไคลเอนต์ต้องล็อกอินก่อนการใช้งาน
- การกำหนดให้ Squid เก็บล็อกในรูปแบบที่อ่านเข้าใจได้ง่าย
- การแก้ไขข้อความแสดงปัญหา (Error Page) ของ Squid
- การใช้ Squid จัดสรรแบนด์วิดท์ให้เครื่องไคลเอนต์
- ตรวจสอบการใช้งาน Proxy ผ่านทางโปรแกรม Sarg
- (Squid Analysis Report Generator)
- การใช้งาน Squid พร็อกซี่เซิร์ฟเวอร์แบบ Transparent Proxy server
- การเสริมสร้างความปลอดภัยของพร็อกซี่เซิร์ฟเวอร์
บทที่ 13 ติดตั้งและใช้งาน Microsoft Windows File & Printer sharing ด้วย Samba
ในบทนี้จะกล่าวถึงการใช้งาน Linux รวมกับเครื่องไคลเอนต์ที่เป็น Microsoft Windows XP, Vista หรือ 7 ในองค์กร ซึ่งสามารถ Share File ระหว่างเครื่อง Linux และ Windows ได้อย่างมีประสิทธิภาพ
- ทำความรู้จักเกี่ยวกับโปรแกรม Samba
- การติดตั้ง Samba
- การปรับแต่งโปรแกรม Samba
- การคอนฟิกให้เป็นไฟล์เซิร์ฟเวอร์
- การคอนฟิก Samba เข้าสู่ระบบ Active Directory ของ Microsoft Windows
- ตัวอย่างการใช้งาน Samba ให้ปลอดภัยในองค์กร
บทที่ 14 ติดตั้งและใช้งานไฟล์วอลล์ ด้วย Iptables
เสริมสร้างความปลอดภัยของ Linux โดยการจัดการไฟร์วอลล์ด้วย Iptables ซึ่งเป็นไฟร์วอลล์ประสิทธิภาพสูงบนระบบ Linux
- ทำความรู้จักกับโปรแกรม Iptables บน Linux
- การใช้งาน Iptables ผ่านทางคอมมานด์ไลน์
- เรียนรู้การใช้งาน Iptables กับบริการ NAT (Network Address Translation)
- ตรวจสอบการใช้งาน Iptables ด้วย Packet Sniffer
- ทำความรู้จัก Iptables บน Linux ของ Distro อื่น
บทที่ 15 การสำรองและกู้ข้อมูลบน Linux Server
ในบทนี้จะกล่าวถึงการสำรองข้อมูลบนระบบ Linux Server ด้วยคำสั่งต่างๆ ทั้งการเขียนสคริปต์หรือใช้โปรแกรมเสริม เพื่อใช้ในกรณีที่เครื่อง Linux Server มีปัญหา ซึ่งเป็นหน้าที่ของผู้ดูแลระบบ
- ทำความรู้จักกับการสำรองข้อมูลบนระบบ Linux Server
- การเขียนสคริปต์ที่ช่วยในการสำรองข้อมูล
- การใช้โปรแกรมเสริมในการสำรองข้อมูล
- การกู้ไฟล์ที่สำรองข้อมูลเอาไว้
บทที่ 16 การแก้ไขปัญหาที่เกิดขึ้นบน Linux
เมื่อมีการใช้งาน Linux แล้วอาจเกิดปัญหาต่างๆ เช่น เครื่อง Linux Server บูตไม่ขึ้น, ลืมรหัสผ่านของ root หรือจัดการพาร์ติชันที่มีปัญหา พร้อมด้วยการตรวจสอบประสิทธิภาพของระบบ เพื่อให้ Linux Server มีความเสถียรและพร้อมใช้งานอยู่ตลอดเวลา
- ทำความรู้จักวิธีการแก้ไขปัญหาที่ระบบ Linux
- เข้าสู่ Linux แบบ Single Mode
- เข้าสู่ Linux แบบ Rescue Mode
- จัดการพาร์ติชันที่มีปัญหา
- แก้ไขปัญหากรณีที่ Grub มีปัญหา
- เพิ่มฮาร์ดดิสก์เข้าในเครื่อง Linux Server
- ตรวจสอบประสิทธิภาพ (Performance) ของระบบ Linux Server