plugin ชื่อ member access (member-access.1.1.6.zip) ทำให้ในขณะนี้ไม่สามารถเพิ่มบทความที่ให้เฉพาะสมาชิกอ่านได้เท่านั้น แต่ต้องเปิดเป็น public ได้อย่างเดียว มิฉะนั้นในหน้าแรก (Home) จะไม่เป็นหน้าว่าง ๆ ต้อง login จึงเห็นบทความทุกเรื่องได้
plugin ชื่อ member access (member-access.1.1.6.zip) ทำให้ในขณะนี้ไม่สามารถเพิ่มบทความที่ให้เฉพาะสมาชิกอ่านได้เท่านั้น แต่ต้องเปิดเป็น public ได้อย่างเดียว มิฉะนั้นในหน้าแรก (Home) จะไม่เป็นหน้าว่าง ๆ ต้อง login จึงเห็นบทความทุกเรื่องได้
ได้ยินหลายคนพูดถึงการใช้งานตรวจสอบ Website โดยเฉพาะ Joomla โดยใช้เครื่องมือที่ชื่อว่า joomscan
ก็เลยลองติดตั้ง และ ทำการทดสอบกับ Web Server ใน VirtualBox ที่มีช่องโหว่ JCE ที่เจาะได้แน่ๆ เพื่อดูว่าเครื่องมือนี้ทำงานอย่างไร
ทำการโจมตีจาก Kali Linux ไปยังเครื่องเป้าหมาย ด้วย joomscan
รายงานผลแจ้งว่า joomscan มีการ Update ล่าสุด เมื่อ Oct 22, 2012 นั่นคือเมื่อ 4 ปีที่แล้ว
รายผลที่แจ้งช่องโหว่ ที่เจาะได้ มีดังนี้
แสดงให้เห็นว่า ด้วย Tools ตัวเดียวอาจจะไม่สามารถมั่นใจได้ว่า ระบบของเราปลอดภัยหรือไม่
ฝากไว้พิจารณาครับ
หลังจากย้าย WordPress site ไปลง ubuntu 16.04.1 ก็ได้เตรียมติดตั้งโปรแกรมต่าง ๆ แต่แล้วเมื่อลองจะแก้ไขบล็อก กลับทำไม่ได้ ขึ้นข้อความว่า
“The sysadmin.psu.ac.th page isn’t working
sysadmin.psu.ac.th is currently unable to handle this request.
HTTP ERROR 500”
เกิดอะไรขึ้นหล่ะ แล้วเราจะต้องทำอย่างไร
ค้นหาเจอเว็บนี้ ที่บอกเราว่า ให้ลองเปิด DEBUG
https://wordpress.org/support/topic/http-error-500-internal-server-error-whole-blog-is-down
“So to understand where the reason of 500 error is I suggest go to wp-config.php in the root of your website and add there two lines:
define(‘WP_DEBUG’, true);
@ini_set(‘display_errors’, 1);
After that you can see exactly place which linked with 500 error.
After fixing I suggest return it how it was by default (only one line)
define(‘WP_DEBUG’, false);”
เมื่อใช้คำสั่งตรวจสอบ error.log ครั้งแรก ไม่เห็นอะไรเพิ่มเติม แต่พบ error 404 ของ plugin ที่ชื่อ WP Like Button ก็ลองปิด plugin นี้ดูเราจึงจะพบ error ก็เห็น error ต่าง ๆ ได้จากคำสั่งข้างล่างนี้
tail -f /var/log/apache2/error.log
Fatal error: Uncaught Error: Class ‘DomDocument’ not found in /var/www/wordpress/wp-content/plugins/google-sitemap-plugin/google-sitemap-plugin.php:144
ค้นหาต่อว่าทำไมจึงขาด DomDocument ก็เจอเว็บนี้
https://blog.namran.net/2009/03/10/php-fatal-error-class-domdocument-not-found-in-blabla/
แนะนำว่า
“the solution turn out to be yum install php-xml”
ตรวจสอบดู เออนะ ไม่มี php-xml จริง ๆ ด้วย ด้วยคำสั่งนี้
dpkg -l | grep php-xml
dpkg -l | grep php7.0-xml
ทีนี้เราก็ติดตั้ง php-xml ด้วยคำสั่ง
sudo apt install php-xml
จะได้
libxslt1.1 php-xml php7.0-xml
ทำให้สามารถใช้งานได้ปรกติแล้ว ซึ่งในกระบวนการ post และ ppdate post นั้น ได้แก้ไข post ให้แล้ว เพียงแต่ว่ามันไปทำต่อที่ google-sitemap-plugin ไม่สำเร็จจึงแสดงเป็น error ออกมา
ขอบคุณเพื่อน ๆ ที่ช่วยกันแก้ไขเรื่องนี้ด้วยกันด้วยครับ
ได้รับแจ้งจาก ThaiCERT ว่ามีเว็บไซต์ภายในโดเมนของมหาวิทยาลัย เผยแพร่ Code อันตราย ดังต่อไปนี้
จึงเข้าทำการตรวจสอบในเครื่องเว็บเซิร์ฟเวอร์ดังกล่าว พบการวางไฟล์ Backdoor ไว้ดังที่อธิบายใน วิธีตรวจสอบเว็บไซต์ที่โดน Hack #17 แล้ว
แต่ที่เห็นผิดปรกติ ก็เป็นใน access.log ของ Apache ซึ่งพบว่า มีการเรียกใช้ xmlrpc.php เป็นจำนวนมาก ดังภาพ
จากการตรวจสอบ พบว่า xmlrpc.php เป็นช่องทางให้สามารถเรียกใช้ Function ต่างๆผ่านทาง HTTP และเป็นช่องทางให้ App ต่างๆสามารถติดต่อกับ WordPress ได้ แต่ก็เป็นช่องทางให้เกิดการเดารหัสผ่านจำนวนมากได้เช่นกัน (Brute Force Attack) โดยสามารถทดลอง ส่ง XML ที่มีโครงสร้าตามที่ API กำหนด เช่น wp.getUsersBlogs [1][2][3] สามารถดูจำนวน Blog ที่ User คนนั้นๆเขียนขึ้นมา แต่ ต้องระบุ username/password ซึ่งตรงนี้จะเป็นส่วนที่ทำให้เกิดการ Brute Force ได้ ด้วยคำสั่งต่อไปนี้ เป็นการเดารหัสผ่านไปยัง http://localhost/blog/xmlrpc.php
echo "<methodCall><methodName>wp.getUsersBlogs</methodName><params><param><value> <string>admin</string></value></param> <param><value><string>password</string></value></param></params></methodCall>" | POST http://localhost/blog/xmlrpc.php
หากสำเร็จ จะได้คำตอบมาอย่างนี้
หากเป็น WordPress รุ่นต่ำกว่า 4.0 เปิดให้ใช้ system.multicall ซึ่งทำให้สามารถเดารหัสผ่านจำนวนมาก ใน 1 Request ทำให้ระบบตรวจจับได้ยาก ดังนั้น หากไม่จำเป็นต้องใช้ xmlrpc.php ก็สมควรปิดการใช้งานที่ระดับ Apache โดยสร้างไฟล์ /etc/apache2/conf-enabled/xmlrpc.conf มีข้อมูลเป็น
<FileMatch "xmlrpc\.php$">
Order Deny,Allow
Deny from All
</FileMatch>
จากนั้น Restart Apache ก็สามารถปิดการทำงานได้
Reference
[1] http://www.hackingsec.in/2014/08/wordpress-xml-rpc-brute-force-attack.html#
[2] http://blog.dewhurstsecurity.com/2012/12/11/introduction-to-the-wordpress-xml-rpc-api.html
[3] https://codex.wordpress.org/XML-RPC_WordPress_API
ไม่แน่ใจว่าจะเอามะพร้าวมาขายสวนหรือเปล่านะคับ แต่ก็เผื่อว่าบางท่านเจอปัญหาเดียวกันแล้วแก้ไม่ได้สักที (แบบไม่ต้องติดตั้งโปรแกรมใหม่หมด)
ด้วยตัวเองก่อนหน้านี้ติดตั้ง Apache 2.2 + PHP 5.2 + phpMyAdmin on Windows 8.1 เพื่อใช้งาน Joomla 2.5 แต่เมื่อต้องการจะติดตั้ง Joomla 3 และ Moodle ระบบกลับฟ้องว่าไม่ support PHP 5.2 จะต้องติดตั้ง PHP 5.3.10 ขึ้นไป[1] ด้วยความที่ไม่อยากติดตั้งใหม่ทั้งหมด เลยค้นหาวิธีการอัพ php 5.2 เป็น php 5.3 แต่ก็ไม่ประสบผลสำเร็จ -_-‘ หลายเว็บมีความซับซ้อนและยุ่งยากสำหรับผมมาก แต่ไปเจอมาเว็บนึง[2] ซึ่งมีวิธีการที่ง่ายมากๆ เลยอยากนำมาแชร์ให้สำหรับท่านไหนที่ประสบปัญหาเหมือนอย่างผม
ขั้นตอนการ upgrade
1. เข้าเว็บ http://windows.php.net/downloads/releases/archives/ แล้วคลิกดาวน์โหลด
php-5.3.29-Win32-VC9-x86.zip
2. เมื่อดาวน์โหลดไฟล์เสร็จแล้ว ก็ทำการ unzip
3. เปลี่ยนชื่อโฟลเดอร์ เป็น php5
4. copy โฟลเดอร์ php5
5. ไปที่โฟลเดอร์ php5 เวอร์ชั่นก่อนหน้านี้ที่เราเคยติดตั้งไว้ โดยให้ทำการ rename เป็น php5_old ในที่นี้จะอยู่ที่ C:\AppServ\
6. past โฟลเดอร์ php5 ที่ได้จากการ ข้อ 2 และ 3
7. เข้าไปที่ Control Panel > Computer Management> Service เพื่อคลิก restart service ของ Apache2.2 หรือจะคลิกขวาที่ My Computer > Manage > Service ก็ได้เหมือนกันคับ
8. ทำการทดสอบการใช้งานโดย เปิดเว็บเบราเซอร์ แล้วพิมพ์ url : localhost/phpinfo.php จะปรากฏรายละเอียดเกี่ยวกับ php 5.3.29 ที่เราได้ทำการติดตั้ง
9. เสร็จสิ้นกระบวนการ ^^
ปล. Joomla 1.5 และ 2.5 ที่ได้เคยติดตั้งไว้ ก็ยังสามารถใช้งานได้ปกติดีคับ
Refer :
[1] http://www.joomla.org/technical-requirements.html
[2] http://www.websiteadministrator.com.au/articles/install_guides/installing_php535.html
ผมได้เขียนคำแนะนำวิธีใช้เครื่องมือในการเขียนบล็อกใน wordpress ไป วันนี้อยากนำมาเล่าสู่กันฟังอีกสักรอบ เพราะว่ามีสมาชิกใหม่ๆเข้ามาร่วมเยอะ
เคยเขียนเรื่อง “KM เรื่อง การใช้งานสำหรับผู้เขียน wordpress” (http://sysadmin.psu.ac.th/2012/11/16/km-how-to-authoring-in-wordpress/) Posted on November 16, 2012 by วิบูลย์ วราสิทธิชัย
อันนี้จะเป็นคำแนะนำวิธีการตั้งชื่อ URL Link เป็นภาษาอังกฤษ แม้ว่า เราจะตั้งชื่อเรื่องเป็นภาษาไทย ต้องใช้วิธีการ manual ในการแก้ไข
ตั้งค่าการเผยแพร่บทความให้อ่านได้เฉพาะสมาชิกที่ login (http://sysadmin.psu.ac.th/2013/01/04/set-post-to-private/) Posted on January 4, 2013 by วิบูลย์ วราสิทธิชัย
อันนี้จะเป็นคำแนะนำวิธีการซ่อนบทความที่ไม่ต้องการเปิดเผยเนื่องจากเป็นข้อมูลเฉพาะเจาะจงในม.อ. เช่น workshop PSU Passport Authentication อย่างนี้กำหนดค่าให้ login ก่อนจึงอ่านได้
และวันนี้มีมาเล่าสู่กันฟังเพิ่มเติมครับว่า เราสามารถใส่รูปภาพ เพื่อเป็นรูปแรกสำหรับหน้าบล็อกเรื่องที่เขียนครับ โดยคลิกที่คำว่า Set featured Image อยู่ด้านขวามือข้างล่างหน้าบล็อกที่กำลังเขียน ให้อัปโหลดรูป (ต้องย่อขนาดรูปให้เล็ก ประมาณสัก กว้าง 130px สูง 130px ด้วยเครื่องมือตกแต่งรูปที่ใช้เป็น ก่อนอัปโหลดนะครับ) ขึ้นไปเก็บบน sysadmin.psu.ac.th แล้วคลิกเลือกมาใช้ ลืมบอกไปว่า Featured Image จะโผล่ในหน้าแรก (Home)
ลองใช้งาน ติดขัดอย่างไรก็สอบถามมานะครับ
วิธีติดตั้ง VCNT Visitorcounter on Joomla 3.x
สวัสดีครับ ในวันนี้ใครที่ใช้ Joomla 3 ที่ยังไม่มีตัวนับสถิติผู้เข้าชม ผมมีตัวนับสถิติ ที่ทำงานง่ายไม่ซับซ้อนมาแนะนำครับ โดยมันมีชื่อว่า VCNT Visitorcounter บางคนอาจจะเคยใช้ Vinaora Visitcounter มาก่อน แต่พอมา joomla 3 นี้ไอ่ตัว Vinaora ยังไม่ได้ทำ plugin มาเผื่อ joomla 3 ใครเผลอเอาไปติดตั้งเว็บของท่านอาจไม่ปรากฏอะไรซักอย่างในหน้าแรกเลยก็เป็นได้นะครับ (อย่าลองเชื่อผม) ตัวนับสถิติที่แนะนำวันนี้ก็ได้แก่ VCNT Visitorcounter ซึ่งดาวน์โหลดได้จาก http://joomla-extensions.kubik-rubik.de/vcnt-visitorcounter#backend-info เมื่อดาวโหลดมาแล้วก็ทำการติดตั้ง มันจะไปเพิ่มอยู่ใน Module Manager ครับ
และหากจะเข้าไป ปรับแต่งค่าให้ไปที่ Module Manager > VCNT Visitorcounter มันก็จะมีหลาย Tab ให้เราปรับเปลี่ยน ซึ่งเรา
ติดตั้งเสร็จแล้วเลือก Position ให้มัน มันก็จะไปปรากฏหน้าเว็บดังรูปนี้ครับ จบข่าว..
วิธีใช้งาน Authentication – LDAP บน Joomla ใน มอ. บน Ubuntu Server 12.04.5 LTS แบบละเอียด (ผมคาดว่า version 14.04.1 LTS ก็น่าจะใช้ได้เหมือนกันนะ)
สวัสดีครับไม่ได้เขียนนาน เพราะยังไม่ได้ศึกษาอะไรเพิ่มเติมมากนักเกี่ยวกับเซิร์ฟเวอร์ในช่วงที่ผ่านๆมาเนื่องจาก ทำงานทั่วไปซะเป็นส่วนใหญ่ พอดีเมื่อวันพุธที่ผ่านมาได้ติดตั้งและทดลองใช้ Ldap plugin บน joomla ให้มัน ยืนยันตัวตนผ่าน PSU Passport เพื่อให้เฉพาะบุคคลภายในมหาวิทยาลัยสามารถอ่านบทความหรือเนื้อหานั้นได้ เช่น พวกรายชื่อ อีเมล์ หรือ วาระการประชุมต่างๆ เริ่มเลยนะครับ
0.กรอกแบบฟอร์มขอใช้บริการ ldap ให้เรียบร้อย และส่งไปยังศูนย์คอมเพื่อให้เจ้าหน้าที่ จัดทำ Policy ในการเข้าใช้งานให้กับเราก่อน โดยเราจะต้องลงชื่อเครื่องที่จะใช้บริการ ldap และหมายเลข IP Address และลงชื่อเป็นลายลักอักษร
TLS_REQCERT never
ldapsearch -H “ldaps://xx.xx.xx.xx” -b “dc=psu,dc=ac,dc=th” -x
(xxx นี่คือ server ldap ที่เราใช้ ถ้าใน มอ.จะเป็น ldaps://dc2.psu.ac.th)
จะพบผลของการค้นหา
# search result
search: 2
result: 4 Size limit exceeded
# numResponses: 1004
# numEntries: 1000
# numReferences: 3
ถ้าทำได้ครบดังนี้ถือว่าการเตรียมการใช้งาน ldap บนฝั่ง server เสร็จเรียบร้อย
————————————————————————————————————————————–
จากนั้นเปิด joomla ของเรามาและเข้าไปที่ backend เพื่อทำการปรับแต่งค่า
ให้ตั้งค่าให้ตรงตามรูปภาพ โดยสามารถเข้าไปดูรายละเอียดการตั้งค่าต่างๆใน plugin ตัวนี้ได้จาก บทความที่ คุณจัตตุพร ชูช่วย เขียนไว้ครับ http://sysadmin.psu.ac.th/2013/02/07/การเชื่อมต่อ-psu-passport-joomla-ldap/ ซึ่งมีหลากหลายเวอร์ชั่นมากตั้งแต่ Joomla 1.5.xx เป็นต้นมา จนถึง 3.x.x
3.ทดลองเปิดเว็บและไปที่ Menu ยืนยันตัวตนดูครับจากนั้นลองยืนยันตัวตนดู ก็จะสามารถเข้าสู่ระบบได้เรียบร้อยแล้ว โดยหากเรามี Article ที่กำหนดให้เฉพาะสมาชิกอ่านมันก็จะปรากฏหลังจากที่เราทำการยืนยันตัวตนครับ
เมื่อใช้งานเสร็จแล้ว และต้องการยกเลิกการยืนยันตัวตน ให้กดที่ Menu เดิมอีกครั้งจะปรากฏปุ่ม ออกจากระบบให้เรากดครับ
เสร็จสิ้นภารกิจ แนะนำอีก 2 ข้อนะครับ
2.หากต้องการเขียน Article และเปิดให้เฉพาะผู้ใช้งานภาย มอ. เห็น แนะนำให้สร้าง Article หรือ Category และเลือก parent เป็น Menu ที่เราทำเป็น Menu ยืนยันตัวตน เวลาที่ User ใช้งานจะได้มองเห็นเนื้อหา ด้านล่าง Menu ที่เรายืนยันตัวตนเลยจะได้ไม่เสียเวลาไปมองหาไกล
อ้างอิง
http://share.psu.ac.th/blog/server-dev/21929
http://sysadmin.psu.ac.th/2013/02/07/การเชื่อมต่อ-psu-passport-joomla-ldap/
เทคนิคนี้ ใช้ผ่าน Internet Information Services (IIS) Manager โดยการแก้ไข Request Filtering ในระดับ Web Server เลย โดยดำเนินการตามวิธีการต่อไปนี้
สมมุติเดิมโดนวางไฟล์ Backdoor ไว้ที่
http://localhost/corin/images/stories/backdoor.php
แต่เมื่อตั้ง Rules ดังกล่าวแล้ว จะทำให้ Hacker ไม่สามารถเรียกใช้งาน PHP ที่วางไว้ใน images/stories ได้ โดยจะได้ Error เช่นนี้
วิธีนี้มีข้อดีคือ สามารถป้องกันการใช้งาน PHP ใน images/stories (และใน upload โฟลเดอร์) แต่ยังสามารถเรียกไฟล์ภาพและไฟล์อื่นๆได้ตามปรกติ เช่น
http://localhost/corin/images/stories/clownspin.gif
ลองใช้งานดูครับ 😉