CSF Firewall là gì? Hướng dẫn cài đặt và cấu hình CSF Firewall chi tiết

Lượt xem
Home

Trong thế giới công nghệ thông tin ngày nay, an ninh mạng đóng vai trò quan trọng trong việc bảo vệ hệ thống thông tin của các tổ chức và cá nhân. Một trong những công cụ an ninh mạng được nhiều người biết đến và sử dụng rộng rãi là CSF Firewall. Trong bài viết này Vietnix sẽ cung cấp cái nhìn tổng quan về CSF Firewall, giải thích tại sao nó lại trở thành một lựa chọn phổ biến trong cộng đồng an ninh mạng, và làm thế nào nó giúp bảo vệ hệ thống của bạn khỏi các mối đe dọa trực tuyến. Cùng tìm hiểu ngay nhé!

1. CSF Firewall là gì

CSF (ConfigServer Security & Firewall) là tường lửa Stateful Packet Inspection (SPI) mã nguồn mở phổ biến, giúp bảo vệ hệ thống sử dụng hệ điều hành Linux. Ngoài các tính năng cơ bản của Firewall là filter packet in/out thì CSF còn hỗ trợ ngăn chặn các cuộc tấn công như Brute Force, DDoS Attack.

CSF có thể cấu hình block/restrict port để giới hạn port truy cập. Đồng thời, CSF duy trì danh sách whitelist và blacklist để kiểm soát truy cập. CSF cũng cung cấp Connection Limiting để giới hạn số lượng kết nối, Rate Limitng để giới hạn tần số truy cập, Real Time Block Liste và Port Scan Tracking (chống Scan Port).

CSF bao gồm cả LFD (Hướng dẫn cài đặt và cấu hình CSF Firewall chi tiết nhất 2021 có thể scan log file để giám sát và phát hiện các cuộc tấn công từ bên ngoài vào các tài khoản FTP, Mail, SSH, cPanel, DirectAdmin… Giám sát các thư mục (dirwatch), tiến trình (process tracking), tính toàn vẹn của các file hệ thống (integrity check) để nhanh chóng phát hiện các bất thường, rủi ro có thể gây hại cho hệ thống.

Để quản lý các log file tốt hơn bạn có thể đọc qua bài viết về Logrotate.

CSF có thể được quản lý dễ dàng bằng GUI (giao diện) được tích hợp sẵn, và hoàn toàn tương thích với:

  • DirectAdmin
  • cPanel
  • WebMin / Virtualmin
  • CentOS 6, CentOS 7, CentOS 8
  • Ubuntu
  • Debian
  • RHEL

CSF Firewall vs iptables

CSF thực chất là một bộ script giúp chúng ta tương tác với iptables một cách dễ dàng hơn, bản chất nó không phải là một firewall thay thế cho iptables. Những thông số chúng ta cấu hình trong file config (csf.conf) sẽ được generate thành những rule iptables tương ứng và apply vào hệ thống.

CSF Firewall
CSF Firewall

Có thể xem CSF là một interface đứng giữa người sử dụng và iptables. Thông qua việc tương tác với file config, giao diện hoặc bộ command line của CSF, người sử dụng dễ dàng tạo ra những rule iptables để bảo vệ hệ thống mà không cần tương tác trực tiếp với iptables.

2. Cài đặt CSF

Hướng dẫn này giả định rằng bạn đã quen thuộc với SSH và biết cách sử dụng command line cơ bản. Hướng dẫn này chủ yếu áp dụng cho những người dùng có Virtual Private Servers hoặc Dedicated Servers. Nếu bạn không có quyền truy cập root, bạn không thể cấu hình theo hướng dẫn.

Cài đặt Dependencies

Bắt đầu bằng cách cài đặt các dependencies:

CENTOS 5, 6

yum install perl-libwww-perl
  • Ngoài ra, libwww có thể được cài đặt bằng CPAN:
perl -MCPAN -e 'install Bundle::LWP' 

CENTOS 7

yum -y install wget perl unzip net-tools perl-libwww-perl perl-LWP-Protocol-https perl-GDGraph -y 

CENTOS, RHEL 8

  • Install PERL
dnf -y install @perl

UBUNTU & DEBIAN

apt-get install perl wget unzip

Cài đặt CSF Firewall

Download CSF vào thư mục /tmp của server bằng lệnh wget, giải nén file bằng lệnh tar và cuối cùng install CSF bằng cách chạy script ./install.sh.

cd /tmp
wget https://download.configserver.com/csf.tgz
tar -zxvf csf.tgz
cd csf
./install.sh

Để cài đặt CSF cho cPanel hoặc cài đặt CSF cho Directadmin, các bạn cũng chỉ cần thực hiện các bước tương tự như trên. Việc chạy file “./install.sh” sẽ tự động nhận biết server có đang sử dụng cPanel hoặc Directadmin hay không và sử dụng tiến trình cài đặt tương ứng.

Sau khi cài đặt thành công, chúng ta sẽ nhận được giao diện tương tự như sau:

install csf
Install CSF

Sau khi cài đặt hoàn tất, xóa các file cài đặt:

rm -rf /tmp/csf
rm -f /tmp/csf.tgz

Tắt Firewalld (Centos 7+)

Trước khi config, cần lưu ý CentOS 7 có một ứng dụng tường lừa mặc định được gọi là “firewalld“. Bạn cần tắt firewalld và xóa nó khỏi startup.

systemctl stop firewalld
systemctl disable firewalld

Test iptable

Test này được khuyến nghị để kiểm tra xem các modules cần thiết của iptables được được cài đặt đầy đủ hay chưa. Nó có thể được thực hiện bằng cách chạy command bên dưới hoặc đi tới phần “test iptables” ở cuối giao diện Đồ họa (GUI) của CSF.

Quy trình này nằm ngoài phạm vi của bài viết và có thể yêu cầu thay đổi kernel trên server. Những VPS sử dụng công nghệ OpenVZ sẽ cần liên hệ với nhà cung cấp (host) để load các module cần thiết. Nếu bạn đang sử dụng dịch vụ tại Vietnix, hãy liên hệ với bộ phận kỹ thuật để được hỗ trợ nhanh nhất.

$ /etc/csf/csftest.pl
Testing ip_tables/iptable_filter...OK
Testing ipt_LOG...OK
Testing ipt_multiport/xt_multiport...OK
Testing ipt_REJECT...OK
Testing ipt_state/xt_state...OK
Testing ipt_limit/xt_limit...OK
Testing ipt_recent...OK
Testing xt_connlimit...OK
Testing ipt_owner/xt_owner...OK
Testing iptable_nat/ipt_REDIRECT...OK
Testing iptable_nat/ipt_DNAT...OK
 
RESULT: csf should function on this server

3. Cấu hình CSF

Cấu hình được thực hiện bằng cách chỉnh sửa các file config khác nhau mà CSF đi kèm. Bạn có thể tìm thấy chúng ở /etc/csf/

Các config files chính bao gồm:

  • csf.conf: File cấu hình chính, nó có các ghi chú hữu ích giải thích chức năng của từng option
  • csf.allow: Danh sách các địa chỉ IP, CIDR được phép thông qua tường lửa (whitelist)
  • csf.deny: Tập hợp các địa chỉ IP, CIDR không bao được phép thông qua tường lửa (blacklist)
  • csf.ignore: Danh sách các địa chỉ IP, CIDR mà lfd nên bỏ qua và không block nếu phát hiện vi phạm
  • csf.*ignore: Các file ignore khác nhau liệt kê các files, users, IP mà lfd nên bỏ qua. Xem từng file để biết mục đích cụ thể của chúng.

Nếu sửa đổi bất kỳ file nào được liệt kê ở trên, bạn cần restart csf & lfd (chạy lệnh: csf -rlfd -r) để chúng có hiệu lực. Nếu sử dụng các command line để add hoặc deny IP, csf sẽ chèn rule trực tiếp vào iptables mà không cần phải restart. Danh sách chi tiết các file cấu hình quan trọng khác được liệt kê ở phần 8 của bài viết này.

Tuy nhiên, đối với người dùng bình thường, việc sử dụng Graphic Interface (GUI) sẽ nhanh hơn rất nhiều. Các cấu hình hướng dẫn bên dưới được thực hiện bằng cách thay đổi config của file /etc/csf/csf.conf

Enable CSF Firewall

Để kích hoạt, chúng ta cần thay đổi gía trị TESTING:

TESTING = 0

Điều này có thể được thực hiện thông qua giao diện GUI hoặc bằng cách chỉnh sửa file cấu hình chính

FASTSTART = 1

Option FASTSTART sử dụng IPTABLES_SAVE, IPTABLES_RESTORE và IP6TABLES_SAVE, IP6TABLES_RESTORE theo hai cách:

  1. Khi server reboot, toàn bộ cấu hình iptables được lưu lại và sau đó restore để cung cấp khả năng khởi động firewall gần như tức thì.
  2. Khi restart, IP trong các cấu hình CC_*, SPAMHAUS, DSHIELD, BOGON, TOR được load bằng phương pháp này chỉ mất một phần nhỏ thời gian so với khi FASTSTART bị tắt.

Lưu ý: Tính năng này không được hỗ trợ trên tất cả hệ điều hành.

CSF Open Port (Mở Port)

Open Port là thao tác giúp cho các client ở bên ngoài có thể truy cập vào các port trên server (incomming traffic), hoặc cho phép server mở các kết nối ra ngoài (outgoing traffic).

Ví dụ bên dưới, bạn sẽ danh sách các cổng TCP_IN được khuyến nghị mở cho các kết nối incoming tới web server phổ biến. Các cổng này có thể được mở từ GUI hoặc file csf.conf:

20,21FTP*
22SSH
25,587SMTP (gửi mail)
53DNS – nên mở cả port TCP và UDP cho nameserver
80,443Web Service
110,993POP3 (nhận mail)
143,995IMAP (nhận mail)
3306MySQL – nếu bạn không cần truy cập MySQL từ xa thì không nên mở port này.
2222DirectAdmin
2083Truy cập cPanel (sử dụng HTTPS)
2082Truy cập cPanel (sử dụng HTTP)
2086Truy cập WHM (sử dụng HTTP)
2087Truy cập WHM (sử dụng HTTPS)
10000Truy cập Webmin

* FTP yêu cầu một range port riêng để trao đổi dữ liệu. Khi sử dụng ProFTP, bạn cần thêm port range vào file /etc/proftpd.conf, ví dụ: PassivePorts 35000 35999 và sau đó mở port range đó trong CSF. Range port được khai báo bằng cách sử dụng dấu hai chấm “:”, ví dụ 35000:35999

Tham số TCP_IN/TCP_OUT và UDP_IN/UDP_OUT dùng để khai báo danh sách port, các port được cách nhau bằng dấu phẩy

  • Cho phép user truy cập tới (incoming) các TCP port trên server:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2222,35000:35999"
  • Server kết nối ra (outgoing) tới các TCP port bên ngoài:
# Cho phép server kết nối ra ngoài Internet các port chỉ định
TCP_OUT = "20,21,22,25,53,80,110,113,443" 

# Cho phép server kết nối ra tất cả các port ở bên ngoài 
TCP_OUT = "1:65535" Internet.
  • Cấp phép cho user truy cập tới (incoming) các UDP port trên server:
# Chỉ cho phép client kết nối vào các port UDP chỉ định trên server.
UDP_IN = "20,21,53" 

# Không cho phép client kết nối bất kỳ port UDP nào trên server
UDP_IN = "" 
  • Server kết nối ra ngoài (outgoing) tới các UDP port bên ngoài:
# Cho phép Server kết nối ra ngoài Internet các port chỉ định
UDP_OUT = "20,21,53,113,123" 

# Cho phép server kết nối ra tất cả các port ở bên ngoài Internet
UDP_OUT = "1:65535" 

ICMP_IN VÀ ICMP_OUT

Cho phép client bên ngoài Internet ping đến server:

ICMP_IN = 1

Không cho phép ping đến server:

ICMP_IN = 0

Nếu bạn đang host các dịch vụ public, bạn nên cho phép ping vì chúng sẽ có ích trong quá trình debug lỗi hoặc kiểm tra server của bạn có đang hoạt động hay không.

ICMP_IN_LIMIT Đặt số lượng ICMP (ping) requests được phép từ một địa chỉ IP trong một khoảng thời gian cụ thể. Thường không cần thay đổi giá trị mặc định (1/s). Tuy nhiên, nếu bạn thường gặp tình trạng kết quả Ping bị “Timeout” nhưng server vẫn hoạt động bình thường, có thể là do có nhiều người cùng ping đến server nên vượt quá tần số. Khi đó, hãy nâng giá trị này lên.

ICMP_IN_LIMIT = 5/s

Lưu ý: Đặt ICMP_OUT thành 1 để cho phép outgoing ping đi từ server của bạn. Đặt thành 0 từ chối các requests như vậy. ICMP_OUT_LIMIT Đặt số lượng outgoing ICMP (ping) requests gửi đi trong một khoảng thời gian cụ thể. Thường không cần thay đổi giá trị mặc định (0)

PORTFLOOD CSF

Cài đặt này cung cấp khả năng bảo vệ chống lại các cuộc tấn công flood vào port, chẳng hạn như denial of service (DoS). Bạn có thể chỉ định số lượng kết nối được phép trên port cổng trong khoảng thời gian nào đó. Nên bật tính năng này khi bị DDoS vì nó có thể giúp bạn chặn các IP tấn công. Bạn nên chú ý và tính toán kỹ những tham số như số lượng kết nối, khoảng thời gian đếm số lượng kết nối này, vì chúng sẽ rất dễ chặn nhầm các client hợp lệ. Tuy nhiên, nếu để giới hạn quá cao thì sẽ không thể bắt được các IP tấn công.

PORTFLOOD là danh sách được tách bằng dấu phẩy theo cú pháp:

Port;protocol;hit count;interval seconds

Ví dụ, cài đặt PORTFLOOD = “22; tcp; 5; 300,80; tcp; 20; 5” có nghĩa là:

  • Nếu IP nào có hơn 5 kết nối TCP đến cổng 22 trong vòng 300 giây, thì chặn không cho IP đó kết nối đến cổng 22 trong ít nhất 300 giây sau khi packet cuối cùng được nhìn thấy. Tức là phải có khoảng thời gian “silent” là 300 giây dành cho IP này trước khi chúng được phép truy cập trở lại.
  • Nếu có hơn 20 kết nối TCP đến cổng 80 trong vòng 5 giây, thì chặn không cho IP đó kết nối đến cổng 80 nữa trong ít nhất 5 giây sau khi gói cuối cùng được nhìn thấy. Tức là phải có khoảng thời gian “silent” là 5 giây trước khi chúng được phép truy cập trở lại vào port 80.

Bạn có thể thêm nhiều cổng hơn bằng cách tách chúng bằng dấu phẩy như được mô tả như sau:

port1;protocol1;connection_count1;time1,port2;protocol2;connection_count2

PORT KNOCKING

Port Knocking cho phép client thiết lập kết nối tới một port trên server nhưng bình thường port này không được Open Public. Server chỉ cho phép clients kết nối tới port chính sau khi client phải hoàn thành một chuỗi knock port thành công.

Tính năng này yêu cầu bạn liệt kê một lựa chọn ngẫu nhiên các cổng không sử dụng (ít nhất 3) với thời gian chờ. Các cổng bạn chọn không được sử dụng và không xuất hiện trong TCP_IN (UDP_IN cho UDP packets). Cổng được mở cũng không được xuất hiện trong TCP_IN (UDP_IN đối với UDP packets).

PORTKNOCKING là danh sách được tách bằng dấu phẩy gồm:

openport; protocol; timeout; kport1; kport2; kport3 [...; kportN]

Vì vậy, cài đặt PORTKNOCKING = “22; TCP; 20; 100; 200; 300; 400” có nghĩa là:

Mở Cổng 22 TCP trong 20 giây tới địa chỉ IP đang kết nối với các kết nối mới sau khi các cổng 100, 200, 300 và 400 đã được truy cập (tức là được knocked bằng SYN packet) mỗi lần knock cách nhau chưa đến 20 giây.

Truy cập vào cổng 22 vẫn hoạt động sau 20 giây cho đến khi kết nối bị ngắt, tuy nhiên các kết nối mới sẽ không được phép.

SYSLOG và RESTRICT_SYSLOG

Khi được kích hoạt, option này sẽ log các lfd (Login Failure Daemon) messages vào nhật ký syslog cũng như /var/log/lfd.log. Các user trên server đều có thể trigger các application để sinh ra các log trong syslog và ảnh hưởng đến các hoạt động của LFĐ như:

LF_SSHD LF_FTPD LF_IMAPD LF_POP3D LF_BIND LF_SUHOSIN LF_SSH_EMAIL_ALERT LF_SU_EMAIL_ALERT LF_CONSOLE_EMAIL_ALERT LF_DISTATTACK LF_DISTFTP LT_POP3D LT_IMAPD PS_INTERVAL UID_INTERVAL WEBMIN_LOG LF_WEBMIN_EMAIL_ALERT PORTKNOCKING_ALERT ST_ENABLE SYSLOG_CHECK LOGSCANNER CUSTOM * _LOG

Bạn nên đặt tùy chọn RESTRICT_SYSLOG thành 3 để hạn chế ai có thể truy cập vào unix syslog / rsyslog socket. Nhóm mặc định là mysyslog. Một nhóm tùy chỉnh có thể được xác định trong RESTRICT_SYSLOG_GROUP

Để giảm thiểu các log giả mạo, bạn nên làm như sau:

1. Lướt qua các options ở trên để đảm bảo rằng chỉ những options bạn cần mới được bật.

2. Đảm bảo rằng DENY_IP_LIMIT và DENY_TEMP_IP_LIMIT được đặt ở mức thấp hợp lý (ví dụ: 200). Điều này sẽ hạn chế nỗ lực chặn số lượng lớn địa chỉ IP.

3. Đảm bảo rằng địa chỉ IP của admin/ hỗ trợ được liệt kê trong:

/etc/csf/csf.allow
/etc/csf/csf.ignore

Điều này sẽ ngăn chặn việc các log giả mạo khiến địa chỉ IP của bạn bị LFD chặn và bạn không thể truy cập để quản trị server.

4. Để xác nhận những phiên đăng nhập thành công vào SSH, sử dụng lệnh “last”. Ví dụ: last -da

5. Thường xuyên kiểm tra server và dữ liệu người dùng để biết các hoạt động khai thác lỗ hổng, các ứng dụng cũ dễ bị tấn công và các ứng dụng hệ OS lỗi thời.

6. Hãy xem xét cẩn thận bất kỳ ứng dụng nào mà bạn sử dụng tập trung vào các actions và syslog/rsyslog logs và tác động của các log lines giả mạo.

7. Xem xét tác động của vấn đề tổng thể đối với các ứng dụng và scripts khác ngoài CSF/LFD sử dụng log files bị ảnh hưởng.

Bước cuối cùng và lưu ý:

Bạn có thể xem xét việc hạn chế quyền truy cập vào tất cả các syslog/rsyslog unix sockets. Điều này có thể được sử dụng thông qua việc phân quyền file và quyền sở hữu các socket (ví dụ: /dev/log) nhưng có một số lưu ý: quyền và quyền sở hữu file phải được áp dụng lại khi khởi động lại syslog/rsyslog; hạn chế logging sẽ ảnh hưởng đến một số ứng dụng sử dụng syslog/rsyslog, ví dụ như crond.

Không bật syslog/rsyslog reception qua cổng UDP/TCP.

CONNECTION LIMIT – Giới hạn số lượng kết nối

Tính năng này có thể được sử dụng để giới hạn số lượng kết nối đang hoạt động đồng thời từ một địa chỉ IP đến mỗi cổng. Khi được cấu hình đúng cách, điều này có thể ngăn chặn các hành vi lạm dụng trên server, chẳng hạn như các cuộc tấn công DoS.

CONNLIMIT là danh sách được tách bằng dấu phẩy gồm:

port;limit

Ví dụ, cấu hình CONNLIMIT = “22;5,80;20” có nghĩa là:

  • Chỉ cho phép tối đa 5 kết nối mới đồng thời tới cổng 22 trên mỗi địa chỉ IP
  • Chỉ cho phép tối đa 20 kết nối mới đồng thời tới cổng 80 trên mỗi địa chỉ IP

CSF NAT – Thay đổi port/IP của gói tin

Có thể cấu hình CSF redirect các kết nối từ một IP/port đến một IP/port khác. Lưu ý: Sau khi chuyển hướng, địa chỉ source IP của gói tin sẽ là địa chỉ IP của server.

Yêu cầu:

nat tables  
ipt_DNAT iptables module
ipt_SNAT iptables module
ipt_REDIRECT iptables module

Sau đây là các format redirect được phép cấu hình trong CSF:

DNAT – Destination NAT: Redirect từ một địa chỉ IP nhận sang địa chỉ IP nhận khác:

IPx|*|IPy|*|tcp/udp          - Chuyển tất cả gói tin tcp/udp từ IPx đến IPy
IPx|portA|IPy|portB|tcp/udp  - Chuyển tất cả gói tin tcp/udp từ IPx ở portA đến IPy portB

Ví dụ DNAT:

# Chuyển gói tin TCP gửi đến IP 192.168.254.62 đến địa chỉ IP 10.0.0.1 
192.168.254.62|*|10.0.0.1|*|tcp

# Chuyển gói tin TCP gửi đến IP 192.168.254.62 - port 666 đến địa chỉ IP 10.0.0.1 - port 25
192.168.254.62|666|10.0.0.1|25|tcp

Trong trường hợp một port được chỉ định, nó không thể là một range, chỉ cấu hình được một port duy nhất.

Tất cả các gói tin được redirect đến một địa chỉ IP khác sẽ mang source IP của gói tin là IP của server này chứ không phải là IP gốc của client truy cập.

Chống SYNFLOOD với CSF

CSF cung cấp khả năng bảo vệ chống lại các cuộc tấn công SYN Flood. Tuy nhiên, điều này làm chậm quá trình khởi tạo mọi kết nối, vì vậy bạn chỉ nên kích hoạt tính năng này nếu bạn biết rằng server của mình đang bị tấn công. Tính năng chống SYN Flood sử dụng module limit của iptables, do đó, tần số giới hạn SYNFLOOD_RATE được cấu hình sẽ giới hạn tần số SYN của toàn server, chứ không phải giới hạn trên mỗi địa chỉ IP truy cập của client.

SYNFLOOD = "0"
SYNFLOOD_RATE = "100/s"
SYNFLOOD_BURST = "150"

Messenger Service

Bật tính năng này cho phép gửi thông báo nhiều thông tin hơn đến client khi một IP bị block. Tính năng này có cả ưu và nhược điểm. Một mặt, việc kích hoạt nó cung cấp nhiều thông tin hơn cho client và do đó có thể ít gây khó chịu hơn, chẳng hạn như trong trường hợp đăng nhập không thành công. Mặt khác, nó cung cấp thêm thông tin, điều này có thể khiến kẻ tấn công dễ dàng tấn công server của bạn hơn.

DENY_IP_LIMIT và DENY_TEMP_IP_LIMIT

DENY_IP_LIMIT đặt số lượng địa chỉ IP tối đa sẽ bị chặn. Bạn nên hạn chế số lượng địa chỉ IP bị từ chối vì có quá nhiều block có thể làm chậm hiệu suất server.

DENY_TEMP_IP_LIMIT có chức năng tương tự, nhưng đối với các block địa chỉ IP tạm thời.

CSF Allow/Deny IP theo Port và Protocol

Trong /etc/csf/csf.allow và /etc/csf/csf.deny, bạn có thể thêm các filter port và IP phức tạp hơn bằng cách sử dụng format sau (bạn phải chỉ định Port và địa chỉ IP):

tcp/udp|in/out|s/d=port|s/d=ip|u=uid

Cụ thể:

tcp/udpXét giao thức TCP hoặc UDP
in/outÁp dụng vào incoming (traffic đi vào) hoặc outgoing (traffic đi ra)
s/d=portÁp dụng cho source port hoặc destination port (hoặc ICMP type). Có thể khai báo range port bằng cách sử dụng dấu “_”, ví dụ: 2000_3000
s/d=ipsource IP hoặc Destination IP
u/g=UIDUID hoặc GID của source packet, áp dụng vào outgoing connection. Lúc này, giá trị của s/d=IP sẽ bị bỏ qua

Lưu ý: Filter ICMP sử dụng “port” cho s/d=port để đặt type ICMP. Việc bạn sử dụng s hay d không có liên quan vì bạn chỉ cần sử dụng tùy chọn iptables –icmp-type. Sử dụng “iptables -p icmp -h” để có danh sách các loại ICMP hợp lệ. Chỉ một loại cho mỗi filter được hỗ trợ

Ví dụ:

  • TCP connections inbound đến port 3306 từ IP 11.22.33.44
tcp|in|d=3306|s=11.22.33.44
  • TCP connections outbound đến port 22 đến IP 11.22.33.44
tcp|out|d=22|d=11.22.33.44

Lưu ý: Dấu “|” nếu bị bỏ qua, giao thức mặc định được đặt thành “tcp”, connetion direction mặc định được đặt thành “in”:

  • TCP connections inbound đến port 22 từ IP 44.33.22.11
d=22|s=44.33.22.11
  •  TCP connections outbound đến port 80 từ UID 99
tcp|out|d=80||u=99
  •  ICMP connections inbound for type ping from 44.33.22.11
icmp|in|d=ping|s=44.33.22.11
  •  TCP connections inbound đến port 22 từ Dynamic DNS domain dyn.vietnix.vn (phải được khai báo trong csf.dyndns)
tcp|in|d=22|s=dyn.vietnix.vn

PORT SCAN TRACKING – Chống Scan Port

Port scan là một phương pháp để xác định cổng nào trên mạng đang mở. Mặc dù tính năng Port scan không phải là hành vi tấn công, nhưng đây thường là bước đầu tiên mà hacker thực hiện khi cố gắng xâm nhập vào mạng.

CSF có khả năng chặn các Địa chỉ IP tham gia vào quá trình port scan bằng cách sử dụng tính năng Port Scan Tracking. Tính năng này hoạt động bằng cách quét các gói tin bị IPtables blocks trong syslog. Nếu địa chỉ IP tạo port block được log nhiều hơn PS_LIMIT trong vòng PS_INTERVAL giây, địa chỉ IP sẽ bị chặn.

Ví dụ: Khi PS_INTERVAL được đặt ở giá trị mặc định là 300 và PS_LIMIT được đặt ở 10, bất kỳ địa chỉ IP nào được ghi lại hơn 10 lần trong khoảng thời gian 300 giây sẽ bị chặn.

Cài đặt PS_DIVERSITY chỉ định số lượng cổng khác nhau đủ điều kiện làm Port Scan. Giá trị mặc định là 1. Việc tăng giá trị này sẽ dẫn đến nguy cơ các nỗ lực liên tục tấn công một cổng đã đóng cụ thể sẽ không bị phát hiện và bị chặn.

PS_PORTS directive xác định các cổng sẽ được theo dõi bởi port scanning. Trong trường hợp servers xử lý nhiều người dùng và domains hoặc servers sử dụng nhiều FTP, chúng tôi khuyên bạn nên tắt Port Scan Tracking cho FTP. FTP tạo ra rất nhiều kết nối và có thể là nguyên nhân của các IP blocks sai.

Bạn nên làm như sau nếu bạn muốn bật Port Scan Tracking trong khi tạo điều kiện cho nhiều người dùng FTP:

PS_PORTS = "0:19,22:988,991:65535,ICMP"

Các cổng bị loại trừ ở đây là:

  • Port 20 = FTP Data
  • Port 21 = FTP Control
  • Port 989 = FTP Data (SSL)
  • Port 990 = FTP Control (SSL)

Trong các trường hợp khác, cài đặt mặc định sẽ hoạt động mà không gặp sự cố.

PS_PERMANENT xác định xem một IP sẽ bị block tạm thời hay vĩnh viễn. Trong trường hợp IP block là tạm thời, thời gian block IP được xác định trong PS_BLOCK_TIME.

Bật directive PS_EMAIL_ALERT sẽ cho phép gửi cảnh báo qua e-mail khi địa chỉ IP bị chặn bởi Port Scanning. Địa chỉ E-mail có thể được xác định trong LF_ALERT_TO

4. LOGIN FAILURE DAEMON (LFD)

Để bổ sung cho ConfigServer Firewall, một daemon process chạy mọi lúc và định kỳ (mỗi X giây) quét các log file lấy ra entries mới nhất để phát hiện ra các nỗ lực đăng nhập vào server của bạn liên tục bị lỗi trong một khoảng thời gian ngắn. Những nỗ lực như vậy thường được gọi là “Brute-force attacks” và daemon process phản ứng rất nhanh với các patterns như vậy và chặn các IP vi phạm.

Có một loạt các kiểm tra mở rộng mà lfd có thể thực hiện để giúp cảnh báo cho server admin về những thay đổi đối với server, các sự cố tiềm ẩn và các thỏa hiệp có thể xảy ra.

lfd có khả năng giám sát các giao thức bị lạm dụng phổ biến nhất:

  • SSHD
  • POP3
  • SMTP
  • EXIM
  • IMAP
  • FTP
  • HTTP password protection
  • ModSecurity
  • DirectAdmin
  • Webmin
  • BIND

Không giống như các ứng dụng khác, lfd là một daemon process theo dõi logs liên tục và do đó có thể phản ứng trong vòng vài giây sau khi phát hiện những nỗ lực đó. Nó cũng giám sát trên từng giao thức, vì vậy nếu các nỗ lực được thực hiện trên các giao thức khác nhau trong một khoảng thời gian ngắn, tất cả các nỗ lực đó sẽ được tính.

Cài đặt Block IP cho LFD

Nếu bạn đặt LF_TRIGGER thành “0”, giá trị của mỗi trigger là số lần đăng nhập thất bại đối với ứng dụng đó sẽ trigger lfd để chặn địa chỉ IP (xem bên dưới: Application Trigger).

Nếu bạn đặt LF_TRIGGER thành giá trị lớn hơn “0” thì các application trigger sau chỉ on hoặc off (“0” hoặc “1”) và giá trị của LF_TRIGGER là tổng số lỗi tích lũy sẽ trigger lfd để chặn Địa chỉ IP.

Ví dụ: Khi đặt LF_TRIGGER thành “20”, địa chỉ IP vi phạm sẽ bị chặn khi bất kỳ application trigger nào được bật đạt đến “20” lần đăng nhập không thành công sẽ bị chặn.

Đặt bất kỳ application trigger nào thành “0” sẽ vô hiệu hóa nó (xem bên dưới: application triggers).

Nếu LF_TRIGGER lớn hơn “0” thì LF_TRIGGER_PERM có thể được đặt thành “1” để chặn vĩnh viễn địa chỉ IP hoặc LF_TRIGGER_PERM có thể được đặt thành giá trị lớn hơn “1” và địa chỉ IP sẽ bị chặn tạm thời đối với giá trị đó sau vài giây .

Ví dụ:

  • Khi đặt LF_TRIGGER_PERM = “1” => IP bị chặn vĩnh viễn
  • Khi đặt LF_TRIGGER_PERM = “3600” => IP bị chặn tạm thời trong 3600 giây (1 giờ)
  • Nếu LF_TRIGGER là “0”, thì giá trị LF_ [application] _PERM của ứng dụng hoạt động theo cách tương tự như trên và LF_TRIGGER_PERM không phục vụ chức năng nào.

Để chỉ chặn quyền truy cập vào ứng dụng bị lỗi thay vì chặn hoàn toàn địa chỉ ip, bạn có thể đặt giá trị sau thành “1”, nhưng LF_TRIGGER phải được đặt thành “0” với các application trigger [*]cụ thể cũng được đặt thích hợp.

Application Trigger – Kích hoạt nguyên tắc chặn IP cho từng ứng dụng

LF_SSHD = 5
LF_SSHD_PERM = 1
  • LF_SSHD: Ngưỡng đăng nhập sai tối đa, nếu vượt quá số lượng này, IP sẽ bị block.
  • LF_SSHD_PERM: Thời gian block. Giá trị “1” có nghĩa là block vĩnh viễn, giá trị cao hơn là cho IP block tạm thời trong vài giây.

Đối với SMTP, FTP và theo dõi mật khẩu đăng nhập (login Password tracking), v.v., các nguyên tắc tương tự cũng được áp dụng.

Cảnh báo qua email (email alert)

Bạn có thể chỉ định một địa chỉ email để report lỗi từ Login Failure Daemon.

# Địa chỉ email nhận
LF_ALERT_TO = "" 

# Địa chỉ email gửi
LF_ALERT_FROM = ""

# Địa chỉ email server gửi, mặc định là 127.0.0.1
LF_ALERT_SMTP = ""

Login Tracking – Theo dõi các đăng nhập thất bại

Login tracking là một phần mở rộng của lfd, nó theo dõi các lần đăng nhập POP3 và IMAP và giới hạn chúng ở mức X kết nối mỗi giờ cho mỗi tài khoản trên mỗi địa chỉ IP. Nó sử dụng iptables để chỉ chặn kẻ xâm phạm đến cổng giao thức thích hợp và xóa chúng mỗi giờ và bắt đầu đếm các lần đăng nhập mới. Tất cả các block này là tạm thời và có thể được xóa thủ công bằng cách khởi động lại csf.

Có hai cài đặt, một trong POP3 và một cho IMAP logins. Nói chung không nên theo dõi thông tin IMAP logins vì nhiều clients đăng nhập mỗi lần để thực hiện một transaction của giao thức (không cần họ phải đăng nhập liên tục, nhưng bạn không thể tránh bad client programming!). Vì vậy, nếu bạn có nhu cầu có một số giới hạn đối với IMAP logins, có lẽ tốt nhất là đặt giới hạn đăng nhập khá cao.

Process Tracking – Theo dõi các tiến trình

Option này cho phép theo dõi các process và phát hiện ra các process nghi vấn, có khả năng gây hại đến server. Nếu một process đáng ngờ được phát hiện, một email cảnh báo sẽ được gửi đi kèm với các thông tin liên quan. Bạn có thể loại bỏ các process không muốn monitor bằng cách thêm chúng vào file csf.pignore

Ví dụ: để tắt Process tracking cho Spamassassin và ClamAV, hãy nhập thông tin sau vào file csf.pignore. File này cũng có thể được chỉnh sửa từ CSF gui:

exe:/usr/bin/freshclam
exe:/usr/bin/spamc
exe:/usr/bin/spamd
cmd:spamd con

Directory Watchinng – Theo dõi thư mục

Directory watching cho phép lfd kiểm tra /tmp và /dev/shm và các thư mục thích hợp khác để tìm các file đáng ngờ, các script exploit

5. IP Block List – Cập nhật danh sách IP cần chặn

Tính năng này cho phép csf/lfd tải xuống định kỳ danh sách địa chỉ IP và CIDR từ published block hoặc black list. Danh sách blocklists được khai báo trong file:

/etc/csf/csf.blocklists

IP block lists cũng có thể được định cấu hình bằng cách đi tới nút lfd blocklists được tìm thấy ở gần cuối GUI đi kèm.

Bật blocklist bằng cách bỏ ghi chú dòng bắt đầu bằng rule name để sử dụng nó, sau đó khởi động lại csf rồi đến lfd.

Mỗi block list phải được liệt kê trên mỗi dòng dưới dạng:

NAME | INTERVAL | MAX | URL
  • NAME: List name với tất cả các ký tự chữ cái viết hoa không có khoảng trắng và tối đa 9 ký tự – tên này sẽ được sử dụng làm iptables chain name
  • INTERVAL: Khoảng thời gian làm mới để tải xuống danh sách, tối thiểu phải là 3600 giây (một giờ), nhưng 86400 (một ngày) là thừa.
  • MAX: Đây là số lượng địa chỉ IP tối đa để sử dụng từ danh sách, giá trị bằng 0 có nghĩa là tất cả các IP đều được sử dụng.
  • URL: URL để tải xuống danh sách

Pre-configured blocklists có thể được kích hoạt đơn giản bằng cách uncomment chúng (bỏ dấu # ở đầu), bao gồm:

  • Spamhaus
  • DShield
  • DKTC
  • BOGON – Chặn địa chỉ bogon thường là một quyết định đúng đắn. Để bật, hãy đặt số giây giữa các lần refresh. Bạn nên bật tùy chọn này và đặt refresh ở mức 86400 (1 ngày). Nếu bạn làm như vậy, hãy đảm bảo thêm private network adapter vào skip list.
  • Project Honeypot
  • BruteForceBlocker
  • Các mối đe dọa mới nổi – Danh sách các mạng kinh doanh của Nga
  • OpenBL.org 30 day List
  • Autoshun Shun List
  • MaxMind GeoIP proxy ẩn danh

Một số danh sách trong số này rất dài (hàng nghìn địa chỉ IP) và có thể gây ra các vấn đề nghiêm trọng về mạng và/ hoặc hiệu suất, vì vậy cần cân nhắc việc đặt giá trị cho trường MAX.

Mỗi URL được quét để tìm địa chỉ IPv4 / CIDR trên mỗi dòng và nếu tìm thấy sẽ bị chặn.

6. CSF Allow/Deny theo Country

Với các options bên dưới, bạn có thể chặn hoặc cho phép các quốc gia truy cập vào server của mình. Để làm như vậy, hãy nhập country code vào danh sách được tách bằng dấu phẩy.

Lưu ý: Các danh sách này không bao giờ chính xác 100%. Một số danh sách CIDR rất lớn và mỗi danh sách yêu cầu một rule trong iptables chain. Điều này có thể dẫn đến chi phí hiệu suất đáng kể và có thể khiến server không thể truy cập được trong một số trường hợp. Do hạn chế về tài nguyên trên server VPS, tính năng này không nên được sử dụng trên các hệ thống như vậy trừ khi bạn chọn CC zone rất nhỏ.

cc_allow và cc_deny là danh sách country code được tách bằng dấu phẩy, ví dụ: “US, GB, DE”:

CC_DENY = "US,CN"
CC_ALLOW = "VN"

Khi sử dụng CC_ALLOW, IP sẽ được allow mà không quan tâm đến Port. Chúng ta có thể sử dụng CC_ALLOW_PORT để cho phép truy cập từ các quốc gia sau nhưng vẫn lọc dựa trên port. Tất cả các kết nối khác bị loại bỏ:

CC_ALLOW_PORTS = "US,CN"
CC_ALLOW_PORTS_TCP = "80,443"
CC_ALLOW_PORTS_UDP = "53"

Config trên cho phép truy cập từ các quốc gia “US,CN” vào các cổng cụ thể được liệt kê trong CC_ALLOW_PORTS_TCP và CC_ALLOW_PORTS_UDP

Lưu ý: Các rule cho tính năng này được chèn sau allow và deny rules để vẫn cho phép chặn địa chỉ IP. Tất cả các cổng được liệt kê phải được xóa khỏi TCP_IN/UDP_IN để chặn truy cập từ nơi khác. Option này sử dụng format tương tự như TCP_IN/UDP_IN

Danh sách Country Code này sẽ ngăn lfd chặn các lần truy cập thất bại từ địa chỉ IP của các quốc gia tương ứng:

CC_IGNORE = "VN"

Từ chối truy cập từ các quốc gia sau vào các cổng cụ thể được liệt kê trong CC_DENY_PORTS_TCP và CC_DENY_PORTS_UDP:

CC_DENY_PORTS = "US,CN"
CC_DENY_PORTS_TCP = "80,443"
CC_DENY_PORTS_UDP = "53"

Lưu ý: Các rule cho tính năng này được chèn sau allow và deny rules  để vẫn cho phép chặn địa chỉ IP. Tất cả các cổng được liệt kê phải được xóa khỏi TCP_IN/UDP_IN để chặn truy cập từ nơi khác. Option này sử dụng cùng một format với TCP_IN/UDP_IN

7. Sử dụng command line

Dưới đây là một số command phổ biến nhất mà bạn sẽ sử dụng:

  • csf block IP: chặn không cho IP truy cập đến server (blacklist)
csf -d 1.1.1.1
  • csf allow IP: cho phép IP truy cập vào server (whitelist)
csf -a 1.1.1.1
  • csf unblock IP: remove IP đang bị chặn
csf -dr 1.1.1.1
  • Check csf status
csf -l
  • Restart csf
csf -r
  • Stop csf
csf -s
  • Disable csf
csf -f
  • Update CSF
csf -u
  • Stop csff & lfd service
csf -x
  • Start csf & lfd service:
csf -e
  • Khởi động lại CSF service:

# CentOS 5 và 6

server csf restart

# CentOS 7

systemctl restart csf.service
Để có cái nhìn tổng quan đầy đủ về tất cả command line option, hãy nhập csf hoặc csf -h trên command line và bạn sẽ nhận được danh sách với tất cả các options có sẵn:
csf --help
csf: v5.17 (DirectAdmin)
ConfigServer Security & Firewall
(c)2006-2013, Way to the Web Limited (http://www.configserver.com)
Usage: /usr/sbin/csf [option] [value]

Các Options chi tiết:

Tham sốÝ nghĩa
-h, –helpHiện bảng help
-l, –statusShow danh sách các rule iptables đang được cấu hình
-l6, –status6Show danh sách các rule iptables6 đang được cấu hình
-s, –startStart firewall rules
-f, –stopXóa các rule iptables
-r, –restart Restart firewall rules
-q, –startq Quick restart (csf được restart bởi lfd)
-sf, –startfForce CLI restart, không quan tâm đến LFDSTART setting
-ra, –restartallRestart CSF sau đó restart LFD
–lfd [stop|start|restart|status]Ra lệnh stop|start|restart|status cho LFD
-a, –add ip [comment]Allow IP, đưa IP vào whitelist và add IP vào /etc/csf/csf.allow
-ar, –addrm ipRemove IP ra khỏi /etc/csf/csf.allow và xóa rule allow
-d, –deny ip [comment]Deny IP, đưa IP vào blocklist và add IP vào /etc/csf/csf.deny
-dr, –denyrm ipUnlock IP và remove IP ra khỏi /etc/csf/csf.deny
-df, –denyfRemove và unblock toàn bộ IP trong /etc/csf/csf.deny
-g, –grep ipKiểm tra xem IP có khớp rule nào trong iptables hay không
-i, –iplookup ipKiểm tra thông tin địa lý của IP bằng cách sử dụng CC_LOOKUPS được cấu hình trong /etc/csf/csf.conf
-t, –tempHiển thị danh sách IP đang bị chặn tạm (temporary block), TTL và lý do bị chặn
-tr, –temprm ipRemove IP ra khỏi danh sách temporary allow/deny
-trd, –temprmd ipRemove IP ra khỏi đanh sách temporary deny
-tra, –temprma ipRemove IP ra khỏi danh sách temporary allow
-td, –tempdeny ip ttl [-p port] [-d direction] [comment]Add IP vào temporary deny list, kèm theo TTL, port, direction và comment
-ta, –tempallow ip ttl [-p port] [-d direction] [comment]Add IP vào temporary allow list, kèm theo TTL, port, direction và comment
-tf, –tempfXóa tất cả IP trong danh sách temporary
-cp, –cpingPing tất cả member trong lfd Cluster
-cg, –cgrep ipKiểm tra IP xem có khớp rule nào trên cluster hay không
-cd, –cdeny ip [comment]Block IP trên toàn bộ cluster và add IP vào file /etc/csf/csf.deny trên mỗi server
-ctd, –ctempdeny ip ttl [-p port] [-d direction] [comment]Add IP vào temporary block list trên Cluster
-cr, –crm ipUnblock IP trên cluster và remove IP trong file /etc/csf/csf.deny trên mỗi server
-ca, –callow ip [comment]Allow IP và add IP vào /etc/csf/csf.allow trên mỗi server trong Cluster
-cta, –ctempallow ip ttl [-p port] [-d direction] [comment]Add IP vào temporary allow list trên Cluster
-car, –carm ipRemove IP khỏi allow list trên Cluster và xóa IP khỏi /etc/csf/csf.allow trên mỗi server
-ci, –cignore ip [comment]Ignore IP trên cluster và add IP vào /etc/csf/csf.ignore trên mỗi server
-cc, –cconfig [name] [value]Thay đổi cấu hình của [name] thành [value] trên Cluster
-cf, –cfile [file]Send [file] trên Cluster vào /etc/csf/
-crs, –crestartCluster restart csf và lfd
–trace [add|remove] ipBật chế độ trace log truy cập chi tiết của IP. Log sẽ được ghi vào /var/log/messages
-m, –mail [email]Display Server Check ở định dạng HTML hoặc email to [email] nếu tồn tại
-lr, –logrunKhởi tạo Log Scanner report thông qua lfd
-p, –portsLiệt kê danh sách port và ứng dụng tương ứng trên server cho phép kết nối từ bên ngoài vào.
–graphs [graph type] [directory]Tạo graph thống kê dưới định dạng HTML, hình ảnh và output ra [directory]
–profile [command] [profile|backup] [profile|backup]Quản lý profile cấu hình của csf.conf
–cloudflare [command]Các câu lệnh liên quan đến tương tác CloudFlare:
– list [all|block|challenge|whitelist] [user1,user2,domain1…]
– add [block|challenge|whitelist] target [user1,user2,domain1…]
– del target [user1,user2,domain1…]
– tempadd [allow|deny] ip [user1,user2,domain1…]
-c, –checkCheck update nhưng không upgrade
-u, –updateCheck update và upgrade csf
-ufForce update
-x, –disableDisable csf & lfd
-e, –enableEnable csf & lfd
-v, –versionShow csf version

8. FILE LOCATIONS

Cấu trúc hệ thống file

FileMô tả
/etc/csf/configuration files
/var/lib/csf/data files tạm thời
/usr/local/csf/bin/scripts
/usr/local/csf/lib/perl modules and static data
/usr/local/csf/tpl/email alert templates

Các file config của CSF và tác dụng của chúng

FileDescription
/etc/csf/csf.confFile cấu hình chính.
/etc/csf/csf.allowDanh sách địa chỉ IP và CIDR luôn luôn được phép thông qua Firewall
/etc/csf/csf.denyDanh sách địa chỉ IP và CIDR không bao giờ được phép thông qua Firewal
/etc/csf/csf.ignoreDanh sách địa chỉ IP và CIDR login failure daemon nên bỏ qua và không chặn nếu phát hiện.
/etc/csf/csf.*ignoreCác ignore files khác liệt kê các files, users, IP mà login failure daemon nên bỏ qua.
/etc/csf/csfpost.shFile chứa các lệnh sẽ được thực thi sau khi CSF gen xong các rule iptables
/etc/csf/csfpre.shFile chứa các lệnh sẽ được thực thi trước khi CSF gen ra các rule của iptables
/etc/csf/csf.blocklistsKhai báo định nghĩa cho những IP BLOCK List, danh sách này sẽ được download định kỳ từ URL được khai báo và apply vào Firewall.
/etc/csf/csf.cloudflarenếu bạn sử dụng server nằm sau CloudFlare, đây là file giúp khai báo các thông tin API để server có thể tương tác và block/allow IP trên CloudFlare.
/etc/csf/csf.dirwatchdanh sách các thư mục bạn cần theo dõi và cảnh báo khi có sự thay đổi.
/etc/csf/csf.dyndnskhai báo danh sách các Dynamic DNS domain. Định kỳ, CSF sẽ phân giải IP của những domain này và cập nhật IP mới vào whitelist.
/etc/csf/csf.fignoreDanh sách các file sẽ được bỏ qua khi chạy Dirwatch (theo dõi thư mục)
/etc/csf/csf.logfileDanh sách các file log được xử lý bởi tính năng LOGSCANNER
/etc/csf/csf.logignoredanh sách những Regular Expression Pattern cho tính năng LOGSCANNER, nếu một dòng log khớp pattern được khai báo, chúng sẽ bị bỏ qua. Nếu không khớp pattern nào, /dòng log đó sẽ được xử lý.
/etc/csf/csf.mignoreDanh sách username và IP mà tính năng RT_LOCALRELAY_ALERT sẽ bỏ qua.
/etc/csf/csf.pignoreDanh sách những file thực thi, command hoặc user mà LFD sẽ bỏ qua.
/etc/csf/csf.redirectKhai báo redirect/NAT traffic.
/etc/csf/csf.signoredanh sách những file mà LF_SCRIPT_ALERT sẽ bỏ qua.
/etc/csf/csf.sipschứa danh sách IP của server mà hiện tại bạn không muốn cho phép bất kỳ traffic in/out nào.
/etc/csf/csf.smtpauthDanh sách IP cho phép EXIM phản hồi SMTP AUTH để chứng thực.
/etc/csf/csf.suignoreDanh sách username sẽ được bỏ qua khi kiểm tra LF_EXPLOIT
/etc/csf/csf.syslogsKhai báo danh sách file log cho tính năng UI System Log Watch và Search trên giao diện.
/etc/csf/csf.uidignoreDanh sách UID sẽ được bỏ qua khi chạy tính năng User ID Tracking.
/etc/csf/regex.custom.pmFile nâng cao, khai báo các Regular Expression custom khi parse log và cách xử lý chúng.

9. Các điểm cần lưu ý

Hãy đảm bảo tuân theo các khuyến nghị được nêu trên trang “Check Server Security” từ trong CSF GUI. Cũng nên kiểm tra kỹ để đảm bảo rằng tất cả các modules IPtables được yêu cầu đã được tải đúng cách bằng cách truy cập trang “Test Iptables” ở cuối CSF GUI. Nếu chúng không được tải đúng cách và bạn đang ở trên Virtual Private Server(VPS), hãy liên hệ với host của bạn để khắc phục sự cố này.

CSF giả sử file php.ini của bạn nằm trong /usr/local/lib/php.ini

Nếu tệp php.ini của bạn được cài đặt ở một vị trí khác, bạn có thể tạo một symlink đến đúng vị trí. Điều này có thể hữu ích nếu bạn muốn sử dụng các đề xuất bảo mật CSF trên trang “Check Server Security “.

ln -s /path/to/your/actual/php.ini /usr/local/lib/php.ini

 Đừng bao giờ chạy iptables -F trong khi sử dụng CSF, trừ khi bạn muốn block chính mình.

10. Uninstall CSF

Nếu bạn không còn nhu cầu sử dụng CSF, có thể uninstall chúng bằng cách:

Trên cPanel servers:

cd /etc/csf 
sh uninstall.sh

Trên DirectAdmin servers:

cd /etc/csf 
sh uninstall.directadmin.sh

Trên server Linux:

cd /etc/csf 
sh uninstall.generic.sh

Nếu bạn yêu cầu bất kỳ hỗ trợ nào thêm hoặc trong trường hợp bạn có bất kỳ câu hỏi nào về cấu hình CSF, vui lòng mở một ticket với đội ngũ kỹ thuật của Vietnix bằng cách đăng nhập vào tài khoản của bạn hoặc bạn cũng có thể truy cập trang chủ CSF nơi bạn có thể tìm thêm tài liệu và câu hỏi thường gặp.

Chia sẻ lên

Theo dõi trên

Logo Google new

Đánh giá

5/5 - (78 bình chọn)

Hưng Nguyễn

Kết nối với mình qua

Icon Quote
Icon Quote
Đăng ký nhận tin
Để không bỏ sót bất kỳ tin tức hoặc chương trình khuyến mãi từ Vietnix

Bình luận

Theo dõi
Thông báo của
guest
1 Comment
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận
Thông
Khách
Thông
2 ngày trước

Bài viết hướng dẫn rất chi tiết và hữu ích.
Cám ơn Vietnix.

Chỉ số tăng trưởng

Điểm Desktop

100 (+39)

Điểm Mobile

100 (+67)

Core Web Vitals

Passed

Lĩnh vực

Ecommerce

Chỉ số tăng trưởng

Điểm Desktop

99 (+28)

Điểm Mobile

100 (+50)

Core Web Vitals

Passed

Lĩnh vực

SEO

Chỉ số tăng trưởng

Điểm Desktop

99 (+26)

Điểm Mobile

98 (+59)

Core Web Vitals

Passed

Lĩnh vực

Ecommerce

Chỉ số tăng trưởng

Điểm Desktop

100 (+8)

Điểm Mobile

98 (+35)

Core Web Vitals

Passed

Lĩnh vực

Giáo Dục

Chỉ số tăng trưởng

Điểm Desktop

100 (+61)

Điểm Mobile

100 (+61)

Core Web Vitals

Passed

Lĩnh vực

Giáo Dục

Võ Thiên Tòng

25 Tháng 2 lúc 21:09

·

Mình muốn gửi lời cảm ơn chân thành đến Team Vietnix, anh Hưng Nguyễn, anh Vietnix Trung, em Quốc Huy đã hỗ trợ tối ưu Page Speed Insight (PSI) cho website vanvoiminhhoa.vn của mình.
Biết đến anh Hưng đã lâu nhưng chưa có duyên sử dụng dịch vụ bên anh. Tình cờ thấy được bài Post của anh về việc hỗ trợ tối ưu PSI miễn phí chỉ với vài Slot, thấy AE cmt khá nhiều nên cũng không nghĩ tới lượt mình. Hôm sau đánh liều inbox 1 phen xem sao thì may mắn được đưa vào danh sách. Vài ngày sau được Team Vietnix liên hệ và hỗ trợ.
Kết quả đạt được:
• Điểm xanh lè xanh lét
• Tốc độ tải trang nhanh hơn hẳn
• Các chỉ số cũng được cải thiện đáng kể
• Và mình tin rằng với việc PSI được cải thiện cũng thúc đẩy những thứ khác đi lên theo!
Mình thực sự hài lòng với dịch vụ của Vietnix và muốn giới thiệu đến tất cả mọi người:
• Dịch vụ Wordpress Hosting: Tốc độ nhanh, ổn định, bảo mật cao, hỗ trợ kỹ thuật 24/7. (https://vietnix.vn/wordpress-hosting/)
• Dịch vụ Business Hosting: Dung lượng lớn, phù hợp cho website có lượng truy cập cao, tích hợp nhiều tính năng cao cấp. (https://vietnix.vn/business-hosting/)
Đặc biệt, Vietnix đang có chương trình ưu đãi:
• Giảm giá 20% trọn đời khi nhập code THIENTONG_PAGESPEED tại trang thanh toán (Chu kỳ 12 tháng trở lên)
• Tặng 1 lần tối ưu điểm Page Speed Insight cho 1 website
Cám ơn Vietnix một lần nữa!
#Vietnix #Vanvoiminhhoa #Pagespeedinsight
Trước khi tối ưu
Sau khi tối ưu
Thiện Nguyễn - CEO SEO Dạo

5 Tháng 3 lúc 16:21

·

CORE WEB VITAL YẾU TỐ XẾP HẠNG TÌM KIẾM SEO
Core Web Vitals là một tập hợp các chỉ số đo lường hiệu suất của trang web từ góc độ người dùng, được Google sử dụng để đánh giá trải nghiệm người dùng trên các trang web. Các chỉ số chính bao gồm:
– Largest contentful paint (LCP): Tốc độ render của page. Mục tiêu là dưới 2,5 giây.
– First input delay (FID): Tốc độ phản hồi của website với tương tác của người dùng. Mục tiêu là dưới 100ms.
– Cumulative Layout Shift (CLS): Độ ổn định của bố cục trang. Mục tiêu là dưới 0.1.
Tất cả các chỉ số này đo lường các khía cạnh quan trọng của trải nghiệm người dùng trên trang web. Google đã công bố rằng từ tháng 5 năm 2021, các Core Web Vitals sẽ được sử dụng làm một trong các yếu tố đánh giá trong việc xếp hạng trang web trên kết quả tìm kiếm. Do đó, hiểu và cải thiện các Core Web Vitals là rất quan trọng đối với SEO.
Tóm lại, Core Web Vitals không chỉ giúp cải thiện hiệu suất và xếp hạng trang web trên công cụ tìm kiếm, mà còn cải thiện trải nghiệm của người dùng khi họ truy cập và tương tác với trang website.
P/s: mình đang có gói hỗ trợ đặc biệt cho anh em tối ưu tốc độ bên VIETNIX:
– Giảm 20% lifetime dịch vụ Hosting Business và Hosting Wordpress chu kỳ 12 tháng trở lên.
– Tặng 1 lần tối ưu điểm Page Speed Insight cho 1 website.
Anh em có nhu cầu đăng ký qua bạn Vietnix Trung này nhé và nhập mã SEODAO_PAGESPEED để được ưu đãi nhé.😁
Trước khi tối ưu
Sau khi tối ưu SEO Dạo
Icharm review

5 Tháng 3 lúc 15:43

·

[Mình vừa được hỗ trợ tối ưu page speed website]
Trước khi được tối ưu, web của mình điểm rất thấp, đặc biệt là mobile chỉ có 39. Cơ duyên thế nào lúc lướt face lại va phải chương trình tối ưu pagespeed bên Vietnix.
Sau khi được Trần Hoàng Phúc và team Vietnix hỗ trợ nhiệt tình, điểm web vọt lên 98 99 (như hình bên dưới). Dùng thử web thì thấy quá là mượt, 10 điểm cho team Vietnix.
Nói thật thì mình thật sự ấn tượng về sự nhiệt huyết, tận tâm và rất chuyên nghiệp bên Vietnix.
Anh em có nhu cầu về hosting hay có vấn đề về website như:
1. Web load chậm
2. Khách rời web vì đợi tải nội dung, hình ảnh lâu
3. Hay tất tần tật mọi thứ về website
THÌ LIÊN HỆ NGAY VIETNIX NHÉ!
Và đừng quên dùng pass “ICHARM_PAGESPEED” để được giảm 20% trọn đời hosting business và wp hosting. Quả code này còn được tặng 1 lần tối ưu pagespeed nữa nhé, ưu đãi chắc cũng phải nhất nhì thị trường luôn.
Trước khi tối ưu
Sau khi tối ưu
Hoàng Nguyễn

29 Tháng 2 lúc 17:04

·

Xin chào mọi người! Vừa rồi mình có sử dụng dịch vụ tối ưu website, tăng tốc độ tải trang pagespeed của Vietnix kết quả trên cả tuyệt vời nên mình viết bài này để chia sẻ thông tin với các bạn.
Lý do mình chọn dịch vụ tối ưu tốc độ website của Vietnix:
✅ Đội ngũ chuyên gia giàu kinh nghiệm: Đã tối ưu thành công cho hàng nghìn website trong nhiều lĩnh vực khác nhau. Các bạn nhân viên rất thân thiện, nhiệt tình và chủ động trong quá trình làm việc để cập nhật tiến độ.
✅ Quy trình chuyên nghiệp:
– Kiểm tra và phân tích: Vietnix sử dụng các công cụ tiên tiến để kiểm tra và phân tích tốc độ website của bạn.
– Xác định nguyên nhân: Vietnix xác định nguyên nhân khiến website tải chậm và đưa ra giải pháp tối ưu phù hợp.
– Tối ưu hóa website: Vietnix áp dụng các kỹ thuật tối ưu tiên tiến nhất để tăng tốc độ tải trang.
– Báo cáo kết quả: Vietnix cung cấp báo cáo chi tiết về kết quả tối ưu hóa website.
Công nghệ tiên tiến: Vietnix sử dụng các công nghệ tối ưu mới nhất như LiteSpeed, LSCache, Memcached, Redis, v.v.
✅ Cam kết kết quả: Vietnix cam kết tăng tốc độ website của bạn lên tối thiểu 90%.
✅ Giá cả cạnh tranh: Vietnix cung cấp dịch vụ tối ưu tốc độ website với mức giá cạnh tranh nhất trên thị trường.
📣 Để đăng ký sử dụng dịch vụ tối ưu tốc độ website và các dịch vụ khác như hosting, vps, domain… các bạn có thể đăng ký tại https://portal.vietnix.vn/aff.php?aff=57 hoặc Inbox cho sếp Vietnix Trung nhé.
Các bạn có thể kiểm tra tốc độ trang của mình https://lasan.edu.vn hoặc một vài trang khác đã sử dụng dịch vụ của Vietnix như sau:
https://pagespeed.web.dev/…/https…/v8beqewyt2…
https://pagespeed.web.dev/…/https…/etiohjvtl4…
https://pagespeed.web.dev/…/https…/yczuqpw6d1…
https://pagespeed.web.dev/…/https…/xf9y65kuzk…
https://pagespeed.web.dev/…/https…/fdrsms15en…
https://pagespeed.web.dev/…/https…/s7p9cgzeri…
Trước khi tối ưu
Sau khi tối ưu
Dũng cá xinh

30 Tháng 1 lúc 19:09

·

[Đỉnh]
Em có dùng hosting, vps, cloud vps, cloud server, dedicated server của rất nhiều bên từ trong nước đến nước ngoài để hosting khoảng 2,000+ domain. Mỗi bên đều có ưu nhược khác nhau, nhưng có 1 số bên đặc biệt “bá đạo”, trong đó có: Vietnix!!!!

Lần đầu tiên em được cả CEO Hưng Nguyễn lẫn Master về dev Vietnix Trung của 1 đơn vị hàng đầu liên quan đến Hosting, Server support từ A – Z (từ Zalo, Tele, đến FB và cả Phone)

Em có khá nhiều web dạng Big Data (bài, ảnh, database, data) lên đến hàng trăm Gb. Càng to thì nó càng có nhiều vấn đề về phần phản hồi ban đầu (nhược điểm cố hữu của php wordpress so với nativejs, reactjs, html, headless,…), và anh em Vietnix có nhã ý hỗ trợ xử lý phần Speed Insight này.

Kết quả thực sự kinh ngạc, từ cách trao đổi đến xử lý vấn đề, cut off những cái cần cut off, xử lý rất sâu vấn đề và gợi ý rất nhiều ý tưởng optimize hệ thống!!!! Thực sự quá hài lòng về kết quả cũng như cách tương tác của các đầu tầu bên Vietnix ^^!!!

Nhân cơ duyên được kết nối với những cao thủ của Vietnix, em xin chia sẻ và lan tỏa để nhiều anh em có cơ hội được sử dụng những dịch vụ tốt nhất với giá vô cùng hợp lý!!!!

1 – Với anh em chưa có hosting, em đặc biệt recommend sử dụng hosting bên Vietnix:
– Sử dụng mã DUNGCAXINH_PAGESPEED sẽ được giảm 20% trọn đời (lifetime luôn)
– Áp dụng các gói Hosting Business, Hosting wordpress và reg 1 năm trở lên
– Anh em chưa biết cách reg thì còm men hoặc ib để em hướng dẫn hoặc nhờ các bạn bên Vietnix support từ A – Z

2 – Anh em có hosting rồi và muốn build blog hoặc web = wordpress mà chưa có giao diện thì nhân tiện em đang có tài khoản Premium bên Envato, em sẽ tặng bất kỳ giao diện nào có trên Envato Themes (Link em để dưới còm men) ạ. Cả nhà còm hoặc ib em Themes mà mọi người “chim ưng”, em sẽ cho anh em tải về, up drive và gửi ạ!!! (Chương trình này kéo dài đến ngày 29 tết âm lịch ạ)

3 – BEST NHẤT luôn!!!! Anh em nào mua hosting dùng mã DUNGCAXINH_PAGESPEED sẽ được tối ưu 100 điểm tốc độ cho 1 web (đây là ưu đãi riêng của CEO Hưng Nguyễn dành cho bạn bè của #dungcaxinh ^^) (Giá trị nhất là cái vụ số 3 này anh chị em nhé ^^), cơ hội vàng để move về đơn vị hosting uy tín là đây ^^!!!!

Một lần nữa xin chân thành cám ơn 2 đồng chí em: Hưng Nguyễn và Vietnix Trung đã giải được một bài toán khó cho các trang WP Big data mà anh loay hoay bao lâu nay chưa tìm ra đáp án!!! Chúc Vietnix ngày càng phát triển và có một năm 2024 đại đại thắng nhé ^^ !!!!!
#SEO #Vietnix #dungcaxinh

Trước khi tối ưu
Sau khi tối ưu
Hiếu AI

2 Tháng 2 lúc 21:06

·

UY TÍN – TẬN TÂM – TỐC ĐỘ

3 từ trên là vẫn chưa đủ để nói về quy trình làm việc cực chuyên nghiệp của team Vietnix.Chuyện là mình có con website chính đang có lượt truy cập organic hàng ngày cũng tương đối (hình 1)

Vấn đề là, con site này đang nằm trên hosting dùng chung nên tốc độ load chưa nhanh, tốc độ load chưa nhanh thì trải nghiệm visitor chưa tốt, trải nghiệm visitor chưa tốt thì tỷ lệ chuyển đổi ra đơn hàng kiểu gì thì kiểu cũng sẽ bị ảnh hưởng.

Biết rõ là đang mất tiền nhưng không biết xử lý như lào, nghĩ mà cay.

Đang loay hoay thì vận may nó tới, hôm qua đang lướt phở bò thấy a Nguyễn Việt Dũng đăng bài, rảnh nên thả cái comment hóng hớt, ai ngờ ngoằng phát thấy ông Dũng tạo nhóm với Vietnix Trung luôn.

Ae Vietnix thì siêu tốc độ, lập tức lấy thông tin vào việc, không hỏi han lằng nhằng, không kỳ kèo chốt đơn dù lúc đấy cũng đang đêm muộn.
Sáng hôm sau dậy vẫn còn đang lơ ngơ mở điện thoại check tin nhắn thì đã thấy ae Vietnix báo xong việc, trong khi mình vẫn chưa biết có chuyện gì xảy ra @@.

Được cái bấm thử website thì thấy load siêu nhanh, chưa tới một giây là thông tin các thứ hiện hết. Quá phê, thả con ảnh trước sau (hình 2,3) để ace tiện đối chiếu nhé. Thế này thì mình gửi gắm nốt 15 em website còn lại cho team Vietnix thôi chứ không cần nghĩ ngợi gì nữa. 10/10.

Nên là:

  1. Anh chị em muốn có một con website tốc độ load nhanh như tốc độ trở mặt của nyc – Dùng ngay dịch vụ hosting của Vietnix
  2. Anh chị em có website rồi muốn tìm bên hosting uy tín, chuyên nghiệp hỗ trợ không quản ngày đêm – Liên hệ ngay Vietnix Trung
  3. Anh chị em quan tâm đến trải nghiệm khách hàng, từ những cái nhỏ nhất như tăng tốc độ website – Better call Vietnix Trung

Và đừng quên dùng pass “HIEUAI_PAGESPEED” để được giảm 20% trọn đời hosting business và wp hosting, quả code này còn được tặng 1 lần tối ưu pagespeed nữa nhé, ưu đãi chắc cũng phải nhất nhì thị trường luôn.
#SEO #Vietnix #hieuai

Website
Trước khi tối ưu
Sau khi tối ưu

Chỉ số tăng trưởng

Điểm Desktop

100 (+43)

Điểm Mobile

100 (+74)

Core Web Vitals

Passed

Lĩnh vực

AI