ทำความสะอาดและดูแลรักษาไซต์

หากต้องการรักษาเว็บไซต์ให้สะอาดและป้องกันการแฮ็กในอนาคต คุณจะต้องมีสิ่งต่อไปนี้

  • การเข้าถึง Shell หรือเทอร์มินัลของผู้ดูแลระบบไปยังเซิร์ฟเวอร์ของเว็บไซต์ เช่น เว็บ ฐานข้อมูล ไฟล์
  • ความรู้เกี่ยวกับคำสั่ง Shell หรือเทอร์มินัล
  • ความเข้าใจเกี่ยวกับโค้ด (เช่น PHP หรือ JavaScript)
  • พื้นที่เก็บข้อมูลสำหรับสร้างข้อมูลสํารองของเว็บไซต์ รวมถึงไฟล์ ฐานข้อมูล และรูปภาพ

การดำเนินการถัดไป

เราจะดำเนินการหลายอย่างด้วยกันในขั้นตอนนี้ ดังนี้

  • ค้นหาแหล่งข้อมูลเพิ่มเติมในกรณีที่คุณเชื่อว่าแฮกเกอร์ตั้งใจที่จะไปรับข้อมูลส่วนบุคคลของผู้ใช้ (เช่น ด้วยการใช้หน้าฟิชชิง)
  • ตัวเลือกในการใช้นำ URL ออกใน Search Console เพื่อเร่งการนำ URL ใหม่ทั้งหมดที่ไม่พึงประสงค์ซึ่งผู้ใช้มองเห็นและสร้างโดยแฮ็กเกอร์ออก โดยคุณไม่ต้องการให้ URL ดังกล่าวแสดงในผลการค้นหาของ Google
  • ตัวเลือกในการขอให้ Google ทำการ Crawl URL อีกครั้งใน Search Console เพื่อเร่งให้ Google ประมวลผลหน้าเว็บที่สะอาด ซึ่งหมายถึงหน้าเว็บใหม่หรือหน้าเว็บที่อัปเดตใหม่ ที่คุณต้องการให้ปรากฏในผลการค้นหาของ Google
  • ติดตั้งซอฟต์แวร์เวอร์ชันล่าสุดที่มีความปลอดภัยมากที่สุด
  • การนำแอปพลิเคชันหรือปลั๊กอินที่ไม่จำเป็นหรือไม่ได้ใช้ออก ซึ่งอาจทำให้เว็บไซต์มีความเสี่ยงมากขึ้นในอนาคต
  • คืนค่าเนื้อหาที่ดีและนำเนื้อหาของแฮ็กเกอร์ออก
  • การแก้ไขช่องโหว่ที่เป็นสาเหตุซึ่งแฮ็กเกอร์ใช้ประโยชน์
  • การเปลี่ยนรหัสผ่านทั้งหมด
  • การวางแผนเพื่อรักษาความปลอดภัยให้เว็บไซต์

1. ค้นหาแหล่งข้อมูลการสนับสนุน

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

2. เร่งให้มีการนำ URL ใหม่ที่แฮ็กเกอร์สร้างขึ้นออก

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

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

3. เร่งให้ Google แสดงหน้าเว็บปกติได้รวดเร็วขึ้น

หากมีหน้าใหม่หรือหน้าที่ได้รับการแก้ไขแล้ว คุณสามารถขอให้ Google ทำการ Crawl URL อีกครั้งใน Search Console เพื่อส่งหน้าเหล่านี้ไปยังดัชนีของ Google (ไม่บังคับ) หากคุณข้ามขั้นตอนนี้ หน้าเว็บใหม่หรือที่แก้ไขอาจได้รับการรวบรวมข้อมูลและประมวลผลเมื่อเวลาผ่านไป

4. เริ่มทำความสะอาดเซิร์ฟเวอร์ของคุณ

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

  • ข้อมูลสำรองที่เป็นข้อมูลปกติและปัจจุบัน
  • ข้อมูลสำรองที่เป็นข้อมูลปกติแต่ล้าสมัย
  • ไม่มีข้อมูลสำรอง

ก่อนอื่น ให้ตรวจสอบว่าสํารองข้อมูลไว้ก่อนที่เว็บไซต์จะถูกแฮ็ก

ข้อมูลสำรองที่เป็นข้อมูลปกติและปัจจุบัน

  1. คืนค่าจากข้อมูลสำรองของคุณ
  2. ติดตั้งการอัปเกรด อัปเดต หรือแพตช์ของซอฟต์แวร์ทั้งหมดที่มีอยู่ ซึ่งรวมถึงซอฟต์แวร์สำหรับระบบปฏิบัติการหากคุณเป็นผู้ควบคุมเซิร์ฟเวอร์ และแอปพลิเคชันทั้งหมด เช่น ระบบจัดการเนื้อหา แพลตฟอร์มอีคอมเมิร์ซ ปลั๊กอิน หรือเทมเพลต
  3. ลองนำซอฟต์แวร์ที่เว็บไซต์ไม่ได้ใช้แล้วออกจากเซิร์ฟเวอร์ (เช่น วิดเจ็ต ปลั๊กอิน หรือแอปพลิเคชัน)
  4. แก้ไขช่องโหว่
  5. ตรวจสอบว่าปัญหาทั้งหมดที่พบระหว่างประเมินความเสียหายได้รับการแก้ไขแล้ว
  6. เปลี่ยนรหัสผ่านอีกครั้งสำหรับบัญชีทั้งหมดที่เกี่ยวข้องกับเว็บไซต์ (เช่น ข้อมูลเข้าสู่ระบบสำหรับการเข้าถึง FTP, การเข้าถึงฐานข้อมูล, ผู้ดูแลระบบ และบัญชี CMS) ในระบบ Unix ให้ใช้คำสั่งต่อไปนี้
passwd admin1

ข้อมูลสำรองที่เป็นข้อมูลปกติแต่ล้าสมัย

  1. สร้างภาพดิสก์ของเว็บไซต์ปัจจุบันแม้ว่าจะยังติดเชื้ออยู่ก็ตาม สำเนานี้จะใช้เป็นข้อมูลสำรองเท่านั้น ทำเครื่องหมายสำเนาว่าติดไวรัสเพื่อแยกความแตกต่างจากไฟล์อื่นๆ ในระบบ Unix คุณสามารถสร้างดิสก์อิมเมจได้ดังนี้
dd if=/dev/sda bs=1024 conv=noerror,sync | gzip -c -9 \
> /mirror/full-backup-20120125-infected.gz
  1. ทำสำเนาระบบไฟล์สํารองของเซิร์ฟเวอร์ ซึ่งรวมถึงรูปภาพและไฟล์สื่อ หากคุณมีฐานข้อมูล ให้สำรองข้อมูลฐานข้อมูลไว้ด้วย
tar -pczf full-backup-20120125-infected.tar.gz www/
mysqldump
-u root -p --all-databases | gzip -9 \
> fulldb_backup-20120125-infected.sql
  1. คืนค่าจากข้อมูลสำรองที่เป็นข้อมูลปกติแต่ล้าสมัยในเซิร์ฟเวอร์
  2. พิจารณาว่าคุณสามารถนําซอฟต์แวร์ในเซิร์ฟเวอร์ออกได้หรือไม่ (เช่น วิดเจ็ต ปลั๊กอิน หรือแอปพลิเคชัน) ซึ่งเว็บไซต์ไม่ได้ใช้แล้ว
  3. อัปเกรดซอฟต์แวร์ทั้งหมด รวมถึงระบบปฏิบัติการหากคุณเป็นผู้ควบคุมเซิร์ฟเวอร์ และอัปเกรดแอปพลิเคชันซอฟต์แวร์ทั้งหมด เช่น ระบบจัดการเนื้อหา แพลตฟอร์มอีคอมเมิร์ซ ปลั๊กอิน และเทมเพลต อย่าลืมตรวจสอบและติดตั้งการอัปเดตและแพตช์ความปลอดภัยที่มี
  4. แก้ไขช่องโหว่
  5. ดำเนินการ diff ในเว็บไซต์ด้วยตนเองหรือแบบอัตโนมัติ ระหว่างข้อมูลสำรองที่เป็นข้อมูลปกติและสำเนาปัจจุบันที่ยังคงมีปัญหาหลงเหลืออยู่
diff -qr www/ backups/full-backup-20120124/
  1. อัปโหลดเนื้อหาใหม่ที่เป็นข้อมูลปกติที่คุณต้องการเก็บรักษาไว้จากสำเนาที่ติดเชื้อในเซิร์ฟเวอร์ที่อัปเกรดแล้ว
rsync -avz /backups/full-backup-20120124/www/clean-file.jpg /www/
  1. ตรวจสอบว่า URL แต่ละรายการที่แสดงในประเมินความเสียหายได้รับการแก้ไขแล้ว
  2. เปลี่ยนรหัสผ่านอีกครั้งสำหรับบัญชีทั้งหมดที่เกี่ยวข้องกับเว็บไซต์ (เช่น ข้อมูลเข้าสู่ระบบสำหรับการเข้าถึง FTP, การเข้าถึงฐานข้อมูล, ผู้ดูแลระบบ และบัญชี CMS) ในระบบ Unix ให้ใช้คำสั่งต่อไปนี้
$passwd admin1

ไม่มีข้อมูลสำรอง

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

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

dd if=/dev/sda bs=1024 conv=noerror,sync | gzip -c -9 \
> /mirror/full-backup-20120125-infected.gz

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

tar -pczf full-backup-20120125-infected.tar.gz www/
mysqldump
-u root -p --all-databases | gzip -9 \
> fulldb_backup-20120125-infected.sql

หากไม่มีภาพดิสก์ ให้สำรองข้อมูลฐานข้อมูล 2 ครั้งและสำรองข้อมูลระบบไฟล์ 2 ครั้ง

หากต้องการล้างเนื้อหาของเว็บไซต์ในสำเนาระบบไฟล์สํารองข้อมูลใหม่ (ไม่ใช่เซิร์ฟเวอร์เอง) ให้ทําดังนี้

  1. หากการตรวจสอบก่อนหน้านี้พบว่าสิทธิ์ในไฟล์มีความผ่อนปรนเกินไป ให้แก้ไขสิทธิ์เหล่านั้น ตรวจสอบว่าคุณดำเนินการนี้ในสำเนาข้อมูลสำรอง ไม่ใช่ในเซิร์ฟเวอร์
  2. นอกจากนี้ ในสำเนาข้อมูลสำรอง ให้ล้างไฟล์ทั้งหมดที่เกี่ยวข้องกับ URL ที่พบว่าถูกบุกรุกจากประเมินความเสียหาย ซึ่งอาจเป็นไฟล์การกําหนดค่าเซิร์ฟเวอร์, JavaScript, HTML หรือ PHP
  3. อย่าลืมนําไฟล์ใหม่ที่สร้างโดยแฮ็กเกอร์ออกด้วย (แสดงการตอบกลับ 404) ซึ่งคุณอาจส่งหรือไม่ส่งโดยใช้เครื่องมือนํา URL ออกใน Search Console ก็ได้
  4. แก้ไขช่องโหว่ในกรณีที่มีอยู่ในโค้ด หรือรหัสผ่านที่ถูกแคร็ก ไลบรารีการตรวจสอบข้อมูลที่ป้อนหรือการตรวจสอบด้านความปลอดภัยอาจช่วยเหลือคุณได้
  5. หากเว็บไซต์มีฐานข้อมูล ให้เริ่มล้างระเบียนที่แฮ็กเกอร์แก้ไขในข้อมูลสํารอง เมื่อคิดว่าเสร็จแล้ว ให้ตรวจสอบระเบียนเพิ่มเติมเพื่อให้แน่ใจว่าฐานข้อมูลสะอาด
  6. เปลี่ยนรหัสผ่านอีกครั้งสำหรับบัญชีทั้งหมดที่เกี่ยวข้องกับเว็บไซต์ (เช่น ข้อมูลเข้าสู่ระบบสำหรับการเข้าถึง FTP, การเข้าถึงฐานข้อมูล, ผู้ดูแลระบบ และบัญชี CMS) ในระบบที่ใช้ Unix ให้ใช้โค้ดต่อไปนี้
$passwd admin1

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

5. นำซอฟต์แวร์ที่ไม่จำเป็นออก

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

6. ทำความสะอาดเซิร์ฟเวอร์ทั้งหมด

  1. ทำการติดตั้งใหม่ตั้งแต่ต้น ไม่ใช่เพียงแค่อัปเกรด การอัปเกรดอาจทิ้งไฟล์ จากเวอร์ชันก่อนหน้าไว้ได้ หากมีไฟล์ที่ถูกแฮกหลงเหลืออยู่ในเซิร์ฟเวอร์ ไซต์ ก็มีแนวโน้มสูงที่จะถูกแฮกอีก
    • การติดตั้งใหม่ควรรวมระบบปฏิบัติการด้วยหากคุณควบคุมเซิร์ฟเวอร์และแอปพลิเคชันซอฟต์แวร์ทั้งหมด เช่น ระบบจัดการเนื้อหา แพลตฟอร์มอีคอมเมิร์ซ ปลั๊กอิน และเทมเพลต และอย่าลืมตรวจหาการอัปเดตด้านความปลอดภัยและแพตช์ที่พร้อมใช้งาน
  2. โอนเนื้อหาที่ดีจากสำเนาระบบไฟล์ที่เป็นข้อมูลสำรองที่มีข้อมูลปกติไปยังเซิร์ฟเวอร์ที่ติดตั้งใหม่ อัปโหลดและกู้คืนเฉพาะไฟล์หรือฐานข้อมูลที่ทราบว่าสะอาด อย่าลืมรักษาสิทธิ์ของไฟล์ที่เหมาะสมและอย่าเขียนทับไฟล์ระบบที่เพิ่งติดตั้ง
  3. เปลี่ยนรหัสผ่านของบัญชีทั้งหมดที่เกี่ยวข้องกับเว็บไซต์เป็นครั้งสุดท้าย (เช่น ข้อมูลเข้าสู่ระบบสำหรับการเข้าถึง FTP, การเข้าถึงฐานข้อมูล, ผู้ดูแลระบบ และบัญชี CMS) ในระบบที่ใช้ Unix ให้ใช้โค้ดต่อไปนี้
passwd admin1

7. สร้างแผนการบำรุงรักษาในระยะยาว

เราขอแนะนําอย่างยิ่งให้คุณทําดังนี้

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

8. ตรวจสอบอีกครั้งว่าการทำความสะอาดเสร็จสมบูรณ์แล้ว

ตรวจดูว่าคุณตอบว่า "ใช่" สำหรับคำถามดังต่อไปนี้

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

ตอนนี้คุณทำให้เว็บไซต์กลับมาออนไลน์ได้