Trang chủ / WordPress / 13 mẹo giúp bảo mật website bán hàng WooCommerce
bảo mật website woocommerce
Bảo mật website Woocommerce

13 mẹo giúp bảo mật website bán hàng WooCommerce

Woocommerce là giải pháp tạo website bán hàng rất hot hiện nay dựa trên mã nguồn mở WordPress, bởi đặc tính đơn giản, nhanh chóng, hiệu quả, thích hợp cho các cửa hàng nhỏ, cá nhân muốn bán hàng mà không cần nhiều kiến thức  kỹ thuật. Tuy nhiên để tạo một được website Woocommerce hoàn hảo không phải là dễ, đặc biệt vấn đề bảo mật website hiện nay rất được chú trọng, phải được đặt lên hàng đầu. Theo thống kê của BuildWidth, Woocommerce hiện đang chiếm 20% thị phần các website thương mại điện tử, một con số khá là lớn. Trong bài này mình sẽ mách cho các bạn 13 mẹo giúp bảo mật website bán hàng Woocommerce.

Luôn luôn cập nhật Woocommerce lên bản mới nhất

WordPress ra các các bản cập nhật lớn theo định kì 4 tháng 1 lần để tăng cường  chức năng và vá các lỗ hổng bảo mật mới được phát hiện. Việc cập nhật lên phiên bản mới nhất là không bắt buộc, ví dụ bạn đang ở WordPress 4.2 và WordPress 4.3 ra mắt, bạn không nhất thiết phải lên 4.3 ngay. Không bắt buộc nhưng là cần thiết để giúp website của bạn bảo mật hơn. Ngoài ra, bạn cũng nên chú ý tới việc update theme hay plugin vì đôi khi các theme hay plugin này cũng có những lỗ hổng.

Sử dụng các plugin hỗ trợ bảo mật

Có rất nhiều plugin trên thư viện WordPress.Org giúp tăng cường bảo mật cho trang web của bạn. Tuy nhiên, bạn chỉ nên sử dụng 1 plugin duy nhất, không nên dùng nhiều cái một lúc vì có thể gây xung đột. Phải kể đến một vài plugin mà bạn nên dùng:

Sử dụng mật khẩu mạnh

Hầu hết các website bị hack bởi vì đặt mật khẩu quá yếu. Cac loai mật khẩu kiểu như “password”, “12345678” rất nguy hiểm vì các hacker chỉ cần Brute Force Attack là có thể dễ dàng đoán ra các mật khẩu này

Để tăng cường bảo mật, trên WordPress 4.3 có tính năng tạo mật khẩu mạnh giúp bạn tạo ra các mật khẩu cực mạnh, cực khó đoán nên bạn có thể hoàn toàn yên tâm sau khi sử dụng chức năng này.

Sử dụng tên người dùng khác admin

Giống như mật khẩu, việc sử dụng các tên người dùng mặc định hoặc quá phổ biến như admin hoặc tên trang web của bạn sẽ làm giảm mức độ bảo mật trên website của bạn vì mỗi khi các hacker có ý định tấn công thì họ sẽ nghĩ đến những cái này đầu tiên. Chính vì thế mình khuyên các bạn nên đặt một tên người dùng với độ dài từ 8 ký tự trở lên và dễ nhớ với bạn những khó đoán đối với người khác. Nếu bạn đã trót sử dụng admin làm tên người dùng trong WordPress và muốn thay đổi thì hãy tạo một user khác với username mà bạn muốn và set quyền admin cho nó sau đó xoá user admin cũ kia đi.

Ẩn đường link tác giả

Trong WordPress, mỗi khi bạn tạo một user, nó sẽ tự động tạo một đường link dạng domain.com/author/username. Do đó các hacker có thể dò ra username của bạn khi vào mục lưu trữ trong WordPress đó đó tốt nhất bạn nên ẩn nó đi. Bạn có thể làm việc này bằng cách vào trong database tìm đến table wp_users và sửa trường user_nicename thành cái gì đó khác username admin của bạn.

Sử dụng hosting/ server chất lượng

Nói gì thì nói, WordPress có bảo mật đến mấy mà hosting/server  bạn đang sử dụng kém chất lượng, bảo mật kém thì mọi nỗ lực của bạn sẽ vô ích chính vì thế hãy chọn một nahf cung cấp hosting/server chất lượng, đừng ham rẻ mua các gói hosting kém chất lượng, chính các bạn sẽ bị thiệt mà thôi.

Nếu có thể, mình khuyến khích bạn nên chuyển lên dùng server riêng như VPS nếu bạn đang dùng Shared Hosting, khi đó bạn sẽ có thể cấu hình cho website của bạn theo ý muốn  và đặc biệt sẽ hạn chế được local attatck.

Nếu bạn đang dùng VPS thì xem qua chuyên mục  VPS để xem các bài viết về bảo mật cho VPS.

Sử dụng chứng chỉ SSL

Không thể phủ nhận lợi ích của việc sử dụng SSL cho website của bạn, đặc biệt với các website bán hàng (TMĐT) thì lại lại càng cần thiết. Nó giúp bảo mật thông tin khách hàng và các dữ liệu vào ra trên website, kể các các dữ liệu đăng nhập admin của bạn, chúng đều được mã  hoá, do đó hacker khó mà có thể tấn công website của bạn.

Để biết cách cài đặt SSL cho website, mời bạn tham khảo bài viết: Cài đặt SSL cho Apache/Nginx và tối ưu hiệu năng, bảo mật

Nếu bạn chưa có điều kiện sử dụng SSL thì mình có thể cung cấp SSL miễn phí cho bạn và cài đặt cũng như tối ưu miễn phí từ A-Z luôn :D . SSL mình cài đặt được cung cấp bởi StartSSL, rất uy tín, và thích hợp với mọi trình duyệt từ IE, Chrome, Firefox, Safari, Opera,… Gửi email về contact@crazytut.com nếu bạn có nhu cầu.

Luôn luôn backup

Backup dữ liệu website luôn là việc quan trọng nhất mà mình phải làm. Cuộc sống là không biết trước được điều gì, rất có khả năng một ngày nào đó website bạn lăn đùng  ra chết hay bạn chỉnh sửa một cái gì đó và gây lỗi hay hacker tấn công website của bạn, khi đó các bản backup chính là vị cứu tinh cho bạn.

Mình thấy có khá nhiều bạn rất lười backup, mình cực khuyến khích các bạn nên làm việc này thường xuyên vì nó rất quan trọng. Nếu bạn sử dụng hosting thì hãy cài plugin BackwpUP vào để nó backup tự động hàng ngày cho bạn (hoàn toàn miễn phí) tuy nhiên các plugin backup thường hay lỗi, đôi lúc quên backup nên nếu bạn có dùng VPS thì hãy backup ngay trên server chứ không nên làm nó trong WordPress

Mình có viết một script backup website trên vps/server, chạy tự động hàng ngày và tự upload lên Dropbox, các bạn có thể tham khảo tại đây

Sử dụng các theme Premium để nhận hỗ trợ

Nếu bạn nghiêm túc với dự án website của bạn, hãy đầu tư một theme bản quyền cho website, lợi ích thì khỏi phải nói rồi: luôn luôn được update, hỗ trợ fix lỗi,… Nếu bạn không đủ kinh phí để mau thì mình có cung cấp dịch vụ mua theme giá rẻ, theme mình mua từ nhà cung cấp với giá gốc sau đó bán lại cho các bạn với giá chỉ bằng 25% giá gốc, bạn sẽ vẫn nhận được update và hỗ trợ từ  nhà cung cấp, tất nhiên sẽ phải thông qua mình và đặc biệt còn nhận được  support từ mình như cài đặt theme như demo, cấu hình tối ưu tốc độ cho theme trọn đời. Nếu bạn có nhu cầu liên hệ mình qua email contact@crazytut.com nhé :D

Tắt chỉnh sửa tập tin trong admin

Bạn có biết ? WordPress cho phép bạn chỉnh sửa tập tin mã nguồn của theme hay plugin ngay trong admin của WordPress, điều đó vô tình làm giảm mức độ  bảo mật của website, mặc dù chả thấy lợi lộc gì. Do đó, tốt hơn hết bạn nên vô hiệu nó đi để tránh hậu hoạ về sau. Để làm điều này bạn thêm đoạn code sau vào file wp-config.php trong thư mục mã nguồn WordPress.

define( ‘DISALLOW_FILE_EDIT’, true );

Giới hạn số lần đăng  nhập sai

Hình thức mà các hacker thường làm để chiếm quyền điều khiển website của bạn chính là BruteForce Attack. Hacker sẽ dùng các công cụ dò tự động mật khẩu để nhập vào website của bạn cho đến khi được thì thôi,điều đó rất nguy hiểm nếu bạn sử dụng mật khẩu yếu. Do đó, giải pháp là giới hạn số lần nhập sai mật khẩu, khi vượt qua giới hạn này hacker sẽ bị chặn và bó tay. Để làm việc này, bạn có thể sử dụng các plugin miễn phí rất tốt như Ithemes Security, Lockdown,..

Bonus: Nếu bạn dùng Ithemes Security nhớ sử dụng chức năng đổi địa chỉ đăng nhập từ domain.com/wp-admin sang domain.com/abcxyz. Lúc đó hacker không biết được địa chỉ đăng nhập của bạn luôn, bảo mật hơn rất nhiều.

Tắt pingbacks trackbacks

Trackbacks và pingbacks trong WordPress là một tính năng khá hữu ích, nó sẽ thông báo cho bạn khi 1 website nào đó chèn link website của bạn lên website của họ tuy nhiên bạn sẽ không thực sự cần đến đó cho wewbsite Woocommerce, hơn nữa nó còn làm website của bạn có thể bị hack và tiêu tốn tài nguyên hệ ệtông nên tốt nhất là tắt nó đi. Để tắt thì có nhiều cách nhưng cách tốt nhất là  xử lí nó trong file cấu hình .htaccess hoặc nginx.conf sẽ triệt để hơn. Thêm dòng  code sau vào file .htaccess nếu bạn đang dùng Apache, và file nginx.conf nếu bạn dùng Nginx. Hai file này thường nằm trong thư mục mã nguồn WordPress.

Với .htaccess:

# START XML RPC BLOCKING
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>
# FINISH XML RPC BLOCKING

Với Nginx:

# nginx configuration
location /xmlrpc.php {
deny all;
}

Sử dụng mật khẩu database dài và khó đoán và thay đổi prefix table trong Database

Mình thấy đa số các bạn đặt mật khẩu và user database thường đặt rất đơn giản, thường giống với tên web cho dễ nhớ tuy nhiên điều đó là không nên. Hãy đặt user và password dài, khó đoán và bạn chả cần nhớ nó đâu, ít khi dùng đến lắm. Cuối cùng là thay đổiổi prefix cho database. Mặc định prefix trong WorPress là wp_ tuy nhiên bạn nên đổi nó thành của bạn ví dụ như 1rghvz_ hay gì gì đó. Để thay đổi bạn chỉ cần vào database sửa lại các table chữ wp_ thành cái mà bạn muốn ( nhớ có dấu gạch dưới). Đổi xong nhớ vào file wp_config.php tìm đến dòng table_preifx và sửa cho giống với cái bạn đã sửa trong database. Tuy nhiên nếu bạn có dùng plugin Ithemes Surity thì có thể đổi noổó dễ dàng trong mục setting của plugin, một click là xong

Bonus: Change luôn salt cho WordPress, bạn vào file wp-config.php tìm đến các dòng

define('AUTH_KEY',         '');
define('SECURE_AUTH_KEY',  '');
define('LOGGED_IN_KEY',    '');
define('NONCE_KEY',        '');
define('AUTH_SALT',        '');
define('SECURE_AUTH_SALT', '');
define('LOGGED_IN_SALT',   '');
define('NONCE_SALT',       '');

xoá nó đi sau đó vào đây và copy nội dung mà bạn nhận được dán vào chỗ bạn vừa xoá, nó sẽ có dạng

define('AUTH_KEY',         '>/*>lJxX&1rEzrfo-b<FYkKG39e,@tnus]jQ(|7!.gFuYa^;F+[g;5o;M[J#izYo');
define('SECURE_AUTH_KEY',  '<Qg?Won@[k$Hp#|G*k-ep9Z+6=2W2!@}^NE+QS2sTNS!3zztKP3J&tKmGyJ]=v49');
define('LOGGED_IN_KEY',    'vSVz9r3|6=f B%x0(4otdNpc@7{>{j{X{(`XFMxI=w|/ppiJm8(OQUxyJX*Qm:-B');
define('NONCE_KEY',        '_yi#(fdsID*E=|!._9 8g3&BB&k+G!|+bUQ+/ #{;oe#DLC;!-#&3DCMo8F-17]B');
define('AUTH_SALT',        ':)b-FE6R-pBeoC,+|]DUT#):7krlr4w;+C5<CUV$%.5v2Rt`OAu!_b6$jM+tFaC7');
define('SECURE_AUTH_SALT', '2+Ucv#X90#$1-tCb0l-sy>?gV+jf0+3l~c.-GjzDZ_yrCi.#-o&p)M: A4aZ}9}n');
define('LOGGED_IN_SALT',   'bcX6|uGW2Ao+S3lKs`NLGze[W|+7t>&>JDzcZ$S.91b&Wl%H=.90K%$?VettbLn!');
define('NONCE_SALT',       '^x^{CzrRJC5*$T0K$js|P}Rs8j^BG $Ep|Md+aQ6T_qhb5^l8qDwvYGavkuD$ld|');

Xong rồi đấy! Bạn có thể yên tâm, không phải lo về bảo mật cho website của mình nữa.

Nếu có khó khăn gì comment bên dưới cho mình biết nhé hoặc gửi email về contact@crazytut.com nếu bạn cần giúp đỡ gì :D

Nếu bạn thấy có ích, hãy subcribe blog của tôi để nhận thêm nhiều tút hay qua email nữa nhé!