Hướng dẫn sử dụng iThemes Security Free bảo mật website WordPress

Tính năng cơ bản iThemes Security Free

Những tính năng bảo mật cơ bản và cần thiết nhất đều có trên iThemes Security Free, thậm chí nó đủ dùng cho những website lớn.

Trong đó có 16 tính năng khuyên dùng cho bản Free, những cái cần thiết nhất được bật sẵn khi cài và kích hoạt iThemes Security.

Ngoài ra còn 6 tính năng Nâng cao, dành cho người dùng có kinh nghiệm muốn can thiệp sâu hơn vào bảo mật, tất nhiên nếu bạn không hiểu rõ những gì mình làm, các tính năng nâng cao có thể khiến bạn đau đầu vì trong nhiều trường hợp nó sẽ gây ra một số lỗi vì xung đột với hosting, theme hay plugins.

Các tính năng cơ bản như hình bên dưới:

1. Security Check

Phải chạy, vì iThemes sẽ bật rất nhiều tính năng hữu ích để bảo vệ Website WordPress khi chạy Security Check.

Đây là phần hiển thị ngay khi bạn kích hoạt iThemes, giúp kiểm tra những vấn đề bảo mật quan trọng nhất trên Websites.

Security Check sẽ bật các tính năng cần thiết nhất, để đảm bảo site an toàn. Mỗi cái bạn có thể cấu hình riêng sau đó. Bao gồm:

  1. Banned Users: chặn vĩnh viễn các IP nguy hiểm truy cập vào site, như các IP tấn công dò mật khẩu. Bạn có thể thêm bất kỳ IP nào (ví dụ như IP chuyên dùng để comment spam…)
  2. Database Backups: gởi bản backup Database vào email quản trị (hoặc email khác) mỗi ngày
  3. Local Brute Force Protection & Network Brute Force Protection: chống tấn công dò mật khẩu, ta sẽ xem thêm ở bên dưới.
  4. Strong Passwords: bắt buột User phải dùng mật khẩu mạnh
  5. WordPress Tweaks: các tính năng cơ bản để như chặn tính năng File Editor trong Dashboard…

Khi kích hoạt iThemes Security, đa số các tính năng bảo mật này đều được kích hoạt, nên quá trình check cho kết quả OK, trừ trường hợp tính năng Network Brute Force Protection – cái này không được bật sẵn nên bạn phải chọn bật nó hay không.

2. Global Settings

Để mặc định như iThemes đã cấu hình sẵn, không cần chỉnh sửa gì thêm.

Cấu hình chung của iThemes, ta không cần chỉnh sửa gì cái này vì đa số tùy chọn đã được bật hay tắt theo khuyên dùng của iThemes Security.

Một số tính năng của phần này:

  • Cho phép bạn tùy biến Thông báo lỗi, thông báo block user… hiển thị cho người dùng
  • Cho phép tắt thông báo bảo mật trên Admin Bar Menu
  • Cho phép đưa một số IP vào Whitelist – tức sẽ không bị ban vĩnh viễn trong trường hợp thử sai mật khẩu quá nhiều lần.

Các tính năng phải được bật:

Cho phép iThemes sửa file wp-config.php và .htacess

Cái này mà tắt thì nhiều tính năng của iThemes Security trở nên vô dụng vì không thể thực thi các rules trên hệ thống để bảo mật được.

Các tính năng sử dụng quyền ghi vào wp-config.php và .htacess là tính năng Vô hiệu hóa File Editor trong Dashboard, tính năng Tắt XML-RPC để tránh tấn công Brute Force & DDos, tính năng đổi đường dẫn login mặc định (Hide Backend)…

Enable Blacklist Repeat Offender

cho phép đưa một IP vào danh sách đen để ban vĩnh viễn nếu vượt quá số lần bị Lockout, ở đây mặc định là 3 lần lockout. Tùy chọn này khá ok, cứ để mặc định là tốt nhất. Cấu hình này áp dụng cho tất cả các tính năng cho phép “Đưa User ra đảo vĩnh viễn” nếu có số lần bị Lockout vượt chuẩn, dùng cho các tính năng như 404 Detection, Two-factor Authentication hay reCAPTCHA…

Nói chung phần này để mặc định, không cần phải táy máy làm gì.

3. Notification Center

Để mặc định nếu bạn lười tùy chỉnh các thông báo, có thể tùy chỉnh các thông báo nếu nó giúp khách hàng và người dùng hiểu rõ hơn về các thông báo bảo mật của iThemes Security

Cấu hình email thông báo. Mặc định iThemes sẽ gởi thông báo bảo mật và Database backup tới toàn bộ Administrator Users.

Đây là nơi cho phép bạn tùy chỉnh các thông báo bảo mật của iThemes dành cho toàn bộ các tính năng Free & Pro, bạn có thể sửa các thông báo theo ý mình, hoặc để mặc định cũng được.

4. 404 Detection

Nên bật, để tránh hacker (bot của hacker) lợi dụng 404 tấn công làm Website quá tải.

404 là lỗi Page Not Found, tức là người dùng truy cập vào một đường dẫn mà không tìm được trang tương ứng. Lỗi này có 2 nguyên nhân:

  1. Trang đó đã bị xóa khỏi site
  2. Trang đó không hề tồn tại – vì người dùng gõ một đường dẫn sai hoặc ai đó link tới trang web trên site nhưng đường link bị sai

Khi một người truy cập vào một link của Website, WordPress bắt đầu thực thi các tác vụ để dò tìm trang tương ứng với link đó. Nếu trang đó có sẵn thì quá OK, WP sẽ tìm ra nó và hiển thị nhanh thôi.

Nhưng nếu nó không có, WP phải dò hết trên Database rồi mới hiển thị 404 – cho người dùng biết là trang đó không có. Quá trình này rất ‘mất sức’ – nên nếu hacker lợi dụng cái này, cố tình truy cập vào những đường link sai thì site có thể bị quá tải – và không chỉ vậy, khi ‘quá tải’ WordPress có thể show ra nhiều lỗ hổng để hacker có thể lợi dụng để thâm nhập.

Vậy nên iThemes Security cung cấp tính năng 404 Detection để chúng ta ban (chặn) vĩnh viễn những tay láu cá cố tình tấn công bằng cách liên tục gởi những truy vấn tới các trang không tồn tại trên Website.

Tính năng này chúng ta nên bật (Nhấp vào Enable để bật), và sử dụng cấu hình mặc định của iThemes là tốt nhất.

Như cấu hình trên, nếu trong vòng 5 phút , một User cố truy cập các trang không tồn tại và gây ra hơn quá 20 lỗi 404, thì họ sẽ bị Lockout, và như cài đặt ở Global Settings,

Lưu ý Ignore List & File Types là dành cho các file đặc biệt & file ảnh, code css… vì đây là các file không cần phải bảo vệ khỏi lỗi 404 vì:

  1. Thường nhiều thiết bị khi tải trang sẽ dò load các file này (ví dụ apple-touch-icon, favicon, cache, file css…) nhưng không phải Website nào cũng có đầy đủ, nên nếu nó load liên tục thì sẽ gây ra quá nhiều lỗi 404, lỗi này không phải cố tình, cũng không đến mức gây quá tải cho Website.

  2. Các file robots.txt, cross…xml, … là các file Bot của Search Engine như Google, Bing…tự động dò tới nhưng không phải Website nào cũng có, nên có thể tạo ra nhiều lỗi 404, tương tự như trên, các lỗi này không gây ra vấn đề gì nghiêm trọng.

5. Away Mode

Chỉ dùng khi bạn chắc chắn 99.999% sẽ không đăng nhập vào Website trong một khoản thời gian hoặc một khung giờ cố định mỗi ngày.

Tính năng rất hay nhưng cũng nguy hiểm.

Away Mode cho phép bạn vô hiệu hóa tính năng login của WordPress theo lịch đặt trước.

Ví dụ bạn không bao giờ login vào Website trong khung giờ 12h đêm → 6h sáng, bạn có thể vô hiệu hóa tính năng đăng nhập trên Website trong khung giờ này … và có thể kê gối ngủ ngon mỗi đêm.
Có 2 tùy chọn:

  • Daily : vô hiệu hóa Login theo khung giờ cố định hàng ngày
  • One-time : vô hiệu hóa một lần theo khoản thời gian xác định. Ví dụ trong 7 ngày tới bạn đi nghỉ tuần trăng mật và vợ bạn cấm không cho dùng laptop hay ngó ngàng gì tới công việc, thì bạn có thể vô hiệu hóa tính năng login trong 7 ngày đó.

Tất nhiên, tính năng này nguy hiểm trong trường hợp khẩn cấp, bạn phá luật và cần truy cập vào Dashboard.

Hãy hình dung bạn muốn rời nhà 6 tiếng, quyết định vô hiệu hóa Tính năng mở khóa cửa trong thời gian đó, sau đó bạn ra xe và phát hiện mình quên mang ví.??? Thế là bạn phải tự đập vỡ ổ khóa của mình !!!

Tương tự, với WordPress thì chúng ta đập ổ khóa bằng cách truy cập vào Hosting và xóa iThemes & chỉnh sửa lại các giá trị cấu hình của iThemes trong Database trên phpMyAdmin.

6. Ban Users

Nên sử dụng, dùng hợp lý như đề cập bên dưới

Một trong những tính năng mà mọi plugin bảo mật phải có. Cho phép chúng ta chặn vĩnh viễn những kẻ bất hảo:

  1. Enable HackRepair.com’s blacklist feature : ban những IP có trong Blacklist của các chuyên gia bảo mật, đây là những IP chuyên được Hacker sử dụng để chạy các Bot dò mật khẩu hay spam. Nếu check cái này ta có thể chặn ngay một lượng lớn IP đáng ngờ, nhưng cũng lưu ý, có nhiều IP ở danh sách này là các IP của mạng Internet công cộng, wifi cafe,… vì vậy nó có thể chặn nhiều người dùng vào website của bạn. Nên nếu không bị tấn công quá gắt, bạn không nên bật cái này, vì ta còn có nhiều tính năng chống Bot khác của iThemes Security như reCAPTCHA, Two-factor Authentication…
  2. Enable Ban List : nếu bật cái này, bạn có 2 tùy chọn để Ban User: Ban Hosts (IP) và User Agents

Ban Host (IP)

Chúng ta có thể đưa một IP vào danh sách này để chặn người dùng vào Website, ví dụ bạn có một Kẻ chuyên đăng bình luận dạng Spam, quảng cáo,… thì copy IP của hắn đưa vào List Ban Hosts là xong

image

User Agents

Là các phần mềm tự động hoạt động thay mặc cho con người, như các trình duyệt Web trên một hệ điều hành (ví dụ WikiBrowser/0.1 Gecko/1.0) hay các Bot dò tìm & đánh chỉ mục nội dung Website như Google Bot, Bing Bot (Good Bots)…hoặc các Bot dò để copy nội dung trái phép, hoặc thực hiện SEO Spam… (Bad Bots).

Chúng ta chỉ chặn một User Agents nếu chắc chắn đó là một phần mềm dạng Bot mà hacker hay sử dụng. Vì nếu chúng ta chặn lung tung, có thể chặn luôn một phần người dùng. Ví dụ bạn chặn User Agent Chrome trên hệ điều hành Android, thì bạn mất tất cả người dùng vào Website bằng trình duyệt Chrome từ Điện thoại Android.

7. Database Backups

Phải bật, vì các bản sao lưu Database sạch sẽ cực kỳ hữu ích khi chúng ta cần phục hồi Website lỗi hoặc Web nhiễm mã độc. Nên bật và để tùy chọn như mặc định trừ thông số Backup to Retains hãy đọc dòng màu đỏ nhé!

Đặt lịch và tùy chỉnh sao lưu Cơ sở dữ liệu (Database). Vô cùng quan trọng vì trong trường hợp Website bạn gặp sự cố lớn – Database gởi tới email có thể là vị cứu tinh để bạn phục hồi Website.

Lưu ý là iThemes chỉ backup Database (.sql) chứ không backup toàn bộ dữ liệu (gồm database + media files).

Nếu bạn chỉ có database, bạn sẽ có bài viết, nội dung dạng text, các Option của Theme, Plugins. Còn hình ảnh hay các media file khác (video, audio, .pdf, …) thì không có.

Nhưng cái quan trọng nhất của database là nếu nó bị cài mã độc, link xấu thì rất mất thời gian để làm sạch, nên có các bản backup database sạch sẽ cũng vô cùng quý giá trong trường hợp Site bị hack.

Hãy để cấu hình giống bên dưới nhé:

Backup Full Database : sao lưu toàn bộ Database của Website.

Backup Method : lưu cả trên Hosting (Locally) và gởi một bản vào email cho Administrator (quá tốt)

Backup Location : bản sao lưu trên Hosting sẽ nằm trong wp-content/uploads/ ithemes… bạn có thể chọn đường dẫn khác nếu thích.

Backup to Retains : số bản sao lưu được giữ lại, nếu chọn 0 tức là sẽ giữ lại tất cả các bản backup, số lượng sẽ tính theo ngày, ví dụ 1 năm bạn sẽ có 365 bản backup, mỗi bản có thể khoản 10 → 30 MB (nếu blog khá lớn), sẽ ngốn dung lượng ổ cứng (Hosting Storage) từ 3,6 GB → 10,8 GB mỗi năm , đó là chưa kể nếu hosting bạn chứa nhiều Website. Nên hãy để Backup to Retains khoản 30 → 60 là OK, tức bạn giữ lại trên hosting bản sao lưu Database của 30 → 60 ngày gần nhất, vì chúng ta còn có các bản sao lưu gởi về email nữa.

Zip Database Backup : nén bản backup (.sql → zip) trước khi lưu trữ và gởi vào email cho bạn. Việc này giúp giảm dung lượng file backup rất đáng kể (từ 90 MB .sql → 9 MB .zip) giúp tiết kiệm ổ cứng lưu trữ và gởi backup qua email dễ dàng hơn, nếu quá trình backup có thông báo lỗi, có thể do hosting của bạn không thể thực hiện công đoạn Nén thành .sql → .zip, khi đó bạn hãy tắt tùy chọn nén nhé.

Schedule Database Backup : đặt lịch sao lưu tự động

Backup Interval : sau khi đặt lịch ở trên, bạn có thể chọn chu kỳ sao lưu, tốt nhất là để 1 – tức sao lưu tự động mỗi ngày.

Để backup toàn bộ site (code + database + media files) thì chúng ta sẽ có các plugin Backup tự động chuyên dụng như UpdraftPlus, All-in-One WP Migration, Duplicator…

8. File change Detection

Không nên bật liên tục nếu dùng shared hosting hay VPS cấu hình thấp, vì tính năng này cần rất nhiều tài nguyên hosting, có thể gây quá tải và khiến Website chậm.

Kiểm tra sự thay đổi của các File trên Source Code, nhờ đó giúp ta phát hiện các hành vi đáng ngờ và có thể phục hồi file sạch nếu bị nhiễm Malwares.

Chỉ cần bật nó lên là mọi thay đổi trên code đều được cảnh báo.

Để sử dụng tính năng File Detection, đầu tiên ta bật nó (Enable) rồi vào cấu hình Configure Settings để tiến hành Scan toàn bộ danh sách File cần theo dõi.

Mặc định iThemes Security sẽ theo dõi toàn bộ cách file code (PHP, css, js…) còn những file ít nguy hiểm như hình ảnh, media files hay file ngôn ngữ (tính năng dịch) thì được bỏ qua, vì các file này hiếm có khả năng thực thi các đoạn code nguy hiểm.

Nhấp vào nút Scan Files Now để tiến hành quét toàn bộ files cần theo dõi, sau này, mỗi khi có thay đổi so với lần quét này, iThemes sẽ hiện thông báo cảnh báo với bạn ngay trên Menu Admin Bar và gởi cả vào email.

Tuy nhiên, bạn cần cân nhắc với tính năng này vì có iThemes sẽ luôn hoạt động rà soát các thay đổi theo thời gian thực, nên có thể ảnh hưởng đến hiệu năng của máy chủ, làm chậm sites. Các plugin bảo mật khác cũng tương tự, chỉ nên bật tính năng Files Detection nếu tài nguyên máy chủ mạnh, còn shared hosting còn thì bật lên sẽ gây hiện tượng down-time liên tục, thậm chí có thể bị suspended vì chiếm dụng tài nguyên quá nhiều.

9. File Permissions

Tính năng này giúp kiểm tra quyền của các file & folder trên mã nguồn, trừ phi bị cảnh báo màu đỏ, còn lại nếu green & yellow như hình bên dưới, bạn không cần làm gì cả.

Tính năng check các quyền của file và folder trên code, cụ thể là R-W-E (Read – Write – Execute: đọc – ghi – thực thi).

Việc phân quyền cho mỗi File hay Folder (CHMOD) sẽ tác động lớn tới bảo mật của Website. iThemes sẽ check xem các phân quyền có đảm bảo an toàn hay không. Nếu OK, báo màu xanh, nếu nguy hiểm màu đỏ còn màu vàng là cảnh bảo.

image

Một số file cần nhiều quyền hơn như wp-config.php ( cho phép các plugin bảo mật có thể ghi lệnh vào) hay file cấu hình nginx.conf nếu bạn dùng VPS với LEMP Stack.

Nên nếu wp-config.php hay nginx.conf có hiển thị màu vàng cũng đừng lo lắng nhé!

10 & 11. Local & Network Brute Force Protection

Nên bật, vì đây là cách phòng chống tấn công dò mật khẩu hiệu quả nhất hiện nay cho WordPress

Bảo vệ Website khỏi các cuộc tấn công dò mật khẩu Brute Force.

Local Brute Force Protection vs Network Brute Force Protection

Cả 2 tính năng này đều cho phép ban (chặn đứng) những IP cố tình login vào Website bằng phương pháp Brute Force Attack (phương pháp thử sai user/pass).

Brute Force hay Brute Force Attack là kiểu tấn công dò mật khẩu.

Brute Force Protection là tính năng cho phép iThemes tự động chặn một IP truy cập Website nếu một người dùng IP đó cố tính login vào Websie bằng phương pháp dò mật khẩu. Bạn hoàn toàn có thể bật tính năng này và cấu hình số lần sai pass tối đa mà một người có thể thử khi login vào Webise, sau số lần đó, IP đó sẽ bị chặn truy cập vào Website của bạn vĩnh viễn.

Sự khác biệt chính là:

  • Local Brute Force Protection : ban (chặn) những IP cố tính tấn công Brute Force Attack site của bạn.
  • Network Brute Force Protection : tính năng này không chỉ ban IP cố tính login site bạn qua Brute Force Attack mà còn ban những IP nằm trong Blacklist của iThemes – Blacklist này tập hợp những IP được dùng để tấn công Brute Force Attack mà iThemes thu thập được qua khách hàng (và cả list IP đã tấn công site bạn).

Cấu hình Local Brute Force Protection

Mở Configure Settings, chúng ta sẽ có 4 phần để cấu hình, mặc định đã được cấu hình sẵn, bạn có thể tùy chỉnh theo ý mình nếu muốn:

  1. Max Login Attempts Per Host: số lần mỗi IP được cho phép sai password (hoặc username) trước khi nó bị đưa vào Blacklist – ban vĩnh viễn không cho truy cập vào Website nữa.

  2. Max Login Attempts Per User : số lần mỗi User được phép sai pass trước khi bị ban vĩnh viễn, nó khác ở trên là mỗi User có thể thay đổi IP để cố gắng login, và nếu họ login từ nhiều IP khác nhau, thì đây là số lần mỗi Username được sai pass tối đa trước khi bị đưa ra đảo.

  3. Minutes to Remember Bad Login (check period) : số phút mà các lượt đăng nhập ‘đáng ngờ’ được ghi nhớ lại. Ví dụ bạn để thời gian check period là 10 phút, thì nếu người dùng có username là ’em_dang_hack’ đã thử 4 lần sai pass và chưa vượt quá số lần cho phép (ví dụ là 5 lần), thì sau 10 phút đó, 4 lần thử sai của ’em_dang_hack’ sẽ được ‘ân xá’, user này lại được phép sai pass 5 lần nữa.

  4. Automatically ban “admin” user : ngay lập tức ban vĩnh viễn nếu ‘thằng’ nào cố login bằng cách nhập username là admin. Nếu Website của bạn không có Username nào là ‘admin’ thì bạn nên đặt tùy chọn này. Đa số các Bot dò mật khẩu đều thử username là admin đầu tiên, nên bật cái này sẽ giúp chặn ngay Bot ngay lần đầu ‘gặp mặt’.

Bật Network Brute Force Protection

Nếu bật tính năng Network Brute Force Protection thì bạn cũng cho phép iThemes thu thập danh sách IP tấn công site của bạn để cập nhật vào Blacklist chung của iThemes.

Hạn chế của Network Brute Force Protection là Blacklist của iThemes chứa danh sách IP khổng lồ, và nó có thể chặn một số người vào Website nếu chẳng may họ dùng mạng chứa các IP nằm trong Blacklist.

Dù sao, đây cũng là tính năng rất tốt nếu site của bạn bị tấn công Brute Force cường độ lớn hoặc tấn công DDos.

Lưu ý, khác với Local Protection đã được bật sẵn, tính năng Network Protection bạn phải tự bật lên khi chạy Security Check. Để bật Network Brute Force Protection, chúng ta quay lại mục Security Check, bật nó lên.

Sau khi bật, ta có thể vào Configure Settings để xem chi tiết, thông tin bao gồm 1 API Key để kết nối với cơ sở dữ liệu Blacklist của iThemes, nhờ đó chúng ta có thể chặn tới 99% các Bot thông dụng của Hacker

image

12. Password Requirements

Nên bật, vì nếu người dùng bị hack tài khoản, hacker có thể lợi dụng quyền của người dùng đó thực thi các tác vụ nguy hiểm cho Website.

Tính năng cần thiết, cho phép bạn ép người dùng (tùy chọn từ Administrator tới Subscribes thông thường) phải dùng mật khẩu mạnh.

Tốt nhất là bạn chọn Minimum Role là Subscribes (quyền thấp nhất trên WP), để mọi User phải dùng mật khẩu mạnh.

13. SSL

Nên bật nếu Website đã hỗ trợ SSL

Tính năng này ép người dùng phải vào Website với giao thức mã hóa theo chứng chỉ bảo mật SSL. Nếu domain đã đăng ký chứng chỉ SSL uy tín (không phải loại chứng chỉ tự ký – Self-Sign) như Let’s Encrypt, Positive SSL… thì nên bật tính năng này để mọi kết nối dữ liệu đều được mã hóa.

Sau khi bật, vào Configure Settings để chọn Enable – tức lập tức chuyển hướng toàn bộ các request http:// thành https:// để người dùng luôn tương tác qua giao thức SSL:

14. System Tweaks

Chỉ dùng nếu bạn hiểu rõ, đọc thêm bên dưới và đừng bao giờ chọn tất cả các mục vì 99% nó sẽ khiến nhiều tính năng của theme và plugin bị chặn không cho hoạt động. Trừ những tính năng được khuyên ‘nên chọn/ nên bật’ thì các cái còn lại, hãy chọn từng cái, rồi check xem site có hoạt động OK không, sau đó hãy chọn cái tiếp theo.

Tính năng này khá ‘nâng cao’, bao gồm nhiều tùy chọn cho phép iThemes Security thay đổi cấu hình Webserver, nhờ đó tăng tính bảo mật.

Nhưng vấn đề những cấu hình này có thể khiến nhiều tính năng bị chặn. Do đó, chúng ta chỉ làm khi hiểu rõ sự tác động của mỗi tùy chọn lên Website.

Protect System Files – nên chọn : không cho truy cập trực tiếp các folder/ file nhạy cảm như install.php, wp-config.php, .htacess… vì các thông tin ở đây bị lộ sẽ giúp Hacker tấn công vào site dễ dàng hơn.

Disable Directory Browsing – nên chọn : chặn các truy cập vào đường dẫn thư mục hoặc file nến thư mục đó không chứa file index (file sẽ thực thi – không cho người dùng truy cập hay xem các file khác trong thư mục).

Request Methods – không nên : chặn các truy vấn đáng ngờ gởi đi từ Website thông qua URL, cái này bạn không nên chọn vì có thể nó cản trở hoạt động của các plugin hay tính năng của theme.

Suspicious Query Strings in the URL – không nên : lọc và chặn các truy vấn nguy hiểm trực tiếp từ URL, ví dụ kẻ nào đó cố gắng truy cập vào folder themes hay plugins. Vì tính năng này có thể hoạt động không chính xác, nó có thể gây hiệu ứng không mong muốn cho người dùng.

Filter Non-English Characters – nên chọn: chặn các truy vấn có ký tự lạ, đây là cách để hạn chế các truy xuất dữ liệu nguy hiểm trong các phương thức tấn công SQLinjection (xem trong Topic Các phương thức Hack Website mới nhất – ở phần đầu Chuyên đề bảo mật WordPress)

Filter Long URL Strings – nên chọn : lọc các truy vấn quá dài, đây là một trong các kiểu tấn công SQL Injection phổ biến – đưa các tham số nguy hiểm để cố tình truy xuất dữ liệu trái phép hoặc đưa dữ liệu nguy hiểm vào Database của Website.

File Writting Permission – Remove File Writing Permissions – không nên chọn: tính năng này sẽ chuyển các file về phân quyền (CHMOD) 0444, nó thường khiến nhiều plugin và tính năng thêm ‘chết đứng’, nên đừng chọn cái này nhé!

PHP in Uploads – Disable PHP in Uploads – nên chọn : không cho file .php quyền thực thi (execution) trên thư mục Uploads , đây là tính năng tốt vì nhiều kẻ cố tình upload các file độc hại và chạy chúng từ tính năng Upload trên Dashboard.

PHP in Plugins & PHP in Themes – tùy trường hợp – Disable PHP Execute in Plugins & Themes Directory: nếu chọn, iThemes sẽ chặn bất kỳ chương trình PHP nào trong thư mục Themes và Plugins tự chạy (execute), vì các Themes và Plugins bị nhiễm mã độc thường chứa code dạng Backdoor, tự kích hoạt để tạo ra các ‘cửa hậu’ nhằm hack và chiếm quyền Admin.

15. WordPress Salts

Nên chọn

Cập nhật key bảo mật (trên wp-config.php) để giữ key luôn được an toàn.

Salt key là các code mã hóa thông tin đăng nhập của bạn, nó nằm trong wp-config.php, đây là các thông tin nên được bảo mật vì nếu hacker có được, họ có thể hack dễ dàng.

Bằng các cách Hack thông tin đăng nhập từ Cookie của trình duyệt Web thì Hacker có thể nắm được Salts key và truy cập vào Website (thường gặp khi bạn vào tiệp Net đăng nhập xong quên xóa Cache trình duyệt, hoặc bạn là nạn nhân của một cuộc tấn công XSS…).

Nên, iThemes cho phép chúng ta đổi Salts key mỗi 30 ngày, iThemes sẽ thông báo nhắc để chúng ta đổi Salt key tự động mà không cần phải mở file wp-config.php ra để sửa.

Chỉ cần chọn và Save changes như hình dưới:

Lưu ý: mỗi khi đổi Salts key, toàn bộ User sẽ bị logout khỏi Website ngay lập tức vì cookie cũ không còn đúng nữa, sau đó, bạn chỉ cần login lại.

16. WordPress Tweaks

Nên dùng, nhưng đọc kỹ hướng dẫn để hiểu rõ

Cấu hình lại WordPress để phòng chống các kỹ thuật tấn công phổ biến như Brute Force qua XML-RPC…

Các cấu hình này sẽ cho phép iThemes Security can thiệp vào cấu hình mặc định của WordPress. So với các tính năng trong System Tweak thì các tính năng ở mục này hoạt động ‘êm đềm’ hơn, hữu ích và không gây ra nhiều vấn đề cho hoạt động của Website.

Windows Live Writer Header – bỏ qua : nếu bạn viết bài rồi đăng qua dịch vụ Windows Live Writer thì chọn cái này để bảo mật, nhưng hiện nay hiếm có ai dùng cách này, nên chẳng cần quan tâm.

EditURI Header – Remove RSD… – bỏ qua : chỉ dùng nếu bạn kết nối WordPress với các dịch vụ ngoài qua XML-RPC, hiện cũng hiếm ai dùng nên bỏ qua luôn.

Comment Spam – Remove Commnet Spam – bỏ qua : chúng ta nên dùng plugin chuyên chống Spam Akismet, nên không cân bật cái này cho thêm phức tạp

Disable File Editor – nên chọn : tính năng này vô hiệu hóa việc sửa file theme/ plugin (File Editor) trên Dashboard, giúp tránh bị chèn malware nếu nhỡ hacker chiếm được quyền Admin.

XML-RPC – nên chọn Disable XML-RPC : cho phép tắt tính năng XML-RPC vì rất nhiều cuộc tấn công dò mật khẩu (Brute Force) và DDos được thực hiện qua phương thức ‘multi-call’ trên tính năng XML-RPC, đáng tiếc là WordPress mặc định lại bật tính năng này dù phương thức viết bài và đăng qua XML-RPC không còn được sử dụng.

Multiple Authentication Attempts per XML-RPC Request – nên chọn Block : chặn các truy vấn dùng phương thức multi-call qua XML-RPC.

REST API – nên chọn Restrict Access : nhiều tính năng quan trọng cần thực hiện qua REST API, nhưng chỉ nên thực hiện với các quyền User nhất định, không cho phép thực hiện bằng các truy vấn công khai để tránh bị hacker lơi dụng để hack.

Login Error Message – tùy chọn : nếu chọn thì nó sẽ ẩn thông báo lỗi khi login, để hacker không thấy được được ‘gì đó’ từ các thông báo lỗi này và lợi dụng chúng.

Force Unique Nickname – tùy chọn – dùng nếu Website có nhiều tác giả -buộc User phải chọn nickname riêng biệt khi đăng ký mới hoặc update tài khoản nhằm tránh cho hacker thu thập username từ trang tác giả trên blog. Lưu ý nó không áp dụng cho những User cũ, trừ phi họ edit tài khoản.

Disable Extra User Archives – tùy chọn : chặn các Archive Page của những User không có bài viết nào, nhằm tránh để Bot lợi dụng trang Author để dò Username nhằm tấn công Brute Force.

Protect Against Tabnapping – nên chọn : bảo vệ người vào Website khỏi phương pháp tấn công ‘lừa đảo’ rất tinh vi này.

Login with Email Address or Username – để mặt định : cho phép đăng nhập bằng cả Usernam lẫn Email

Mitigate Attachment File Traversal Attack – phải chọn : tính năng này giúp bạn chặn các cuộc tấn công Traversal Attack, một kiểu tấn công mà một User với quyền Author hoặc Editor có thể thực hiện xóa các file trên mã nguồn WordPress, kể cả file cấu hình wp-config.php

Các tính năng nâng cao của iThemes Security Free

Những tính năng bảo mật nâng cao “Advanced” cho phép bạn cấu hình ‘sâu’ hơn vào hệ thống nhưng bạn cần hiểu rõ cách thức hoạt động cũng như tính tương thích với các theme, plugin hoặc Hosting đang dùng.

Nếu không cẩn thận khi cấu hình xong Website sẽ không thể truy cập hoặc một số tính năng không còn hoạt động được.

Nói vậy nhưng cũng có một số tính năng chúng ta nên bật, vì nó rất hữu ích cho bảo mật.

A. Admin Users

Nên, nhưng có thể làm thủ công bằng cách xóa hoặc đổi tên Username admin, ID =1

Tính năng cho phép xóa các User có tên là Admin hoặc ID =1, nhằm tránh nó trở thành đối tượng tấn công của Hacker vì họ biết tên user hoặc ID của User.

Tất nhiên ta có thể làm cái này thủ công bằng cách xóa trong mục Users, không cần bật trên iThemes làm gì.

B. Change Content Directory

Không nên, vì nó khiến nhiều tính năng quan trọng của theme, plugin hoạt động sai.

Những ai muốn đổi tên thư mục wp-content thành cái tên khác (ví dụ abczipzip) thì có thể bật tính năng này.

Việc đổi tên wp-content nhằm tránh các phần mềm tự động dò các file trong thư mục này (chứa theme – plugin và các media files).

Nhưng việc đổi tên có thể khiến theme và plugins hoạt động sai, gây ra những hậu quả ‘thảm khốc’ như vỡ giao diện, không vào được sites…

Nên nếu bạn không phải ‘chuyên gia WordPress’ thì đừng táy máy tính năng này để khỏi mất thời gian mò mẫm & sửa chữa sai lầm.

C. Change Database Table Prefix

Nên, nhưng nhớ backup database vì việc này có thể gây ra nhiều lỗi cần phải phục hồi lại database cũ. Tốt nhất là khi bắt đầu cài WordPress, ta cần chọn Database Table Prefix bảo mật, không chọn là wp_ hay tendomain_…

Database Table Prefix là tiền tố của các bản dữ liệu, mặc định khi cài WordPress thì nó sẽ có tên là wp_, ví dụ wp_wpvnteam.

Vì tên mặc định quá dễ đoán nên thường trở thành mồi ngon cho các phần mềm hack. iThemes sẽ tự động đổi prefix hiện tại thành prefix phức tạp hơn, nếu check chọn Yes.

Khi cài WordPress, chúng ta có thể thay tiền tố wp_ bằng tên tùy chọn, chỉ mình bạn biết. Các Apps cài WP nhanh như SoftAculus trong cPanel cũng tự đổi wp_ thành cái khó đoán hơn.

Bạn có thể đổi lại tiền tố wp_ bằng cách chỉnh trong wp-config.php thay vì đổi trong iThemes Security.

Lưu ý, nếu bạn đang dùng Database Table Prefix là wp_ mà muốn đổi, thì cần backup Database trước vì khi site đang hoạt động, đổi tiền tố của Database có thể gây ra nhiều lỗi.

Sau khi đổi tiền tố Database, bạn vào Dashboard → Settings → Permalinks , chọn Save changes để WordPress cập nhật lại toàn bộ các thông tin mới.

D. Hide Backend

Nên, vì nó hạn chế rất một phần khả năng Bot tấn công dò mật khẩu

Tính năng này rất nên dùng, thực chất là đổi đường dẫn đăng nhập mặc định của WordPress (domain/wp-admin hay domain/wp-login.php) thành một đường dẫn khác nhằm tránh bị các phần mềm hacker tập trung tấn công Brute Force vào trang đăng nhập.

iThemes Security giúp bạn đổi link trang login thành một link tùy chọn, để bảo mật hơn.

Lưu ý, sau khi đổi, nếu bạn dùng VPS với Nginx Webserver, thì cần login vào Console (giao diện dòng lệnh của Linux) để khởi động lại Nginx bằng lệnh:

service nginx restart

Vì các lệnh liên quan đến URL của iThemes cần thực thi trên Webserver, nếu bạn dùng Nginx thì mỗi rule sau khi khai báo phải khởi động lại Nginx.

Nếu bạn dùng Apache Webserver hay LiteSpeed Webserver (như trên Shared Hosting), chúng khai báo các lệnh trên file .htaccess, nên không cần phải tiến hành Restart lại như Nginx.

E. Server Config Rules

Tùy chọn – khi bạn tắt iThemes đi, thì có thể giữ lại các tính năng bảo mật bằng cách dán các lệnh này vào file cấu hình của Webserver, dành cho người có kinh nghiệm thôi nhé

Phần này chứa các lệnh (Rule) bảo mật phải thực thi trên Webservers, nên khi bạn bật các lệnh này, thì iThemes phải khai báo lên file cấu hình cuả Webservers

  • Nếu dùng Webserver là Apache hoặc Litespeed như thường gặp trên Shared Hosting, thì cấu hình bảo mật (cũng như nhiều cấu hình khác) sẽ khai báo trên file .htaccess, file này có thể tìm trong thư mục chứa code của Website.
  • Nếu dùng VPS với Nginx Webserver, file cấu hình là nginx.conf nằm trong thư mục /etc/nginx trên VPS.

Ví dụ bên dưới, là lệnh ban vĩnh viễn các IP bị liệt vào danh sách chặn trong mục Ban Users hay các IP bị tự động chặn qua tính năng Brute Force Protection.

Các lệnh nằm trong mục này các bạn có thể copy để paste vào file cấu hình của Webserver nhằm thực hiện tính năng tương tự mà khỏi cần cài thêm plugin bảo mật. Điều bất tiện là bạn phải chỉnh sửa hay thêm vào bằng cách truy cập vào Hosting hoặc VPS.

F. wp-config.php Rules

Tùy chọn – tương tự ở trên, khi bạn tắt iThemes đi, thì có thể giữ lại các tính năng bảo mật bằng cách dán các lệnh này vào file cấu hình của WordPress (wp-config.php), rất dễ nên bạn không cần hiểu gì về code vẫn làm theo được.

Mục này chứa danh sách các lệnh được iThemes khai báo vào file wp-config.php, các lệnh này thực thi từ WordPress thay vì thực thi trên Webserver. Ví dụ lệnh vô hiệu hóa File Editor, không cho phép sửa code theme và plugin trực tiếp trên Dashboard – nhằm tránh trường hợp bị hack account và hacker cài backdoor lên code.

Nếu site không dùng iThemes, bạn có thể khai báo lệnh này trên wp-config.ph để vô hiệu hóa File Editor.


Một plugin khác dễ dùng hơn nhưng vẫn đầy đủ những tính năng bảo mật cơ bản cho WordPress là WP Extra - Bộ công cụ đơn giản nhất mà website WordPress nào cũng cần phải có.

Disclaimer: Dùng rồi khó bỏ :heart_eyes:

Thông tin thêm: https://wordpressvn.com/c/wordpress-plugins/wp-extra

Hướng dẫn chi tiết quá, cơ mà giờ nó vừa ra bản 8.x UI khác bọt :smile: