Hướng dẫn này giải thích cách bạn có thể tích hợp ClamAV vào PureFTPd để quét vi-rút trên hệ thống CentOS 7. Cuối cùng, bất cứ khi nào một tệp được tải lên thông qua PureFTPd, ClamAV sẽ kiểm tra tệp đó và xóa tệp đó nếu tệp đó chứa vi-rút hoặc phần mềm độc hại.
Sau đó, chúng tôi kích hoạt kho lưu trữ EPEL trên Hệ thống CentOS vì nhiều gói mà chúng ta sẽ cài đặt trong hướng dẫn này không có trong kho lưu trữ CentOS 7 chính thức:
Chỉnh sửa /etc/yum.repos.d/epel.repo...
... và thêm dòng priority=10 vào phần [epel]:
Sau đó, chúng tôi cập nhật các gói hiện có trên hệ thống:
Sau đó, chúng tôi có thể cài đặt ClamAV như sau:
Chỉnh sửa file/etc/freshclam.conf và chú thích dòng Example:
bằng cách thêm # vào trước dòng Example:
Sau đó chỉnh sửa file/etc/clamd.d/scan.conf:
và chú thích dòng Example như chúng ta đã làm trong file ở trên và xóa # vào trước dòng LocalSocket.
Tiếp theo, chúng ta tạo các liên kết khởi động hệ thống cho clamd và khởi động nó:
Sau đó, khởi động dịch vụ clamav:
Bạn có thể kiểm tra trạng thái của daemon ClamAV bằng lệnh này:
Kết quả sẽ như thế này:
Tiếp theo, chúng ta tạo tệp /etc/pure-ftpd/clamav_check.sh (sẽ gọi /usr/bin/clamdscan bất cứ khi nào tệp được tải lên thông qua PureFTPd)...
... và làm cho nó có thể thực thi:
Bây giờ, chúng ta bắt đầu pure-uploadscript dưới dạng daemon - nó sẽ gọi tập lệnh /etc/pure-ftpd/clamav_check.sh của chúng ta bất cứ khi nào một tệp được tải lên thông qua PureFTPd:
Tất nhiên, bạn không muốn khởi động daemon theo cách thủ công mỗi khi khởi động hệ thống - do đó, chúng ta mở /etc/rc.local...
... và thêm dòng /usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh vào đó - ví dụ: như sau:
Cuối cùng, chúng ta khởi động lại PureFTPd:
Vậy là xong! Bây giờ, bất cứ khi nào ai đó cố gắng tải phần mềm độc hại lên máy chủ của bạn thông qua PureFTPd, các tệp "xấu" sẽ bị xóa một cách âm thầm.
Chi tiết đăng nhập của VM là:
Mật khẩu: howtoforge
Mật khẩu: howtoforge
Vui lòng thay đổi mật khẩu sau lần khởi động đầu tiên.
1 Lưu ý sơ bộ
Bạn nên có thiết lập PureFTPd đang hoạt động trên máy chủ CentOS 7 của mình, ví dụ: như được hiển thị trong hướng dẫn này: Lưu trữ ảo với PureFTPd và MySQL (Bao gồm Quản lý hạn ngạch và băng thông) trên CentOS 7.2 Cài đặt ClamAV
ClamAV không có sẵn trong kho lưu trữ CentOS chính thức, do đó, chúng tôi kích hoạt kho lưu trữ EPEL (nếu bạn chưa thực hiện. Bắt đầu bằng cách nhập khóa GPK RPM.
Mã:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
Mã:
yum -y install epel-release
Mã:
yum -y install yum-priorities
Mã:
nano /etc/yum.repos.d/epel.repo
Mã:
[epel]name=Gói bổ sung cho Enterprise Linux 7 - $basearch#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearchmirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearchfailovermethod=priorityenabled=1priority=10gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7[...]
Mã:
yum update
Mã:
yum -y clamav clamav-server clamav-data clamav-update clamav-filesystem clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd
Mã:
nano/etc/freshclam.conf
Mã:
.....
# Chú thích hoặc xóa dòng bên dưới.
# Example
....
Mã:
nano/etc/clamd.d/scan.conf
Mã:
.....
# Chú thích hoặc xóa dòng bên dưới.
# Example
....
LocalSocket /var/run/clamd.scan/clamd.sock
....
Mã:
systemctl enable[emailprotected]
freshclam
Mã:
systemctl start [emailprotected]
Mã:
systemctl status clamd@scan
Mã:
[root@server1 system]# systemctl status clamd@scan
? [emailprotected] - Chương trình nền quét clamav chung
Đã tải: đã tải (/usr/lib/systemd/system/[emailprotected]; đã tắt; cài đặt trước của nhà cung cấp: đã tắt)
Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ năm 2016-04-07 15:44:28 CEST; 1 phút 48 giây trước
PID chính: 10945 (clamd)
CGroup: /system.slice/system-clamd.slice/[emailprotected]
??10945 /usr/sbin/clamd -c /etc/clamd.d/scan.conf --nofork=yes
Mã:
07/04 15:44:36 server1.example.com clamd[10945]: Đã bật hỗ trợ HTML.
07/04 15:44:36 server1.example.com clamd[10945]: Đã bật hỗ trợ XMLDOCS.
07/04 15:44:36 server1.example.com clamd[10945]: Đã bật hỗ trợ HWP3.
07/04 15:44:36 server1.example.com clamd[10945]: Tự kiểm tra sau mỗi 600 giây.
07/04 15:44:36 server1.example.com clamd[10945]: Hỗ trợ PDF được bật.
07/04 15:44:36 server1.example.com clamd[10945]: Hỗ trợ SWF được bật.
07/04 15:44:36 server1.example.com clamd[10945]: Hỗ trợ HTML được bật.
07/04 15:44:36 server1.example.com clamd[10945]: Hỗ trợ XMLDOCS được bật.
07/04 15:44:36 server1.example.com clamd[10945]: Hỗ trợ HWP3 được bật.
07/04 15:44:36 server1.example.com clamd[10945]: Tự kiểm tra sau mỗi 600 giây.
3 Cấu hình PureFTPd
Đầu tiên, chúng ta mở /etc/pure-ftpd/pure-ftpd.conf và đặt CallUploadScript thành yes :
Mã:
nano /etc/pure-ftpd/pure-ftpd.conf
Mã:
[...]# Nếu pure-ftpd của bạn đã được biên dịch với hỗ trợ pure-uploadscript,# điều này sẽ khiến pure-ftpd ghi thông tin về các lần tải lên mới vào# /var/run/pure-ftpd.upload.pipe để pure-uploadscript có thể đọc thông tin đó và# tạo một tập lệnh để xử lý việc tải lên.# Không bật tùy chọn này nếu bạn không thực sự sử dụng pure-uploadscript.CallUploadScript có[...]
Mã:
nano /etc/pure-ftpd/clamav_check.sh
Mã:
#!/bin/sh/usr/bin/clamdscan --fdpass --remove --quiet --no-summary -c /etc/clamd.d/scan.conf "$1"
Mã:
chmod 755 /etc/pure-ftpd/clamav_check.sh
Mã:
pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh
Mã:
nano /etc/rc.local
Mã:
#!/bin/sh## Tập lệnh này sẽ được thực thi *sau* tất cả các tập lệnh init khác.# Bạn có thể đặt nội dung khởi tạo của riêng mình vào đây nếu bạn không# muốn thực hiện toàn bộ nội dung init theo phong cách Sys V./usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.shtouch /var/lock/subsys/local
Mã:
systemctl restart [emailprotected]
4 Ảnh máy ảo
Hướng dẫn này có sẵn dưới dạng máy ảo sẵn sàng sử dụng ở định dạng OVA / OVF dành cho người đăng ký Howtoforge. Định dạng VM tương thích với VMWare và Virtualbox và các công cụ khác có thể nhập định dạng này. Bạn có thể tìm thấy liên kết tải xuống ở menu bên phải trên cùng. Nhấp vào tên tệp để bắt đầu tải xuống.Chi tiết đăng nhập của VM là:
Đăng nhập SSH
Tên người dùng: rootMật khẩu: howtoforge
Đăng nhập MariaDB
Tên người dùng: rootMật khẩu: howtoforge
Vui lòng thay đổi mật khẩu sau lần khởi động đầu tiên.
5 Liên kết
- PureFTPD: http://www.pureftpd.org/
- ClamAV: http://www.clamav.net/
- CentOS: http://www.centos.org/