WordPress là CMS phổ biến nhất trên web và hiện đang cung cấp thị phần cho hơn 44,29% tất cả các trang web trên toàn thế giới mức tăng trưởng rất tốt theo thời gian.
Vì nó nắm giữ một phần thị phần lớn rất lớn như thế, nó làm tăng thêm những lo ngại về bảo mật và làm tăng nguy cơ bị tấn công khi các lỗ hổng được phát hiện.
Thực hiện theo hướng dẫn đầy đủ của chúng tôi bên dưới về những gì bạn có thể làm để tăng cường bảo mật WordPress của mình và giúp bạn tránh bị tấn công hoặc trở thành nạn nhân của cuộc tấn công bạo lực tiếp theo.
Nếu một hacker mũ đen muốn tạo ra một mã độc để tống tiền, thì họ sẽ tạo ra cho những nền tảng nhiều người sử dụng, như vậy thì mã độc sẽ kiếm được nhiều tiền. (góc nhìn đầu tư công sức với lợi nhuận thu lại của họ, khi tạo ra mã độc tấn công WordPress sẽ hiệu quả hơn so với tấn công các nền tảng cms khác)
Nguồn gốc các lỗ hổng WordPress
Bạn gặp rủi ro ở đâu khi nói đến WordPress? Theo WP Scan , một công cụ quét lỗ hổng của WordPress.
- 52% lỗ hổng bảo mật đến từ các plugin WordPress.
- 37% lỗ hỏng bảo mật đến từ WordPress core
- 11% lỗ hỏng bảo mật đến từ themes
Tại sao phải cần bảo mật cho WordPress??
Bảo mật giúp website của bạn hoạt động ổn định hơn… giả sự website đó của bạn là nguồn doanh thu chính thu nhập của bạn, thì bị hack phát thì đau đầu bị lung tay bát cơm rồi đó, một cảm giác không phải ai cũng muốn trải nghiệm.
Như bạn có thể thấy, có lẽ có rất nhiều lỗ hổng bảo mật hơn bạn và tôi vẫn tưởng! Chúng liên tục phát triển tiến hóa theo từng ngày, cách tấn công thì càng điêu luyện hơn có nghĩa là bạn luôn luôn có nguy cơ bị tấn công bị hack.
Bạn không bao giờ có thể ngăn những bị tấn công, bị hack hoàn toàn 100%, đến google có những nhân tài bảo mật lương tháng thì căng thẳng các kiểu còn bị tấn công bị hack nói gì những website của bạn như của mình.
Điều tốt nhất bạn có thể làm là thực hiện các phương pháp bảo mật cơ bản để tự bảo vệ chính mình để giảm thiểu một chút rủi ro không phải là hoàn toàn, nói là hoàn toàn thì chỉ có nói phét mà thôi.
Gọi là bảo mật cơ bản để tránh được những hacker yếu kém chứ hacker cao thủ thì đến công ty công nghệ cũng bó tay nói gì đến những website nhỏ như mình.
Mà nếu hacker mũ đen họ muốn đến bạn thì bạn phải có cái gì đó để họ kiếm lợi gì, động cơ ra sao. Chứ website nhỏ lẻ thì những cao thủ hacker thì họ để ý gì đâu, những cao thủ hacker họ thường làm những thứ to tát tấn công những website lớn vậy mới thể hiện được sử cao thủ của họ.
bài này mình chỉ hướng dẫn bảo mật cơ bản dành cho những website nhỏ và vừa thôi, chứ nếu website của bạn to thì hãy có đội ngũ bảo mật riêng chuyên nghiệp dành cho mình.
Bạn có thể làm theo các đề xuất dưới đây để tăng cường bảo mật WordPress của bạn.
Mục lục
- 1 1. Luôn cập nhật WordPress và các plugin
- 2 2. Sử dụng tên đăng nhập và mật khẩu khó nhai
- 3 3: Bảo mật từ cấp webserver hơn là cấp website.
- 4 4. Học hỏi Plugin bảo mật của WordPress
- 5 5. Chặn bot xấu
- 6 6. Luôn sử dụng kết nối an toàn
- 7 7. Phân quyền thư mục chmod
- 8 8. Bảo mật cơ sở dữ liệu
- 9 9. Quản trị trang đăng nhập wp-admin WordPress
- 10 10. Bảo mật wp-config.php
- 11 11. Tắt đọc chỉnh sửa truy xuất file trực tiếp
- 12 12. Sử dụng chứng chỉ SSL
- 13 13. Tắt XML-RPC
- 14 14. Tắt JSON REST API
- 15 15. Tắt chỉnh sửa tệp trong bảng điều khiển dashboard
- 16 16. Header bảo mật HTTP
- 17 17. Ẩn phiên bản WordPress
1. Luôn cập nhật WordPress và các plugin
Bạn phải luôn cập nhật phiên bản WordPress cũng như tất cả các plugin của mình. Các nhà phát triển sẽ thường liên tục vá lỗi bảo mật gì đó tuy nhiên nếu bạn tụt lại quá xa lười cập nhật, bạn sẽ tự mở ra rất nhiều lỗ hổng bảo mật chỉ có hacker biết, nhà phát triển biết nhưng bạn không biết.
Vì hacker thường nhắm mục tiêu vào các phiên bản cũ hơn. Bạn luôn có thể tải xuống phiên bản WordPress mới nhất từ WordPress.org .
Kể từ WordPress 3.7, WordPress đã thêm các bản cập nhật tự động nhưng mình khuyến cáo là không nên sử dụng tính năng tự động cập nhật hãy cố gắng tự tay bạn cập nhật thủ công, khi nếu có vấn đề nào xảy ra thì bạn có thể chủ động kiểm tra sửa lỗi ngay. (Khi bạn cập nhật tự động cập nhật plugin và theme thì vẫn có rủi ro làm hỏng website mà lúc đó bạn để tự động cập nhật mà bạn đang đi công tác ở đâu đó không có máy tính ở bên thì website sập hỏng thì bạn không biết thế nào mà lần).
Mình vẫn khuyến cáo là hãy cập nhật thủ công để mình chủ động sao lưu website rồi cập nhật có vấn đề gì thì mình chủ động sử lý.
Nếu bạn giống như mình thích xem changer log của WordPress các bạn cập nhật thì cập nhật đề cập rất nhiều và siêu nhiều đến bảo mật.
WordPress thì sẽ big update 4 tháng một lần (big updata này có những tính năng mới những thứ hay ho mới) và liên tục tung ra những bản vá nhỏ (những bản vá nhỏ này thông thường vá cập nhật bảo mật là chủ yếu).
Bạn cũng cần phải sử dụng các plugin và themes WordPress đáng tin cậy uy tín.
Sử dụng các plugin và themes giao diện của bạn từ kho lưu trữ WordPress hoặc từ các công ty nổi tiếng uy tín. Ít nhất là đừng dùng plugin null mà có null thì bạn phải hiểu được null là cái gì như thế nào có an toàn không. Nếu không rõ thì đừng dùng rất rủi ro về bảo mật.
Bạn cần phải cập nhật website WordPress sẽ nâng cao bảo mật cho bạn, những updates khi người dùng cơ bản thì cũng chả biết là gì nhưng những chuyên gia thì hiểu giá trị đó. Chúng mình là người ứng dụng công nghệ đâu phải là phát triển công nghệ, lời khuyên của mình là hãy cập nhật thường xuyên.
Luôn sao lưu backup website của bạn ! Nếu bạn duy trì thói quen sao lưu thường xuyên, điều này cho phép bạn dễ dàng khôi phục nếu bạn bị tấn công và khôi phục trang web của bạn.
Mình cũng khuyên bạn nên chạy sao lưu backup trước khi cập nhật phiên bản và plugin WordPress của mình.
Nếu bạn đang sử dụng một máy chủ WordPress được quản lý dạng cao cấp, họ sẽ có khu vực dàn dựng một cú nhấp chuột, hoàn hảo để kiểm tra các bản cập nhật trước khi bạn cho vào website chính của bạn. (nếu không thì hãy tự làm thủ công kéo về localhost xong kiểm tra các thứ rồi hãy nâng cấp)
Tôi thì không khuyến khích bạn sử dụng plugin backup nào hết, hãy cố gắng backup và restore thủ công.
Khi bạn học hỏi cách tự backup và restore thủ công thì nó rất tốt trong một số tình huống sử lý mã độc khi bị hack học cách sử lý mã nguồn, trong nhiều trường hợp kinh nghiệm của mình bạn backup và restore thì bị lỗi hỏng bảo mật vẫn ở đó thì cũng vẫn có thể tiếp tục bị hack ngay sau đó mà thôi, bản backup sẽ giúp bạn nâng cao sự tư tin là chính không phải cứ có backup là sử lý được hết lỗi hỏng bảo mật.
Bạn cần uploads bảo mật cho chính website của mình, chứ hạn chế tin tưởng tuyệt đối vào bản backup trong với lĩnh vực bảo mật này.
2. Sử dụng tên đăng nhập và mật khẩu khó nhai
Hãy thật tinh tế trong vấn đề tên đăng nhập và mật khẩu của bạn trong WordPress.
Không sử dụng “quản trị viên” làm tên người dùng của bạn và chọn một mật khẩu càng phức tạp càng tốt, phức tạp đến lỗi bạn không nhớ nổi cũng được chỉ cần copy và pates là xong.
Đây có lẽ là một trong những cách tốt nhất để tăng cường bảo mật WordPress và nó lại là một trong những cách dễ làm nhất.
Tuy nhiên, nhiều người sử dụng một cái gì đó mà họ có thể dễ dàng nhớ được chẳng hạn như “123456” và cuối cùng hối hận sau khi bị tấn công, thêm phương trình chuẩn nữa id đăng nhập là admin, pass là 123456 thì tỷ lệ cao là toang hẳn.
Hãy nhớ rằng có những bot liên tục thu thập thông tin trên internet và khi trang web của bạn phát triển, chúng sẽ luôn cố gắng giả mạo thông tin đăng nhập của bạn. Xem hướng dẫn này về cách chọn mật khẩu mạnh và hướng dẫn này về cách thay đổi tên người dùng quản trị viên WordPress của bạn .
Theo thống kế khoảng 8% các trang web WordPress bị tấn công là do mật khẩu yếu.
lời khuyên của tôi: là hãy đặt mật khẩu ít nhất là 32 kí tự, khi hack dùng tool rò mật khẩu của bạn thì gần như là rất rất lâu mới ro ra. và thường xuyên thay đổi mật khẩu khoảng 3 tháng thì hãy thay một lần
thú thật: mình từng bị hack vì đặt mật khẩu quá ngắn và id đăng nhập cùng tên miền hoặc để id là admin hoặc để bị quét user tác giả (hướng dẫn ẩn user tác giả wordpress).
3: Bảo mật từ cấp webserver hơn là cấp website.
Kinh nghiệm của mình thì bảo mật từ cấp webserver quan trọng hơn rất nhiều đến từ cấp website.
Kinh nghiệm của mình thì bảo mật từ cấp websever chiếm 90% và cấp website WordPress chỉ chiếm 10%.
Nếu bạn dùng share hosting hãy lựa chọn những nhà cung cấp share hosting uy tín chất lượng đó là điều rất quan trọng.
Nếu bạn đang là người quản trị vps hay quản trị máy chủ riêng thì học hỏi về bảo mật từ những chuyên gia về bảo mật nhé…
4. Học hỏi Plugin bảo mật của WordPress
Có rất nhiều plugin bảo mật tốt cho WordPress nhưng nó không phải là quyết định để website của bạn tuyệt đối an toàn.
Nhưng khi bạn sử dụng các plugin bảo mật thì làm giảm hiệu xuất tốc độ load website của bạn. mình không khuyến khích sử dụng plugin bảo mật vì đơn giản.
Plugin bảo mật là bạn có thể tải dễ dàng trên kho lưu trữ WordPress thì các hacker cũng có thể dễ dàng tải nó về rồi đọc mã nguồn.
Plugin bảo mật không nên coi nó là mật vật gọi không thể thiếu được trong website của, theo cá nhận mình thì không sử dụng các plugin bảo mật mình chỉ học hỏi làm theo những gợi ý những plugin bảo mật đề cập đến và mình có thể lên mạng học hỏi và tự làm được.
Đề cử một số plugin bảo mật gọi là nổi tiếng và phổ biển
Sucuri Security
iThemes Security
Wordfence
lời khuyên của mình là không nhất thiết phải sử dụng plugin bảo mật đó mà mình hãy tự học hỏi các plugin đó và làm theo sử dụng plugin bảo mật là điều không cần thiết: plugin bảo mật cần thực sự cần thiết …
5. Chặn bot xấu
Có những bot tốt và có những bot xấu, bot tốt như là google, bing…
khái niệm đơn giản là bot tốt nó giúp bạn kiếm tiền được, còn bot xấu thì không và tận chí ngược lại.
Luôn có các bot xấu như khai niệm bên trên mình chia sẻ, họ scan và trình thu thập dữ liệu xấu tấn công các trang web WordPress của bạn và ăn cắp băng thông dữ liệu của bạn.
Xem danh sách đầy đủ các bot tại botreports.com . Nhiều trang web về bảo mật được đề cập những danh sách black list, nhưng đôi khi bạn có thể cần phải làm điều này ở cấp máy chủ. Nếu bạn muốn chặn nhiều User-Agent chuỗi cùng một lúc, bạn có thể thêm phần sau vào .htaccess của mình .
RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^.*(agent1|Wget|Catall Spider).*$ [NC] RewriteRule .* - [F,L]
Order Allow,Deny
Allow from ALL
Deny from env=bots
Và đây là một ví dụ trên Nginx.
if ($http_user_agent ~ (agent1|Wget|Catall Spider) ) { return 403; }
6. Luôn sử dụng kết nối an toàn
Cho dù bạn đang ở đâu, bạn phải luôn cố gắng đảm bảo các kết nối bạn đang sử dụng được an toàn nhất có thể. Nếu bạn đang sử dụng ứng dụng FTP, cổng port mặc định cho FTP thường là 21 và SSH,SFTP thường là 22. và tốt nhất hãy thay đổi cổng thành một cổng khác.
Bạn nên sử dụng mã hóa SFTP thay vì FTP nếu máy chủ web của bạn cung cấp mã này hoặc SSH giúp nâng cao bảo mật hơn.
Điều quan trọng nữa là đảm bảo các quy tắc tường lửa của bạn được thiết lập đúng cách trên router tại nhà của bạn (hệ thống mạng internet của văn phòng, nhà bạn…). Và hãy nhớ bất cứ khi nào bạn làm việc từ một nơi công cộng như quán cà phê internet, trà đá vĩa hè wifi miễn phí các thứ đây không phải là những mạng đáng tin cậy thì tốt nhất không không truy cập vào server của bạn.
webhost của bạn nơi trang web của bạn cũng cần phải được bảo trì cập nhật, Điều này có nghĩa là chúng phải chạy phiên bản cập nhật mới hơn tốt hơn và được hỗ trợ của PHP, MySQL,Centos, ubuntu, fail2ban v.v…
Hãy cẩn thận với các share hositng giá rẻ vì bạn có thể gặp sự cố quá đông website mà người quản trị viên thì không thể quản trị được tốt khâu bảo mật, một ông nghịch virus mà nhà quản trị share hosting không quản lý được tốt thì toang cả hàng xóm.
7. Phân quyền thư mục chmod
Để bảo vệ trang web của mình, bạn muốn đảm bảo và sử dụng các phân quyền đối với tệp chính xác.
Mỗi thư mục và file sẽ có các quyền khác nhau cho phép mọi người đọc, viết và sửa đổi chúng.
Nếu quyền của bạn quản lý quá lỏng lẻo, điều này có thể mở ra cánh cửa cho hacker xâm nhập và nếu chúng quá hạn chế, điều này có thể phá vỡ cài đặt WordPress của bạn vì các plugin và lõi WP cần có khả năng ghi vào một số thư mục nhất định.
phân quyền tập tin và thư mục trên linux (chmod). Nếu bạn trong server của bạn có 2 website trở lên thì hãy sử dụng php exec phân quyền riêng biệt user tách bạch, nếu trong trường hợp xấu nhất một website nỡ may bị hack thì những website khác cùng trong hệ thống thì sẽ hạn chế được lây lan nhất có thể.
(không sử dụng chung user php chung nginx, apache, nobody cho nhiều hơn 2 website cùng hệ thống, nếu cả hệ thống chỉ có 1 website thì cách phần quyền này vẫn đảm bảo được không có vấn đề gì lắm nhưng nếu trên 2 website trong hệ thống thì vấn đề sẽ xảy ra – càng nhiều website mà dùng chung user php thì càng thêm rủi ro về bảo mật…)
8. Bảo mật cơ sở dữ liệu
Bạn không chỉ cần kiểm tra quyền trên các tệp của mình mà còn có những việc bạn có thể làm để tăng cường bảo mật trên cơ sở dữ liệu WordPress của mình. Điều đầu tiên chúng tôi khuyên bạn nên sử dụng một tiền tố bảng khác. Theo mặc định, WordPress sử dụng wp_. Nếu bạn thay đổi điều này thành một cái gì đó tương tự, wptt_ nó sẽ khiến kẻ xâm nhập khó đoán hơn nhiều, mà wptt là wptangtoc khó đoán hơn wp_ nhưng vẫn dễ đoán, đặt kiểu abcxxxzw_ kiểu chả hiểu gì đến quản trị viên cũng không biết là gì, thì hack cơ sẽ khó đoán hơn rất nhiều
Bạn có thể thay đổi tiền tố bảng của mình trên màn hình thiết lập khi bạn mới bắt đầu cài đặt WordPress.
Nếu bạn đã cài đặt WordPress, bạn có thể sử dụng các plugin WordPress phổ biến dưới đây để thay đổi tiền tố hoặc thay đổi tiền tố cơ sở dữ liệu thông qua phpMyAdmin, cách này thủ công nên hơi cực chút
- plugin: WordPress database prefix
- plugin: Sucuri Security
- plugin: iThemes Security
Khuyến nghị thứ hai là thay đổi tên cơ sở dữ liệu của bạn để làm cho nó khó đoán hơn.
9. Quản trị trang đăng nhập wp-admin WordPress
http://domain.com/wp-admin là trang đăng nhập vào quản trị viên mặc đinh của WordPress, bạn cần thay đổi quản trị lại wp-admin bằng một kí tự khác nào đó hay chỉ cho ip này truy cập được vào trang quản trị wp-admin… rất nhiều chiến lược để bảo mật cơ bản.
http://domain.com/wp-admin trang đăng nhập của bạn cho đến nay là biện pháp phòng ngừa bảo mật dễ dàng nhất mà bạn có thể thực hiện nhờ nhiều plugin hỗ trợ khoản này. Trên hầu hết các trang WordPress website, có hàng nghìn lần đăng nhập wp-admin thất bại mỗi ngày mà bạn có thể không bao giờ nhận ra. Với nhiều plugin hỗ trợ thay đổi wp-admin thành cái bạn muốn bạn có thể thử.
để cử 3 plugin có thể làm điều này một cách miễn phí:
- WordPress failed login attempts
- wordfence login attempts
- WordPress change login URL
mỗi một plugin thì có một cách quản trị wp-admin khác nhau cũng là một kiểu hay thú vị, để bài viết này ngắn thì mình sẽ không giải thích plugin nó có cái gì hay, bạn có thể trải nghiệm xem thử plugin đó là như thế nào
10. Bảo mật wp-config.php
wp-config.php chứa tất cả thông tin cần thiết để hacker xâm nhập có thể truy cập vào cơ sở dữ liệu của bạn. Đây là tệp quan trọng nhất trong toàn bộ cài đặt WordPress của bạn . Có một số điều bạn có thể làm để bảo vệ nó.
Bạn có thể ngăn không cho tệp bị truy cập bằng cách thêm một đoạn mã vào .htaccess tệp của mình .
<Files wp-config.php> order allow,deny deny from all </Files>
Bạn cũng có thể di chuyển file wp-config.php
của mình sang một thư mục có thể truy cập. Nhiều tranh luận về lợi ích của việc này, nhưng đây là một lời giải thích tốt . Để di chuyển file wp-config.php
của bạn, chỉ cần sao chép mọi thứ từ tệp đó vào một file khác. Sau đó, trong wp-config.php
tệp của bạn, bạn có thể đặt đoạn mã sau để chỉ cần bao gồm tệp khác của bạn. Đường dẫn thư mục sẽ khác nhau dựa trên thiết lập và máy chủ lưu trữ web của bạn.
Ví dụ như:
include('/home/yourname/wptangtoc-config.php');
Nhưng nếu trang web WP của bạn đã trải qua một vài lần di chuyển webhost hay mua themes mua mã nguồn từ bên khác thì có thể tốt để tạo lại các khóa mã hóa cookie mới.
WordPress thực sự cung cấp trình tạo khóa salt mà bạn có thể sử dụng để lấy một bộ khóa ngẫu nhiên mới.
Tắt wp-debug trong wp-config, tính năng debug của WordPress rất hay tuy nhiên bạn chỉ nên bật nó trong môi trường localhost giải lập để bạn sửa lỗi debug còn trong quá môi trường sử dụng chính thức thì khuyến cáo là hãy tắt nó đi để nâng cao bảo mật hơn.
define( 'WP_DEBUG', false );
đoạn này cho vào cuối file wp-config.php
wp-config.php thì có rất nhiều kỹ thuật, bảo mật dành cho nó mình bài viết này thì mình nói sơ sơ thôi có thể mình sẽ chia sẽ bảo viết khác về wp-config.php bảo mật cơ bản.
11. Tắt đọc chỉnh sửa truy xuất file trực tiếp
Một vấn đề bảo mật phổ biến khác là mọi người để http://www.domain.com/wp-includes/ thư mục của họ mở ai cũng truy xuất vào đọc trực tiếp được tuy nhiên những thư mục này thì khách hàng người dùng của bạn đâu có cần đọc đâu.
Hacker có thể dễ dàng tìm thấy các khai thác tiềm năng bằng cách đánh hơi qua các tệp đó. Hoặc thậm chí xác định phiên bản WordPress bạn có thể đang chạy, dựa trên các tệp được bao gồm. Nếu thiết lập đúng thư mục này sẽ trả về một lỗi 403 .
Để ngăn truy cập, chỉ cần thêm đoạn mã sau vào .htaccess file của bạn .
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - [F,L] RewriteRule !^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+\.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L] </IfModule>
Và nếu bạn đang sử dụng Nginx, hãy sử dụng cái này.
location ~* wp-admin/includes { deny all; } location ~* wp-includes/theme-compat/ { deny all; } location ~* wp-includes/js/tinymce/langs/.*.php { deny all; } location /wp-includes/ { internal; }
12. Sử dụng chứng chỉ SSL
SSL chất lượng giúp website của bạn chuyển sang chế độ “web an toàn”, trên góc trình duyệt màu lá cây đẹp dẽ.
Đối với các trang web thương mại điện tử đặc biệt là những kiểu trang thánh toán các thứ như ngân hàng… lý do bạn cần chứng chỉ SSL là vì trang website của bạn sử lý nhiều dữ liệu nhảy cảm cần được mã hóa kỹ lưỡng.
Đối với các trang bình thường khác, lý do lớn nhất cho điều này là trang đăng nhập WordPress của bạn. Nếu bạn không chạy qua kết nối HTTPS, tên id đăng nhập người dùng và mật khẩu của bạn sẽ được gửi dưới dạng văn bản rõ ràng qua internet.
Bạn có thể xem một ví dụ trong bài viết này về cách thực sự đánh hơi và nắm bắt thông tin đăng nhập WordPress qua các kết nối không an toàn bằng các công cụ miễn phí này. Nhiều người sẽ tranh luận rằng các blog và trang web thông tin không cần phải chạy trên HTTPS, nhưng thông tin đăng nhập của bạn quan trọng như thế nào? Ngoài ra, nhiều trang web có nhiều tác giả đăng nhập từ tất cả các loại mạng khác nhau, vì vậy việc chạy trên một kết nối bảo mật chỉ có thể giúp tăng cường bảo mật WordPress của bạn.
Chúng tôi đã viết một hướng dẫn về cách di chuyển từ HTTP sang HTTPS . Khi bạn đang chạy trên HTTPS, bạn nên buộc sử dụng SSL bằng cách thêm phần sau vào wp-config.php tệp của mình .
define('FORCE_SSL_ADMIN', true);
đoạn mã này ý nghĩa là bắt wp-admin phải sử dụng ssl để nâng cao bảo mật.
Với những lợi thế SEO của HTTPS (khi bạn có ssl google sẽ cổng điểm seo cho bạn) và lợi ích trong tăng tốc độ load website bạn có thể sử dụng HTTP/ 2 cao cấp hơn là quic (sử lý đa luồng file) có rất nhiều kỹ thuật khác mình không tiện chia sẻ nói ở đây, không có lý do gì để không sử dụng chứng chỉ SSL ở thời điểm hiện tại.
Và chỉ với Let’s Encrypt bạn có thể cài đặt ssl một các miễn phí và vẫn rất là ok một cách rất dễ dàng rồi, công nghệ ssl giờ ngành càng phát triển nó không khó khích hoạt như thời trước nữa giờ ssl phát triển để kích hoạt được ssl rất dễ dàng hơn rất nhiều, nếu bạn làm trong lĩnh vực cần mã hóa kinh khủng bảo mật dữ liệu các thứ kinh khủng thì hãy đầu tư một ssl trả phí chất lượng siêu cao khủng lồ, hãy nhìn như các ngân hàng khoản này họ đầu tư mạnh tay lắm nó có ý nghĩa của nó cả đó.
Với website nhỏ lẻ và cơ bản như mình thì Let’s Encrypt là quá đủ cho một cuộc tình rồi, rất đủ dùng.
Các share hosting và CDN đang gần như hầu hết là đã bắt đầu cung cấp chứng chỉ miễn phí cho bạn, còn các nhà quản trị viên vps, máy chủ thì cài đặt kích hoạt ssl Let’s Encrypt cũng rất đơn giản. ( hướng dẫn cài đặt ssl Let’s Encrypt cho openlitespeed)
13. Tắt XML-RPC
Tính năng XML-RPC đã được thêm mặc định trong core lõi WordPress kể từ phiên bản WordPress 3.5, Tính năng XML-RPC sinh ra để hỗ trợ cho phép công việc kết nối từ xa.
Trước đây, có một số cuộc tấn công DDoS khai thác XML-RPC trong WordPress, theo báo cáo của Sucuri . 99% mọi người không sử dụng chức năng này và có thể tắt nó.
Bài viết này mình có hướng dẫn cách tắt XML-RPC và tại sao bạn nên tắt và xem thì bạn có đang sử dụng nó không. Hướng dẫn tắt XML-RPC của WordPress
Bạn có thể kiểm tra xem liệu XML-RPC có bị chặn thành công hay không bằng cách chạy nó thông qua dịch vụ xác thực XML-RPC của WordPress.
14. Tắt JSON REST API
Được đưa vào WordPress kể từ phiên bản 4.4 là API JSON REST. Điều này được sử dụng bởi rất nhiều nhà phát triển plugin để truy xuất dữ liệu bằng cách sử dụng yêu cầu GET, hiểu ngắn gọn nó được sỉnh ra là để thay thế XML-RPC vì sự yếu kém bảo mật của nó, API JSON REST thì mặc định bảo mật tốt hơn rất nhiều so với XML-RPC.
Tính năng API JSON REST nó hoạt động cực kì mạnh mẽ, nó ra để phục vụ chủ yếu là dành cho lập trình viên, chắc chỉ lập trình viên cảm nhận được sự thú vị của nó mà thôi nhưng những người webmasster quản trị viên website cũng không phải nhiều người biết mình có đang sử dụng nó hay không?
Nhưng nó cũng có thể khiến trang web của bạn bị tấn công DDoS và những thứ khác. Bạn có thể dễ dàng vô hiệu hóa nó bằng cách thêm mã sau vào functions.php tệp của mình. Điều này có thể làm hỏng một số plugin nếu chúng đang sử dụng API JSON REST. Thông thường plugin đó khi bạn tắt API RESET sẽ cảnh báo cứ thử nếu bạn vẫn sử dụng tốt và không có vấn đề gì thì hãy tắt.
add_filter('json_enabled', '__return_false'); add_filter('json_jsonp_enabled', '__return_false');
Ngoài ra, bạn cũng có thể tải xuống và cài đặt plugin Disable JSON API miễn phí nếu bạn không cảm thấy thoải mái với việc chỉnh sửa code website của mình.
Plugin chỉ sử dụng các bộ lọc được tích hợp trong API REST WordPress chính thức dành cho việc vô hiệu hóa chức năng của nó.
tôi sẽ sớm ra bài viết tối ưu RESET API.
15. Tắt chỉnh sửa tệp trong bảng điều khiển dashboard
Một điều được khuyến nghị là vô hiệu hóa chỉnh sửa các file từ trong wp-admin bảng điều khiển dashboard.
Để tắt phương pháp chỉnh sửa tệp này, chỉ cần thêm đoạn mã sau vào wp-config.php
tệp của bạn .
define( 'DISALLOW_FILE_EDIT', true );
Nếu bạn thực sự cần thay đổi các tệp đó, hãy thực hiện việc đó qua SFTP hoặc dùng file manager hay dùng terminal để bạn chỉnh sửa. Hoặc đơn giản là khi bạn cần thì hãy xóa đoạn code kia đi, khi nào bạn cảm thấy không cần dev sửa file gì nữa thì hãy tắt chỉnh sửa trực tiếp để wordpress của bạn an toàn hơn.
Lời khuyên của mình vẫn là kéo website của bạn về localhost xong bạn thử nghiệm trên đó thấy mọi thứ ưng ý hài lòng thì sử dụng SFTP, hay share hosting nào sửa file uploads trực tiếp cpanel,directadmin … hãy cố gắng hạn chế code trực tiếp ngay trong dashboard.
Còn dev phát triển code trực tiếp trên website đang hoạt động chính thôi chịu rồi khi có vấn đề xảy lỗi gì đó sảy ra là giám đoạn hoạt động của website. Nếu bạn có nhu cầu dev phát triển chỉnh sửa code gì đó thì hãy giả lập thêm 1 website khác để bạn làm việc khi ứng ý thì apply nó vào website chính, nếu có vấn đề lỗi xảy ra thì nó chỉ là website giả lập thì không có vấn đề thiệt hại gì.
Thú thật: mình vẫn làm video chia sẻ thường cho thêm code ngay trong chính dashboard quản trị viên vì đơn giản như vậy giúp người dùng xem dễ hiểu nhất lên mình mới làm vậy, chứ giả sử mỗi một người dùng có kiểu cách thêm upload khác nhau sự dụng kiểu khác nhau phần mềm sfpt hay quản trị cpanel khác nhau. nên vậy mình hướng dẫn sửa ngay trong dashboard quản trị viên dễ cho mọi người thân thuộc dễ dàng quen hơn.
16. Header bảo mật HTTP
Tiêu đề bảo mật HTTP cung cấp một lớp bảo mật khác cho trang web WordPress của bạn bằng cách giúp giảm thiểu các cuộc tấn công và lỗ hổng bảo mật.
Để làm được response Header bảo mật HTTP thì bạn phải sử dụng kích hoạt từ cấp máy chủ không phải là cấp website.
Các tiêu đề này cho trình duyệt của bạn biết cách hoạt động khi xử lý nội dung trang web của bạn. Dưới đây là 6 tiêu đề header bảo mật HTTP phổ biến mà mình khuyến khích bạn nên triển khai cho website của mình.
- Content-Security Policy
- X-XSS-Protection
- Strict-Transport-Security
- X-Frame-Options
- Public-Key-Pins
- X-Content-Type
đây theo mình là 6 bảo mật header http quan trọng nhất để nâng cao bảo mật, một một danh mục thì đề xuất ở bên trên sẽ phục trách một công việc khác nhau. Nếu bạn muốn kích hoạt thì hãy copy những thứ mình đề xuất xong tìm kiếm trên google nhé
nếu nhiều người yêu cầu mình sẽ hướng dẫn kích hoạt chi tiết.
securityheaders.com đây là website kiểm tra và gợi ý hỗ trợ công việc để bạn làm header http.
bạn muốn học làm hacker và học thêm bảo mật có bạn thể học tập tại : hacksplaining.
17. Ẩn phiên bản WordPress
Một gợi ý tốt khác là ẩn phiên bản WordPress của bạn. Bất kỳ ai nhìn vào mã nguồn của trang web của bạn đều có thể dễ dàng biết được bạn đang chạy version phiên bản WordPress như thế nào và nếu bạn không thường xuyên cập nhật các bản cập nhật mới nhất của WordPress thì đây có thể là một dấu hiệu đáng mừng và hoan nghênh đối với hacker.
Để ẩn phiên bản WordPress của bạn cần thực hiện 3 bước này, bạn có thể làm theo sự hướng dẫn của mình
Bước 1: Chỉ cần thêm cái này vào functions.php tệp của bạn .
remove_action('wp_head', 'wp_generator'); add_filter('the_generator', 'wptangtoc_hide_wp_version'); function wptangtoc_hide_wp_version() { return ''; }
Bước 2: Ngoài ra, bạn cần xóa readme.html tệp nằm trong thư mục gốc của cài đặt WordPress vì tệp này cũng chứa phiên bản WordPress.
Đơn giản chỉ cần đăng nhập qua FTP, Cpanel… và xóa nó.
domain.com/readme.html
Bước 3: còn bước tiếp theo là bạn cần file xóa query strings thì mới ẩn thân được phiên bản WordPress của bạn tuyệt đối, hacker nhìn đuôi file ?ver của bạn thì họ sẽ biết ngay phiên bản WordPress của bạn là như thế nào.
Hướng dẫn loại bỏ query strings
Tóm tắt:
Như bạn có thể thấy, có nhiều cách bạn có thể nâng cao bảo mật WordPress của bạn.
Từ việc cập nhật WordPress và các plugin, đặt tên người dùng và mật khẩu dài và khó nhai, học hỏi sử dụng plugin bảo mật, kết nối an toàn, thủ thuật bảo mật cơ sở dữ liệu, khóa trang wp-admin đăng nhập WordPress của bạn, bảo mật tệp wp-config.php cơ bản của bạn, sử dụng chứng chỉ SSL và hơn thế nữa.
mình biết là bài viết này chỉ là thuộc dạng đề xuất không phải là how làm như thế nào chi tiết, nếu mình có thời gian sẽ cập nhật những nội dung đề xuất này ra một bài viết hướng dẫn cụ thể để bạn có thể dễ dàng làm theo. Nhưng nhiều đề xuất trong số này mình có đề xuất có thể được thực hiện trong vòng vài đường quyền là xong và bạn có thể yên tâm khi biết trang web WordPress của mình an toàn hơn một chút trước những hacker yếu kém.
có rất nhiều mẹo bảo mật WordPress tốt khác mình vẫn chưa có đề cập trong bài viết này chỉ vì lý do mình không phải là chuyên gia, chuyên viên bảo mật chỉ biết những bảo mật cơ bản mà thôi.
hy vọng bài viết này sẽ giúp website của bạn hoạt động ổn định hơn và đặc biệt giúp tâm lý của quản trị viên hạnh phúc hơn bớt lo lắng sợ hãi đi.
Để lại một bình luận