Linux Malware Detected (LMD) là một chương trình dùng để quét các malware trên Linux OS, thường được cài đặt trên các máy chủ chuyên dụng và máy chủ Hosting. Mặc định, file cấu hình của LMD được đặt tại /usr/local/maldetect/conf.maldet, dưới dây là các thông số quan trọng.
Nội Dung
[GENERAL OPTIONS]
email_alert=”0″
Tính năng gửi email cảnh báo khi maldet thực hiện automated/manual scan hoặc thông báo version mới. Cấu hình email_alert=”1″ để mở tính năng và email_alert=”0″ để tắt tính năng này.
email_addr=”you@domain.com“
Trong cấu hình này, you@domain.com chính là email muốn nhận thông báo. Người quản trị có thể cấu hình nhiều email nhận thông báo và mỗi email cách nhau bởi dấu phẩy (,). Tính năng này chỉ có hiệu lực khi cấu hình email_alert=”1″.
email_ignore_clean=”1″
Hệ thống sẽ bỏ qua và không gửi emails thông báo đến cho người dùng khi LMD thực hiện tự động remove thành công các malware mà nó phát hiện trong quá trình quét. Cấu hình email_ignore_clean=”1″ để mở tính năng và email_ignore_clean=”0″ để tắt tính năng này.
slack_alert=”0″
Bật / tắt tính năng thông báo qua slack ([0 = disabled, 1 = enabled]). Khi cấu hình slack_alert=”1″ thì maldet sẽ upload file kết quả scan đến một hoặc nhiều slack chanels.
slack_subj=”maldet alert from $(hostname)”
Cấu hình tiêu đề của file sẽ được upload đến channels
slack_token=”AUTH_TOKEN”
Cấu hình slack authentication token
slack_channels=”maldetreports”
Cấu hình channels / IDs được nhận reports, mỗi channel / ID thêm vào được ngăn cách bằng dấu phẩy
autoupdate_signatures=”1”
Cấu hình bật / tắt tính năng cho phép LMD cập nhật các chữ ký tự động hàng ngày [0 = disable, 1 = enable]
autoupdate_version=”1”
Cấu hình bật / tắt tính năng tự động cập nhật phiên bản mới cho LMD hàng ngày[0 = disable, 1 = enable]
autoupdate_version_hashed=”1″
Các gói cài đặt được tải về sẽ được mã hóa MD5 trên đường truyền tải. Điều này cho phép LMD tải lại các tệp trong trường hợp LMD phát hiện các tệp này bị giả mạo hoặc bị hỏng. Trong trường hợp người dùng không lựa chọn autoupdate_version=”1” thì nên disable đi tính năng này [0 = disable, 1 = enable]
import_config_url=””
Cấu hình download file cấu hình thông qua remote URL
import_config_expire=”43200″
Thời gian hết hạn cho URL tính từ thời điểm cấu hình (đơn vị: giây). 43200 giây (12h) là thời gian đủ để import file cấu hình từ remote URL.
cron_prune_days=”21″
Thời hạn lưu giữ tính theo ngày của các tệp đã bị cách ly, các tập tin tạm thời, thông tin phiên bản cũ. Dữ liệu cũ hơn giá trị “21” sẽ bị xóa qua việc thực hiện cron hàng ngày.
cron_daily_scan=”1″
Tùy chọn này kiểm soát việc quét tự động các thư mục lưu trữ website hàng ngày hay không thông qua cron. [0 = disabled, 1 = enabled]
import_custsigs_md5_url=””
import_custsigs_hex_url=””
Thiết lập cho phép các file nhận biết mã độc (signature) được download từ remote URL. *Lưu ý: Tùy chọn này cho phép ghi đè các file hiện có. Thường được sử dụng kết hợp với import_config_url khi triển khai nhiều server có cấu hình và custom signature giống nhau
scan_max_depth=”15″
Giá trị này thể hiện khả năng truy cập tối đa mà công cụ có thể dò quét đến các tệp, thư mục được chứa trong thư mục nào đó (hiểu đơn giản là nhánh nhỏ nhất có thể truy xuất trên cây thư mục). “15” là mức được đề xuất để đảm bảo hoạt động có hiệu quả nhất của Maldet.
scan_min_filesize=”24″
Kích thước tối thiểu của file có thể thực hiện scan (tính theo đơn vị: byte).
scan_max_filesize=”2048k”
Kích thước tối đa của file có thể thực hiện scan. Khi sử dụng kết hợp với clamscan, biến max_filesize sẽ được thiết lập tự động dựa trên kích thước tệp lớn nhất được biết đến từ tệp được mã hóa với hàm băm MD5.
*Lưu ý: thay đổi điều này có thể có tác động đến hiệu suất quét.
scan_hexfifo=”1″
Giá trị này thể hiện khả năng scan chuỗi HEX theo cơ chế First In First Out (FIFO) thay cho Standard Input (stdin) mặc định giúp tối ưu hơn hiệu quả quét. Điều này rất được khuyến khích được bật trên hầu hết các hệ thống.
[0 = disabled, 1 = enabled]
scan_hexfifo_depth=”524288”
Tổng số byte tối đa mà công cụ quét có thể tìm kiếm vào nội dung tệp khi sử dụng cơ chế FIFO. Có thể chỉnh sửa giá trị scan_hexdepth mặc định để nâng cao hiệu suất quét.
*Lưu ý: thay đổi điều này có thể có tác động đến hiệu suất quét.
scan_clamscan=”1″
Nếu ClamAV được cài đặt trên hệ thống, cấu hình scan_clamscan=”1″ để sử dụng clamscan binary làm công cụ quét mặc định, điều này tăng hiệu suất quét trên các tập tin lớn. Clamscan sử dụng kết hợp giữa “native ClamAV signatures” và “LMD signatures” giúp việc scan có hiệu cao hơn. [0 = disabled, 1 = enabled]
scan_tmpdir_paths=”/tmp”
Đường dẫn được sử dụng khi lưu trữ các tệp tạm thời để thuận tiện khi cần dò quét và các kiểu quét -a | –al và -r | –recent
scan_user_access=”0″
Cho phép các user không phải là root thực hiện scan. Điều này chỉ được thực hiện khi sử dụng mod_security2 hoặc nếu người quản trị muốn cho phép người dùng thực hiện quét. Khi được bật, điều này sẽ tạo ra ‘pub/’ với user owned nhằm cách ly, khởi tạo phiên và đường dẫn tạm thời để tạo điều kiện quét.[0 = disabled, 1 = enabled]
scan_cpunice=”19″
Giá trị này cho phép CPU lập lịch ưu tiên xử lý các hoạt động quét. [ -19 = high prio , 19 = low prio, default = 19 ]
scan_ionice=”6″
Cấu hình các mức độ ưu tiên trong kế hoạch xử lý IO (ionice) phục vụ cho các hoạt động quét. [0 = IO thuận lợi nhất, 7 = IO ít thuận lợi nhất]
scan_cpulimit=”0″
Thiết lập giới hạn cho CPU đối với các quá trình dò quét. Điều này đòi hỏi “cpulimit” binary phải có sẵn trên server. Các giá trị này được biểu diễn bằng % nhân với N core trên hệ thống. Một máy chủ CPU 8 core sẽ chấp nhận các giá trị từ 0 – 800, 12 core 0 – 1200, v.v … (100 = 1 core)
scan_ignore_root=”1″
LMD thường chỉ quét các đường dẫn xuất phát từ tập tin, thư mục của user và do đó, nên bỏ qua các tệp thuộc sở hữu của root. Nên cấu hình scan_ignore_root=”1″ để có hiệu quả quét tốt nhất. [0 = disabled, 1 = enabled]
scan_ignore_user=””
scan_ignore_group=””
Cho phép bỏ qua không quét vào user hay group được chỉ định. Tùy chọn này được khuyến cáo không nên được sử dụng. Thay vào đó, người quản trị nên sử dụng ign_path, để loại trừ tên tệp hoặc đường dẫn cụ thể khỏi quá trình quét.
scan_find_timeout=”0″
Thời gian tối đa tính bằng giây mà việc tạo danh sách tệp ‘find’ sẽ chạy. Tất cả các kết quả ‘find’ cho đến thời điểm chấm dứt sẽ được quét toàn bộ. Việc thực hiện quét toàn bộ tất cả các đường dẫn của user trên một server lớn là điều hợp lý nhưng thao tác tìm kiếm có thể mất nhiều thời gian để hoàn thành và do đó tính năng này có thể gây trở ngại. Trong các trường hợp như vậy, tính năng này có thể bị disable/ modified mỗi lần quét bằng CLI option ‘-co | –config-option’
Ví dụ: “maldet -co scan_find_timeout = 0 -a / home /? / Public_html “.
[0 = disable, 14400 = 4 giờ thời gian chờ khuyên dùng]
scan_export_filelist=”0″
Hoạt động ‘find’ cron hàng ngày được thực hiện bởi LMD nhằm phát hiện các user files được created/ modified gần đây. Việc ‘find’ có thể đặc biệt tốn nhiều tài nguyên và có thể duy trì kết quả danh sách file để các application/ task khác có thể sử dụng kết quả. Khi
Scan_export_filelist được bật, tập kết quả gần đây nhất sẽ được lưu vào ‘/usr/local/maldetect/tmp/find_results.last’ [0 = disabled, 1 = enabled]
quarantine_hits=”1″
Thực hiện cách ly mặc định đối với malware.
[0 = chỉ cảnh báo, 1 = cách ly & cảnh báo]
quarantine_clean=”1″
Cố gắng clean string bị nhiễm malware. *Lưu ý: quarantine_hits = 1 là bắt buộc
[0 = disabled, 1 = clean]
quarantine_suspend_user=”0″
Thực hiện suspend user trong Cpanel hoặc đặt shell /bin/false trên hệ thống không sử dụng Cpanel [0 = disabled, 1 = suspend account]
*Lưu ý: quarantine_hits = 1 là bắt buộc
quarantine_suspend_user_minuid=”500″
Giá trị userid tối thiểu có thể bị suspend, hiểu đơn giản là các userid có giá trị nhỏ hơn giá trị tối thiểu được cấu hình thì sẽ không bị suspend [ default = 500 ]
quarantine_on_error=”1″
Khi sử dụng công cụ khác để thực hiện scan malware, chẳng hạn ClamAV có nên cách lý các tệp khi nhận được kết quả thông báo lỗi hay không. Điều này được mặc định là 1, luôn luôn cách ly, vì ClamAV tạo mã thoát lỗi cho các lỗi nhỏ như không tìm thấy tệp.
[0 = không cách ly, 1 = luôn cách ly]
[SCAN OPTIONS]
default_monitor_mode=”users”
Tùy chọn này BẮT BUỘC cho script systemd maldet.service. Script chỉ kiểm tra giá trị của $default_monitor_mode. Dịch vụ sẽ không bắt đầu nếu giá trị không được cung cấp.
default_monitor_mode=”users”
default_monitor_mode=”/usr/local/maldetect/monitor_paths”
inotify_base_watches=”16384″
Số lượng file tối đa có thể được xem trên một đường dẫn
[số lượng tối đa file có thể xem = inotify_base_watches * users]
inotify_reloadtime=”3600″
Khoảng thời gian tính bằng giây mà inotify sẽ tải lại dữ liệu cấu hình, bao gồm các cấu hình tùy chỉnh remote và chữ ký
inotify_minuid=”500″
Giá trị userid tối thiểu sẽ được thêm vào đường dẫn giám sát khi userid trên được chỉ định. Đối với các userid lớn hơn
inotify_verbose=”0″
Ghi lại logs mọi tệp được quét bằng chế độ Inotify Monitor; điều này không được khuyến khích sử dụng và sẽ ghi đè lên các tệp ‘event_log’ của bạn, chỉ nên sử dụng cho mục đích debug.
inotify_docroot=”public_html,public_ftp”
Giám sát webdir cho user liên quan đến homedir từ thư mục root, khi tùy chọn nào được thiết lập , [danh sách các user cách nhau bởi dấu phẩy, clear option đối với user homedir theo dõi mặc định]
[STATISTICAL ANALYSIS]
Đây là một tính năng beta và vì vậy nên thận trọng khi sử dụng. Hiện tại, tính năng này có thể có tác động đến hiệu suất quét, đặc biệt là với các tập tin lớn.
Kiểm tra độ dài chuỗi được sử dụng để xác định các mối đe dọa dựa trên độ dài của chuỗi không bị gián đoạn dài nhất trong một tệp. Điều này rất hữu ích vì obfuscated code (code bị xáo trộn) thường được lưu trữ bằng các phương thức mã hóa tạo ra các chuỗi rất dài không có khoảng trắng (ví dụ: base64)
Chiều dài các ký tự chuỗi string, default = 150000
string_length_scan=”0″
string_length=”150000″
[0 = disabled, 1 = enabled]