Liên hệ
server

CSF cài đặt, cấu hình firewall cho server

CSF và lfd có chức năng firewall làm việc cùng iptables để bảo mật, giám sát hệ thống, ngăn chặn truy cập trái phép, chống lại DOSS, brutefore ...

ConfigServer Firewall (csf)

CSF hoạt động cùng iptables, CSF giúp viết các luật cho iptables dễ dàng hơn và một số chức năng về bảo mật khác và khả năng giáp sát hoạt động hệ thống.

CSF cài vào server ở directory:

  • /etc/csf/  -  lưu các file cấu hình
  • /var/lib/csf/       
  • /usr/local/csf/bin/
  • /usr/local/csf/lib/
  • /usr/local/csf/tpl/

Login Failure Daemon (lfd)

Đi cùng CSF là LFD, nó có chạy thường trực trên server, có chức năng giám sát các file logs để phát hiện các đăng nhập trái phép (ví dụ đăng nhập SSH sai password 3 lần ...) và ngăn chặn IP trái phép đó.

Cài đặt CSF, LFD

Cài bằng cách lệnh sau:

cd /usr/src
rm -fv csf.tgz
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh

Sau khi cài xong, cần kiểm tra server đã có đủ các module iptables để CSF làm việc không bằng lệnh: 

perl /usr/local/csf/bin/csftest.pl

 

Nếu muốn gỡ bỏ CSF thì dùng lệnh:

cd /etc/csf
sh uninstall.sh

Các lệnh của CSF

Xem hướng dẫn, danh sách các lệnh bằng cách gõ:

csf -h

Nói chung để thi hành các lệnh thì gõ csf + [option]

csf -r nạp lại các luật, cấu hình firewall

sf -l hiện thị các luật trong iptables

csf -u cập nhật csf

sf -s start firewall

csf -f hùy các luật và dừng firewall

csf --lfd [stop|start|restart|status] dừng / chạy / khởi động lại / trạng thái của LFD

csf -a ip cho phép ip truy cập

csf -d ip chặn ip

csf -df ip bỏ chặp ip

csf -t hiện thị danh sách ip cho phép và bị chặn tạm thời (ip tự ra khỏi danh sách sau một khoảng thời gian).

csf -x tắt hoàn toàn csf và lfd

csf -e kích hoạt lại csf à lfd

Cấu hình CSF, LFD để bảo mật server, chặn truy cập trái phép ...

Nói chung tất cả cấu hình CSF, các luật firewall đều thiết lập, chỉnh sửa từ các file trong thư mục: /etc/csf

csf.conf    -  file cấu hình chính
csf.allow    - file chứa danh sách ip cho phép qua firewall 
csf.deny    - file chứa danh sách ip không bao giờ được vượt qua firewall (khác với danh sách tạm thời, cho qua firewall sau một khoảng thời gian ...)

 csf.ignore  - file chứa danh sách IP mà lf bỏ qua và không bị block nếu phát hiện

Mỗi khi cập nhật xong các file trên, để có hiệu lực luôn phải nạp lại cấu hình này cho csf bằng lệnh

#csf -r && service lfd restart

Tiến hành thiết lập các chức năng cơ bản của firewall csf, iptables

Mở file csf.conf ở trên ra, và tiến hành chỉnh sửa, sau khi chỉnh sửa nhớ chạy 

#csf -r && service lfd restart

Việc đầu tiên là trong csf.conf tìm đến dòng TESTING = "1" sửa thành TESTING = "0" để CSF chạy đủ chức năng.

1) Bảo vệ khỏi tấn công DOS bằng cách giới hạn số lượng truy cập tới cổng

Thiết lập để sao cho chỉ có một số lượng tối đa IP truy cập vào cổng. Tìm đến CONNLIMIT và sửa theo cú pháp [cổng,số ip, cổng, số ip] ví dụ tối đa 5 ip kết nối cổng 22 , tối đa 20 kết nối tới 80 (http)

CONNLIMIT = "22;5,80;20" 

bạn có thể đặt

CONNLIMIT = "80;75 21;50"

2) Phòng chống Port Flood

 Sửa tại dòng

PORTFLOOD = "..."

với cú pháp : cổng;giao thức;hit;số giây

Ví dụ nếu IP thực hiện tới 60 kết nối tớ cổng 80 trong vòng 5 giây thì bị block.

PORTFLOOD = "80;tcp;60;5"

3) Phòng chống SYN FLOOD

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

4) Mở cổng, đóng cổng

Mở cổng nào thì thêm cổng vào dòng TPC_IN và TPC_OUT

TCP_IN = "20,21,22,25,53,80"
TCP_OUT = "20,21,22,25,53,80,110"

* Các cổng mà các dịch vụ trên server sử dụng:

  • Port 20: FTP data transfer
  • Port 21: FTP
  • Port 22: SSH
  • Port 25: SMTP
  • Port 53: DNS
  • Port 80: HTTP
  • Port 110: POP3
  • Port 113: Authentication service/identification protocol
  • Port 143: IMAP
  • Port 443: SSL/TLS (HTTPS)

5) Khởi động lại Apache nếu server quá tải

Nhiều trường hợp server quá tải, dẫn tới bị treo. Có thể khởi động lại dịch vụ Apache bằng cách tạo ra một một file script có  /restartapache.sh

#!/bin/sh
service httpd restart >>overload.log

Rồi tìm đến PT_LOAD_ACTION thay bằng

PT_LOAD_ACTION="/restartapache.sh"

6) Cấm tất cả các IP đến từ một quốc gia nào đó

Tìm đến dòng CC_DENY và điền mã quốc gia cần cấm. Ví dụ chặn IP đến từ Nga và TQ

CC_DENY = "RU,CN"

7)Email thông báo

Các sự kiện do CSF xử lý, bắt được sẽ được gửi tới một email

LF_ALERT_TO = "server@yourdomain.com"

8) Block danh sách IP

CSF cung cấp khóa cả danh sách IP, bằng cách đưa URL của danh sách đó vào file csf.blocklists.

Một số danh sách có thể dùng đến:

# Spamhaus Don't Route Or Peer List (DROP)
# Details: http://www.spamhaus.org/drop/
SPAMDROP|86400|0|http://www.spamhaus.org/drop/drop.lasso

# Spamhaus Extended DROP List (EDROP)
# Details: http://www.spamhaus.org/drop/
SPAMEDROP|86400|0|http://www.spamhaus.org/drop/edrop.lasso

# DShield.org Recommended Block List
# Details: http://dshield.org
DSHIELD|86400|0|http://www.dshield.org/block.txt

# TOR Exit Nodes List
# Set URLGET in csf.conf to use LWP as this list uses an SSL connection
# Details: https://trac.torproject.org/projects/tor/wiki/doc/TorDNSExitList
TOR|3600|0|https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=1.2.3.4

# Alternative TOR Exit Nodes List
# Details: http://torstatus.blutmagie.de/
ALTTOR|86400|0|http://torstatus.blutmagie.de/ip_list_exit.php/Tor_ip_list_EXIT.csv

# BOGON list
# Details: http://www.team-cymru.org/Services/Bogons/
BOGON|86400|0|http://www.cymru.com/Documents/bogon-bn-agg.txt

# Project Honey Pot Directory of Dictionary Attacker IPs
# Details: http://www.projecthoneypot.org
HONEYPOT|86400|0|http://www.projecthoneypot.org/list_of_ips.php?t=d&rss=1

# C.I. Army Malicious IP List
# Details: http://www.ciarmy.com
CIARMY|86400|0|http://www.ciarmy.com/list/ci-badguys.txt

# BruteForceBlocker IP List
# Details: http://danger.rulez.sk/index.php/bruteforceblocker/
BFB|86400|0|http://danger.rulez.sk/projects/bruteforceblocker/blist.php

# OpenBL.org 30 day List
# Set URLGET in csf.conf to use LWP as this list uses an SSL connection
# Details: https://www.openbl.org
OPENBL|86400|0|https://www.openbl.org/lists/base_30days.txt

# Autoshun Shun List
# Details: http://www.autoshun.org/
AUTOSHUN|86400|0|http://www.autoshun.org/files/shunlist.csv

# MaxMind GeoIP Anonymous Proxies
# Set URLGET in csf.conf to use LWP as this list uses an SSL connection
# Details: https://www.maxmind.com/en/anonymous_proxies
MAXMIND|86400|0|https://www.maxmind.com/en/anonymous_proxies

# Blocklist.de
# Set URLGET in csf.conf to use LWP as this list uses an SSL connection
# Details: https://www.blocklist.de
# This first list only retrieves the IP addresses added in the last hour
#BDE|3600|0|https://api.blocklist.de/getlast.php?time=3600
# This second list retrieves all the IP addresses added in the last 48 hours
# and is usually a very large list (over 10000 entries), so be sure that you
# have the resources available to use it
BDEALL|86400|0|http://lists.blocklist.de/lists/all.txt

# Stop Forum Spam
# Details: http://www.stopforumspam.com/downloads/
# Many of the lists available contain a vast number of IP addresses so special
# care needs to be made when selecting from their lists
STOPFORUMSPAM|86400|0|http://www.stopforumspam.com/downloads/listed_ip_1.zip

9) Một số cấu hình khác

Vui lòng đăng ký ủng hộ kênh