หากต้องการรักษาเว็บไซต์ให้สะอาดและป้องกันการแฮ็กในอนาคต คุณจะต้องมีสิ่งต่อไปนี้
- การเข้าถึง 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. เริ่มทำความสะอาดเซิร์ฟเวอร์ของคุณ
ตอนนี้ถึงเวลาเริ่มล้างข้อมูลในเว็บไซต์ตามบันทึกที่คุณจดไว้ขณะประเมินความเสียหายและระบุช่องโหว่ เส้นทางที่คุณจะดำเนินการในขั้นตอนนี้จะขึ้นอยู่กับประเภทของการสำรองข้อมูลที่คุณมี ดังนี้
- ข้อมูลสำรองที่เป็นข้อมูลปกติและปัจจุบัน
- ข้อมูลสำรองที่เป็นข้อมูลปกติแต่ล้าสมัย
- ไม่มีข้อมูลสำรอง
ก่อนอื่น ให้ตรวจสอบว่าสํารองข้อมูลไว้ก่อนที่เว็บไซต์จะถูกแฮ็ก
ข้อมูลสำรองที่เป็นข้อมูลปกติและปัจจุบัน
- คืนค่าจากข้อมูลสำรองของคุณ
- ติดตั้งการอัปเกรด อัปเดต หรือแพตช์ของซอฟต์แวร์ทั้งหมดที่มีอยู่ ซึ่งรวมถึงซอฟต์แวร์สำหรับระบบปฏิบัติการหากคุณเป็นผู้ควบคุมเซิร์ฟเวอร์ และแอปพลิเคชันทั้งหมด เช่น ระบบจัดการเนื้อหา แพลตฟอร์มอีคอมเมิร์ซ ปลั๊กอิน หรือเทมเพลต
- ลองนำซอฟต์แวร์ที่เว็บไซต์ไม่ได้ใช้แล้วออกจากเซิร์ฟเวอร์ (เช่น วิดเจ็ต ปลั๊กอิน หรือแอปพลิเคชัน)
- แก้ไขช่องโหว่
- ตรวจสอบว่าปัญหาทั้งหมดที่พบระหว่างประเมินความเสียหายได้รับการแก้ไขแล้ว
- เปลี่ยนรหัสผ่านอีกครั้งสำหรับบัญชีทั้งหมดที่เกี่ยวข้องกับเว็บไซต์ (เช่น ข้อมูลเข้าสู่ระบบสำหรับการเข้าถึง FTP, การเข้าถึงฐานข้อมูล, ผู้ดูแลระบบ และบัญชี CMS) ในระบบ Unix ให้ใช้คำสั่งต่อไปนี้
passwd admin1
ข้อมูลสำรองที่เป็นข้อมูลปกติแต่ล้าสมัย
- สร้างภาพดิสก์ของเว็บไซต์ปัจจุบันแม้ว่าจะยังติดเชื้ออยู่ก็ตาม สำเนานี้จะใช้เป็นข้อมูลสำรองเท่านั้น ทำเครื่องหมายสำเนาว่าติดไวรัสเพื่อแยกความแตกต่างจากไฟล์อื่นๆ ในระบบ 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
- คืนค่าจากข้อมูลสำรองที่เป็นข้อมูลปกติแต่ล้าสมัยในเซิร์ฟเวอร์
- พิจารณาว่าคุณสามารถนําซอฟต์แวร์ในเซิร์ฟเวอร์ออกได้หรือไม่ (เช่น วิดเจ็ต ปลั๊กอิน หรือแอปพลิเคชัน) ซึ่งเว็บไซต์ไม่ได้ใช้แล้ว
- อัปเกรดซอฟต์แวร์ทั้งหมด รวมถึงระบบปฏิบัติการหากคุณเป็นผู้ควบคุมเซิร์ฟเวอร์ และอัปเกรดแอปพลิเคชันซอฟต์แวร์ทั้งหมด เช่น ระบบจัดการเนื้อหา แพลตฟอร์มอีคอมเมิร์ซ ปลั๊กอิน และเทมเพลต อย่าลืมตรวจสอบและติดตั้งการอัปเดตและแพตช์ความปลอดภัยที่มี
- แก้ไขช่องโหว่
- ดำเนินการ
diff
ในเว็บไซต์ด้วยตนเองหรือแบบอัตโนมัติ ระหว่างข้อมูลสำรองที่เป็นข้อมูลปกติและสำเนาปัจจุบันที่ยังคงมีปัญหาหลงเหลืออยู่
diff -qr www/ backups/full-backup-20120124/
- อัปโหลดเนื้อหาใหม่ที่เป็นข้อมูลปกติที่คุณต้องการเก็บรักษาไว้จากสำเนาที่ติดเชื้อในเซิร์ฟเวอร์ที่อัปเกรดแล้ว
rsync -avz /backups/full-backup-20120124/www/clean-file.jpg /www/
- ตรวจสอบว่า URL แต่ละรายการที่แสดงในประเมินความเสียหายได้รับการแก้ไขแล้ว
- เปลี่ยนรหัสผ่านอีกครั้งสำหรับบัญชีทั้งหมดที่เกี่ยวข้องกับเว็บไซต์ (เช่น ข้อมูลเข้าสู่ระบบสำหรับการเข้าถึง 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 ครั้ง
หากต้องการล้างเนื้อหาของเว็บไซต์ในสำเนาระบบไฟล์สํารองข้อมูลใหม่ (ไม่ใช่เซิร์ฟเวอร์เอง) ให้ทําดังนี้
- หากการตรวจสอบก่อนหน้านี้พบว่าสิทธิ์ในไฟล์มีความผ่อนปรนเกินไป ให้แก้ไขสิทธิ์เหล่านั้น ตรวจสอบว่าคุณดำเนินการนี้ในสำเนาข้อมูลสำรอง ไม่ใช่ในเซิร์ฟเวอร์
- นอกจากนี้ ในสำเนาข้อมูลสำรอง ให้ล้างไฟล์ทั้งหมดที่เกี่ยวข้องกับ URL ที่พบว่าถูกบุกรุกจากประเมินความเสียหาย ซึ่งอาจเป็นไฟล์การกําหนดค่าเซิร์ฟเวอร์, JavaScript, HTML หรือ PHP
- อย่าลืมนําไฟล์ใหม่ที่สร้างโดยแฮ็กเกอร์ออกด้วย (แสดงการตอบกลับ 404) ซึ่งคุณอาจส่งหรือไม่ส่งโดยใช้เครื่องมือนํา URL ออกใน Search Console ก็ได้
- แก้ไขช่องโหว่ในกรณีที่มีอยู่ในโค้ด หรือรหัสผ่านที่ถูกแคร็ก ไลบรารีการตรวจสอบข้อมูลที่ป้อนหรือการตรวจสอบด้านความปลอดภัยอาจช่วยเหลือคุณได้
- หากเว็บไซต์มีฐานข้อมูล ให้เริ่มล้างระเบียนที่แฮ็กเกอร์แก้ไขในข้อมูลสํารอง เมื่อคิดว่าเสร็จแล้ว ให้ตรวจสอบระเบียนเพิ่มเติมเพื่อให้แน่ใจว่าฐานข้อมูลสะอาด
- เปลี่ยนรหัสผ่านอีกครั้งสำหรับบัญชีทั้งหมดที่เกี่ยวข้องกับเว็บไซต์ (เช่น ข้อมูลเข้าสู่ระบบสำหรับการเข้าถึง FTP, การเข้าถึงฐานข้อมูล, ผู้ดูแลระบบ และบัญชี CMS) ในระบบที่ใช้ Unix ให้ใช้โค้ดต่อไปนี้
$passwd admin1
เมื่อถึงจุดนี้ สำเนาข้อมูลสำรองของเว็บไซต์ที่ติดเชื้อครั้งหนึ่งควรมีเฉพาะข้อมูลที่สะอาด ให้เก็บสำเนาข้อมูลปกตินี้ไว้และดำเนินการต่อในข้อ 5
5. นำซอฟต์แวร์ที่ไม่จำเป็นออก
พิจารณาว่าคุณสามารถนำซอฟต์แวร์ที่อยู่ในเซิร์ฟเวอร์ออก เช่น วิดเจ็ต ปลั๊กอิน หรือแอปพลิเคชันที่ไซต์ไม่ได้ใช้งานอีกต่อไปได้ไหม ซึ่งจะช่วยเพิ่มความเป็นส่วนตัวและลดความซับซ้อนในการบำรุงรักษาในอนาคต
6. ทำความสะอาดเซิร์ฟเวอร์ทั้งหมด
- ทำการติดตั้งใหม่ตั้งแต่ต้น ไม่ใช่เพียงแค่อัปเกรด การอัปเกรดอาจทิ้งไฟล์
จากเวอร์ชันก่อนหน้าไว้ได้ หากมีไฟล์ที่ถูกแฮกหลงเหลืออยู่ในเซิร์ฟเวอร์ ไซต์
ก็มีแนวโน้มสูงที่จะถูกแฮกอีก
- การติดตั้งใหม่ควรรวมระบบปฏิบัติการด้วยหากคุณควบคุมเซิร์ฟเวอร์และแอปพลิเคชันซอฟต์แวร์ทั้งหมด เช่น ระบบจัดการเนื้อหา แพลตฟอร์มอีคอมเมิร์ซ ปลั๊กอิน และเทมเพลต และอย่าลืมตรวจหาการอัปเดตด้านความปลอดภัยและแพตช์ที่พร้อมใช้งาน
- โอนเนื้อหาที่ดีจากสำเนาระบบไฟล์ที่เป็นข้อมูลสำรองที่มีข้อมูลปกติไปยังเซิร์ฟเวอร์ที่ติดตั้งใหม่ อัปโหลดและกู้คืนเฉพาะไฟล์หรือฐานข้อมูลที่ทราบว่าสะอาด อย่าลืมรักษาสิทธิ์ของไฟล์ที่เหมาะสมและอย่าเขียนทับไฟล์ระบบที่เพิ่งติดตั้ง
- เปลี่ยนรหัสผ่านของบัญชีทั้งหมดที่เกี่ยวข้องกับเว็บไซต์เป็นครั้งสุดท้าย (เช่น ข้อมูลเข้าสู่ระบบสำหรับการเข้าถึง FTP, การเข้าถึงฐานข้อมูล, ผู้ดูแลระบบ และบัญชี CMS) ในระบบที่ใช้ Unix ให้ใช้โค้ดต่อไปนี้
passwd admin1
7. สร้างแผนการบำรุงรักษาในระยะยาว
เราขอแนะนําอย่างยิ่งให้คุณทําดังนี้
- สำรองข้อมูลไซต์แบบอัตโนมัติอย่างสม่ำเสมอ
- คอยอัปเดตซอฟต์แวร์ให้ทันสมัยอยู่เสมอ
- ทําความเข้าใจแนวทางปฏิบัติด้านความปลอดภัยของแอปพลิเคชัน ปลั๊กอิน และซอฟต์แวร์อื่นๆ ของบุคคลที่สามทั้งหมดก่อนติดตั้งลงในเซิร์ฟเวอร์ ช่องโหว่ด้านความปลอดภัยในแอปพลิเคชันซอฟต์แวร์หนึ่งอาจส่งผลต่อความปลอดภัยของทั้งเว็บไซต์
- บังคับใช้การสร้างรหัสผ่านที่รัดกุม
- รักษาความปลอดภัยให้อุปกรณ์ทั้งหมดที่ใช้ลงชื่อเข้าใช้เครื่อง (ระบบปฏิบัติการและเบราว์เซอร์ที่อัปเดต)
8. ตรวจสอบอีกครั้งว่าการทำความสะอาดเสร็จสมบูรณ์แล้ว
ตรวจดูว่าคุณตอบว่า "ใช่" สำหรับคำถามดังต่อไปนี้
- ฉันได้ดำเนินการอย่างเหมาะสมแล้วหรือไม่ หากแฮกเกอร์ได้รับข้อมูลส่วนบุคคลของผู้ใช้
- ไซต์ของฉันใช้ซอฟต์แวร์เวอร์ชันล่าสุดที่มีความปลอดภัยมากที่สุดใช่ไหม
- ฉันได้นำแอปพลิเคชันหรือปลั๊กอินที่ไม่จำเป็นหรือไม่ได้ใช้ทั้งหมดออกแล้ว ซึ่งอาจทําให้เว็บไซต์มีความเสี่ยงมากขึ้นในอนาคตใช่ไหม
- ฉันได้กู้คืนเนื้อหาและนำเนื้อหาของแฮ็กเกอร์ออกแล้วใช่ไหม
- ฉันได้แก้ไขปัญหาที่เป็นต้นเหตุที่ทำให้เกิดช่องโหว่ซึ่งทำให้เว็บไซต์ของฉันถูกแฮ็กไหม
- ฉันมีแผนที่จะช่วยดูแลเว็บไซต์ของฉันให้ปลอดภัยไหม
ตอนนี้คุณทำให้เว็บไซต์กลับมาออนไลน์ได้