Hiện nay nếu anh chỉ sử dụng wordpress để phát triển website cho khách, thì tôi chắc sẽ bị nhiễm mã độc vài lần. Tác hại nhiễm mã độc thì khỏi phải nói rồi. Nó tạo ra vô số link redirect đến website bẩn làm giảm thứ hạng seo, làm chậm website…
Sau đây tôi xin chia sẽ cách làm:
-Bị google cảnh bảo
-Bị các chương trình virus cảnh báo
Nếu bị như vậy chắc chắn là đã khá nghiêm trong rồi
-Thường mã độc loại này tại thư muc root của website có các file php lạ ví dụ: abcg11.php, 12hdfh.php …
-Mở file wp-config.php thì ngay trên đầu sẽ là
/*abcg11*/
@include
/*abcg11*/
….ví dụ như vậy
hình ảnh minh họa
-Và cũng trên thư mục root nó có một folder tên là blog
->Như vây là website của bạn đã bị dính marlware .ico
-Trước tiên quét virus full scan dưới pc của bạn bằng chương trình virus bản quền
-Zip toàn bộ thư mục wp-content lại rồi tải về pc của bạn
-Xóa tất cả các file tất nhiên cần lưu lại thông tin kết nối data trong wp-config.php
-Xóa toàn bộ website
-Unzip file wp-content.zip rồi dùng file manager search .ico để xóa đi
-Rà soát tất cả file index.php trong thư mục để xóa
/*abcg11*/
@include
/*abcg11*/
Rồi tải lên lại hosting và download wordpress mới nhất tải lên, kết nối lại data và cài lại permalink như vây là bạn cơ bản đã xóa được mã độc
Anh chị biết đấy nếu chẳn may một web trên đó bị nhiểm thì sẽ kéo theo các website còn lại
đăng nhập ssh
-Xóa file có đuôi .tengido.ico
dùng lệnh
1 |
find . -name "*.ico" |
quét toàn bộ .icon
sau khi biết được path đến các file .ico
dùng lệnh
rm /home/admin/domains/abc.com/public_html/wp-content/.dfd.icon -> enter
và y để xóa
-Tìm và xóa folder blog trong thư mục root trên các website
Tìm
find / -type d -name blog
Với lệnh trên anh chị có path tới folder trên blog trên các website trên serverr (lưu ý chỉ xóa nhữ thư mục blog trên thư mục root từ domain nha)
xóa thì dùng lệnh sau
rm -rf /home/admin/domains/abc.com/public_html/blog/
Chị lại path nha mấy bạn
-Tìm và xóa @include trong 2 file đó là wp-config.php và index.php ( việc này hơn vất vả đây nhưng phải làm thôi)
Tìm thì là
find . -name “index.php”
find . -name “wp-config.php”
Sau khi có path anh chị copy tới file txt, rồi chuyển qua chương trình quản lý file ftp để xem từng file nếu có mã độc
Thường ở trên cùng của file và xoa phần
/*abcg11*/
@include
/*abcg11*/
đi
ngoài ra chúng ta tìm các file php dạng dsfkj.php ở trong các folder css, js hay plugin
1 2 3 4 5 6 7 8 9 10 11 12 |
//Tìm trong các file php có đoạn code mã độc find . -type f -name '*.php' | xargs grep -l " *@include *" //Tìm trong các folder css có file php kiểu dfff.php find . -name '*.php' | grep "css" //Tìm trong các folder js có file php kiểu dfff.php find . -name '*.php' | grep "js" //Tìm trong các folder javascript có file php kiểu dfff.php find . -name '*.php' | grep "javascript" //Tìm tất cả file php có tên kiểu như hgjk.php find . -type f | egrep './[a-z]{8}\.php' //Tìm trong file php có đoạn code nghi ngờ mã độc find . -type f -name '*.php' | xargs grep -l " *Array();global*" |
1 2 |
rm /home/admin/domains/abc.com/public_html/wp-content/df.php enter và nhập y |
phần quyền chuẩn phải lài folder 0755, file 0644
1 2 3 4 5 6 |
//Tìm tất cả các file có phân quyền 0755 find . -type f -perm 0755 //Tìm tất cả các file có phân quyền 0777 find . -type f -perm 0777 //Tìm tất cả các folder có phân quyền 0777 find . -type d -perm 0777 |
Nếu xuất hiện kết quả tìm kiếm thì chứng tỏ mã độc đã phân quyền lại. Chúng ta tiến hành phân quyên lại như sau:
1 2 3 4 |
//tìm và phân quyền tất cả các file là 0644 find . -type f -exec chmod 0644 {} \; //Tìm và phân quyền tất cả các folder 0755 find . -type d -exec chmod 0755 {} \; |
Thay đổi pass root và direct admin
Thay đổi pass root: đăng nhập ssh gõ lệnh
1 2 |
passwd và enter |
Rồi nhập pass mới vào
Thay đổi pass direct admin: ở Admin Level vào mục Change Passwords
Ảnh minh họa
Tắt quyền chỉnh sửa file
1 2 3 4 |
/* Tắt quyền sửa file theme, plugins */ define( 'DISALLOW_FILE_EDIT', true ); // Tắt quyền cài đặt mới theme, plugins define('DISALLOW_FILE_MODS', true); |
Kiểm tra hiện tại có bao nhiêu ip kết nối server: mục đích tìm ra nơi mã độc tất công
1 |
netstat -an|grep :80 |awk '{print $5}'|cut -d":" -f1|sort|uniq -c|sort -rn |
Minh họa
Từ trên anh chị thấy ip 62.210.172.189 truy cập 31 lần rất bất thường dùng dịch vụ truy xuất vị trí ip ta sẽ có kết quả
Vị trí mã độ từ Nước Anh, Ghê quá anh chị
Phần quyền lại toàn bộ các file và folder trên domain
1 2 3 4 5 6 |
//Chuyển đến thư mục root của site cần chmod, nhớ đổi lại đường dẫn cho đúng cd /home/admin/domains/abc.vn/public_html //Phân quền toàn bộ thư mục là 0755 find . -type d -exec chmod 0755 {} \; //Phân quyền toàn bộ file là 0644 find . -type f -exec chmod 0644 {} \; |
Vào admin direct admin block ip khả nghi là những ip cố găng login nhiều lần
Vào mục: Brute Force Monitor
Bên dưới tôi sưu tầm thêm từ tenten
Tấn công mạng ngày càng nguy hiểm và tinh vi với nhiều cách thức khác nhau tuy chúng ta không thể đoán trước được khi nào chúng ta bị tin tặc tấn công nhưng chúng ta hoàn toàn có thể phòng chống cũng như giảm thiệt hại khi một cuộc tấn công xảy ra trên VPS máy chủ của chúng ta
Đối với dịch vụ vps quý khách thường đặt cho mình thay vì một website trên một vps mà quý khách thường đặt nhiều website trên một vps nên khi bị tấn công mạng xảy ra trên một website sẽ ảnh hưởng tới toàn bộ hệ thống website khác cùng server thậm chí sẽ bị mất quyền điều khiển root của vps. Trong loạt bài hướng dẫn này phòng kỹ thuật tại sẽ hướng dẫn quý khách cấu hình vps đảm bảo an toàn nhất cho các website đang chạy
Bật chức năng safe_mode của php
Để bật được chức năng này quý khách cần sửa file php.ini bằng lệnh sau đây
nano /etc/php.ini
Tìm dòng safe_mode sau đó đổi off thành on. Sau khi đã đổi safe_mode từ off sang on thì chức năng run command ( chức năng thực thi các câu lệnh ) ở trên code php cũng không hoạt động nữa.
Vẫn trong fle php.ini chúng ta vô hiệu hóa chức năng shell php bằng cách disable các functions mà mã độc thường sử dụng
Tìm dòng “disable_functions =” sau đó thêm vào các lệnh này để tắt các hàm chức năng nhạy cảm: system, exec, shell_exec, passthru, pcntl_exec, putenv, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, popen, pclose, set_time_limit, ini_alter, virtual, openlog, escapeshellcmd, escapeshellarg, dl, curl_exec, parse_ini_file, show_source, ini_set
Quý khách nhấn ctrl+o và enter sau đó nhấn ctrl+x để thoát
Khởi động lại server bằng lệnh reboot
Hoặc nếu quý khách dung apache thì có thể dung lệnh service httpd restart
Sau khi disable chức năng các lệnh này ta up bất kỳ malware nào có đuôi .php đều vô tác dụng, không thể upload, tạo thư mục, tạo file, chmod, xóa, chỉnh sửa file, thư mục … Nghĩa là sau khi hacker upload được malware lên thì cũng không thể làm gì, không thể thực hiện bất kỳ thao tác nào can thiệp vào server. Tuy nhiên chỉ disable các hàm php này nếu vô tình hacker có được tài khoản hosting thì vẫn có thể upload shell perl hay còn gọi là cgi và thực hiện các câu lệnh ở trên đó. Vì vậy để an toàn ta cần tắt cả chức năng perl
– Tắt chức năng chạy perl và cgi:
chmod 700 /usr/bin/perl
Khi đó nếu có mã độc CGI thì sẽ không thể thực thi được
– Không cho view danh sách user trên server:
chmod 700 /etc/passwd
Chú ý khi quý khách dung lệnh chmod 700 /etc/passwd thí một số dịch vụ có thể bị ảnh hưởng quý khách cần lưu ý khi chạy các phần mềm khác!
Mọi sự sao chép xin ghi rõ nguồn là fcwordpress.net
Chuyên trang về wordpress: hướng dẫn thiết kế theme, plugin, thủ thuật wordpress