Cách phát hiện và hạn chế một cuộc tấn công DDoS

Xin nói trước là chỉ hạn chế thôi chứ không thể chống lại một cuộc tấn công DDoS nhé. Với lại tôi cũng không phải chuyên gia về bảo mật hay phòng chống DDoS, bởi vì web công ty bị phá riết, chống chọi với DDoS riết nên có tí kinh nghiệm và viết bài này. Cũng xin nói thêm trong loại tấn công website thì DDoS là nguy hiểm nhất và cũng hạ đẳng nhất. Còn tại vì sao thì phải tìm hiểu nhiều.

tan-cong-ddos

I. Check

Bằng netstat

Cái này mà > 500 tức là Server của bạn đã có vấn đề

netstat -n | grep :80 |wc -l

Cái này > 100 có thể là tấn công syn

netstat -n | grep :80 | grep SYN |wc -l

Kiểm tra kết nối của tất cả các cổng, xem IP nào có nhiều connect nhất

netstat -ntu | grep ':' | awk '{print $5}' | sed 's/::ffff://' | cut -f1 -d ':' | sort | uniq -c | sort -n

Kiểm tra kết nối của port 80 và xem IP có nhiều kết nối nhất.

netstat -ntu | grep ':80' | awk '{print $5}' | sed 's/::ffff://' | cut -f1 -d ':' | sort | uniq -c | sort -n

Kiểm tra các kết nối bằng giao thức tcp hoặc udp

netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

Kiểm tra IP nào thực hiện nhiều gói SYN nhất

netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}'

Phân tích file Log

Xuất ra màn hình tất cả IP > 10 connect, trong 1 giờ qua (15 giờ 8/12/2015)

grep -w '08/Dec/2015:15' /file_log_server_access.log | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | sort | uniq -cd | sort -nr | grep -v '^ *[1-9] '

Xem thêm: Phân tích Log VPS từ cơ bản đến nâng cao

II. Filter

Bằng Route

route add ipaddress reject

vd:

route add 111.111.111.1111 reject

Kiểm tra các IP đã bị Block bằng route

route -n |grep IPaddress

vd:

route -n |grep 111.111.111.1111

Bằng iptables

iptables -A INPUT 1 -s IPADRESS -j DROP/REJECT
service iptables restart
service iptables save

Xóa tất cả các kết nối

killall -KILL httpd
service httpd restart

Bằng csf

csf -d IPaddress

vd:

csf -d 111.111.111.111

Sau đó khởi động lại csf

csf -r

III. Service

Đơn giản nhất là dùng các dịch vụ chống DDoS, tất nhiên là tốn phí.

Nổi tiếng nhất và hiệu quả nhất là Cloudflare để chống được DDoS thì ít nhất phải dùng gói Business 200$/m, gói Free và 20$/m chỉ có chức năng tối ưu cho website thôi nhé, không có chức năng chống DDoS.

Tiếp đến là Incapsula  với gói Small Businesses 299$/m cũng là một sự lựa chọn hoàn hảo.

…còn nữa

Tham khảo: eukhost.com, sinhvienit.net

Hướng dẫn cách đối phó với Click ảo Google Adword

Mấy hôm nay website quảng cáo của công ty liên tục bị phá bằng click ảo, đặt ngân sách 5.000.000 mà mới có buổi sáng đã sạch sẽ. Tất nhiên là sau đó google sẽ lọc bỏ các lượt click ảo và trả tiền lại cho nhà quảng cáo nhưng trước mắt, khi hết tiền trong ngân sách quảng cáo của bạn sẽ ngừng chạy. Lọ mọ ngồi khắc phục cũng có một ít kinh nghiệm nên chia sẽ cũng mọi người.

click-ao

Google Adword loại bỏ các click chuột không hợp lệ sau một vài ngày

google-gui-lai-tien

Google Adword lọc lại lần thứ 2 và gửi tiền lại cho bạn

Bước 1: Nâng cao giới hạn ngân sách.

Lý do thứ nhất là để quảng cáo chạy kiếm khách hàng, còn lý do thứ 2 là để thu thập thêm IP.

Bình thường để chạy quảng cáo 1 ngày mình đặt 2.500.000 nhưng khi bị click ảo, mình tăng lên 5.000.000. Việc làm này trước mắt là để đối phó với việc hết ngân sách quảng cáo sẽ không chạy và nhận thêm một số IP từ click ảo để cho vô danh sách cấm của Adword.

Bước 2: Lọc các IP click ảo

Tham khảo thêm: Phân tích Log VPS từ cơ bản đến nâng cao

Vào Adword xem thử các chiến dịch nào bị click ảo nhiều nhất, ví dụ của mình là chiến dịch “Sửa máy giặt”

 

Phân tích file access.log của Server

grep -w '03/Dec/2015.*/sua-may-giat/.*google\|04/Dec/2015.*/sua-may-giat/.*google' /home/nginx/domains/dienlanhsodo.com/log/access.log | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'

Như câu lệnh trên, minh sẽ grep tất cả các dòng từ ngày 3/12/2015, có đích đến là /sua-may-giat/ và được chuyển hướng từ google, chỉ xuất ra các địa chỉ IP thôi.

Kết quả nó sẽ giống thế này:

ket-qua

Như vậy là đa số click đến quảng cáo là những IP có cùng lớp A 171.*.*.* việc này là rất khó khăn cho google lọc.

Copy đám IP đó vô BlackList của Google Adword hết.

Tạo 1 list IP dạng như thế này:

171.236.1.*

171.236.2.*

171.236.255.*

171.237.1.*

171.237.2.*

171.237.255.*

Nhấp vào chiến dịch -> cài đặt -> Loại trừ IP -> Copy list IP vừa tạo vô

 

Bước 3: Chia nhỏ nhiều chiến dịch Quảng cáo trong ngày. (Cái này quan trọng nhất)

Ví dụ mình có một chiến dịch “Sửa máy giặt” thường xuyên bị click ảo.

Mình copy chiến dịch đó ra 20 lần, và cài đặt lịch là 15 phút chạy 1 chiến dịch.

Như vậy là nếu bị click ảo sẽ bị ảnh hưởng trong 15 phút thôi, 15 phút sau chiến dịch sẽ tiếp tục chạy. cứ như vậy !

 

Bước 4: Yêu cầu Google điều tra và loại bỏ các nhấp chuột không hợp lệ.

1. Chuẩn bị các yêu cầu của Google: Click investigation request

Như mã ID của tài khoản Adword, Email, Tên chiến dịch bị click ảo, Nhóm quảng cáo ảnh hưởng, IP click ảo, Trang web bạn nghi ngờ, Hình chụp màn hình adword với các (click, chi phí và CTR + CPC…), Log của trang web các ngày bị click ảo…chuẩn bị càng nhiều thông tin càng tốt.

Xuất ra file log của ngày 3-4/12 để xíu nữa gửi cho google.

grep -w '03/Dec/2015\|04/Dec/2015' /home/nginx/domains/dienlanhsodo.com/log/access.log > /home/nginx/domains/dienlanhsodo.com/log/03_04_Dec_2015.log

2. Báo cáo với google: Báo cáo click ảo

Gửi tình trạng quảng cáo của bạn đang gặp phải.

3. Gửi các thông tin cần thiết cho Google điều tra: Gửi thông tin cho Google

Các thông tin thu nhập được từ 1 gửi cho google để họ cử chuyên viên điều tra. Cung cấp càng nhiều thông tin càng tốt.

Bước 5: Kết quả

Sau một tuần chờ đợi từ ngày 4/12 – 11/12 thì hôm nay đã nhận được mail của Google Adword như sau:

ketqua

Có 1 điều thú vị là hệ thống tự động của Adword đã lọc gần hết Click ảo, và còn bù thêm cho mình 290$ nữa.

Như vậy sơ sơ lợi được hơn 5 triệu đồng :)

Bước 6: Nhận được tiền

click-ao click-ao-1 click-ao-2 click-ao-3

Cách tìm và thay thế nội dung trong tất cả bài viết WordPress

Đúng là cực hình nếu công ty thay đổi hoặc cập nhật số điện thoại mà ngồi sửa từng post một. Trong khi đó website tới cả ngàn bài viết, cách đơn giản nhất là dùng một số các thủ thuật sau đây.

Dùng Plugin Find and Replace All

plugin-find-and-replate-all

Nhập nội dung cần Tìm kiếm vô ô Find String và nhập nội dung cần thay thế vô ô Replace with String rồi click Replate Now là xong.

Dùng function.php

Thêm đoạn này vào file function.php của theme.

function replace_content($content)
{
$content = str_replace('nội dung cần tìm', 'nội dung thay thế',$content);
return $content;
}
add_filter('the_content','replace_content');

Dùng phpmyadmin

1.Vào phpmyadmin

2.Chọn database bạn muốn tìm và thay thế string

3.Click vào tab SQL

4.Gõ câu lệnh sau:

UPDATE wp_posts SET post_content = REPLACE (
post_content,
'nội dung cần tìm',
'nội dung thay thế');

Dùng câu lệnh trong Linux

Đăng nhập MySQL

mysql -u root -p

Hiển thị các database trong VPS

show databases;

Chọn 1 database

use ten_database;

Tìm và thay thế chuỗi.

UPDATE wp_posts SET post_content = REPLACE ( post_content, 'nội dung cần tìm', 'nội dung thay thế' );

Khi xong có thông báo kiểu như thế này:

Query OK, 2 rows affected (0.01 sec)
Rows matched: 3 Changed: 2 Warnings: 0

Bật mí tuyệt chiêu “Link Building” từ Forums

Ngoài vấn đề content của website được ưa tiên hàng đầu trong SEO, thì đứng thứ 2 là xây dựng liên kết. Link Building thì rất đa dạng từ site vệ tinh, mua liên kết, comment, forums… Bài này chỉ nói đến vấn đề xây dựng liên kết bằng forums thôi.

Ai chưa có danh sách forums thì có thể download tại đây: Chia sẻ danh sách diễn đàn để xây dựng backlink.

Link-Building

Vậy có bao nhiêu cách để có được liên kết từ Forums ?

1. Viết bài chắc ai cũng biết.

Vâng cách đơn giản và an toàn nhất, đó là cung cấp nội dung chất lượng cho diễn đàn và để lại nguồn từ website của bạn.

Một bài viết như thế này có được 2 link là có thể chấp nhận được.

2. Chèn link ở chữ ký

website_vbulletin.com/profile.php?do=editsignature
website_xenforo.com/account/signature

Chèn khoản 2-3 link anchor text ở chữ ký và đi tham gia thảo luận ở các diễn đàn lớn, cũng là cách mà hiện tại rất nhiều bạn đang làm ở các forums như: idichvuseo, thegioiseo, seomxh …

3. Chèn link ở profile người khác

website_vbulletin.com/members/username
website_xenforo.com/members/username.id hoặc website_xenforo.com/members/id

Kiếm nick nào có nhiều bài viết (mục đích là có nhiều liên kết nội, index nhanh hơn và dễ có tương tác hơn), rồi vào profile của họ để lại 1 comment hoặc lời nhắn có chứa backlink đến website của bạn.

Ví dụ:

https://forum.idichvuseo.com/members/mr-n2.868/
https://www.thegioiseo.com/members/admin.1/

4. Chèn link ở profile của chính mình

#Thêm website của bạn vô phần Home page Url
website_vbulletin.com/profile.php?do=editprofile
#Thêm website của bạn vô phần Home Page
website_xenforo.com/account/

Ví dụ: 

https://www.ddth.com/member.php/109951-tangduongtrieu
https://www.thegioiseo.com/members/tangduongtrieu.14107/

5. Sử dụng hình ảnh trong nội dung một cách thông minh.

Khi viết bài hoặc tham gia thảo luận, một số trường hợp cần sử dụng hình ảnh. Thay vì phải sử dụng các service miễn phí hoặc upload trực tiếp lên diễn đàn thì tốt nhất bạn nên up hình lên website của mình. Rồi sử dụng url đó chèn vào diễn đàn, một cách đơn giản như thế bạn cũng có 1 backlink trỏ về rồi đó.

6. Biểu tượng mặt cười (Từ bài này sẽ sử dụng các thủ thuật mũ xám)

Một số diễn đàn có sử dụng các biểu tượng mặt cười EmotIcon. Chắc chắn là các icon này là hình ảnh và đang nằm trên server của Forums rồi, việc đơn giản là chuyển 1 vài Icon về server của website bạn rồi chèn ngược lại cho Forums đó. Ít nhất việc này cũng giúp cho diễn đàn đỡ ít băng thông :).

7. Với các diễn đàn không cho đăng ký.

Vì nhiều người spam bằng phần mềm tràn lan nên một số admin đã đóng chức năng đăng ký, mình thì chỉ cần 1-2 cái link ở đó thôi nên sẽ tìm 1 nick.

a.Nếu là người lịch sự thì pm hỏi xin admin tạo giúp 1 tài khoản.

b.Trong trường hợp admin bận thì có thể làm như sau:

Vào đây:

website_vbulletin.com/members/list/
website_xenforo.com/members/list

Tìm các accout có tên củ chuối như: nguyenthitum, nguyenvanteo…

Dò với các pass như: 123456, 123456789, vietnam, matkhau, 000000, anhyeuem, emyeuanh, maimaiyeuem …

các tài khoản có ID > 2 thông thường pass cũng dễ đoán.

Khi có được pass rồi thì vào chèn cái link, rồi để nguyên đó rời đi không nên đổi pass hoặc email làm gì. (nhớ ! lịch sự)

8. Cách đặt link ở diễn đàn xenforo giới hạn bài viết.

Ở một số diễn đàn, giới hạn thành viên phải có >10 bài viết hoặc lớn hơn, mới cho phép chèn link vào trong nội dung.

Có một mẹo rất đơn giản để vượt qua giới hạn này.

Đầu tiên bạn viết bài hoặc comment với nội dung là không có link, sau đó edit lại và chèn link vô.

Rất đơn giản phải không, chú ý một số diễn đàn sẽ không làm được thủ thuật này, do đã update lên phiên bản mới.

Tất nhiên nếu bạn biết nhiều về các thủ thuật BlackHack thì có thể Brute force hoặc Scan bug như ở trong giới hạn bài viết này thì mình không cho phép.

Trên đây là 7 cách thông thường để có được liên kết từ Forums bạn nào có cách hay mà mình chưa nêu ra có thể giúp mình bổ sung nhé !

Cách xóa class “hentry” trong post của WordPress

Khi sử dụng wordpress mặc định class "hentry" sẽ tự động được thêm vào trong post_class một số theme do không muốn hiển thị tên tác giả, ngày tháng và vcard để sẽ bị một số thông báo lỗi như:

Thiếu: author
Thiếu: entry-title
Thiếu: updated

hentry

Tất nhiên chúng ta hoàn toàn có thể thêm class của các thẻ đang bị thiếu để bổ sung.

Nhưng trong trường hợp không thích sự xuất hiện của các thẻ: author, ngày tháng, vcard … thì bạn có thể xóa luôn cái class hentry đó đi cho nhẹ nợ.

Bằng cách thêm đoạn sau vào cuối file functions.php

/**
* Remove hentry from post_class
*/
function isa_remove_hentry_class( $classes ) {
 $classes = array_diff( $classes, array( 'hentry' ) );
 return $classes;
}
add_filter( 'post_class', 'isa_remove_hentry_class' );

Để kiểm tra lại thì vào đây: https://developers.google.com/structured-data/testing-tool/

Khắc phục lỗi 404 plugins/feedback.php

Mấy nay tự nhiên trong Webmaster tools thông báo lỗi 404 quá chừng.

dạng như: https://www.domain.com/plugins/feedback.php?href=

Nguyên nhân chính có thể là do Facebook Comments Plugin nếu không cần thiết có thể xóa đi.

Hoặc bạn có thể dùng robots.txt để cấm không cho google bot craw link có dạng /plugins/feedback.php

Thêm đoạn này vào file robots.txt

Disallow: /plugins/feedback.php

 

Hướng dẫn đổi tên miền nhưng vẫn giữ ranking Google

Nhiều lúc phân tích một số website, thấy ranking một số từ khóa rất cao nhưng khi kiểm tra backlink thì không thấy bất kì 1 cái nào. Đó là vì họ dùng cách này, chuyển hướng toàn bộ tên miền cũ sang tên miền mới mà vẫn giữ backlink và ranking.

Giả sử domain cũ của bạn là: tenmiencu.com và domain mới mà bạn muốn chuyển đến là tenmienmoi.com

Bước 1: Nội dung file .htaccess của tenmiencu.com như sau:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^tenmiencu.com [NC,OR]
RewriteCond %{HTTP_HOST} ^tenmiencu.com [NC]
RewriteRule ^(.*)$ https://tenmienmoi.com/$1 [L,R=301,NC]

Nếu bạn dùng nginx thì dùng cái này: https://winginx.com/en/htaccess để convert qua.

Bước 2: Thông báo với google thay đổi tên miền bằng Webmaster tools

Đầu tiên bạn chọn tenmiencu.com -> Pick your new site from the list chọn “tenmienmoi.com” -> Nhấn “Submit”.

Đợi google check xong sẽ gửi phản hồi.

 

 

Cách phát hiện và chặn các liên kết, chuyển hướng xấu

Thời buổi này SEO khác trước nhiều quá, trước chỉ cần nội dung tốt, onpage chuẩn, đi link chăm là có Ranking tốt rồi, khỏi phải lo nghĩ. Giờ thì chơi xấu đủ kiểu, người tốt biết nhiều không phải để hại người khác, mà là để tránh bị kẻ xấu hạ gục. Vậy nên bổ sung xíu kiến thức cũng tốt chứ nhỉ.

Có 1 điều thú vị là nếu đối thủ đi link xấu thì tốt nhất bạn cứ nên im lặng và sử dụng các cách sau đây, vì thời gian để cấm 1 site chỉ có 2-3 phút, nhưng để đi được các liên kết xấu thì không phải dễ như vậy đâu.

I. Phát hiện và chặn các liên kết xấu.

Vậy thế nào là liên kết xấu ? Đơn giản nó là những liên kết không tốt cho quá trình SEO của bạn. Thông thường những liên kết này được mọi người ngầm hiểu là các backlink đến từ những site như: website về sex, khiêu dâm, website bị google banned, website spam link …

Cách phát hiện liên kết xấu ?

Chắc cú nhất là vào: Google Webmaster Tools

Vào phần Link to Your Site xem thử có domain nào lạ, liên kết đến web của bạn.

Tuy nhiên Webmaster Tools có 1 điểm yếu là cập nhật link rất chậm, đôi khi phát hiện ra là Website đã bị google banned rồi giải pháp bây giờ là sử dụng dịch vụ phân tích backlink như:

nhưng 2 site này cần phải trả phí, nên tốt nhất là bạn rủ 4-5 bạn cùng mua cho rẻ.

Hoặc cũng có thể yêu cầu check ahrefs miễn phí tại đây: Hướng dẫn sử dụng Ahrefs và giúp kiểm tra miễn phí

Chặn liên kết xấu

Dùng công cụ: Google Disavow Links

Tạo 1 file.txt với nội dung như sau:

#chặn link nào đó
https://lienketxau.com/spam-link-1/
https://lienketxau.com/spam-link-2/
https://lienketxau.com/spam-link-3/

#chặn domain
domain:lienketxau1.com
domain:lienketxau2.com
domain:lienketxau3.com

Thay phần màu đỏ cho phù hợp với site của bạn.

II. Phát hiện và chặn các redirect từ những site xấu

Cách phát hiện chuyển hướng đến từ site nào.

Thông thường mọi người hay dùng Analytic để phân tích nguồn đến.

Vào Analytic -> Acquisition -> Overview -> Referral

Tại đây xem thử website có những chuyển hướng từ những domain xấu nào.

Ngoài ra bạn cũng có thể xem các site đã referral đến web mình bằng Log hoặc trong Plugin Jetpack cũng có chức năng này.

Cấm referral từ một site nào đó bằng .htaccess

trong nội dung của .htaccess thêm đoạn sau:

SetEnvIfNoCase Referer "^https://([a-z0-9\-]+\.)?lienketxau\.com.*$" camreferral
Order Deny,Allow
Deny from env=camreferral
ErrorDocument 403 /403.html

Tham khảo: idichvuseo.com

Chia sẻ list 5000 diễn đàn đi link miễn phí update 5/2016

Tham khảo thêm: Bật mí tuyệt chiêu đặt Backlink từ forums

Ở đâu ra danh sách này?

Bước 1: Lấy tất cả các link

  • Tổng hợp diễn đàn hồi trước giờ hay sử dụng.
  • Dùng ahref.com phân tích  và lấy tất cả backlink của 10 trang đầu tiên của các từ khóa hot như: dien dan seo, dao tao seo, dich vu seo, hut ham cau, du lich, xe hoi, ve may bay, sim so dep …
  • Search từ khóa: share list dien dan, chia se forum, danh sach forums, diễn đàn chất lượng… -> Lấy 1000 kết quả đầu tiên -> Dùng Tools get tất cả các link có trong 1000 kết quả đó.
  • Dùng Tools crawl tất cả các kết quả tìm kiếm với từ khóa: site:edu.vn dien dan, site:gov.vn dien dan, site:edu.vn forums, inurl:forum rao vat …

Bước 2: Lọc diễn đàn

  • Gom chung tất cả các file chưa list forums lại thành 1 file lớn. (ít thì copy dán vô, nhiều thì dùng lệnh cat *.txt > combined-file-output.txt xem thêm: Lệnh bỏ túi linux)
  • Xóa các Forums trùng nhau bằng Notepad++ hoặc dùng lệnh uniq file-input.txt > file-output.txt xem thêm:  Lệnh bỏ túi linux
  • Check tất cả các diễn đàn xem thử còn Live hay Die (Giữ live, xóa Die)
  • Dùng Tools kiểm tra mã nguồn của diễn đàn chỉ lấy vBulletin và Xenforo còn lại remove.
  • Dùng Tools check PR và Alexa hàng loạt các website.
  • Dùng Tools check PA và DA hàng loạt
  • Google check index tất cả các diễn đàn. (Remove các site bị Sandbox) Nên tại thời điểm viết bài 99,9%% là các site an toàn.

Danh sách diễn đàn XenForo & vBB

Update 24/5/2016

  • Update PA + DA
  • Thêm cột tuổi của domain (đang update…)

Update 10/05/2016

  • Cập nhật lại danh sách forums bị sandbox
  • Add thêm 2k forums mới
  • Update thêm một số thông tin của Forums như: PA + DA + MozRank + Enternal Link + IP + Quốc Gia + Alexa + Index …
  • Remove PR vì đã bị google loại bỏ, bạn nào cần có thể xem lại link cũ.

Chú ý: Có 1 số forums bị trùng (không đáng kể) AE thông cảm nhé.

Update 24/12/2015

  • Cập nhật danh sách Forums bị Sandbox đợt vừa rồi
  • Cập nhật lại PA và DA mà Moz mới update
  • Gom chung vô 1 file cho dễ quản lý.

Tổng quan thì đợt vừa rồi khoảng 500 forums của Việt Nam bị SandBox, đa số là của hệ thống để xây dựng liên kết, còn Forums nước ngoài và các diễn đàn bình thường không bị ảnh hưởng.

Update 04/12/2015

Update danh sách 1000 forums quốc tế

Update: 24/11/2015

Update danh sách 650 forums

Update: 13/11/2015

Danh sách 3000 forums (~90% là việt nam)

Lưu ý:

  • Update forums liên tục …
  • Sẽ cập nhật danh sách 4k site wordpress comment trong tương lai

Đặt mật khẩu bảo vệ File và Folder trong Nginx

Với WordPress thông thường chúng ta hay bảo vệ thư mực wp-admin và file wp-login.php

mat-khau-file-folder-wordpress

Bước 1: Tạo file chứa user và mật khẩu được mã hóa.

htpasswd -c /home/nginx/domains/websitecuaban.com/public/.htpasswd username password

với câu lệnh trên hệ thống sẽ tạo 1 file .htpasswd trong thư mục gốc /home/nginx/domains/websitecuaban.com/public/

Hoặc bạn cũng có thể vào: https://www.htaccesstools.com/htpasswd-generator/ để tạo thủ công.

Bước 2: Liên kết file cấu hình domain với user, mật khẩu vừa tạo.

Edit file:

/usr/local/nginx/conf/conf.d/websitecuaban.com.conf

Thêm dòng này để bảo vệ thư mục wp-admin

location /wp-admin {
 auth_basic "Administrator Login";
 auth_basic_user_file /home/nginx/domains/websitecuaban.com/public/.htpasswd;
 }

Thêm dòng này để bảo vệ file wp-login.php

location ~ ^/(wp-login.php) {
 include /usr/local/nginx/conf/php.conf;
 auth_basic "Administrator Login";
 auth_basic_user_file /home/nginx/domains/websitecuaban.com/public/.htpasswd;
 }

Chú ý: các dòng code phải nằm trong thẻ đóng:

server {
...code ở trong này...
}

Xong rồi khởi động lại nginx

service nginx restart