วันพุธที่ 29 กันยายน พ.ศ. 2553

หลักสูตรสำหรับคนที่อยากทำเซิร์ฟเวอร์ด้วย CentOS Linux Server

หลักสูตรสำหรับมือใหม่ที่ต้องการเริ่มต้นศึกษา Linux Server จนสามารถจัดตั้ง Server ที่ให้บริการต่างๆ เพื่อใช้งานในระบบเครือข่ายแทนที่ OS แบบเสียค่าลิขสิทธิ์ ในครึ่งแรกของหลักสูตรนี้เป็นการเตรียมความพร้อมและทำความคุ้นเคยต่อระบบการทำงานแบบ Linux Server ซึ่งจะใช้การป้อนคำสั่งแบบ Command Line เช่น รูปแบบการแบ่งพาร์ทิชั่นตามการใช้งาน, การติดตั้งตามเงื่อนไขที่ต้องการ, การเรียนรู้คำสั่งที่ใช้งานบ่อยๆ, หัดแก้ไขและเปลี่ยนแปลงค่า Config ต่างๆ ด้วยโปรแกรม VI, การกำหนดค่าการทำงานของระบบเครือข่าย, เรียนรู้โครงสร้างและการจัดการไฟล์ข้อมูลของ Linux, การกำหนดสิทธิการใช้งาน Permission, การ mount ระบบไฟล์, การติดตั้งโปรแกรม, การจัดการ Disk, การ Remote Server ด้วย ssh และการ Backup & Restore เป็นต้น
          ในส่วนครึ่งหลังของหลักสูตรจะเน้นไปที่การติดตั้งและคอนฟิกการทำงานของ Linux เพื่อนำไปใช้งานเป็นเครื่อง Server ที่ทำหน้าที่ให้บริการต่างๆ บนระบบเครือข่าย เช่น การติดตั้ง DNS Server, จัดตั้งระบบให้บริการ Download และ Upload ด้วย FTP Server, จัดตั้งระบบแชร์ไฟล์ข้อมูลและเครื่องพิมพ์ระหว่าง Linux และ Windows ด้วย SAMBA Server, จัดตั้งระบบให้บริการเว็บไซต์ด้วย Apache Server, จัดตั้งระบบให้บริการรับส่งอีเมลด้วย Mail Server, จัดตั้งระบบเพิ่มความเร็วในการท่องอินเทอร์เน็ตแบบ Web Caching และระบบ Authentication (ระบบพิสูจน์ตัวตน) ด้วยProxy Server, จัดตั้งระบบเก็บบันทึกข้อมูลการจราจรบนเครือข่ายอินเทอร์เน็ตด้วย Log Server, การจัดตั้งระบบรักษาความปลอดภัยด้วยการเขียนสคริปต์เพื่อกำหนดนโยบายและเงื่อนไขการทำงานด้วย Firewall Server

รายละเอียดหลักสูตร 
1. ประวัติของ Linux
2. การแบ่ง Partition เพื่อวัตถุประสงค์ด้านประสิทธิภาพ ความปลอดภัย และการบำรุงรักษาระบบ
3. การติดตั้ง Linux ด้วยตนเอง ภายใต้เงื่อนไขที่จำลองจากความต้องการขององค์กรจริง
4. การติดตั้งลีนุกซ์ร่วมกับระบบปฏิบัติการอื่น ๆ และวิธีทำเมนูเลือกแบบ Multi-Boot
5. การสร้างความคุ้นเคยกับสภาพแวดล้อมแบบ command line
6. การใช้คำสั่งที่จำเป็นสำหรับการใช้งานปกติของ Linux Administrator
7. การใช้ VI ซึ่งเป็น Text Editor หลักของระบบ Unix / Linux
8. การคอนฟิกชื่อโฮสต์และตั้งค่าเกี่ยวกับระบบเครือข่าย (IP Configuration)
9. การปฏิบัติงานภายใต้สภาพแวดล้อม Text Mode
10. การคอนฟิกและใช้งานการแสดงผลแบบกราฟฟิกส์ ( X Windows System )
11. การคอนฟิกและใช้งานเดสทอปแบบ KDE ( หรือ GNOME )
12. โครงสร้างและการจัดการแฟ้มข้อมูล โปรแกรมและไดเรคทอรี่
13. การ mount ระบบไฟล์ การ unmount และการกำหนดคุณสมบัติด้วยอ๊อปชั่นต่างๆ
14. ระบบการบูตของลินุกซ์ (Boot Process & System Services)
15. การคอมไพล์/สร้างเคอร์เนลใหม่ด้วยตนเอง (Building your own Kernel)
16. การสำรองข้อมูลระบบ (Data Backup)
17. การติดตั้งโปรแกรมจากรหัสต้นฉบับ (Installing Software from Source Code)
18. การจัดการซอฟต์แวร์แพคเกจ (Red Hat Package Management)
19. การจัดการโปรเซส (Process Management)
20. การบริหารรายชื่อยูสเซอร์และกรุ๊ป (User / Group Account Administration)
21. การควบคุมสิทธิ์การใช้งานไฟล์และไดเร็คทอรี่ (File and Directory Permission)
22. การจัดการวันเวลาของระบบ และการตั้งเวลางานอัตโนมัติ (Date/Time Commands Scheduling Job)
23. การเพิ่มเนื้อที่ดิสก์เข้าสู่ระบบ (Building new disk partitions)
24. การจัดการดิสก์ด้วย LVM ( Logical Volume Manager )
25. การจัดการระบบบันทึกเหตุการณ์ภายในเซิร์ฟเวอร์ ( System Logging )
26. ติดตั้งและใช้งาน DHCP server (service dhcp)
27. รู้จักการ ssh เข้าสู่ระบบปฎิบัติการ

28. การติดตั้ง DNS server (service bind)
      - การคอนฟิกให้ลีนุกซ์ทำงานในฐานะ DNS Client และการเพิ่มประสิทธิภาพการ resolve ชื่อเว็บไซต์
      -
ศึกษาการทำงานของ BIND Name Server ทั้งชนิด Master, Slave และ Cache-Only Name Server
      - การคอนฟิก Forward/Reversed Master Zone
      - การคอนฟิก Master Zone แบบ Sub Domain , Virtual Domain และ Load Balance
      - เทคนิคการ Forward DNS Query ,การลดปัญหา SPAM mail ด้วย DNS
      - การคอนฟิก Slave Name Server เพื่อสำรองข้อมูลและลดภาระของ Master
      - เทคนิคการเพิ่มความปลอดภัยให้แก่ DNS Server


29. FTP server (service vsftpd)
      - การบริการ FTP และคุณสมบัติสำคัญของ File Transfer Protocol
      - การคอนฟิก FTP Server เพื่อบริการด้าน Upload/Download แฟ้มข้อมูล ทั้งแบบ Restricted และ Anonymous FTP
        Server
      - กา
รคอนฟิกสภาพแวดล้อมที่มีความปลอดภัย ได้แก่ chroot ,การจำกัดผู้ใช้งานด้วย user_list

30. SAMBA server (service smbd)
      - ส่วนประกอบของ SAMBA Client / Server การให้บริการของ smbd และ nmbd ที่สัมพันธ์กับ NetBIOS over TCP/IP
      - การคอนฟิก SAMBA Server เพื่อแชร์โฟลเดอร์และเครื่องพิมพ์ให้แก่เครื่องลูกข่าย MS Windows XP
      - การทดสอบ SMB Service ด้วยชุดคำสั่งแบบ command line โดยไม่ต้องพึ่งพาเครื่องลูกข่ายวินโดวส์
      - การกำหนดสิทธิ์การเข้าถึงแชร์โฟล์เดอร์ทั้งแบบรายบุคคล รายกลุ่ม (group) และแชร์โฟลเดอร์ที่เป็นพื้นที่ทำงานร่วมกัน
        (Workgroup)


31. APACHE Web server (service httpd)
      - ความเป็นมาของ HTTP protocol และ Apache Web Server 
      - โครงสร้างเชิงกายภาพของ apache ตั้งแต่ ServerRoot , DocumentRoot ไปจนถึงการจัดเก็บ log ในลักษณะต่างๆ
      - การจัดเก็บ log file การหมุนเวียน log file เพื่อป้องกันไม่ให้ดิสก์เต็ม และการวิเคราะห์ log file
      - การคอนฟิกเพื่อใช้งานโมดูลหลักที่สำคัญ
      - การปรับแต่งการทำงานของ apache ในด้านความปลอดภัย ประสิทธิภาพ และการจัดระบบให้สัมพันธ์กับบริการ FTP
      - การใช้งานโมดูล mod_userdir เพื่อศึกษาการเข้าถึงเอกสารเว็บของ apache และการควบคุม permission ให้เกิดความ
        ปลอดภัย
      - การคอนฟิกให้ apache รันโปรแกรมฝั่งเซิร์ฟเวอร์ (CGI script) การใช้งานคอนฟิกย่อย (conf.d) และ Directive ที่ใช้บ่อยๆ
      - การสังเกต log file และศึกษาผลกระทบของโมดูล security audit wrapper ต่างๆ ของ apache
      - การใช้งาน access files เพื่อการกำหนดคุณสมบัติเฉพาะไดเร็คทอรี่ที่ต้องการ
      - การทำ HTTP user authentication เพื่อการจำกัดผู้ชมเว็บด้วยชื่อล๊อกอินและรหัสผ่าน
      - การทำให้ apache บริการหลายเว็บไซต์ในโฮสต์เดียว (Virtual Host) และการคอนฟิกแต่ละประเภท
      - การคอนฟิก DNS เพื่อรองรับการทำงานแบบ Name based virtual host และคอนฟิกให้ใช้ apache รองรับหลายเว็บไซต์
        ด้วยไอพีแอดเดรสเดียว
      - การคอนฟิกระบบวิเคราะห์ Log และรายงานสถานะของ apache


32. Mail server (service sendmail)
      - การทำงานของระบบอีเมล์ ส่วนประกอบของระบบอีเมล์ โปรโตคอลที่เกี่ยวข้อง และโครงสร้างภายในเมล์เซิร์ฟเวอร์
      - การคอนฟิก SMTP IMAP และ POP3 server
      - การใช้คำสั่งแบบ command line เพื่อการทดสอบระบบอย่างรวดเร็ว
      - การรับส่งอีเมล์แบบ Direct และ Relay SMTP
      - การใช้คุณสมบัติด้านการ Masqurading การ Forward และการทำ Mailling List
      - โครงสร้างของอีเมล์ตามมาตรฐาน RFC 822
      - การกรองสแปมเมลด้วย procmail และ spamassassin
      - การคอนฟิก Web mail ด้วย SquirrelMail การปรับแต่งให้ทำงานด้วยชื่อโดเมนสั้นและการติดตั้ง plug-in
      - การคอนฟิก MX Record ของระบบ DNS เพื่อการรับส่งอีเมล์ด้วยโดเมน


33. Proxy server (service squid)
      - เปรียบเทียบโหมดการทำงานของ Squid Proxy Server และวิธีการใช้งาน
      - การทำงานของ Proxy Server เปรียบเทียบกับ OSI Reference Model
      - การ Optimization ระบบให้มีประสิทธิภาพในการทำหน้าที่เป็น Proxy Caching Server มากที่สุด
      - การคอนฟิก squid ให้มีประสิทธิภาพและรองรับการบริการเครือข่ายภายใน
      - การจำกัดการใช้งานเว็บไซต์ ด้วย Access Control List
      - การปรับแต่งเงื่อนไข ตามโฮสต์ต้นทาง เว็บไซต์ปลายทาง เวลาใช้งาน และการตรวจสอบผู้ใช้งานด้วยชื่อและรหัสผ่าน 
        (User Authentication)
      - การวิเคราะห์และจัดทำรายงานด้วยโปรแกรม SARG (Squid Analysis and Report Generator)


34. Firewall server (service iptables)
      - พัฒนาการและโครงสร้างสำคัญของ Netfilter/iptables หลักการกำหนด rules และ policy ให้แก่ default chains
      - การกำหนดนโยบายของไฟร์วอลล์ และผลกระทบต่อระบบและวิธีการทำงานของผู้เขียน rules
      - ลงมือเขียนสคริปต์ควบคุมนโยบายและเงื่อนไขของ Linux Firewall ด้วยตนเองแบบ Step by Step ครอบคลุมบริการใน
        เครือข่ายและโปรโตคอลทุกชนิด
      - การเขียนสคริปต์เพื่ออนุญาตการบริการโปรโตคอล ICMP เช่น การ ping การรับส่ง redirection เป็นต้น
      - การเปิดบริการทางเครือข่ายที่ใช้โปรโตคอล UDP เช่น DNS ,SAMBA, DHCP
      - การเปิดบริการทางเครือข่ายที่ใช้โปรโตคอล TCP เช่น SSH, HTTP ,PROXY
      - การเขียนสคริปต์เพื่อเปิด/ปิดพอร์ตงานบริการเครือข่ายที่ต้องการ
      - โครงสร้างของ NAT table กับการใช้งานแบบ SNAT และ DNAT พร้อมการประยุกต์ใช้งานในสภาพงานจริงที่หลากหลาย
        (case study)
      - การทำ SNAT และ IP Masquerading
      - การทำ DNAT และ Port Forwarding

ไม่มีความคิดเห็น:

แสดงความคิดเห็น