เว็บโดนแฮก ทำไง ? ปัญหาใหญ่ของคนทำเว็บ …. สวัสดีครับ วันนี้ผม คนทำเว็บนอกคอก จะมาเล่าให้ฟัง ถึงประสบการณ์ “แก้เว็บถูกแฮก ด้วยตัวเอง” โดยเป็นเว็บที่สร้างขึ้นด้วย WordPress นะครับ พร้อมจะแสดงตัวอย่าง ด้วยภาพประกอบ อธิบายขั้นตอนที่ผมใช้แบบ Step by Step อย่างละเอียด
แต่บทความนี้เราจะไม่พูดเรื่องที่ว่า โดน Hack เพราะอะไร หรือ มัน Hack ยังไง หรือ ป้องกันยังไง นะครับ
เราจะพูดเฉพาะ “เว็บ WordPress ที่โดนแฮกไปแล้ว และจะแก้ไข หรือกู้เว็บ กลับมายังไง” เท่านั้นนะ
(ส่วนวิธีป้องกัน วิธีเลือก Host วิธีทางเทคนิคอื่นๆ ด้าน WordPress Security ไว้ว่ากันอีกที)
[ ทำความเข้าใจกันก่อน บทความนี้สำหรับใคร ? ]
ก่อนอื่น จากที่ผมได้วงเล็บไว้ ใน TITLE ว่า สำหรับคนทั่วไป มันหมายถึง
– คนที่ไม่ใช่ System Admin
– คนที่ไม่ใช่ Web Developer
– คนที่ไม่รู้เรื่อง CODE เลย
– คนที่ไม่รู้เรื่อง Hack เลย
– คนที่ไม่รู้เรื่อง Network / Server / Hosting เลย
ใช่ครับ คนข้างบนนั่นคือ ตัวผมเอง (ซึ่งผมเชื่อว่าหลายคนเป็นแบบผม จึงใช้คำว่า คนทั่วไป)
ทีนี้ คำว่าคนทั่วไป นั่นไม่ใช่คนธรรมดาๆทั่วไปที่ไม่รู้อะไรเลย
บทความนี้อย่างน้อย ผู้อ่านต้อง
1. เป็นคนทำเว็บ สร้างเว็บด้วย WordPress (platform อื่นไม่เกี่ยวนะครับ)
2. มีรหัสผ่าน Control Panel หรือ Admin Panel (สามารถเข้าไปจัดการไฟล์ใน Host ได้)
(ถ้าใช้ WordPress Hosting ของต่างประเทศ ก็ไม่นับครับ เพราะผมไม่แน่ใจเค้าให้คุณเข้าไปแก้ไขไฟล์ได้มั้ย)
3. เป็นผู้ที่สร้างเว็บ หรือ ผู้ที่ดูแลเว็บ ที่โดนแฮก นั่นเอง
[ ที่มาที่ไป ]
ก่อนที่ผมจะนำเสนอบทความนี้ ผมรับทำเว็บด้วย WordPress มาได้ประมาณ 2 ปี นะครับ โดย ผมไม่ใช่ Developer นะ (ไม่รู้เรื่อง CODE เลย) ผมเป็นเพียง User คนนึง หรือเรียกง่ายๆว่า เป็นคนลองเล่น หัดทำเว็บโดยใช้ WordPress และศึกษามั่วเอง [จึงเป็นที่มาของคำว่า คนทำเว็บนอกคอก]
ผมทำเว็บที่ใช้ WordPress มาประมาณ 60 กว่าเว็บไซต์ และดูแลเว็บเหล่านั้นให้กับลูกค้าอยู่
ด้วยความที่เราไม่รู้เรื่อง Server/Hosting อะไรพวกนี้เลย
ปกติมีเรื่องอะไร ผมจะติดต่อทางผู้ให้บริการเช่า Host จัดการให้ทั้งหมด
ซึ่งบางครั้งและบ่อยครั้งผมก็รู้สึกเกรงใจ เจ้าหน้าที่ Support
(เพราะเรามีเรื่องไปถามไปรบกวนเค้าเยอะ แต่ก็ได้รับความช่วยเหลืออย่างดีตลอด)
ทีนี้พอเกิดปัญหา เว็บลูกค้าโดนแฮก ครั้งแรก ด้วยความที่เราไม่เคยมาก่อน
ตอนนั้นผม ตกใจ และ สติแตก มากมาย … ถึงกับ น้ำตาซึม ไปบ่นให้แม่ฟัง …
ว่า ทำไมมันต้อง มาแฮกเว็บผมด้วย เราไปทำอะไรมัน มันถึงมาแกล้งเรานะ ฮือๆๆ
(โดยหวังว่า คนที่รักเราและเรารักที่สุด จะช่วยอะไรเราได้บ้าง)
แม่ผมก็ช่วยเรียก “สติ” ผมกลับคืนมา ด้วยคำพูดที่ว่า … แฮก คืออะไร ?
( – จบเลย เจอแบบนี้ – )
เมื่อผมได้สติ ผมรู้ทันที งานนี้ ขนาดแม่กู ยังพึ่งไม่ได้ แล้วเราจะพึ่งใครได้ละ … นอกจาก … ต้องพึ่งตัวเอง !!
(ผมจึงเริ่มศึกษา เริ่มมั่ว เริ่มหาวิธี แก้ไปเรื่อยๆ)
[ กูอายลูกค้าว่ะ ]
เมื่อมีลูกค้า แจ้งมาว่า … คุณโจ้ เว็บมันขึ้นหน้าจอแดงๆ เตือน ว่าโดนแฮก !!
มันทำให้เกิด ความรู้สึก … อาย ต่อลูกค้า เป็นอย่างมาก
มีเพื่อนผมถามว่า … “เมิงแก้แฮก ให้ลูกค้า คิดตังป่าว ?”
ผมรีบตอบทันที “แค่เว็บที่กูทำให้ โดนแฮก กูก็อายจะแย่แล้ว ยังมีหน้าไปเก็บตังเค้าได้ยังไง ?”
2 ปีที่ผ่านมา ผมโดน Google แจ้งเตือนว่า เว็บ WordPress โดนแฮก มาแล้ว รวมทั้งหมด 13 ครั้ง กับ 7 เว็บ (จากทั้งหมด 60 เว็บที่ดูแลอยู่) แรกๆผมมั่วๆแก้ได้เบื้องต้น ก็รู้สึกดีใจ … แต่สักพัก มันก็ ติดอีก หรือ โดนแจ้งเตือนอีก ซ้ำๆกับเว็บเดิม
นั่นบ่งบอกว่า ผมแก้แบบไม่สุด คือ แก้ยังไม่ครบทุกจุด หรือ แก้ไม่สะอาด นั่นเอง
เพราะ Hacker ยังมีฝั่งไฟล์ หรือ ฝั่ง Script วาง Backdoor เอาไว้อยู่
ผมพยายามจะทำความเข้าใจว่า หน้าตา Script มันเป็นอย่างไร
ผมพยายามหาเครื่องมือ หรือ Plugin มาช่วยตรวจสอบว่าไฟล์อะไรบ้างมีปัญหา
ผมพยายามมั่วๆ จนสุดท้าย เออ โอเคละ มันน่าจะพอ ใช้งานได้ละ
… ผมพอจะพูดกับลูกค้าได้อย่างเต็มปาก ว่า
“พี่ครับ ตอนนี้ผมแก้ไขให้เว็บกลับมาปกติได้แล้วครับ”
ด้วยสาเหตุนี่เอง ผมถึงอยากเอามาเล่าให้คนทำเว็บ ที่อาจจะประสบชะตากรรม แบบเดียวกับผมได้รู้ว่า … ชีวิต ยังพอมีความหวัง !! (WordPress โดนแฮก … เรายังพอมีความหวังที่จะแก้ได้ ด้วยตัวเอง)
เอาละเราจะเข้าเรื่องกันจริงๆเสียที โม้มากไปละ
[ สิ่งที่จำเป็นต้องทำ ก่อนจะแก้เว็บโดนแฮก ]
1. ลงทะเบียนเว็บกับ Google Webmaster Tool
ปกติแล้วทำเว็บเสร็จทุกครั้ง เราควรจะต้อง Add Site ของเราเข้าไปใน ►
(หรือที่ชื่อเดิม เราคุ้นเคยกันดีคือ Google Webmaster Tool) เจ้าเครื่องมือตัวนี้ถือเป็นสิ่งจำเป็น เพราะนอกเหนือจากมันจะช่วยเราในด้าน• รายงานผล Traffic – SEO
• เช็คยอดผลการค้นหา Keyword ที่ Google Index
• รายงานตรวจสอบดู Backlink
• นำมาใช้วิเคราะห์ Keyword เพื่อต่อยอดในการทำ Search Engine Marketing (Google)
• และอื่นๆอีกมากมาย ที่ส่งผลระหว่าง เว็บไซต์ของเรากับ Google
สิ่งสำคัญที่สุดคือ Google Webmaster Tool จะช่วยด้าน Security Issues
รายงาน+ตรวจจับ ด้านความปลอดภัยให้กับเว็บไซต์ของเราได้
ซึ่งแน่นอน หากเว็บเราโดนแฮก Google จะแจ้งเตือนเรามา
หากเราได้ ลงทะเบียนเว็บไว้กับ Google Search Console
รูปแบบการโดนแฮก ก็มีแตกต่างกัน ที่พบบ่อยๆ เวลาโดน Google เตือนมา เช่น
– Hacked content detected
– Malware detected
2. ควร Scan Virus ในเครื่องคอมของเราก่อน
แนะนำให้ติดตั้ง โปรแกรม Anti-Virus (มีหลายตัวนะครับ ที่ใช้ได้ดี) และอย่าลืม อัพเดทฐานข้อมูลไวรัสเป็นตัวล่าสุดก่อน ถ้าถามว่า ผมใช้ตัวไหน ผมบอกก็ได้ว่าผมใช้ ของ ESET นะ ตัวราคา 999 บาท. (ไปซื้อ License พร้อมโหลดที่ – https://eset.co.th/th/store/)
[ ขั้นตอนการแก้เว็บ WordPress โดนแฮก ]
ผมจะขอสรุปเป็น ขั้นตอนก่อน แล้วค่อย อธิบายเพิ่มเติมโดยการลงรูปภาพ
เล่าวิธีขั้นตอนแก้ไขเป็นขั้นๆ อีกครั้งหนึ่งนะครับ เพื่อให้ เข้าใจได้ง่ายๆ
วิธีแก้ไขเว็บโดนแฮก (ที่ผมใช้แก้นะครับ) :
1. Google จะแจ้งปัญหามาว่า พบ Content อะไรบ้างที่โดนแฮส (กดดูตรง Security Issue เพื่อดูรายงาน)
2. ให้เข้าไปจัดการไฟล์ ค้นหาและไล่ลบไฟล์แปลกๆ บนโฮส (เข้าทาง Control Panel หรือ DirectAdmin)
3. ไล่ลบไฟล์ชื่อแปลกๆ โดยส่วนมาก แฮกเกอร์จะฝั่งไฟล์ไว้ หรือถ้า โดนหนักๆ เค้าอาจจะ Upload ไฟล์ Zip
ลงมาในโฮสแล้วแตกซิบ อาจจะมาทั้งแบบเป็น Folder เลย หรือ สุ่มกระจายๆหลายจุด
แนวโน้มของไฟล์ที่ไม่ปลอดภัย :
– ชื่อไฟล์แปลกๆ
– มักจะมี นามสกุล .php
– มักจะมี นามสกุล .php.suspected
– มักจะอยู่ใน Folder /wp-content/uploads/
– มักกระจายอยู่ใน /Plugin ต่างๆ
– มักกระจายอยู่ใน /Theme ที่เราใช้ (และไม่ได้ใช้ด้วย)
– มักจะแทรก Script ลงไปใน Core WordPress
– มักจะแทรก Script ลงไปที่ Header.php และ Footer.php ของธีม
– มักจะแทรก Script ที่ wp-config.php
– มักจะแทรก Script ที่ wp-setting.php
Script แปลกๆ มักจะเป็น Code ยาวๆที่เรามองดูแล้ว จะพอรู้ทันทีว่า ผิดปกติ
ดูไม่ยากมากนัก มักจะอยู่ บนๆ หรือไม่ก็ ล่างสุดเลย ก็ให้ลบออก เฉพาะ Script
โหแล้วเราจะรู้ได้ไง ฟังดูแล้ว ปวดหัว แต่เด้วไว้ดูรูปภาพประกอบนะครับ
(แรกๆผมก็คิดแบบนั้น แต่เพราะคำว่า กูอายลูกค้า ทำให้ผมต้องสู้ต่อไป)
4. ตรวจสอบ Script แปลกๆ ใน header.php (ใน Theme ที่เราใช้อยู่)
5. ตรวจสอบ Script แปลกๆ ใน footer.php (ใน Theme ที่เราใช้อยู่)
6. ตรวจสอบ Script แปลกๆ ในไฟล์ wp-config.php (ที่ httpdocs)
7. ตรวจสอบ Script แปลกๆ ในไฟล์ wp-settings.php (ที่ httpdocs)
8. ใช้ Plugin – Wordfence หรือ WP Scan เช็คดูอีกครั้งว่ามีไฟล์ได้เป็น backdoor มั้ย
9. ถ้า WordPress เราติด (wp-admin หรือ wp-include) ให้ลง WordPress ใหม่
10. ถ้า Theme เราติด ให้ลบแล้วลงใหม่ โหลดตัวต้นฉบับใหม่มาลง
11. ถ้า Plugin เราติด ให้ลบแล้วลงใหม่ เอาตัวล่าสุดมาลง
12. พอลบไฟล์แปลกๆ + Script แปลกๆ และลอง Scan จนคิดว่า น่าจะ Clean แล้ว
ให้ยื่นเรื่องไปให้ Google ตรวจสอบเว็บเราอีกที (รอประมาณไม่เกิน 24 ชม.)
13. เข้า WordPress ไปดู ว่า มี User แปลกๆนอกจากเรามั้ย
(กรณีเราโดนแฮก Password – WordPress Admin) ถ้าพบว่ามีก็ให้ลบออก
14. เข้าไปเปลี่ยน Password – WordPress Admin (เปลี่ยนทาง Database)
15. [สำคัญสุด] แจ้งทางโฮส ให้ช่วย Reset Password ของ Control Panel / DirectAdmin / FTP
เขียนเป็นข้อๆแบบนี้ อาจจะงงๆ เพื่อให้ ผู้อ่านเข้าใจได้ง่ายขึ้น มันเลยต้องแสดงให้ดูด้วยภาพ
ผมจึง Capture หน้าจอมาลงให้ ในช่วงที่ผมแก้ไขจริงๆ ไปดูกันครับ
[ อธิบายวิธีแก้ ด้วยภาพจริง เว็บจริงที่โดนแฮก ]
เพราะ ตั้งใจจะเอามาโพสอยู่แล้ว โชคดี ที่ 2 วันก่อน (10/11/2016) ผมพึ่งโดนแฮก ไปล่าสุด
ย้ำอีกที มันจะไม่มีประโยชน์เลยถ้า เว็บคุณไม่ได้โดนแฮกอยู่นะ
ดังนั้น คุณไม่จำเป็นต้องอ่านต่อแล้ว หาก WordPress คุณยังปกติดี
ไว้รอโดนแฮก ค่อยมาอ่านก็ได้ครับ … [เพราะยาวนะ 50 กว่ารูป]
เริ่ม …
สัญญาณเตือนว่าเว็บโดนแฮก
มีเมล์แจ้งเตือนจาก Google มาบอกว่า Malware detected
เมื่อคลิกเข้าไปดูที่ Google Webmaster Tool แล้ว หน้าตาจะประมาณนี้
เมื่อเว็บที่เราโดน Google หมายหัวไว้แล้ว เวลาพิมพ์เข้าเว็บ จะขึ้นหน้าจอเตือน สีแดง
ไม่เพียงแค่นั้น มันยังแจ้งเตือนคนอื่นๆ บนหน้าจอ SERP เวลาค้นหาอีกด้วย (คนเห็นก็ไม่กล้าคลิกแล้วแบบนี้ =.=”)
เริ่มเครียด … อย่าพึ่งตกใจไป … มาเริ่มลุยหาทางแก้กัน
ช่วงที่ 1 : จัดการกับปัญหาที่ตัวหลักของเว็บ WordPress
เริ่มจาก เข้าไปที่ Host ดูไฟล์ (ใน httpdocs)
หมายเหตุ : หน้าตาของ Control Panel/Admin Panel ของแต่ละคนอาจจะแตกต่างกันออกไปนะครับ
(ของผม ตัวโฮส ใช้เป็น Plesk เว่อร์ชั่นใหม่ มั้ง หน้าตาเป็นแบบที่เห็นอ่ะ Host อื่นหน้าตาอาจจะเป็นอีกแบบ)
ภาพด้านบน คือ เว็บที่โดนแฮก เนื่องจากผมไม่รู้ และไม่แน่ใจ ว่าไฟล์อะไรมันโดน
ในเบื้องต้น … ผมจึงเปิดอีกเว็บที่ปกติ มาเทียบกันดู (ภาพด้านล่าง คือ เว็บที่ไม่โดนแฮก – และพึ่งสร้างเสร็จใหม่ๆ)
เมื่อพอเปรียบเทียบกันแบบคร่าวๆ ตามประสาคนที่ ไม่ใช่ WordPress Developer แล้ว
จะเห็นไฟล์ + Folder แปลกๆ ที่เพิ่มขึ้นมา ดังภาพด้านล่าง ซึ่งผมก็ไม่คิดอะไรมาก ลบไฟล์แปลกๆออกเลย
(อันนี้เราต้องใช้ Sense กันเสียหน่อย แต่หากคุณโดนแฮกบ่อยๆ จะคุ้นเคยกับมันมากขึ้น)
ตัวสำคัญอันดับแรก คือ ไฟล์ index.php
จะเห็นว่า มี CODE แปลกๆ เพิ่มเข้ามา
ถามว่า รู้ได้ไงว่ามันแปลก ผมใช้วิธี เปรียบเทียบกับ ไฟล์ index.php ของเว็บที่ไม่โดนแฮก ครับ
ก็ลองเปิด สองหน้าจอ เทียบกันดู เลยสดๆ
เช่นเดียวกัน ไฟล์สำคัญอันดับ 2 คือ wp-config.php โดนเหมือนกัน
(บางครั้ง ตำแหน่ง อาจจะดูด้านบนสุดเลยนะ หรือ อาจจะเป็น CODE เยอะๆเลย ดูน่ากลัว)
ไฟล์ที่ 3 ที่ต้องดู คือ wp-setting.php
จะเห็นชุด CODE โหดๆมาแล้ว ถ้าคุณไม่รู้ ก็ให้ ลองเปิดเทียบกับ เว็บที่ปกติ จะเห็นว่า มันต่างกัน
(บางที ถ้าคุณพึ่งเริ่มโดน หรือ โดนไม่มาก … ไฟล์นี้ อาจจะ ปกติ ไม่เป็นอะไร)
เราก็ ลบออก ยกชุด แล้วเทียบกับ ไฟล์ wp-setting.php ของอีกเว็บที่ ไม่โดนแฮกดู
ไฟล์ต่อไปที่สำคัญและ โดยตลอด คือ header.php ใน Theme ที่เราใช้อยู่
ก็จะโดนแทรก Script ตามภาพด้านล่าง (เจ้า Script ที่ Header นี้เอง ที่บ่อยครั้ง
มันเป็นตัวทำให้ ANTI VIRUS ในคอมเราแจ้งเตือน ว่าเว็บนี้ติด Malware)
ให้ลบออกเลย แต่ บ่อยครั้งที่ ลบไปแล้ว มันจะกลับมาอีก
บางที ลบปุบ refresh ปับ มันมาอีกแล้ว นึกว่า ผีหลอก
สาเหตุเพราะ ยังมีไฟล์อื่นๆ อีกเพียบ เราต้องไล่แก้กันต่อไป
อีกไฟล์ ที่ มีโอกาส ที่ แฮกเกอร์ จะฝั่ง Script เอาไว้ ก็คือ footer.php ใน Theme ที่เราใช้
แต่ว่า โอกาสพบ จะไม่บ่อยนัก แต่มีบ้าง ในบางที (แต่ header นี่ 100%)
อีกจุดที่ คุณจะพบไฟล์แปลกๆได้ นั่นคือ Folder : wp-content/uploads/
จุดนี้เป็น ตัวที่เราต้องไล่เช็คดู ทุกปีทุกเดือน โดยปกติแล้ว Folder นี้ เราไว้ใช้เก็บรูปภาพ
หรือ เอกสาร PDF , หรือ ไฟล์วีดีโอ … มีเดียต่างๆ ดังนั้น จะทำให้เรามองไฟล์แปลกๆได้ง่าย
เพราะไฟล์ รูปส่วนมากก็จะเป็น .jpg .png หรือ ไฟล์ มีเดียต่างๆ เช่น .pdf .doc .mp3 .mp4 ฯลฯ
แต่ไฟล์แฮกจะมีชื่อแปลกๆ และเป็นไฟล์นามสกุล .php และ .php.suspected ซึ่งลบได้เลย
ในส่วนของไฟล์ .suspected นั้น เคยคุยกับโฮส เค้าบอกว่ามันเป็นไฟล์ของระบบ ที่ตรวจพบความปกติ
แต่ภายหลัง ผมลองใช้โปรแกรม Scan ดู มันบอกว่า ไม่ปลอดภัย ..
สุดท้าย ไม่สนแล้ว ว่ามันคืออะไร มีที่มายังไง … สรุปก็คือ ลบ แม่ง เลย
ตัวอย่าง ไฟล์ที่แปลกปลอม ใน folder – uploads
มาเป็นชุดก็มี
เมื่อคุณ ลบไฟล์แปลกๆใน uploads แล้ว รวมถึง เช็ค Script ในไฟล์สำคัญๆข้างต้นแล้ว
ในบางครั้ง Hacker อาจจะฝั่งไฟล์ไว้ในตัว Core ของ WordPress
เนื่องจากเราไม