0Pricing
Ansible Academy · บทเรียน

จัดเตรียม เสริมความปลอดภัย และเริ่มต้นโฮสต์

เตรียมเซิร์ฟเวอร์ใหม่ให้มีพื้นฐานพร้อมใช้งาน

จัดเตรียม เสริมความปลอดภัย และเริ่มต้นโฮสต์ เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. วางสถาปัตยกรรมโครงการ: Roles และ Inventory
  2. จัดเตรียม เสริมความปลอดภัย และเริ่มต้นโฮสต์
  3. การนำระบบออกใช้แบบทยอยหลัง Load Balancer
  4. การทดสอบเบื้องต้น การย้อนกลับ และการแจ้งเตือน
← กลับไปที่ Ansible Academy