ConfigServer Security & Firewall (hay CSF) là một firewall rất phổ biến và hiệu quả được sử dụng trên các server Linux hiện nay. Bên cạnh những tính năng cơ bản như một firewall, CSF còn có những chức năng bảo mật nâng cao khác như ngăn chặn flood login, port scans, SYN floods…
Chi tiết các tính năng của CSF các bạn có thể xem ở đây.
Hướng dẫn cài đặt CSF
1. Cài đặt các module cần thiết cho CSF
Cài đặt module Perl cho CSF script
yum install perl-libwww-perl
2. Tải CSF
cd /tmp wget https://download.configserver.com/csf.tgz
3. Cài đặt CSF
Tiến hành giải nén và cài đặt CSF
tar -xzf csf.tgz cd csf sh install.sh
4. Cấu hình CSF
Mặc định thì script trên sẽ cài đặt và chạy CSF ở chế độ “Testing”, có nghĩa là server lúc này chưa được bảo vệ toàn diện. Để tắt chế độ “Testing” bạn cần cấu hình các lựa chọn TCP_IN, TCP_OUT, UDP_IN và UDP_OUT cho phù hợp với nhu cầu .
Mở file cấu hình CSF
nano /etc/csf/csf.conf
Chỉnh sửa các thông số cho phù hợp
# Allow incoming TCP ports TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995" # Allow outgoing TCP ports TCP_OUT = "20,21,22,25,53,80,110,113,443" # Allow incoming UDP ports UDP_IN = "20,21,53" # Allow outgoing UDP ports # To allow outgoing traceroute add 33434:33523 to this list UDP_OUT = "20,21,53,113,123"
Khi đã cấu hình xong, tắt chế độ Testing bằng cách chuyển TESTING = “1” thành TESTING = “0”
TESTING = "0"
Cuối cùng lưu lại file cấu hình CSF
5. Khởi động CSF
Chạy CSF và cho phép tự kích hoạt mỗi khi boot VPS
chkconfig --level 235 csf on service csf restart
6. Những file cấu hình CSF
Toàn bộ thông tin cấu hình và quản lý CSF được lưu ở các file trong folder /etc/csf. Nếu bạn chỉnh sửa các file này thì cần khởi động lại CSF để thay đổi có hiệu lực.
- csf.conf : File cấu hình chính để quản lý CSF.
- csf.allow : Danh sách địa chỉ IP cho phép qua firewall.
- csf.deny : Danh sách địa chỉ IP từ chối qua firewall.
- csf.ignore : Danh sách địa chỉ IP cho phép qua firewall và không bị block nếu có vấn đề.
- csf.*ignore : Danh sách user, IP được ignore.
7. Một số lệnh thường dùng
Một số câu lệnh sử dụng để add (-a) hoặc deny (-d) một địa chỉ IP.
csf -d IPADDRESS //Block địa chỉ IP csf -dr IPADDRESS //Xóa địa chỉ IP đã bị block csf -a IPADDRESS //Allow địa chỉ IP csf -ar IPADDRESS //Xóa địa chỉ IP đã được allow csf -g IPADDRESS //Kiểm tra địa chỉ IP có bị block không csf -r //Khởi động lại CSF csf -x //Tắt CSF csf -e //Mở CSF
Trong trường hợp bạn quên những lệnh trên, hãy sử dụng csf
sẽ liệt kê toàn bộ danh sách các option.
8. Xóa CSF
Nếu bạn muốn xóa hoàn toàn CSF, chỉ cần sử dụng script sau:
/etc/csf/uninstall.sh
Việc này sẽ xóa toàn bộ CSF nên bạn cần cân nhắc khi dùng. Nếu muốn tạm thời tắt CSF thì có thể chuyển chế độ TESTING sang 1.
Trên đây là hướng dẫn căn bản cài đặt ConfigServer Security & Firewall (CSF), xem thêm bài viết hướng dẫn cài đặt nâng cao bảo mật hơn cho VPS/server.
Mình hay nhận cảnh báo phiền toái từ CSF:
Time: Tue Jun 18 18:39:14 2019 +0700
Account: postfix
Resource: Process Time
Exceeded: 1819 > 1800 (seconds)
Executable: /usr/libexec/postfix/smtpd
Command Line: smtpd -n submission -t inet -u -o stress= -s 2 -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject
PID: 14107 (Parent PID:587)
Killed: No
Ad cho mình hỏi làm cách nào mình thêm user postfix vào danh sách không cảnh báo?
Mình muốn block tất cả IP Nước ngoài chỉ chừa IP Việt nam thì ntn vậy
Bạn tham khảo
https://hoidap.hocvps.com/t/topic/2289/3
Nếu cài CSF thì có nên gỡ firewall mặc định của Centos (iptables,firewalld) không vậy các bạn?
Bạn gỡ cũng được, nhưng cần cấu hình cẩn thận tránh block chính mình
Cái này có cài được cho HOCVPS không bác
CSF sẽ xung đột với Fail2Ban sẵn có của HocVPS nhé. Bạn muốn sử dụng thì gỡ ra rồi cài
Khi cài Xong CSF chỉ có IP cài đặt kết nối được với SSH. Còn các IP khác thì không. cho mình hỏi để thêm IP đăng nhập dc vào SSH.
1 ip khác đăng nhập vào SSH thì báo lỗi
16:57:46.713 Current date: 2017-11-25
16:57:46.713 Bitvise SSH Client 7.35, a fully featured SSH client for Windows.
Copyright (C) 2000-2017 by Bitvise Limited.
16:57:46.713 Visit http://www.bitvise.com for latest information about our SSH software.
16:57:46.713 Run ‘BvSsh -help’ to learn about supported command-line parameters.
16:57:46.713 Cryptographic provider: Windows CNG (x86) with additions
16:57:46.885 Loading default profile.
16:57:50.136 Started a new SSH2 session.
16:57:50.136 Connecting to SSH2 server 10.25.336.4:2222.
16:58:11.156 Connection failed. FlowSocketConnector: Failed to connect to target address. Windows error 10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
16:58:11.171 The SSH2 session has been terminated.
16:58:37.023 Started a new SSH2 session.
16:58:37.039 Connecting to SSH2 server 10.25.336.4:2222.
16:58:58.041 Connection failed. FlowSocketConnector: Failed to connect to target address. Windows error 10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
16:58:58.073 The SSH2 session has been terminated.
17:02:55.552 Started a new SSH2 session.
17:02:55.552 Connecting to SSH2 server 10.25.336.4:2222.
17:03:16.568 Connection failed. FlowSocketConnector: Failed to connect to target address. Windows error 10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
17:03:16.584 The SSH2 session has been terminated.
17:03:25.478 Copying log to clipboard succeeded.
17:06:10.154 Started a new SSH2 session.
17:06:10.170 Connecting to SSH2 server 10.25.336.4:2222.
17:06:10.170 Connection established.
17:06:10.186 Server version: SSH-2.0-OpenSSH_7.4
17:06:10.186 First key exchange started. Cryptographic provider: Windows CNG (x86) with additions
17:06:10.494 Received host key from the server. Algorithm: RSA, size: 2048 bits, MD5 fingerprint: 26:16:60:5a:2f:88:63:72:46:41:72:72:ae:4f:d8:00, Bubble-Babble: xogas-bizos-gicip-monap-naban-nusyt-bumap-kymid-cupid-cykin-mexox, SHA-256 fingerprint: pOIx+pwblvyh9pie9afp6coa3u5VI/my0a4nfgjun1w.
17:06:10.759 First key exchange completed using diffie-hellman-group16-sha512. Session encryption and integrity: aes256-gcm, compression: none.
17:06:10.759 Attempting none authentication.
17:06:10.775 Remaining authentication methods: ‘publickey,gssapi-keyex,gssapi-with-mic,password’.
17:06:27.933 Authentication aborted on user’s request.
17:06:27.949 The SSH2 session has been terminated.
17:06:45.480 Started a new SSH2 session.
17:06:45.495 Connecting to SSH2 server 10.25.336.4:2222.
17:07:06.499 Connection failed. FlowSocketConnector: Failed to connect to target address. Windows error 10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
17:07:06.644 The SSH2 session has been terminated.
1. Bạn dùng SSH Keys hay user-password?
2. Bạn kiểm tra các file cấu hình CSF (trong bài viết có đề cập)
Xem các IP bị block bởi CSF làm sao zậy bạn ?
/etc/csf/csf.deny
và/etc/csf/csf.conf
nhé bạnCho em hỏi em có cài CSF nhưng lúc cài xong truy cập myphpasmin không dược nữa hix
Em dùng hocvps
Rule bạn chắc xung đột với Fail2Ban rồi. Nếu bạn không truy cập được tất cả HocVPS Admin thì bạn disable CSF đi nhé. Chỉ Fail2Ban/CSF tích hợp Iptables
Mình đoán bạn chưa allow port HocVPS Admin trong CSF rồi
bạn cho mình hỏi chút mình muốn giới hạn các ip được phép kết nối tới port trên server thì cấu hình như thế nào. ví dụ mình chỉ cho phép ip 192.168.100.234,235,236 kết nối tới port 443 còn các ip khác bị block hoàn toàn thì cấu hình ntn vậy.????
http://blog.serverbuddies.com/csf-advanced-allowdeny-filters/ Bạn thử theo hướng dẫn này xem
thanks bác Việt Phương nhiều nhé.
muốn chặn toàn bộ chỉ cho phép 1 ip thì ntn ạ
Bạn chặn all bằng
csf -dr 0.0.0.0/0
. Trước đó, phải đảm bảo đã thêm IP của mình vào whitelist vớicsf -a IP
chào Ad và mn,
VPS mình có vẻ đang chặn IP google. làm robot không index được link tự động.
Mình có tìm hiểu có thể vps chặn ip google.
Nhờ ae chỉ các đưa ip google vào danh sách loại trừ để google tự index bài.
cảm ơn
Bạn kiểm tra các tường lửa của VPS như csf, firewalld, iptables. Ngoài ra còn cấu hình của Virtual Host như Nginx/Apache conf, .htaccess cũng có thể chặn bot
Bài viết khá chi tiết, cài thằng này lên bảo vệ khá tốt, mình đã test thử.
Mình cài xong thì ko kết nối đc ssh luôn, giờ phải làm sao đây bạn. Mình xài vps của Vultr , centos 7. Help me!
Có thể bạn cài xung đột rồi, nhất là khi iptables là cổng SSH 2222 còn CSF bạn không allow cổng 2222. Bạn login VPS trên trang quản lý để disable CSF
Bác cho em hỏi cái lệnh xóa toàn bộ IP đã block trong CSF thì như thế nào?
csf -dr IPADDRESS //Xóa địa chỉ IP đã bị block
csf -g IPADDRESS //Kiểm tra địa chỉ IP có bị block không
Trong bài viết phần 7. có đề cập đó bạn.
Đó là từng IP, em muốn xóa hàng loạt IP bị block cơ.
-df
nhé bạn. Tương tự với việc bạn xóa thủ công trong/etc/csf/csf.deny
Luân viết bài chính xác quá. Cài cái là được luôn. Chân thành cảm ơn nhé. Hi vọng luôn tiếp tục viết chia sẻ kiến thức về VPS.
Chia sẻ: Hiện tại mình đang sử dụng VPS centos 7 x64 Vultr đã cài đặt thành công, Bạn nào đang xài giống mình thì cứ thoải mái mà cài nhé.
Sao mình cài CSF xong thì không kết nối được đến bất cứ link https nào nhỉ?
Ví dụ mình chạy composer thì nó báo lỗi:
http://prntscr.com/csmk6x
Còn đây là cài đặt CSF về các cổng của mình:
http://prntscr.com/csmkz1
Bạn tắt CSF đi, chạy composer rồi kích hoạt lại.
sao em chặn ping không được anh ơi,
Bạn nhớ restart lại csf sau khi config.
Sau khi caì xong, em thử chặn 1 ip thì nó báo thế này :
csf -d 116.100.217.200
deny failed: 116.100.217.200 is in already in the deny file /etc/csf/csf.deny 1 times
root@ubuntu:~# csf -d 116.100.217.199
Adding 116.100.217.199 to csf.deny and iptables DROP…
iptables: No chain/target/match by that name.
DROP all opt — in !lo out * 116.100.217.199 -> 0.0.0.0/0
iptables v1.4.12: Couldn’t load target `LOGDROPOUT’:No such file or directory
Try `iptables -h’ or ‘iptables –help’ for more information.
————————————————-
Em test perl thì nó báo thế này :
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
. Mong anh giúp 🙁
Lỗi này mình không giúp được rồi, bạn phải tự tìm thông tin trên mạng thôi
CSF có thể cài trên Ubuntu được không anh?
Chiến hết đó bạn: http://www.configserver.com/cp/csf.html
Bác giúp em với, cấu hình thế nào chặn tất cả truy cập từ nước ngoài, chỉ chấp nhận VN thôi
Luân ơi cho mình hỏi muốn xóa hoàn toàn csf thao tác ntn vậy.Tks Luân
Cuối bài mình có ghi đó bạn
Những lệnh đó ( ví dụ: nano /etc/csf/csf.conf ) làm trên run cmd hả bạn
Làm trên cửa sổ terminal khi bạn kết nối ssh
Mình muốn chặn 1 số quốc gia và chỉ cho phép 1 số quốc gia có thể truy cập vào website thì chỉnh như nào Luân nhỉ?
Mình search google thì họ bảo là dùng thông số này: CC_DENY = “VN”
CC_ALLOW = “US” theo đường dẫn /etc/csf/csf.conf
Cách này ổn không nhỉ?
Mình chưa thử cái này bao giờ cả.
Cái này bạn dùng dịch vụ của CloudFlare nhé.
Bạn có biết lỗi này là sao không nhỉ? Mình không log được SSH hoặc Filezilla:
http://imgur.com/1e35rB7
Trước mình cài CSF rồi sau đó cài thêm plugin Wordfence Security rồi dùng plugin này chặn một số quốc gia trong đó có VN. Ngay sau đó mình gỡ nó ra luôn vì không chặn được ip gì cả.
cho em hỏi sao em test block 1 ip rồi, nhưng cái ip đó vẫn vào web bình thường luôn 🙁
Luân cho mình hỏi mình đang dùng vps centos của vultr. Mình cài đặt CSF rồi, mà mình không biết chặn các ip từ Việt Nam. Mình làm site tiếng anh, ở Việt Nam hay bị soi quá nên mình muốn chặn luôn Việt Nam cho nhàn. Nếu mình chặn deny=”VN” thì mình có bị chặn luôn không ? Có thể hướng dẫn mình cách làm này được không ? Cảm ơn!
Nếu muốn chặn bạn dùng CloudFlare, có phần chặn quốc gia ấy. Dùng CSF không ổn lắm.
Làm sao xài CloudFlare chặn nhỉ mới nghe đó !
Bạn search Google, có đó.
Cảm ơn bạn! mình sẽ tìm hiều nó xem thế nào!
Cái csf này có phải thông qua iptables để thực hiện các Rule không anh Luân? hay là nó hoạt động độc lập, không liên quan gi?
Nó tự tương tác với iptables rồi, mình không phải động vào cái đó nữa
E mở file nano /etc/csf/csf.conf ra rồi. Nhấn “I” để sửa “1” thành “0” nhưng sửa xong ấn gì để lưu ạ :((
nano đâu có nhấn I gì đâu bạn ơi, sửa luôn chứ nhỉ?
Hướng dẫn dùng nano đây: https://hocvps.com/cach-su-dung-nano-editor/
Em có cài csf nhưng khi remove đi thì ko thể vào được myphpadmin toàn bị lỗi This webpage is not available
Thanks for help me ~!
Làm 1 bài về: Mod_security đi bạn !
Mình dùng ZOC7 Terminal, giờ thì ok rồi bạn!
Thanks!
Bạn vui lòng có thể chỉ cách nào để lưu nội dung file đã chỉnh sửa trong ZOC khi chuyển TESTING = “1” thành TESTING = “0”?
Mình thay đổi thông số theo chỉ dẫn của bạn nhưng khi mở lại nó vẫn là giá trị trước đó!
Thanks!
Vấn đề là bạn edit bằng tool gì vậy? Cách đơn giản nhất là down file đó xuống, edit rồi up đè lên là xong
Luân ơi mình cài cái này vào thì ko dùng SMTP được, toàn báo lỗi
Error: Please check your configuration
The SMTP connection failed to start [ssl://smtp.yandex.com:465]: fsockopen returned Error Number 110 and Error String ‘Connection timed out’
Nhưng stop CSF là gửi bt@@
(Mình đã thêm port 465 vào TCP_IN TCP_OUT r
Chắc chắn là do port rồi, bạn kiểm tra kĩ lại xem. Ngoài ra check lại xem nhà cung cấp VPS có chặn gửi mail ko (ví dụ Vultr có chặn)
Nhưg khi tắt csf thì gửi bt ak bạn 🙁
chỉ lúc bật csf mới lỗi thui
Add port 465 vào TCP6_OUT nhé!
Chào bác, bác có thể cho em hỏi là cài plugin này vào có ảnh hưởng gì xấu gì tới tốc độ vps cũng như trải nghiệm người dùng website không? Đại loại là nhược điểm của em nó.
Cảm ơn bác!
Luân ơi sau khi cài CSF 1 thời gian thì mình thấy nó lỗi kinh khủng lắm.
Nếu nhiều khi bị lỗi connect với ssh không được, mình phải vào console trong trang quản lý server để disable CSF thì mới connect được.
Nặng hơn là đăng nhập vào website không được luôn. CŨng phải vào console để disable CSF đi.
Mình kiểm tra file csf config cũng không thấy nó block port nào cả mà cứ bị hiện tượng đó nên mình đã remove CSF luôn rồi/ 🙁
Trường hợp này hơi khó, trước hình như mình cũng bị thì phải, không nhớ chính xác nữa. Cũng phải restart CSF mới ổn.
Sau khi cài cái này thì em vào phpMyadmin thì bị lỗi này dù đã tắt hoặc remove
Các bác có cao kiến gì ko ạ ? Thanks bác Luân Trần
Error during session start; please check your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.
Bạn chạy thử lệnh này để chown cho thư mục session thử coi:
chown -R nginx:nginx /var/lib/php/session
Ngon quá. Thanks bác 😀
Khi mình cài đặt xong, bật csf lên như bình thường. Tất nhiên là cài đặt trên máy chủ có website, có dịch vụ email.
Nếu máy tính nào đó sử dụng Windows XP để vào website đặt trên VPS có cài CSF thì bị máy đó vào blacklist của CSF luôn.
Chào bạn,
Mình sau khi cài đặt xong, có 1 máy tính chạy Windows XP cứ bị suspend luôn, ko biết cấu hình thế nào để hết hiện tượng này.
thanks
WinXP thì đúng là dễ bị suspend lắm, bạn nên sử dụng Windows Server với bản quyền tránh bị suspend
Chào bạn, ý của mình là người sử dụng họ truy cập vào website để xem thông tin dùng Windows XP cơ.
thanks
Mình đang không hiểu bạn nói gì nữa rồi
Admin cho mình hỏi cài firewall và antivirus, antispam có ảnh hưởng gì đến việc con google bot nó vào để index sitemap không?
Admin cho mình hỏi là cái CSF này có khác với cái IPtables không vậy ? Admin có thể giúp thệm 1 tut vè IPtables không, vì mình đang rất thích phong cách viết tut rất rõ và chi tiết của admin. Cám ơn nhiều
Luân cho hỏi chút vps của mình tự động dùng mysql mà mình không biết. Lúc sờ đến thì thấy đã bị dừng rồi
Vậy có cách nào giải quyết ko? (vps cài Hocvps)
tks!
VPS của bạn khả năng cao là thiếu RAM nên mysql mới bị tắt, nâng RAM lên nhé
Bổ sung thêm:
Khởi động lại CSF: csf -r
Tắt CSF: csf -x
Mở CSF: csf -e
Cảm ơn bạn mình đã update lại vào bài
Hay quá, rất mong chờ bài viết tiếp theo của cậu! 🙂
Ah mà cho mình hỏi cái này có tốn nhiều tài nguyên của sever không hả cậu? Tầm khoảng bao nhiêu MB Ram dành ra để chạy nó thế?
Cái này không tốn nhiều tài nguyên đâu bạn 😉