ค้นหาเว็บไซต์

การตั้งค่าเซิร์ฟเวอร์เริ่มต้นด้วย CentOS/RHEL 8


ในบทความนี้ เราจะอธิบายขั้นตอนพื้นฐานแรกๆ ที่คุณต้องปฏิบัติหลังจากติดตั้งเซิร์ฟเวอร์ CentOS/RHEL 8 ขั้นต่ำที่ไม่มีสภาพแวดล้อมแบบกราฟิก เพื่อดึงข้อมูลเกี่ยวกับระบบที่ติดตั้ง ฮาร์ดแวร์ที่เซิร์ฟเวอร์ทำงานอยู่และกำหนดค่างานระบบเฉพาะอื่นๆ เช่น การอัปเดตระบบ เครือข่าย สิทธิ์รูท กำหนดค่า ssh จัดการบริการ และอื่นๆ

ความต้องการ

  1. คู่มือการติดตั้ง CentOS 8
  2. RHEL 8 การติดตั้งขั้นต่ำ
  3. เปิดใช้งานการสมัครสมาชิก RHEL ใน RHEL 8

ข้อสำคัญ: คุณต้องเปิดใช้งาน บริการสมัครสมาชิก Red Hat บนเซิร์ฟเวอร์ RHEL 8 ของคุณเพื่อดำเนินการอัปเดตระบบและ การติดตั้งซอฟต์แวร์

ขั้นตอนที่ 1: อัปเดตซอฟต์แวร์ระบบ

ขั้นแรก เข้าสู่ระบบเซิร์ฟเวอร์ของคุณในฐานะผู้ใช้รูท และรันคำสั่งต่อไปนี้เพื่ออัพเดตระบบโดยสมบูรณ์ด้วยเคอร์เนล แพตช์ความปลอดภัยของระบบ ที่เก็บซอฟต์แวร์ และแพ็คเกจล่าสุด

dnf check-update
dnf update

เมื่อกระบวนการอัปเกรดซอฟต์แวร์เสร็จสิ้น เพื่อที่จะปล่อยพื้นที่ว่างในดิสก์ คุณสามารถลบแพ็คเกจซอฟต์แวร์ที่ดาวน์โหลดทั้งหมดพร้อมข้อมูลที่เก็บแคชทั้งหมดได้โดยการรันคำสั่งต่อไปนี้

dnf clean all

ขั้นตอนที่ 2: ติดตั้งยูทิลิตี้ระบบ

ยูทิลิตี้ระบบต่อไปนี้มีประโยชน์มากสำหรับงานการดูแลระบบในแต่ละวัน: nano, vim editor, wget & curl (ยูทิลิตี้ที่ใช้สำหรับการดาวน์โหลดแพ็คเกจผ่านเครือข่ายเป็นส่วนใหญ่) net-tools (ยูทิลิตี้สำหรับการจัดการเครือข่ายท้องถิ่น) lsof (มีประโยชน์สำหรับ ค้นหารายการไฟล์ที่เปิดตามกระบวนการ) และ bash-completion (เติมบรรทัดคำสั่งอัตโนมัติ)

dnf install nano vim wget curl net-tools lsof bash-completion

ขั้นตอนที่ 3: ตั้งค่าชื่อโฮสต์และระบบเครือข่าย

ใน CentOS/RHEL 8 มีเครื่องมือมากมายที่รวมอยู่ในพื้นที่เก็บข้อมูลที่ใช้ในการกำหนดค่าและจัดการเครือข่าย ตั้งแต่การแก้ไขไฟล์การกำหนดค่าเครือข่ายด้วยตนเองไปจนถึงการใช้คำสั่ง เช่น ifconfig, ip, nmcli และ เอ็มทุย.

ยูทิลิตี้ที่ง่ายที่สุดที่มือใหม่สามารถใช้เพื่อกำหนดค่าและจัดการการกำหนดค่าเครือข่าย เช่น การตั้งชื่อโฮสต์เครือข่ายและการกำหนดค่าที่อยู่ IP แบบคงที่คือการใช้ยูทิลิตีบรรทัดคำสั่งแบบกราฟิก nmtui

ตั้งชื่อโฮสต์ใน CentOS 8

ในการตั้งค่าหรือเปลี่ยนชื่อโฮสต์ของระบบ ให้รันคำสั่ง nmtui-hostname ต่อไปนี้ ซึ่งจะแจ้งให้คุณป้อนชื่อโฮสต์ของเครื่องแล้วกด OK เพื่อเสร็จสิ้น ดังที่แสดงในภาพหน้าจอด้านล่าง

nmtui-hostname

ตั้งค่าที่อยู่ IP แบบคงที่ใน CentOS 8

หากต้องการกำหนดค่าอินเทอร์เฟซเครือข่าย ให้เรียกใช้คำสั่ง nmtui-edit ต่อไปนี้ ซึ่งจะแจ้งให้คุณเลือกอินเทอร์เฟซที่คุณต้องการกำหนดค่าจากเมนูดังที่แสดงในภาพหน้าจอด้านล่าง

nmtui-edit

เมื่อคุณคลิกที่ปุ่ม แก้ไข ระบบจะแจ้งให้คุณตั้งค่าการตั้งค่า IP ของอินเทอร์เฟซเครือข่ายดังที่แสดงในภาพหน้าจอด้านล่าง เมื่อเสร็จแล้ว ให้ไปที่ ตกลง โดยใช้คีย์ [tab] เพื่อบันทึกการกำหนดค่าและออก

เมื่อคุณกำหนดค่าเครือข่ายเสร็จแล้ว คุณต้องเรียกใช้คำสั่งต่อไปนี้เพื่อใช้การตั้งค่าเครือข่ายใหม่โดยเลือกอินเทอร์เฟซที่คุณต้องการจัดการและกดที่ตัวเลือก ปิดใช้งาน/เปิดใช้งาน เพื่อเลิกใช้งานและเปิดอินเทอร์เฟซขึ้นมา ด้วยการตั้งค่า IP ดังที่แสดงในภาพหน้าจอด้านล่าง

nmtui-connect

เพื่อตรวจสอบการตั้งค่าการกำหนดค่าเครือข่าย คุณสามารถตรวจสอบเนื้อหาของไฟล์อินเทอร์เฟซ หรือคุณสามารถออกคำสั่งด้านล่าง

ifconfig enp0s3
ip a
ping -c2 google.com

คุณยังสามารถใช้ยูทิลิตี้เครือข่ายที่มีประโยชน์อื่นๆ เช่น ethtool และ mii-tool เพื่อตรวจสอบความเร็วของอินเทอร์เฟซเครือข่าย สถานะลิงก์เครือข่าย และรับข้อมูลเกี่ยวกับอินเทอร์เฟซเครือข่ายของเครื่องจักร

ethtool enp0s3
mii-tool enp0s3

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

netstat -tulpn
ss -tulpn
lsof -i4 -6

ขั้นตอนที่ 4: สร้างบัญชีผู้ใช้ใหม่

ขอแนะนำให้ผู้ใช้ปกติที่มีสิทธิ์รูททำงานด้านการดูแลระบบเมื่อจำเป็นเสมอ ในการกำหนดสิทธิ์รูทให้กับผู้ใช้ปกติ ขั้นแรกให้สร้างผู้ใช้ด้วยคำสั่ง useradd ตั้งรหัสผ่าน และเพิ่มผู้ใช้ในกลุ่มวงล้อผู้ดูแลระบบ

useradd ravisaive
passwd ravisaive
usermod -aG wheel ravisaive

เพื่อตรวจสอบว่าผู้ใช้ใหม่มีสิทธิ์รูท ให้เข้าสู่ระบบด้วยข้อมูลประจำตัวของผู้ใช้ และรันคำสั่ง dnf ด้วยสิทธิ์ Sudo ดังที่แสดง

su - ravisaive
sudo dnf update

ขั้นตอนที่ 5: ตั้งค่าการเข้าสู่ระบบแบบไม่ใช้รหัสผ่าน SSH บน CentOS 8

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

su - ravisaive
ssh-keygen -t RSA

เมื่อสร้างคีย์แล้ว ระบบจะขอให้คุณป้อนข้อความรหัสผ่านเพื่อรักษาความปลอดภัยให้กับคีย์ส่วนตัว คุณสามารถป้อนข้อความรหัสผ่านที่รัดกุมหรือเลือกที่จะปล่อยข้อความรหัสผ่านว่างไว้ได้หากคุณต้องการทำงานด้านการดูแลระบบอัตโนมัติผ่านเซิร์ฟเวอร์ SSH

เมื่อสร้างคีย์ SSH แล้ว คุณจะต้องคัดลอกคู่คีย์สาธารณะที่สร้างขึ้นไปยังเซิร์ฟเวอร์ระยะไกลโดยเรียกใช้คำสั่ง ssh-copy-id พร้อมด้วยชื่อผู้ใช้และที่อยู่ IP ของเซิร์ฟเวอร์ระยะไกลดังที่แสดง

ssh-copy-id [email 

เมื่อคัดลอกคีย์ SSH แล้ว ตอนนี้คุณสามารถลองเข้าสู่ระบบเซิร์ฟเวอร์ Linux ระยะไกลของคุณโดยใช้คีย์ส่วนตัวเป็นวิธีการตรวจสอบสิทธิ์ คุณควรจะสามารถเข้าสู่ระบบได้โดยอัตโนมัติโดยไม่ต้องให้เซิร์ฟเวอร์ SSH ขอรหัสผ่าน

[email 

ขั้นตอนที่ 6: การรักษาความปลอดภัยการเข้าสู่ระบบระยะไกล SSH

ที่นี่ เราจะรักษาความปลอดภัยเซิร์ฟเวอร์ของเราเพิ่มขึ้นอีกเล็กน้อยโดยการปิดการเข้าถึง SSH ระยะไกลไปยังบัญชีรูทในไฟล์การกำหนดค่า SSH

vi /etc/ssh/sshd_config

ค้นหาบรรทัดที่ระบุว่า #PermitRootLogin yes ยกเลิกหมายเหตุบรรทัดโดยการลบ # จากจุดเริ่มต้นของบรรทัดและแก้ไขบรรทัดเป็น

PermitRootLogin no

หลังจากนั้นให้รีสตาร์ทเซิร์ฟเวอร์ SSH เพื่อใช้การเปลี่ยนแปลงใหม่ล่าสุด

systemctl restart sshd

ตอนนี้ตรวจสอบการกำหนดค่าโดยพยายามเข้าสู่ระบบด้วยบัญชีรูท คุณจะได้รับข้อผิดพลาดในการเข้าถึง SSH Permission Denied ดังที่แสดง

ssh [email 

มีสถานการณ์ที่คุณอาจต้องการยกเลิกการเชื่อมต่อ SSH ระยะไกลทั้งหมดไปยังเซิร์ฟเวอร์ของคุณโดยอัตโนมัติหลังจากไม่มีการใช้งานในช่วงระยะเวลาหนึ่ง

ขั้นตอนที่ 7: กำหนดค่าไฟร์วอลล์บน CentOS 8

ใน CentOS/RHEL 8 ไฟร์วอลล์เริ่มต้นคือ ไฟร์วอลล์ ซึ่งใช้เพื่อจัดการกฎ iptables บนเซิร์ฟเวอร์ หากต้องการเปิดใช้งานและเริ่มบริการ firewalld บนเซิร์ฟเวอร์ ให้รันคำสั่งต่อไปนี้

systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld

หากต้องการเปิดการเชื่อมต่อขาเข้าไปยังบริการเฉพาะ (SSH) ขั้นแรก คุณต้องตรวจสอบว่าบริการนั้นมีอยู่ในกฎ ไฟร์วอลล์ จากนั้นจึงเพิ่มกฎสำหรับ การบริการโดยเพิ่มสวิตช์ --permanent ไปเป็นคำสั่งดังรูป

firewall-cmd --add-service=[tab]  #List services
firewall-cmd --add-service=ssh
firewall-cmd --add-service=ssh --permanent

หากคุณต้องการเปิดการเชื่อมต่อขาเข้าไปยังบริการเครือข่ายอื่นๆ เช่น HTTP หรือ SMTP เพียงเพิ่มกฎตามที่แสดงโดยการระบุชื่อบริการ

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-service=smtp

หากต้องการดูกฎไฟร์วอลล์ทั้งหมดบนเซิร์ฟเวอร์ ให้รันคำสั่งต่อไปนี้

firewall-cmd --permanent --list-all

ขั้นตอนที่ 8: ลบบริการที่ไม่ต้องการใน CentOS 8

ขอแนะนำอย่างยิ่งหลังจากติดตั้งเซิร์ฟเวอร์ CentOS/RHEL 8 ใหม่ คุณจะต้องลบและปิดใช้งานบริการที่ไม่ต้องการที่ทำงานบนเซิร์ฟเวอร์ตามค่าเริ่มต้นเพื่อลดการโจมตีบนเซิร์ฟเวอร์

หากต้องการแสดงรายการบริการเครือข่ายที่ทำงานอยู่ทั้งหมด รวมถึง TCP และ UDP บนเซิร์ฟเวอร์ ให้รันคำสั่ง ss หรือคำสั่ง netstat ดังที่แสดงในตัวอย่างด้านล่าง

ss -tulpn
OR
netstat -tulpn

คำสั่งข้างต้นจะแสดงรายการบริการที่น่าสนใจซึ่งทำงานโดยค่าเริ่มต้นบนเซิร์ฟเวอร์ เช่น เมลเซิร์ฟเวอร์ Postfix หากคุณไม่ได้วางแผนที่จะโฮสต์ระบบเมลบนเซิร์ฟเวอร์ คุณต้องหยุดและลบออกจากระบบดังภาพ

systemctl stop postfix
systemctl disable postfix
dnf remove postfix

นอกจากคำสั่ง ss และคำสั่ง netstat แล้ว คุณยังสามารถเรียกใช้คำสั่ง ps, top หรือ pstree เพื่อค้นหาและระบุบริการที่ไม่ต้องการทั้งหมด และลบบริการเหล่านั้นออกจากระบบ

dnf install psmisc
pstree -p

ขั้นตอนที่ 9: จัดการบริการใน CentOS 8

ใน CentOS/RHEL 8 บริการและ daemons ทั้งหมดได้รับการจัดการผ่านคำสั่ง systemctl และคุณสามารถใช้คำสั่งนี้เพื่อแสดงรายการบริการที่ใช้งานอยู่ ทำงานอยู่ ออกหรือล้มเหลวทั้งหมด

systemctl list-units

หากต้องการตรวจสอบว่า daemon หรือบริการถูกเปิดใช้งานโดยอัตโนมัติระหว่างที่ระบบเริ่มทำงานหรือไม่ ให้ออกคำสั่งต่อไปนี้

systemctl list-unit-files -t service

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ คำสั่ง systemctl โปรดอ่านบทความของเราที่อธิบาย - วิธีจัดการบริการโดยใช้ 'Systemctl' ใน Linux

นั่นคือทั้งหมด! ในบทความนี้ เราได้อธิบายการตั้งค่าและคำสั่งพื้นฐานบางประการที่ผู้ดูแลระบบ Linux ทุกคนจำเป็นต้องทราบและนำไปใช้กับระบบ CentOS/RHEL 8 ที่เพิ่งติดตั้งใหม่ หรือเพื่อดำเนินงานในแต่ละวันบนระบบ .