การกำหนดค่าความปลอดภัยผิดพลาดและบริการที่เปิดเผย
ระบุข้อมูลรับรองเริ่มต้น แผงผู้ดูแลระบบที่เปิดเผย ข้อผิดพลาดที่แสดงรายละเอียดมากเกินไป และวิธีรักษาความปลอดภัยของการกำหนดค่า
การกำหนดค่าความปลอดภัยผิดพลาดและบริการที่เปิดเผย เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
การตั้งค่าความปลอดภัยไม่ถูกต้องคืออะไร
การตั้งค่าความปลอดภัยไม่ถูกต้อง เป็นหนึ่งในช่องโหว่เว็บที่พบได้บ่อยที่สุด (อันดับ 5 ของรายการช่องโหว่ 10 อันดับแรกของ OWASP) เกิดขึ้นเมื่อการตั้งค่าความปลอดภัยยังใช้ค่าเริ่มต้นที่ไม่ปลอดภัย ตั้งค่าไม่ครบถ้วน หรือตั้งค่าไม่ถูกต้องในชั้นใดก็ตามของระบบ
ข้อมูลรับรองเริ่มต้น
อุปกรณ์และซอฟต์แวร์จำนวนมากมาพร้อมข้อมูลรับรองเริ่มต้น (ผู้ดูแล/ผู้ดูแล, ผู้ดูแล/รหัสผ่าน) ผู้โจมตีจะสแกนหาข้อมูลเหล่านี้อย่างเป็นระบบ ควรเปลี่ยนข้อมูลรับรองเริ่มต้นทันทีเมื่อนำระบบไปใช้งาน เครื่องมืออย่างโชดันจัดทำดัชนีอุปกรณ์ที่เปิดเผยข้อมูลเข้าสู่ระบบเริ่มต้นต่ออินเทอร์เน็ต
บริการที่ไม่จำเป็นและพอร์ตที่เปิดอยู่
พอร์ตที่เปิดอยู่ทุกพอร์ตคือพื้นผิวการโจมตี หลักการเปิดเผยให้น้อยที่สุดคือ ปิดใช้บริการทั้งหมดที่ไม่จำเป็น ปิดพอร์ตที่ไม่ได้ใช้งาน และเรียกใช้เฉพาะสิ่งที่ต้องใช้เท่านั้น ตรวจสอบด้วย:
ss -tulnp # all listening ports
nmap -sV localhost # service version detectionการแสดงรายการไดเรกทอรี
เว็บเซิร์ฟเวอร์ที่เปิดเผยรายการไดเรกทอรีจะแสดงโครงสร้างไฟล์ ไฟล์สำรอง ไฟล์การกำหนดค่า และซอร์สโค้ด ควรปิดใช้ในเอ็นจินเอ็กซ์/อาปาเช:
# nginx:
autoindex off;
# Apache:
Options -Indexesข้อความแสดงข้อผิดพลาดโดยละเอียด
ข้อความแสดงข้อผิดพลาดโดยละเอียดในระบบจริงอาจเปิดเผยร่องรอยการเรียกซ้อน โครงสร้างฐานข้อมูล เส้นทางไฟล์ และรุ่นของซอฟต์แวร์ ผู้โจมตีใช้ข้อมูลนี้เพื่อสำรวจระบบ ควรบันทึกข้อผิดพลาดไว้ฝั่งเซิร์ฟเวอร์ และแสดงข้อความทั่วไปแก่ผู้ใช้
ส่วนติดต่อผู้ดูแลระบบที่เปิดเผย
แผงผู้ดูแลระบบ (phpMyAdmin, เจนกินส์, แดชบอร์ดคูเบอร์เนติส, กราฟานา) ไม่ควรเปิดเผยต่ออินเทอร์เน็ตโดยไม่มีการยืนยันตัวตนและข้อจำกัดด้าน IP ผู้โจมตีจะสแกนหา /admin, /phpmyadmin, :8080/manage และอื่น ๆ โดยเฉพาะ
การตั้งค่าที่เก็บข้อมูลบนคลาวด์ไม่ถูกต้อง
บัคเก็ตเอสทรีสาธารณะและที่เก็บข้อมูลบนคลาวด์ทำให้ข้อมูลละเอียดอ่อนจำนวนมหาศาลถูกเปิดเผย ควรดำเนินการดังนี้:
- ตั้งค่าบัคเก็ตให้เป็นส่วนตัวตามค่าเริ่มต้น
- เปิดใช้นโยบายบัคเก็ตที่ปิดกั้นการเข้าถึงแบบสาธารณะ
- ใช้ Cloud Security Posture Management (CSPM) เพื่อตรวจสอบอย่างต่อเนื่อง
ส่วนหัวความปลอดภัยของโพรโทคอลเว็บที่ขาดหาย
การขาดส่วนหัวความปลอดภัยทำให้แอปพลิเคชันมีความเสี่ยง ควรตรวจสอบรายการต่อไปนี้:
Strict-Transport-Security(HSTS)Content-Security-PolicyX-Content-Type-Options: nosniffX-Frame-Options: DENY
เครื่องมือ: securityheaders.com
ส่วนประกอบซอฟต์แวร์ล้าสมัย
การใช้งานไลบรารี เฟรมเวิร์ก หรือรุ่นของ OS ที่ล้าสมัยและมีช่องโหว่ที่ทราบหมายเลข เป็นการตั้งค่าที่ไม่ถูกต้อง ผู้โจมตีใช้เครื่องมือสแกนช่องโหว่เพื่อระบุรุ่นที่แน่นอนและจับคู่กับโค้ดโจมตีที่เปิดเผยต่อสาธารณะ การจัดการโปรแกรมแก้ไขและการตรวจสอบส่วนพึ่งพาเป็นสิ่งจำเป็น
การกำหนดค่า CORS ไม่ถูกต้อง
การตั้งค่า Access-Control-Allow-Origin: * ให้กับ API ที่มีข้อมูลละเอียดอ่อนทำให้เว็บไซต์ใด ๆ สามารถส่งคำขอข้ามต้นทางที่ผ่านการยืนยันตัวตนได้ ควรสะท้อนส่วนหัวต้นทางเฉพาะต้นทางที่เชื่อถือได้อย่างชัดเจนเท่านั้น ห้ามใช้สัญลักษณ์แทนค่ากับปลายทางที่ผ่านการยืนยันตัวตนโดยเด็ดขาด
ข้อมูลลับในซอร์สโค้ด
คีย์สำหรับส่วนต่อประสานโปรแกรมประยุกต์ รหัสผ่าน และกุญแจส่วนตัวที่บันทึกไว้ในคลังซอร์สโค้ดเป็นการตั้งค่าที่ไม่ถูกต้องอย่างร้ายแรง ข้อมูลเหล่านี้มักถูกพบจากการค้นหาใน GitHub ควรใช้ตัวแปรสภาพแวดล้อม ตัวจัดการข้อมูลลับ (วอลต์, AWS Secrets Manager) และกลไกตรวจสอบก่อนบันทึกการเปลี่ยนแปลง เพื่อป้องกันการบันทึกข้อมูลโดยไม่ตั้งใจ
ตรวจสอบอย่างรวดเร็ว: การตั้งค่าที่ไม่ถูกต้อง
นักพัฒนาตั้งค่าบัคเก็ต S3 เป็นสาธารณะ ช่องโหว่นี้จัดอยู่ในประเภทใด
สรุปบทเรียน
การตั้งค่าความปลอดภัยไม่ถูกต้องครอบคลุมข้อมูลรับรองเริ่มต้น พอร์ตที่เปิดอยู่ ส่วนติดต่อผู้ดูแลระบบที่เปิดเผย การแสดงรายการไดเรกทอรี ข้อผิดพลาดโดยละเอียด ที่เก็บข้อมูลบนคลาวด์แบบสาธารณะ ส่วนหัวความปลอดภัยที่ขาดหาย ซอฟต์แวร์ล้าสมัย และข้อมูลลับในโค้ด การป้องกัน ได้แก่ คู่มือเสริมความแข็งแกร่ง การตรวจสอบการตั้งค่าอัตโนมัติ (CSPM, ไลนิส) และรายการตรวจสอบก่อนนำไปใช้งาน
คำถามที่พบบ่อย
บทเรียน “การกำหนดค่าความปลอดภัยผิดพลาดและบริการที่เปิดเผย” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การกำหนดค่าความปลอดภัยผิดพลาดและบริการที่เปิดเผย” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การกำหนดค่าความปลอดภัยผิดพลาดและบริการที่เปิดเผย”
ระบุข้อมูลรับรองเริ่มต้น แผงผู้ดูแลระบบที่เปิดเผย ข้อผิดพลาดที่แสดงรายละเอียดมากเกินไป และวิธีรักษาความปลอดภัยของการกำหนดค่า คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การกำหนดค่าความปลอดภัยผิดพลาดและบริการที่เปิดเผย” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม
ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- SQL Injection: ทำงานอย่างไรและเพราะเหตุใด
- Cross-Site Scripting (XSS)
- Cross-Site Request Forgery (CSRF)
- การกำหนดค่าความปลอดภัยผิดพลาดและบริการที่เปิดเผย