จัดเตรียม เสริมความปลอดภัย และเริ่มต้นโฮสต์
เตรียมเซิร์ฟเวอร์ใหม่ให้มีพื้นฐานพร้อมใช้งาน
จัดเตรียม เสริมความปลอดภัย และเริ่มต้นโฮสต์ เป็นบทเรียน Ansible Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ansible Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน
จากเซิร์ฟเวอร์เปล่าสู่พื้นฐานมาตรฐาน
โฮสต์ใหม่คือกระดานเปล่า บทบาท common จะทำให้เซิร์ฟเวอร์ทุกเครื่องมีพื้นฐานที่ปลอดภัยและสอดคล้องกัน ก่อนที่โค้ดแอปจะถูกนำไปใช้งาน 🛠️
อัปเดตแคชแพ็กเกจ
เริ่มด้วยการรีเฟรชแพ็กเกจ เพื่อให้การติดตั้งใช้รุ่นปัจจุบัน โมดูล apt สามารถอัปเดตแคชได้ด้วยงานที่ให้ผลลัพธ์เหมือนเดิมเมื่อเรียกซ้ำ
- name: Update apt cache
ansible.builtin.apt:
update_cache: true
cache_valid_time: 3600ติดตั้งแพ็กเกจพื้นฐาน
ใช้ลูปเพื่อติดตั้งเครื่องมือที่ทุกโฮสต์ต้องใช้ เช่น curl, vim และ ufw ภายในงานเดียวที่อ่านได้ง่าย
- name: Base packages
ansible.builtin.apt:
name:
- curl
- ufw
- fail2ban
state: presentสร้างผู้ใช้สำหรับนำไปใช้งาน
อย่าเรียกใช้งานของแอปในฐานะ root เด็ดขาด โมดูล user จะสร้างบัญชีสำหรับการนำไปใช้งานโดยเฉพาะ ซึ่งจะเป็นเจ้าของแอปพลิเคชันต่อไป
- name: Create deploy user
ansible.builtin.user:
name: deploy
groups: sudo
shell: /bin/bashติดตั้งคีย์ SSH
ใช้ authorized_key เพื่ออนุญาตให้ผู้ใช้สำหรับนำไปใช้งานเข้าสู่ระบบด้วยคีย์ ทำให้การทำงานครั้งต่อไปเชื่อมต่อได้โดยไม่ต้องใช้รหัสผ่าน
- name: Add deploy key
ansible.posix.authorized_key:
user: deploy
key: "{{ deploy_pubkey }}"เสริมความปลอดภัยให้ SSH
ทำให้ดีมอนมีความปลอดภัยยิ่งขึ้น โดยปิดการเข้าสู่ระบบของ root และการยืนยันตัวตนด้วยรหัสผ่าน โมดูล lineinfile จะแก้ไข sshd_config อย่างปลอดภัยและให้ผลลัพธ์เหมือนเดิมเมื่อเรียกซ้ำ
- ansible.builtin.lineinfile:
path: /etc/ssh/sshd_config
regexp: "^PermitRootLogin"
line: "PermitRootLogin no"
notify: Restart sshdเปิดเฉพาะพอร์ตที่จำเป็น
กำหนดค่าไฟร์วอลล์ด้วย ufw โดยอนุญาต SSH และพอร์ตของแอป และปฏิเสธพอร์ตอื่นทั้งหมด ซึ่งเป็นการจำกัดการเปิดเผยไว้ตั้งแต่ต้น
- community.general.ufw:
rule: allow
port: "22"
proto: tcpตั้งค่าเขตเวลาและ NTP
นาฬิกาที่สอดคล้องกันมีความสำคัญต่อบันทึกและใบรับรอง ตั้งค่าเขตเวลาและเปิดการซิงค์เวลา เพื่อให้โฮสต์ทุกเครื่องใช้เวลาปัจจุบันตรงกัน
- community.general.timezone:
name: UTCทำให้เป็นตัวจัดการ
เริ่ม sshd ใหม่เฉพาะเมื่อการกำหนดค่าของมันเปลี่ยนแปลง โดยใช้ notify ร่วมกับตัวจัดการ อย่าเริ่มใหม่ทุกครั้งที่ทำงาน
handlers:
- name: Restart sshd
ansible.builtin.service:
name: sshd
state: restartedเรียกใช้งานโดยให้ผลลัพธ์เหมือนเดิม
เรียกใช้บทบาท common สองครั้ง การทำงานรอบที่สองควรรายงานเป็นเรียบร้อยเป็นส่วนใหญ่ ไม่ใช่เปลี่ยนแปลง นี่เป็นหลักฐานว่าพื้นฐานของคุณปรับเข้าสู่สถานะที่ต้องการได้จริง
วางพื้นฐานก่อนแอป
การเสริมความปลอดภัยก่อนทำให้แอปถูกนำไปใช้งานบนโฮสต์ที่ปลอดภัยและอยู่ในสถานะที่ทราบแน่ชัด Bootstrap คือรากฐานที่ทุกอย่างอื่นอาศัยอยู่ 🔒
ตรวจสอบความเข้าใจอย่างรวดเร็ว
ตัวเลือกหนึ่งช่วยให้การแก้ไขการกำหนดค่า SSH เป็นระเบียบ
สรุปทบทวน
คุณจัดเตรียมพื้นฐานแล้ว ได้แก่ แพ็กเกจ ผู้ใช้สำหรับนำไปใช้งาน คีย์ SSH, sshd ที่เสริมความปลอดภัย ไฟร์วอลล์ และการซิงค์เวลา ทั้งหมดให้ผลลัพธ์เหมือนเดิมเมื่อเรียกซ้ำ ✅
คำถามที่พบบ่อย
บทเรียน “จัดเตรียม เสริมความปลอดภัย และเริ่มต้นโฮสต์” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “จัดเตรียม เสริมความปลอดภัย และเริ่มต้นโฮสต์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ansible Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “จัดเตรียม เสริมความปลอดภัย และเริ่มต้นโฮสต์”
เตรียมเซิร์ฟเวอร์ใหม่ให้มีพื้นฐานพร้อมใช้งาน คุณปฏิบัติ Ansible Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ansible Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ansible Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “จัดเตรียม เสริมความปลอดภัย และเริ่มต้นโฮสต์” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Ansible Academy นี้ได้ไหม
ได้ บทเรียน Ansible Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- วางสถาปัตยกรรมโครงการ: Roles และ Inventory
- จัดเตรียม เสริมความปลอดภัย และเริ่มต้นโฮสต์
- การนำระบบออกใช้แบบทยอยหลัง Load Balancer
- การทดสอบเบื้องต้น การย้อนกลับ และการแจ้งเตือน