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