Rocky Linux 9 คือทางเลือกฟรีที่เข้ากันได้กับ RHEL: แพ็กเกจเดียวกัน dnf ตัวเดียวกัน firewalld และ SELinux ชุดเดียวกัน ถ้าคุณเคยตั้งค่า Debian หรือ Ubuntu มาแล้ว ลำดับขั้นตอนเหมือนกัน ต่างกันแค่เครื่องมือ นี่คือสิบนาทีแรกบนเซิร์ฟเวอร์ Rocky 9 ตัวใหม่
เรารันทุกคำสั่งด้านล่างบนอิมเมจ Rocky Linux 9 ของเราก่อนเผยแพร่ บนเซิร์ฟเวอร์ที่ว่างเปล่า ทั้งหมดใช้เวลาไม่กี่นาที
1. อัปเดตระบบ
ล็อกอินเป็น root ด้วยรหัสผ่านจากแดชบอร์ด แล้วอัปเดต:
dnf -y upgrade
บนอิมเมจของเรา ขั้นนี้ใช้เวลาไม่กี่วินาทีตอนทดสอบ เพราะอิมเมจอัปเดตล่าสุดอยู่แล้ว
2. สร้างผู้ใช้ sudo และเพิ่มคีย์ SSH
บน Rocky กลุ่มผู้ดูแลระบบชื่อ wheel ไม่ใช่ sudo:
useradd -m -G wheel deploy
passwd deploy # sudo will ask for this password
นำคีย์สาธารณะของคุณขึ้นเซิร์ฟเวอร์ (วิธีสร้างคีย์) ถ้าคุณคัดลอกไว้ที่ /root/key.pub:
install -d -m 700 -o deploy -g deploy /home/deploy/.ssh
install -m 600 -o deploy -g deploy /root/key.pub /home/deploy/.ssh/authorized_keys
restorecon -R /home/deploy/.ssh
restorecon ตั้งป้ายกำกับ SELinux ที่ sshd ต้องการ ถ้าป้ายผิด การล็อกอินด้วยคีย์จะล้มเหลวโดยไม่มีข้อความแจ้งข้อผิดพลาดที่ชัดเจน
เปิด เทอร์มินัลที่สอง แล้วตรวจว่า ssh deploy@YOUR.SERVER.IP ใช้ได้ และ sudo -v รับรหัสผ่าน อย่าปิดเซสชัน root จนกว่าจะเรียบร้อย
3. ปิดการล็อกอิน root และการล็อกอินด้วยรหัสผ่าน
ตรงนี้ Rocky ต่างจากการแก้ sshd_config แบบตำรา การตั้งค่าอยู่ในไฟล์แยกภายใต้ /etc/ssh/sshd_config.d/ และ sshd ใช้ค่า แรก ที่เจอ บนอิมเมจของเรา ไฟล์แรกคือ 00-eqvps.conf ซึ่งอนุญาต root และรหัสผ่านเพื่อให้คุณเข้าได้ในวันแรก ให้แก้ที่นั่น:
sed -i -e 's/^PermitRootLogin .*/PermitRootLogin no/' \
-e 's/^PasswordAuthentication .*/PasswordAuthentication no/' \
/etc/ssh/sshd_config.d/00-eqvps.conf
sshd -t && systemctl reload sshd
sshd -T | grep -E '^(permitrootlogin|passwordauthentication) '
คำสั่งสุดท้ายแสดงสิ่งที่ sshd บังคับใช้จริง คุณควรเห็น:
permitrootlogin no
passwordauthentication no
หลังจากนี้ ssh root@… จะถูกปฏิเสธแม้ใช้คีย์ และ deploy ล็อกอินได้ด้วยคีย์เท่านั้น
4. ไฟร์วอลล์: firewalld
อิมเมจคลาวด์ไม่มี firewalld ให้ติดตั้ง เปิดใช้งาน และเปิดไว้เฉพาะที่จำเป็น:
dnf -y install firewalld
systemctl enable --now firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --remove-service=cockpit
firewall-cmd --reload
firewall-cmd --list-services
โซนเริ่มต้นเปิด cockpit (พอร์ต 9090) และ dhcpv6-client Cockpit ไม่ได้ติดตั้งไว้ แต่ก็ไม่มีเหตุผลที่จะเปิดพอร์ตของมันทิ้งไว้ เมื่อเพิ่มแอป ให้เปิดพอร์ตของแอปแบบเดียวกัน เช่น firewall-cmd --permanent --add-service=https
5. อัปเดตความปลอดภัยอัตโนมัติ
dnf-automatic ดาวน์โหลดอัปเดตตามตัวตั้งเวลา โดยค่าเริ่มต้นจะไม่ติดตั้ง จึงต้องเปิดการติดตั้ง:
dnf -y install dnf-automatic
sed -i 's/^apply_updates = .*/apply_updates = yes/' /etc/dnf/automatic.conf
systemctl enable --now dnf-automatic.timer
systemctl list-timers dnf-automatic.timer
ถ้าต้องการเฉพาะแพตช์ความปลอดภัย ให้ตั้ง upgrade_type = security ในไฟล์เดียวกันด้วย
6. เปิด SELinux ไว้
บนเซิร์ฟเวอร์ใหม่ getenforce แสดง Enforcing และทุกอย่างข้างบนทำงานร่วมกับมันได้ เมื่อแอปต้องใช้พอร์ตหรือไดเรกทอรีที่ไม่มาตรฐาน วิธีแก้คือป้ายกำกับ (semanage port, restorecon) ไม่ใช่ setenforce 0
เลือกแพ็กเกจไหน
Rocky 9 ใช้ RAM ประมาณ 400 MB ตอนว่าง แพ็กเกจ Nano (1 GB, $3/เดือน) พอสำหรับบริการเล็ก ๆ หนึ่งตัว ส่วน Micro (2 GB, $5/เดือน) เหลือที่ให้ฐานข้อมูล บนแพ็กเกจ NAT การเชื่อมต่อ SSH เข้ามาทางพอร์ตส่วนตัวที่แสดงในแดชบอร์ด ถ้าต้องการพอร์ต 80/443 เปิดให้ทุกคน เลือกแพ็กเกจที่มี IPv4 ของตัวเอง เช่น Micro-IP ราคา $10/เดือน
Rocky Linux 9 เป็นหนึ่งในอิมเมจบน หน้าตระกูล RHEL และมีให้ในทุกแพ็กเกจในส่วน VPS ชำระเงินด้วย USDT, USDC หรือ ETH บนเครือข่าย Base, Ethereum หรือ Polygon ไม่ต้องใช้เอกสารหรือบัตร ถ้าคุณชอบควบคุมเซิร์ฟเวอร์ด้วยสคริปต์ เอกสาร API อธิบายการสั่งซื้อ การติดตั้งใหม่ และการต่ออายุ
ความคิดเห็น
ยังไม่มีความคิดเห็น เป็นคนแรกสิ