ubuntu 18.04 - ภาพประกอบบทความ

Ubuntu 18.04 LTS — คู่มืออัปเกรดและ Migration ไป 22.04/24.04

โดย อ. บอม กิตติทัศน์ | 02/03/2026 | SiamCafe.net Since 1997

สารบัญ

Ubuntu 18.04 LTS (Bionic Beaver): พื้นฐานและการสนับสนุนระยะยาว

Ubuntu 18.04 LTS ซึ่งใช้ชื่อรหัสว่า Bionic Beaver คือการเปิดตัวเวอร์ชันที่มีความสำคัญอย่างยิ่งจาก Canonical โดยตัวย่อ LTS นั้นย่อมาจาก Long-Term Support ซึ่งหมายถึงการรับประกันการสนับสนุนและการอัปเดตความปลอดภัยเป็นระยะเวลายาวนานถึง 5 ปี สำหรับเซิร์ฟเวอร์ และ 5 ปีสำหรับเดสก์ท็อป ซึ่งสิ้นสุดลงในเดือนเมษายน ปี 2023 การสนับสนุนระยะยาวนี้เองที่เป็นเหตุผลหลักที่องค์กร Enterprise จำนวนมากเลือกใช้งาน Ubuntu 18.04 สำหรับระบบงานที่ต้องการความเสถียรและความต่อเนื่อง โดยไม่จำเป็นต้องอัปเกรดเวอร์ชันหลักบ่อยครั้ง ซึ่งอาจนำความไม่แน่นอนและความเสี่ยงมาสู่ระบบ

รากฐานของ Ubuntu 18.04 อยู่บน Linux Kernel เวอร์ชัน 4.15 ซึ่งนำเสนอการสนับสนุนฮาร์ดแวร์รุ่นใหม่ๆ ได้เป็นอย่างดี รวมถึงการปรับปรุงด้านความปลอดภัยและประสิทธิภาพ การเลือกใช้ Kernel เวอร์ชันนี้แสดงถึงความสมดุลระหว่างฟีเจอร์ใหม่และความเสถียรที่พิสูจน์แล้ว ซึ่งเหมาะสำหรับการใช้งานในสภาพแวดล้อมการผลิต นอกเหนือจากนี้ 18.04 ยังเป็นเวอร์ชันแรกที่รวมไลบรารีกราฟิกใหม่คือ GNOME 3.28 เป็นสภาพแวดล้อมเดสก์ท็อปหลัก แทนที่ Unity ที่ Ubuntu ใช้มาเป็นเวลาหลายปี

การตัดสินใจเปลี่ยนจาก Unity กลับไปสู่ GNOME นั้นเป็นการเปลี่ยนแปลงครั้งใหญ่ ซึ่งส่งผลต่อผู้ใช้โดยตรงในแง่ของประสบการณ์การใช้งานและเวิร์กโฟลว์ ผู้ใช้ที่คุ้นเคยกับ Unity จำเป็นต้องเรียนรู้การอินเทอร์เฟซใหม่ แต่ในทางกลับกัน GNOME ก็ได้รับความนิยมและมีชุมชนผู้พัฒนาที่ใหญ่กว่า ซึ่งหมายถึงธีมและส่วนขยาย (extensions) ที่หลากหลายมากขึ้นสำหรับการปรับแต่งสภาพแวดล้อมการทำงานให้ตรงกับความต้องการของผู้ใช้แต่ละคน

สำหรับการดาวน์โหลดและติดตั้ง Canonical ได้เผยแพร่ภาพ ISO หลายรูปแบบ ได้แก่ Desktop image สำหรับผู้ใช้ทั่วไป, Server image ที่ไม่มีส่วนติดต่อผู้ใช้แบบกราฟิก, และ Cloud images สำหรับการ deploy บนแพลตฟอร์มคลาวด์ต่างๆ เช่น AWS, Azure, และ OpenStack ความยืดหยุ่นนี้ทำให้ Ubuntu 18.04 สามารถปรับใช้ได้ในเกือบทุกสถานการณ์ ไม่ว่าจะเป็นบนแลปท็อปของ developer, เซิร์ฟเวอร์ในดาต้าเซ็นเตอร์, หรืออินสแตนซ์บนคลาวด์สาธารณะ

การติดตั้งและข้อกำหนดระบบ

กระบวนการติดตั้ง Ubuntu 18.04 LTS นั้นตรงไปตรงมา thanks to the Ubiquity installer อย่างไรก็ตาม ผู้ดูแลระบบควรทราบข้อกำหนดของระบบและขั้นตอนที่สำคัญบางอย่างล่วงหน้า สำหรับการติดตั้งเดสก์ท็อป ขั้นต่ำอย่างเป็นทางการคือโปรเซสเซอร์ความเร็ว 2 GHz, RAM 4 GB, และพื้นที่จัดเก็บข้อมูล 25 GB อย่างไรก็ตาม สำหรับการใช้งานที่ราบรื่นจริงๆ โดยเฉพาะหากต้องการรันแอปพลิเคชันจำนวนมากหรือใช้เครื่องเป็นเวิร์กสเตชันพัฒนาซอฟต์แวร์ การเพิ่ม RAM เป็น 8 GB และพื้นที่ดิสก์เป็น 50 GB ขึ้นไปถือเป็นคำแนะนำที่ดี

ในส่วนของการติดตั้งเซิร์ฟเวอร์ กระบวนการจะใช้เครื่องมือที่เรียกว่า Subiquity ซึ่งเป็น installer แบบ text-based ที่ทันสมัยกว่า แทนที่ตัวติดตั้งเซิร์ฟเวอร์แบบเดิม การติดตั้งแบบ (Minimal) เป็นตัวเลือกที่แนะนำสำหรับเซิร์ฟเวอร์ เนื่องจากจะติดตั้งเฉพาะแพ็กเกจพื้นฐานที่จำเป็นเท่านั้น ลดพื้นที่จัดเก็บและพื้นผิวการโจมตี (attack surface) สำหรับช่องโหว่ความปลอดภัย นอกจากนี้ ระหว่างการติดตั้งยังมีตัวเลือกที่สำคัญคือการติดตั้ง OpenSSH server ซึ่งช่วยให้สามารถจัดการเซิร์ฟเวอร์ได้จากระยะทางไกลทันทีหลังการติดตั้งเสร็จสิ้น

หนึ่งในการตัดสินใจที่สำคัญที่สุดระหว่างการติดตั้งคือการกำหนดพาร์ติชัน การใช้ Logical Volume Management (LVM) นั้นเป็นแนวทางปฏิบัติที่ดีที่สุดสำหรับเซิร์ฟเวอร์ เนื่องจากอนุญาตให้จัดการพื้นที่ดิสก์แบบไดนามิกได้ในภายหลัง เช่น ขยายพาร์ติชัน root ได้โดยง่ายเมื่อพื้นที่เริ่มเต็ม การตั้งค่าพาร์ติชันแบบมาตรฐานสำหรับเซิร์ฟเวอร์มักจะแยกพาร์ติชัน /home, /var, และ /tmp ออกมาเอง ซึ่งช่วยเพิ่มความปลอดภัยและประสิทธิภาพ

นอกจากนี้ ยังมีตัวเลือกการติดตั้งที่สำคัญอื่นๆ เช่น การเข้ารหัสดิสก์ (Full Disk Encryption) สำหรับเดสก์ท็อปเพื่อปกป้องข้อมูลในกรณีที่อุปกรณ์สูญหาย หรือการกำหนดโปรxy during installation หากเซิร์ฟเวอร์อยู่ในเครือข่ายองค์กรที่ต้องใช้ proxy สำหรับการเข้าถึงอินเทอร์เน็ตภายนอก การเตรียมการเหล่านี้ล่วงหน้าช่วยให้การติดตั้งราบรื่นและลดปัญหาที่อาจเกิดขึ้นหลังการติดตั้งได้

การจัดการแพ็กเกจและ repositories

หัวใจของการจัดการซอฟต์แวร์บน Ubuntu 18.04 ยังคงเป็นระบบแพ็กเกจ APT (Advanced Package Tool) พร้อมกับรูปแบบแพ็กเกจ .deb ไฟล์ repositories มาตรฐานของ Ubuntu 18.04 นั้นถูกกำหนดในไฟล์ /etc/apt/sources.list และไฟล์ในไดเรกทอรี /etc/apt/sources.list.d/ โดย Canonical แบ่ง repositories ออกเป็นสี่ส่วนหลักตามระดับการสนับสนุนและใบอนุญาต: Main, Restricted, Universe, และ Multiverse การเข้าใจความแตกต่างของ repositories เหล่านี้มีความสำคัญต่อความปลอดภัยและการบำรุงรักษาระบบ

Main repository นั้นประกอบด้วยซอฟต์แวร์ที่เป็นโอเพนซอร์สและได้รับการสนับสนุนอย่างเต็มที่จาก Canonical ซึ่งหมายความว่าจะมีการอัปเดตความปลอดภัยเป็นประจำ Restricted repository เป็นซอฟต์แวร์ที่เป็นกรรมสิทธิ์ซึ่งมีการกระจายอย่างถูกกฎหมายบน Ubuntu แต่อาจมีข้อจำกัดในการใช้งานฟรี Universe repository มีซอฟต์แวร์โอเพนซอร์สที่ maintained by the community แทนที่ Canonical ดังนั้นการอัปเดตความปลอดภัยอาจไม่ทันท่วงทีเท่ากับ Main ส่วน Multiverse เป็นซอฟต์แวร์ที่มีข้อจำกัดด้านลิขสิทธิ์หรือกฎหมาย

นอกจาก APT แล้ว Ubuntu 18.04 ยังแนะนำเครื่องมือระดับล่างกว่า คือ apt ซึ่งออกแบบมาให้ใช้งานแทนที่ apt-get และ apt-cache สำหรับการโต้ตอบโดยผู้ใช้ apt รวมฟังก์ชันการทำงานที่ใช้บ่อยไว้ในคำสั่งเดียวและมี output ที่ออกแบบมาให้อ่านง่ายกว่า ตัวอย่างการใช้งานพื้นฐานได้แก่

sudo apt update         # อัปเดตดัชนีแพ็กเกจจาก repositories
sudo apt upgrade        # อัปเกรดแพ็กเกจทั้งหมดที่มีอัปเดต
sudo apt install nginx  # ติดตั้งแพ็กเกจ nginx
sudo apt remove nginx   # ลบแพ็กเกจ nginx

สำหรับการจัดการ repositories ระดับ enterprise มักจะใช้เครื่องมือเช่น Aptly หรือการ mirror repositories ภายในองค์กรเอง ซึ่งช่วยให้สามารถควบคุมการอัปเดต ลดการใช้ bandwidth ภายนอก และความของแพ็กเกจ across all servers ใน infrastructure การตั้งค่า proxy สำหรับ APT ก็เป็นเรื่องปกติในองค์กร โดยสามารถกำหนดในไฟล์ /etc/apt/apt.conf.d/

Netplan: การปฏิรูปการจัดการเครือข่าย

หนึ่งในการเปลี่ยนแปลงที่สำคัญที่สุดใน Ubuntu 18.04 สำหรับผู้ดูแลระบบก็คือการแนะนำ Netplan ซึ่งเป็นเครื่องมือการกำหนดค่าการเชื่อมต่อเครือข่ายแบบใหม่ที่มาแทนที่ไฟล์การกำหนดค่าแบบเดิมๆ อย่าง /etc/network/interfaces Netplan ใช้ไฟล์การกำหนดค่าในรูปแบบ YAML ที่อ่านง่าย และทำหน้าที่เป็น front-end abstraction layer สำหรับ backend network renderers สองตัว ได้แก่ systemd-networkd และ NetworkManager

การกำหนดค่า Netplan หลักจะอยู่ที่ไฟล์ YAML ในไดเรกทอรี /etc/netplan/ โดยจะมีไฟล์ชื่อว่า 01-netcfg.yaml การกำหนดค่าที่นี่จะถูก render เป็นการกำหนดค่าสำหรับ daemon ที่เลือกใช้ ตัวอย่างการกำหนดค่าสถานะคงที่ (static IP) สำหรับอินเทอร์เฟซ ens160 มีดังนี้

network:
  version: 2
  renderer: networkd
  ethernets:
    ens160:
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
          addresses: [8.8.8.8, 1.1.1.1]

หลังจากแก้ไขไฟล์กำหนดค่าแล้ว ผู้ดูแลระบบต้องรันคำสั่ง `sudo netplan apply` เพื่อให้การเปลี่ยนแปลงมีผลทันที ความได้เปรียบหลักของ Netplan คือความสอดคล้องกัน (consistency) ในการกำหนดค่า across different Ubuntu deployments และการบูตที่เร็วขึ้น thanks to systemd-networkd ซึ่งเบากว่าและบูตเร็วกว่า ifupdown แบบดั้งเดิม

อย่างไรก็ตาม การเปลี่ยนแปลงนี้สร้างความสับสนให้กับผู้ดูแลระบบที่คุ้นเคยกับไฟล์ interfaces แบบเก่าเป็นอย่างมาก ในระยะแรก มีปัญหาและข้อบกพร่องบางอย่างเกี่ยวกับ Netplan โดยเฉพาะอย่างยิ่งกับการกำหนดค่าที่ซับซ้อนเช่น bonding, bridging, หรือ VLANs ซึ่งต้องใช้เวลาและเอกสารประกอบเพื่อให้ชุมชนเข้าใจและใช้งานได้อย่างคล่องแคล่ว ปัจจุบัน Netplan มีวุฒิภาวะมากขึ้นและได้รับการยอมรับว่าเป็นเครื่องมือที่ทรงพลังสำหรับการจัดการเครือข่ายแบบ declarative

Snap Packages และ Flatpak

Ubuntu 18.04 เป็นเวอร์ชัน LTS แรกที่ส่งมอบพร้อมกับการสนับสนุน Snap packages อย่างเต็มรูปแบบ Snap เป็นระบบการจัดจำหน่ายแพ็กเกจแบบ universal package ที่พัฒนาโดย Canonical ซึ่งออกแบบมาเพื่อแก้ไขปัญหาความไม่ลงรอยกันของ dependencies บน Linux แพ็กเกจ Snap จะ bundling dependencies ของตัวเองไว้ทั้งหมดในแพ็กเกจ ทำให้สามารถรันได้บนการกระจาย Linux ใดๆ ก็ตามที่สนับสนุน snapd โดยไม่ต้องกังวลเกี่ยวกับความแตกต่างของเวอร์ชันไลบรารี

ประโยชน์หลักของ Snap คือความสะดวกและความปลอดภัย แอปพลิเคชันที่เป็น Snap ทำงานในสภาพแวดล้อมที่แยกได้ (confinement) ซึ่งจำกัดการเข้าถึงระบบโฮสต์ได้รับอนุญาตอย่างชัดเจน ซึ่งช่วยลดความเสี่ยงหากแอปพลิเคชันมีช่องโหว่ ผู้ใช้สามารถติดตั้ง Snap ได้ง่ายจาก command line ด้วยคำสั่ง `sudo snap install package-name` หรือผ่าน GUI store ที่รวมมาใน Ubuntu

อย่างไรก็ตาม Snap ก็มีข้อเสียที่สำคัญ นั่นคือ ขนาดของแพ็กเกจที่ใหญ่กว่าเนื่องจากรวม dependencies ไว้ด้วย และเวลาเริ่มต้นการทำงาน (startup time) ที่อาจช้ากว่าแอปพลิเคชันแบบดั้งเดิมเล็กน้อย เนื่องจากต้อง unpack และ mount images นอกจากนี้ ชุมชนโอเพนซอร์สบางส่วนยังมองว่า Snap เป็นการพยายามสร้าง walled garden ของ Canonical เนื่องจาก Snap packages จำนวนมากถูกโฮสต์บน store ของ Canonical โดยค่าเริ่มต้น

ทางเลือกที่สำคัญของ Snap คือ Flatpak ซึ่งเป็น universal package system อีกตัวหนึ่งที่ได้รับแรงผลักดันจากชุมชน Red Hat และ GNOME แม้ว่า Ubuntu 18.04 จะไม่ติดตั้ง Flatpak มาพร้อมกันโดยค่าเริ่มต้น แต่ผู้ใช้สามารถติดตั้งและใช้งานได้อย่างง่ายดาย การมีอยู่ของระบบ universal package สองระบบนี้สะท้อนให้เห็นถึงการแข่งขันใน ecosystem ของ Linux desktop และการแสวงหาวิธีการจัดจำหน่ายซอฟต์แวร์ที่ดียิ่งขึ้น

การปรับใช้ในสภาพแวดล้อม Enterprise: Server และ Cloud

Ubuntu 18.04 LTS เป็นฐานที่มั่นคงสำหรับการปรับใช้ workload ระดับ enterprise อย่างกว้างขวาง ทั้งบน-premise servers และบน cloud platforms ต่างๆ ความนิยมในฐานะระบบปฏิบัติการเซิร์ฟเวอร์นั้นเกิดจากการสนับสนุนระยะยาวที่มั่นคง การอัปเดตความปลอดภัยที่ทันท่วงที และการทำงานที่ได้มาตรฐานกับซอฟต์แวร์ enterprise ยอดนิยม เช่น Docker, Kubernetes, Ansible, และ OpenStack

สำหรับการปรับใช้บนคลาวด์สาธารณะ Ubuntu 18.04 LTS เป็นภาพ (image) มาตรฐานที่ได้รับการปรับOptimize บนทุกแพลตฟอร์มใหญ่ๆ รวมถึง Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), และ IBM Cloud ภาพเหล่านี้มักจะรวมการกำหนดค่าความปลอดภัยเบื้องต้นและการอินทิเกรตกับบริการคลาวด์เฉพาะของแพลตฟอร์มนั้นๆ ไว้แล้ว ซึ่งช่วยเร่งกระบวนการ deploy และ human error

Case study ที่น่าสนใจคือการใช้งาน Ubuntu 18.04 เป็น host OS สำหรับ containerized workloads ผ่าน Docker และ Kubernetes การรวมแพ็กเกจ docker.io ที่อยู่ใน repositories มาตรฐานของ Ubuntu ทำให้การติดตั้ง Docker ทำได้ง่ายด้วยคำสั่ง `sudo apt install docker.io` อย่างไรก็ตาม สำหรับ production workloads แนะนำให้ใช้ repository ทางการของ Docker เพื่อให้ได้เวอร์ชันล่าสุดและได้รับการสนับสนุนจาก Docker directly

การจัดการเซิร์ฟเวอร์ Ubuntu 18.04 จำนวนมากใน enterprise มักจะอาศัยเครื่องมือจัดการการกำหนดค่าเช่น Ansible, Chef, หรือ Puppet ตัวอย่าง Playbook เบื้องต้นของ Ansible สำหรับการอัปเดตเซิร์ฟเวอร์ Ubuntu 18.04 ทั้งหมดใน inventory มีดังนี้

---
- name: Update and upgrade all packages on Ubuntu servers
  hosts: ubuntu_servers
  become: yes
  tasks:
    - name: Update apt package cache
      apt:
        update_cache: yes
        cache_valid_time: 3600

    - name: Upgrade all packages to the latest version
      apt:
        upgrade: dist
        autoremove: yes
        autoclean: yes

Automation ในลักษณะนี้ช่วยความสอดคล้องกันและช่วยให้สามารถจัดการ fleet ของเซิร์ฟเวอร์ได้อย่างมีประสิทธิภาพ

ความปลอดภัยและการ-hardening เบื้องต้น

ในขณะที่ Ubuntu 18.04 มาพร้อมกับการกำหนดค่าความปลอดภัยที่สมเหตุสมผลอยู่แล้ว แต่มีขั้นตอนการ hardening เพิ่มเติมหลายอย่างที่ผู้ดูแลระบบควรดำเนินการสำหรับระบบ production อย่างแรกและสำคัญที่สุดคือการว่าการอัปเดตความปลอดภัยทั้งหมดถูกนำไปใช้อย่างสม่ำเสมอ โดยสามารถทำให้เป็นอัตโนมัติได้บางส่วนด้วยแพ็กเกจ `unattended-upgrades`

การกำหนดค่าไฟร์วอลล์เป็นสิ่งจำเป็น UFw (Uncomplicated Firewall) ซึ่งเป็น front-end สำหรับ iptables คือเครื่องมือมาตรฐานที่มาพร้อมกับ Ubuntu การเปิดใช้งานและอนุญาตเฉพาะพอร์ตที่จำเป็นเท่านั้นเป็นแนวทางปฏิบัติพื้นฐาน

sudo ufw enable
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https

สำหรับเซิร์ฟเวอร์ การปิดใช้งานการล็อกอินโดยตรงด้วยรหัสผ่านของ root และการใช้ SSH key-based authentication แทนนั้นมีความสำคัญอย่างยิ่ง นโยบายการล็อกอินควรถูกกำหนดค่าใน `/etc/ssh/sshd_config`:

PermitRootLogin no
PasswordAuthentication no

เครื่องมือเช่น Fail2Ban ควรถูกติดตั้งเพื่อป้องกันการโจมตีแบบ brute-force โดยการ Ban IP addresses ที่พยายามล็อกอิน consecutively นอกจากนี้ การใช้การตรวจสอบแบบสองปัจจัย (2FA) สำหรับการล็อกอิน SSH ก็เป็นไปได้ด้วยการใช้แพ็กเกจเช่น Google Authenticator PAM module

สุดท้าย การตรวจสอบและ auditing เป็นสิ่งสำคัญ การติดตั้งและกำหนดค่า auditd เพื่อติดตาม events ที่สำคัญบนระบบ รวมถึงการใช้เครื่องมือเช่น Lynis เพื่อทำการ security audit และ scanning ระบบเพื่อหาการกำหนดค่าความปลอดภัยที่อ่อนแอ สามารถช่วย identify และ remediate vulnerabilities ก่อนที่จะถูก

การอัปเกรดไปยัง Ubuntu 20.04 LTS หรือใหม่กว่า และการวางแผน

เนื่องจากการสนับสนุนมาตรฐานสำหรับ Ubuntu 18.04 LTS สิ้นสุดลงแล้วในเดือนเมษายน 2023 องค์กรที่ยังคงใช้อยู่จำเป็นต้องมีแผนการอัปเกรดไปยังเวอร์ชัน LTS ที่ใหม่กว่า เช่น Ubuntu 20.04 LTS หรือ 22.04 LTS ซึ่งยังคงได้รับการสนับสนุนอยู่ การอัปเกรดระหว่างเวอร์ชัน LTS เป็นกระบวนการที่สำคัญซึ่งต้องมีการวางแผนและการทดสอบอย่างรอบคอบเพื่อหลีกเลี่ยง downtime และปัญหาความไม่เข้ากันได้

ขั้นตอนแรกคือการว่า 18.04 ปัจจุบันได้รับการอัปเดตทั้งหมดแล้ว โดยรัน `sudo apt update && sudo apt upgrade` จากนั้น ควรทำการข้อมูลและ configuration files ที่สำคัญทั้งหมด การอัปเกรดสามารถทำได้ผ่าน command line โดยใช้คำสั่ง `sudo do-release-upgrade` ซึ่งจะอัปเดตระบบไปยังเวอร์ชัน LTS ต่อไปที่รองรับอัปเกรดโดยตรง

อย่างไรก็ตาม สำหรับเซิร์ฟเวอร์จำนวนมากในสภาพแวดล้อม enterprise วิธีการอัปเกรดแบบ in-place อาจมีความเสี่ยงมากเกินไป due to potential for unforeseen conflicts อีกกลยุทธ์หนึ่งคือการสร้างเซิร์ฟเวอร์ใหม่ด้วย Ubuntu เวอร์ชันใหม่ และ migrate services และ data ไปยังนั้น (lift-and-shift) วิธีนี้ใช้เวลาและความพยายามมากขึ้น แต่ให้สภาพแวดล้อมที่สะอาดและลดความเสี่ยงของการสะสม configuration ที่ล้าสมัยหรือไม่จำเป็น (configuration drift)

ก่อนการอัปเกรดใดๆ ควรตรวจสอบรายการซอฟต์แวร์และ dependencies ที่กำหนดเองทั้งหมดสำหรับความเข้ากันได้กับเวอร์ชันใหม่ ไลบรารีและภาษา programming บางตัวอาจ require เวอร์ชันใหม่บน OS ใหม่ ซึ่งอาจการทำงานของแอปพลิเคชันที่มีอยู่ การทดสอบการอัปเกรดในสภาพแวดล้อม staging ที่เลียนแบบ production ให้นักใกล้ชิดที่สุดเป็นขั้นตอนที่ขาดไม่ได้สำหรับ ensuring a smooth transition

สุดท้าย สำหรับระบบที่สำคัญที่ไม่สามารถอัปเกรดได้ทันภายใน timeframe ที่กำหนด Ubuntu ให้การสมัคร Extended Security Maintenance (ESM) สำหรับ Ubuntu 18.04 ซึ่งให้การอัปเดตความปลอดภัยที่สำคัญเพิ่มเติมระยะเวลาสนับสนุนมาตรฐาน ควร temporary solution จนกว่าจะการอัปเกรดไปยังเวอร์ชันที่สนับสนุนแล้ว

# บทความ Ubuntu 18.04: การรักษาความปลอดภัยและการอัปเกรด

ต่อไปนี้เป็นเนื้อหาเพิ่มเติมที่เขียนในรูปแบบ HTML สำหรับบทความ Ubuntu 18.04:

การตั้งค่าและจัดการไฟร์วอลล์ด้วย UFW

การตั้งค่าไฟร์วอลล์เป็นหนึ่งในขั้นตอนพื้นฐานที่สำคัญที่สุดสำหรับการรักษาความปลอดภัยเซิร์ฟเวอร์ Ubuntu 18.04 Ubuntu มีไฟร์วอลล์ที่ง่ายต่อการใช้งานเรียกว่า Uncomplicated Firewall (UFW) ซึ่งเป็นอินเทอร์เฟซสำหรับการจัดการ iptables

ในการเปิดใช้งาน UFW ให้ใช้คำสั่ง sudo ufw enable หลังจากนั้นคุณสามารถกำหนดกฎพื้นฐานได้ เช่น อนุญาตการเชื่อมต่อ SSH ด้วย sudo ufw allow ssh หรืออนุญาตพอร์ต HTTP ด้วย sudo ufw allow 80/tcp สำหรับการจัดการที่ละเอียดยิ่งขึ้น คุณสามารถกำหนดกฎที่เฉพาะเจาะจงตามที่อยู่ IP หรือช่วงเครือข่ายได้

ควรจำกัดการเชื่อมต่อเฉพาะบริการที่จำเป็นเท่านั้น และปฏิเสธการเชื่อมต่ออื่นๆ ทั้งหมดโดยค่าเริ่มต้น การตรวจสอบสถานะของ UFW สามารถทำได้ด้วยคำสั่ง sudo ufw status verbose ซึ่งจะแสดงรายการกฎทั้งหมดที่ใช้งานอยู่

การติดตั้งและการใช้งาน Fail2ban เพื่อป้องกันการโจมตีแบบ Brute Force

Fail2ban เป็นเครื่องมือที่สำคัญสำหรับการป้องกันการโจมตีแบบ brute force บนเซิร์ฟเวอร์ Ubuntu 18.04 โดยการตรวจสอบ log files และบล็อกที่อยู่ IP ที่พยายามเข้าถึงระบบหลายครั้ง

หลังจากการติดตั้งด้วยคำสั่ง sudo apt install fail2ban คุณสามารถปรับแต่งการตั้งค่าในไฟล์ /etc/fail2ban/jail.local สำหรับบริการต่างๆ เช่น SSH, Apache, หรือ Nginx การตั้งค่าที่สำคัญประกอบด้วย bantime (ระยะเวลาที่บล็อก), findtime (ระยะเวลาที่นับจำนวนครั้งที่), และ maxretry (จำนวนครั้งที่ก่อนถูกบล็อก)

การติดตั้งและกำหนดค่า Fail2ban อย่างเหมาะสมสามารถลดความเสี่ยงจากการโจมตี brute force ได้อย่างมีประสิทธิภาพ และควรเป็นส่วนหนึ่งของมาตรการรักษาความปลอดภัยพื้นฐานของเซิร์ฟเวอร์ Ubuntu ทุกตัว

การเข้ารหัสข้อมูลและการจัดการ SSL/TLS ด้วย Let's Encrypt

การเข้ารหัสข้อมูลในการส่งเป็นสิ่งจำเป็นสำหรับการรักษาความปลอดภัยและการปกป้องความเป็นส่วนตัว บน Ubuntu 18.04 คุณสามารถใช้ Let's Encrypt เพื่อรับใบรับรอง SSL/TLS ที่เชื่อถือได้ฟรี

ขั้นตอนแรกคือการติดตั้ง Certbot ด้วยคำสั่ง sudo apt install certbot python3-certbot-nginx (สำหรับ Nginx) หรือ sudo apt install certbot python3-certbot-apache (สำหรับ Apache) หลังจากนั้นคุณสามารถขอรับใบรับรองได้ด้วยคำสั่ง sudo certbot --nginx หรือ sudo certbot --apache ซึ่งจะแนะนำคุณผ่านกระบวนการกำหนดค่า

ใบรับรองจาก Let's Encrypt มีอายุ 90 วัน ดังนั้นจึงจำเป็นต้องต่ออายุเป็นระยะๆ โดย Certbot จะตั้งค่าให้ต่ออายุอัตโนมัติ คุณสามารถทดสอบการต่อเนื่องอัตโนมัติด้วยคำสั่ง sudo certbot renew --dry-run เพื่อให้แน่ใจว่ากระบวนการทำงาน correctly

การตรวจสอบและติดตามระบบด้วย Log Files และ Monitoring Tools

การตรวจสอบและติดตามระบบเป็นสิ่งสำคัญสำหรับการบำรุงรักษาและรักษาความปลอดภัยเซิร์ฟเวอร์ Ubuntu 18.04 Ubuntu เก็บ log files ต่างๆ ในไดเรกทอรี /var/log/ ซึ่งรวมถึง auth.log (การตรวจสอบสิทธิ์), syslog (เหตุการณ์ระบบ), และ log files เฉพาะบริการ

คุณสามารถใช้เครื่องมือเช่น logwatch หรือ fail2ban สำหรับการวิเคราะห์ log files แบบอัตโนมัติ หรือใช้คำสั่งเช่น tail -f, grep, และ awk สำหรับการตรวจสอบแบบ real-time สำหรับการตรวจสอบทรัพยากรระบบ คุณสามารถใช้เครื่องมือเช่น htop, iotop, หรือ nmon เพื่อติดตามการใช้ CPU, memory, disk I/O, และ network traffic

นอกจากนี้ การตั้งค่า alerts สำหรับเหตุการณ์สำคัญและการใช้ centralized logging solution สามารถช่วยในการจัดการและวิเคราะห์ log files จากหลายๆ เซิร์ฟเวอร์ได้อย่างมีประสิทธิภาพ

Q: Ubuntu 18.04 LTS จะได้รับการสนับสนุนด้าน security update จนถึงปีอะไร?

A: Ubuntu 18.04 LTS (Bionic Beaver) จะได้รับการสนับสนุนมาตรฐานจนถึงเดือนเมษายน 2023 สำหรับ desktop version และจนถึงเดือนเมษายน 2028 สำหรับ server version ผ่านการสมัคร Ubuntu Pro

Q: Python version เริ่มต้นที่ติดตั้งมาใน Ubuntu 18.04 คืออะไร?

A: Ubuntu 18.04 ติดตั้ง Python 3.6.9 เป็น default version ในระบบ และยังมี Python 2.7.15 ให้สำหรับ legacy applications ที่ยังต้องการใช้งาน

Q: Desktop environment เริ่มต้นของ Ubuntu 18.04 คืออะไร?

A: Ubuntu 18.04 ใช้ GNOME Shell 3.28 เป็น default desktop environment แทนที่ Unity desktop ที่ใช้ในเวอร์ชันก่อนหน้า ซึ่งเป็นการกลับไปใช้ GNOME ครั้งแรกหลังจากเวอร์ชัน 10.10

Q: วิธีติดตั้ง .deb package บน Ubuntu 18.04 มีอะไรบ้าง?

A: สามารถติดตั้งได้ผ่าน command line ด้วยคำสั่ง `sudo dpkg -i package_name.deb` และตามด้วย `sudo apt install -f` เพื่อแก้ไข dependency หรือใช้ GUI โดยดับเบิลคลิกที่ไฟล์แล้วติดตั้งผ่าน Ubuntu Software

Q: Minimal Install option ใน Ubuntu 18.04 คืออะไร?

A: เป็นตัวเลือก during installation ที่ช่วยลดจำนวน packages ที่ติดตั้งมาเริ่มต้น โดยจะติดตั้งเพียง web browser และ utilities พื้นฐานเท่านั้น แทนที่จะติดตั้ง application ครบชุดเช่น LibreOffice และเกมส์ ซึ่งเหมาะสำหรับผู้ใช้ที่ต้องการประหยัดพื้นที่ดิสก์