Hướng dẫn cài đặt và cấu hình CSF chống DoS, chống Hack (ConfigServer & Firewall)
	
	
		CSF (ConfigServer & Firewall) là 1 gói  ứng dụng hoạt động trên Linux như 1 Firewall được phát hành miễn phí để  tăng tính bảo mật cho server (VPS và Dedicated). CSF hoạt động dựa trên  iptables và tiến trình ldf để quyét các file log để phát hiện các dấu  hiệu tấn công bất thường.
CSF sẽ giúp server của bạn:
- Chống DoS các loại
- Chống Scan Port
- Đưa ra các lời khuyên về việc cấu hình server (VD: Nên nâng cấp MySQL lên bản mới hơn)
- Chống BruteForce Attack vào ftp server, web server, mail server,directadmin,cPanel...
- Chống Syn Flood
- Chống Ping Flood
- Cho phép ngăn chặn truy cập từ 1 quốc gia nào đó bằng cách chỉ định Country Code chuẫn ISO
- Hỗ trợ IPv6 và IPv4
- CHo phép khóa IP tạm thời và vĩnh viễn ở tầng mạng (An toàn hơn ở tầng  ứng dụng ) nên webserver ko phải mệt nhọc xử lý yêu cầu từ các IP bị  cấm nữa
- Cho phép bạn chuyến hướng yêu cầu từ các IP bị khóa sang 1 file html để thông báo cho người dùng biết IP của họ bị khóa
-Và rất nhiều tính năng khác, các bạn tự tìm hiểu thêm
1. Cách cài đặt CSF (ConfigServer & Firewall)  
Đầu tiên các bạn chuyển vào thư mục /usr/src/ bằng lệnh sau
	Mã:
	
[root@server1 src]# cd /usr/src/
 Tiếp theo, các bạn tải csf về bằng lệnh sau
 
Sau khi tải về xong, các bạn giải nén file vừa tải về bằng lệnh
	Mã:
	
[root@server1 src]# tar -xvf csf.tgz
 Các bạn chuyển vào thư mục vừa giải nén bằng lệnh
	Mã:
	
[root@server1 src]# cd csf
 Chạy file cài đặt bằng lệnh
 
Khi thông báo Installation Completed hiện ra tức là bạn đã cài thành công
Bạn gõ lệnh sau để kiểm tra xem server của bạn có đầy đủ các module iptables mà csf cần để hoạt động ko
	Mã:
	
[root@server1 csf]# perl /etc/csf/csftest.pl
  
nếu kết quả như hình trên thì csf sẽ hoạt động rất tốt, nếu thiếu 1 số  module thì bạn cũng đừng lo lắng, chỉ cần khi bạn gõ lệnh này mà không  có 1 lỗi FATAL errors nào xuất hiện thì csf sẽ có thể hoạt động được http://sinhvienit.net/@forum/images/...NewYahoo/1.gif
Nếu trước đây bạn có cài 1 số firewall khác dạng như csf như  APF + BFD,  bạn nên gỡ bỏ nó bằng lệnh sau, nếu không, sẽ gây ra 1 sự xung đột  khủng khiếp http://sinhvienit.net/@forum/images/...ewYahoo/42.gif
Nếu bạn lo lắng vì không biết trước đây đã có cài chúng hay chưa thì  cũng đừng lo lắng, cứ chạy lệnh này, nếu có thì nó sẽ được gỡ bỏ, nếu  không thì cũng không sao http://sinhvienit.net/@forum/images/...ewYahoo/10.gif
 
	Mã:
	
[root@server1 csf]# sh /etc/csf/remove_apf_bfd.sh
     
2. Cấu hình CSF như thế nào ?
Nếu bạn đang cài DirectAdmin hay cPanel, thì sau khi cài CSF trong  cPanel hoặc DirectAdmin sẽ có thêm 1 plugin để bạn cấu hình nó.
 
2.1 Tắt chế độ Test Mode trên CSF
Sau khi cài đặt CSF thì CSF đã được enable nhưng ở chế độ Test Mode. Bạn chuyển sang chế độ hoạt động bằng cách sau
- Login vào DirectAdmin (Tài khoản admin) hoặc cPanel (Tài khoản root)
- Click chọn chức năng "ConfigServer Firewall&Security"
 
Chọn tiếp mục Firewall Configuration như hình sau
 
bạn sửa phần TESTING thành 0 như hình dưới
 
Sau đó cuộn xuống gần cuối trang bấm change
 
Bấm restart csf + ldf để thay đổi cập nhật
 
Nếu bạn ko dùng DirectAdmin hoặc cPanel? Đừng lo lắng http://sinhvienit.net/@forum/images/...NewYahoo/4.gif , bạn có thể bỏ test mode bằng cách sau trên SSH
Bạn gõ lệnh
	Mã:
	
[root@server1 csf]# vi /etc/csf/csf.conf
 Bấm nút I (Nút chữ I trên bàn phím) rồi sửa chỗ TESTING="1" thành TESTING="0"
 
Sau đó bạn bấm nút ESC, rồi bấm tiếp http://sinhvienit.net/@forum/images/...NewYahoo/8.gif (dấu 2 chấm và chữ x thường) rồi Enter
Cuối cùng bạn gõ 2 lệnh sau để khởi động lại csf
	Mã:
	
[root@server1 csf]# csf -r
[root@server1 csf]# csf -q
 Nếu bạn thấy thông báo sau khi vào csf trên DirectAdmin hay cPanel tức là CSF đang chạy
 
3. Chuyển đổi qua lại giữa các mức bảo mật của CSF
Mặc định, CSF có 3 level bảo mật. Bạn có thể chuyển đổi qua lại giữa 3 mức này tùy trường hợp. 
VD: Thấy server đang bị DoS có thể chuyển qua mức cao nhất
- Login vào DirectAdmin (Tài khoản admin) hoặc cPanel (Tài khoản root)
- Click chọn chức năng "ConfigServer Firewall&Security"
- Chọn tiếp mục Firewall Security Level
 
- Ở màn hình tiếp theo bạn chọn 1 trong 3 mức: Low (Thấp), Medium (Trung bình), Hight (Cao)
 
4. Cách chặn và luôn chấp nhận 1 IP nào đó như thế nào ?
Khi bạn chặn 1 ip trên csf thì IP đó sẽ bị chặn bằng iptables, do đó các  kết nối từ ip này gửi đến không thế lên tầng mạng nên sẽ giảm đáng kể  tài nguyên so với việc chặn bằng .htaccess hay cách khác tương tự.
Trong 1 số trường hợp bạn cần đưa IP nào đó vào Whitelist (Ví dụ: IP của  bạn, IP của người quản trị server) để các IP này luôn được chấp nhận  kết nối mà không bị chặn nhầm
=> Bạn có thể thực hiện thông qua csf nếu không biết gì về IPtables http://sinhvienit.net/@forum/images/...NewYahoo/4.gif
+ Để chấp nhận 1 IP vào whitelist bạn nhập IP cần ô khoanh đỏ bên dưới rồi bấm "Quick Allow"
 Cách Allow nhanh 1 IP
 
+ Để chặn vĩnh viễn 1 IP, bạn nhập IP cần ô khoanh đỏ bên dưới rồi bấm "Quick Deny"
  
+ Để cấm tạm thời 1 IP nào đó hay Allow tạm thời 1 IP nào đó bạn có thể làm như hình sau:
Ô thứ nhất: Chọn Block (Cấm) hoặc Allow (Chấp nhận)
Ô thứ 2: IP cần Block hay cần Allow là gì ?
Ô thứ 3: Thời gian cấm hoặc Allow là bao nhiêu ?
 Cách chặn hoặc allow tạm thời 1 IP
 
+ Để mở khóa cho 1 IP đang bị cấm bạn nhập IP vào ô đỏ bên dưới rồi bấm "Unblock"
  5. Xem danh sách IP bị cấm và danh sách IP được Allow
 
Khi xem danh sách, bạn có thể xóa bớt đi rồi bấm change để cập nhật thay  đổi. Đối với IP bị cấm, sẽ có lý do bị cấm hiện bên cạnh để bạn dễ theo  dõi
 
5. Mở Port trên CSF
Mặc định, khi cài CSF thì CSF đã kiểm trên trên server của bạn đang chạy  những dịch vụ nào thì CSF sẽ mở những port của các dịch đó để người  dùng có thể truy cập.
Tuy nhiên, sau khi cài bạn thay đổi port của 1 dịch vụ nào đó. Ví dụ thay đổi port của SSH, không dùng port 22 nữa thì sao ?
Nếu bạn ko chỉnh lại trên CSF thì khi bạn không thể truy cập vào SSH  bằng port mới mà IP của bạn sẽ bị CSF cấm luôn vì tội Scan Port http://sinhvienit.net/@forum/images/...NewYahoo/4.gif
Vì vậy, trước khi đổi port 1 dịch vụ nào đó, bạn nên mở port đó trên CSF trước rồi chuyển nhé http://sinhvienit.net/@forum/images/...NewYahoo/1.gif
Để mở port, bạn có thể cấu hình ở mục như hình sau trong mục Firewall Configuration
Sẽ có 2 mục Port setting như trong hình (Mỗi mục có 2 phần là IN và  OUT), 1 mục để cấu hình trên IPv4, 1 mục để cấu hình trên IPv6, nếu bạn  không dùng IPv6 bạn chỉ việc chỉnh trên vùng Port setting đầu là được.
7. Cấu hình chống DoS và Flood
Mặc định, CSF đã có những thiết lập cho việc này rồi, nhưng bạn cũng có thể chỉnh lại thei ý mình.
Ví dụ: Bạn chỉ nhận 1 gói tin ICMP (Ping) từ 1 IP trong 1 giây thôi thì trong mục Firewall Configuration bạn có thể chỉnh nó
 
Tương tự như vậy, còn nhiều phần khác về cấu hình chống Syn Flood, UDP Flood .... các bạn tự tìm hiểu thêm.
Và lưu ý rằng, cái firewall vào mà ko cấu hình gì thì cũng như không cài mà thôi http://sinhvienit.net/@forum/images/...NewYahoo/4.gif
8. Chặn truy cập từ 1 nước nào đó
Bạn có thể chặn truy cập từ 1 trước nào đó thật dễ dàng bằng CSF http://sinhvienit.net/@forum/images/...NewYahoo/4.gif
Ví dụ, bạn muốn chặn truy cập từ Mỹ, Trung Quốc thì bạn làm như sau:
Vào mục Firewall Configuration như mục 2.1, nhập mã quốc gia (2 ký tự) của 1 nước này vào ô CC_DENY rồi cuộn xuống cuối trang bấm change và restart lại csf và ldf là xong
 
Lưu ý: Không lạm dụng chức năng này, chỉ sử dụng khi  thật cần thiết vì nó có thể làm chậm server của bạn và dữ liệu kiểm tra 1  ip của nước nào không thật chính xác 100% 
9. SPAMHAUS và BOGO là nó là thứ gì ?
Đây là 2 tổ chức cập nhật danh sách các IP được coi là Spam và chuyên đi  tấn công cho cộng đồng. CSF hỗ trợ tự động cập nhật danh sách các IP  này và cấm chúng.
Vì vậy mà khi bạn vừa cài CSF xong bạn đã thấy 1 đống IP trong bảng luật của IPtables.
Thật ra, mình không thật cần dùng 2 cái danh sách này vì xác xuất chúng  tấn công mình là < 1%. Mà để nó chỉ tổ làm chậm quá trình kết nối mà  thôi.
Hơn nữa, khi ipatbles quá nhiều luật thì có thể server của bạn sẽ phát  điên lên và chẳng IP nào kết nối đến nó được nữa nên lâu lâu bạn cũng  nên làm sạch danh sách bị cấm bằng cách dùng chức năng Flush All Block như hình dưới
 
Quay lại Spamhaus và Bono, bạn có thể thiết lập CSF không lấy danh sách  từ đó về để cập nhật vào bảng cấm nữa bằng cách vào Firewall  Configuration thiết lập 2 thông số khoanh đỏ bằng 0:
Ngoài ra, bạn có thể sử dụng tính năng này để cập nhật danh sách các IP  bị cấm vào 1 file .txt nào đó trên web rồi nhập đường dẫn file .txt đó  vào đây để CSF tự lấy từ đó để cấm http://sinhvienit.net/@forum/images/...NewYahoo/1.gif
10. Gỡ bỏ CSF như thế nào ?
Nếu bạn muốn gỡ bỏ CSF, bạn có thể làm như sau
10.1 Nếu server dùng cPanel thì gõ lệnh sau:
	Mã:
	
cd /etc/csf
sh uninstall.sh
 10.2 Nếu server dùng DirectAdmin thì gõ lệnh sau:
	Mã:
	
cd /etc/csf
sh uninstall.directadmin.sh
 10.3 Trường hợp còn lại thì bạn gõ lệnh sau:
	Mã:
	
cd /etc/csf
sh uninstall.generic.sh
 
- Nếu bạn thấy bài viết này hữu ích ? Hãy bấm Thanks và Like http://sinhvienit.net/@forum/images/...NewYahoo/4.gif
- Nếu bạn muốn bài viết tiếp theo dạng như thế này sẽ sớm xuất hiện ? Hãy share bài này cho bạn bè của mình http://sinhvienit.net/@forum/images/...ewYahoo/10.gif
- Nếu bạn muốn copy bài viết này ? Nhớ ghi nguồn và link về bài viết này. Thanks ! http://sinhvienit.net/@forum/images/...NewYahoo/1.gif
- Lưu ý: Không có gì là tuyệt đối, CSF chỉ giúp bạn đỡ đi phần nào thôi, dùng từ "Chống" cho hoành tráng ý mà http://sinhvienit.net/@forum/images/...ewYahoo/71.gif
Cách bảo mật cho website, cách  chống DoS, cách chặn truy cập từ nước ngoài, cách chống Scan Port, Cách  chống Syn Flood, cách chống Ping Flood, cách chống Hack, cách bảo mật  server, cách cài CSF, cách cầu hình CSF, cách sử dụng CSF, cách chống  DDoS