Cài đặt và cấu hình tường lửa ConfigServer & Firewall (CSF)

Tác giả server360, T.Chín 18, 2012, 01:54:06 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cài đặt và cấu hình tường lửa ConfigServer & Firewall (CSF)


1. Giới thiệu.

ConfigServer & Firewall (CSF) là một gói ứng dụng hoạt động trên Linux như một tường lửa được phát hành miễn phí để tăng tính bảo mật cho máy chủ. CSF hoạt động dựa trên tường lửa Iptables và tiến trình ldf để quyét các tập tin nhật ký để phân tích và phát hiện các dấu hiệu tấn công bất thường.

2. Các tính năng của ConfigServer & Firewall (CSF).
  • 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 máy chủ như nâng cấp MySQL lên bản mới nhất.
  • Chống BruteForce Attack vào máy chủ FTP, Web, Email, DirectAdmin, cPanel...
  • Chống Syn Flood.
  • Chống Ping Flood.
  • Cho phép ngăn chặn truy cập từ một quốc gia nào đó bằng cách chỉ định Country Code theo chuẩn ISO.
  • Hỗ trợ IPv6 và IPv4.
  • Cho phép khóa các địa chỉ 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 không phải mệt nhọc xử lý yêu cầu từ các địa chỉ IP bị cấm nữa.
  • Cho phép bạn chuyến hướng yêu cầu từ các địa chr IP bị khóa sang một tập tin .html bất kỳ để thông báo cho người dùng biết vì sao địa chỉ IP của họ bị khóa.
  • Và rất nhiều tính năng khác, các bạn có thể đọc thêm tài liệu trên trang chủ của hãng.
3. Cài đặt ConfigServer & Firewall (CSF).

Đầu tiên các bạn chuyển vào thư mục /usr/src/ bằng lệnh sau.

Mã nguồn [Chọn]
[root@vietnetwork src]# cd /usr/src/
Tiếp theo, các bạn hãy tải nguồn cài đặt của CSF về bằng lệnh sau.

Mã nguồn [Chọn]
[root@vietnetwork src]# wget https://configserver.com/free/csf.tgz
Sau khi tải nguồn cài đặt về xong, các bạn hãy giải nén tập tin vừa tải về bằng lệnh sau.

Mã nguồn [Chọn]
[root@vietnetwork src]# tar -xvf csf.tgz
Sau đó các bạn chuyển vào thư mục vừa giải nén bằng lệnh sau.

Mã nguồn [Chọn]
[root@vietnetwork src]# cd csf
Chạy tập tin cài đặt bằng lệnh sau.

Mã nguồn [Chọn]
[root@vietnetwork csf]# sh install.shKhi các bạn thấy có thông báo Installation Completed hiện ra thì bạn đã cài đặt thành công ConfigServer & Firewall (CSF).

Các bạn hãy gõ lệnh sau đây để kiểm tra xem máy chủ của bạn đã có đầy đủ các module của tường lửa Iptables ConfigServer & Firewall (CSF) cần để hoạt động không.

Mã nguồn [Chọn]
[root@vietnetwork csf]# perl /etc/csf/csftest.pl
Nếu kết quả hiện ra như hình trên thì ConfigServer & Firewall (CSF) sẽ hoạt động rất tốt, nếu thiếu một số module thì bạn cũng đừng lo lắng, chỉ cần các bạn gõ lệnh này mà không có một lỗi FATAL errors nào xuất hiện thì ConfigServer & Firewall (CSF) sẽ có thể hoạt động tốt.

Nếu trước đây các bạn đã có cài một số tường lửa khác tương tự ConfigServer & Firewall (CSF) như APF + BFD thì các bạn phải gỡ bỏ nó bằng lệnh sau, nếu không thì ConfigServer & Firewall (CSF) sẽ xung đột và gây ra nhiều lỗi không mong muốn.

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 chẳng sao.

Mã nguồn [Chọn]
[root@vietnetwork csf]# sh /etc/csf/remove_apf_bfd.sh
4. Cấu hình ConfigServer & Firewall (CSF).

Nếu bạn đang sử dụng DirectAdmin hay cPanel thì sau khi cài ConfigServer & Firewall (CSF) nó sẽ xuất hiện dưới dạng như một Plugin trong giao diện quản trị để các bạn có thể cấu hình nó một cách dễ dàng.

4.1 Tắt chế độ TEST trong ConfigServer & Firewall (CSF)

Sau khi các bạn đã cài đặt ConfigServer & Firewall (CSF) thì nó mặc định sẽ được hoạt động ở chế độ TEST. Vì vậy để sử dụng thì các bạn phải chuyển nó sang chế độ hoạt động thực sự bằng cách sau.
  • Đăng nhập vào DirectAdmin với tài khoản admin hoặc cPanel với tài khoản root.
  • Nhấn vào ô tìm kiếm hoặc đi thẳng đến "ConfigServer Firewall & Security".
  • Chọn tiếp mục Firewall Configuration.
  • Các bạn hãy sửa lại phần TESTING thành 0.
  • Sau đó cuộn xuống gần đến cuối trang và nhấn vào nút Change.
  • Sau đó khởi động lại ConfigServer & Firewall (CSF) để nó nhận cấu hình mới của nó.
Nếu bạn ko dùng DirectAdmin hoặc cPanel thì các bạn có thể bỏ chế độ TEST thông qua cửa sổ dòng lệnh từ kết nối SSH.

Mở tập tin cấu hỉnh của ConfigServer & Firewall (CSF) theo lệnh sau đây.
Mã nguồn [Chọn]
[root@vietnetwork csf]# vi /etc/csf/csf.confTìm đến dòng TESTING và đổi giá trị từ 1 thành 0.
Mã nguồn [Chọn]
TESTING="0"
Sau đó các bạn hãy nhấn nút ESC rồi nhấn tiếp :x và nhấn Enter để lưu lại sự thay đổi.
Cuối cùng thì các bạn hãy gõ hai lệnh sau để khởi động lại ConfigServer & Firewall (CSF)

Mã nguồn [Chọn]
[root@vietnetwork csf]# csf -r
[root@vietnetwork csf]# csf -q

Nếu bạn thấy thông báo sau khi vào ConfigServer & Firewall (CSF) trên DirectAdmin hay cPanel nghĩa là nó đang hoạt động bình thường.

4.2. Chuyển đổi qua lại giữa các mức bảo mật của ConfigServer & Firewall (CSF)

Mặc định ConfigServer & Firewall (CSF) sẽ có 3 mức bảo mật. Các bạn có thể chuyển đổi qua lại giữa 3 mức này tùy thuộc vào các môi trường máy chủ mà các bạn đang sử dụng.
Khi thấy máy chủ đang bị DoS thì các bạn có thể chuyển ConfigServer & Firewall (CSF) qua mức cao nhất có thể.
  • Đăng nhập vào DirectAdmin với tài khoản admin hoặc cPanel với tài khoản root.
  • Nhấn vào ô tìm kiếm hoặc đi thẳng đến "ConfigServer Firewall & Security".
  • Chọn tiếp mục Firewall Configuration.
  • Chọn tiếp mục Firewall Security Level.
  • Ở màn hình tiếp theo các bạn hãy chọn 1 trong 3 mức: Low (Thấp), Medium (Trung bình), Hight (Cao).
4.3. Cách chặn hoặc cho phép một địa chỉ IP nào đó.

Khi các bạn chặn 1 địa chỉ IP trên ConfigServer & Firewall (CSF) thì địa chỉ IP đó sẽ bị chặn bằng tường lửa Iptables, do đó các kết nối từ địa chỉ IP này gửi đến không thế đến được tầng ứng dụng nên sẽ giảm đáng kể tài nguyên so với việc chặn bằng tập tin .htaccess hoặc cáccách khác tương tự khác.
Trong một số trường hợp các bạn cần đưa địa chỉ IP nào đó vào Whitelist như địa chỉ IP của người quản trị máy chủ để các địa chỉ IP này luôn được chấp nhận kết nối mà không bị chặn nhầm lẫn. Các bạn có thể thực hiện thông qua ConfigServer & Firewall (CSF)nếu không biết gì về tường lửa Iptables.
  • Để cho phép 1 địa chỉ IP vào Whitelist thì các bạn nhập địa chỉ IP và nhấn vào nút "Quick Allow"
  • Để chặn vĩnh viễn 1 địa chỉ IP thì các bạn nhập địa chỉ IP vào và nhấn vào nút "Quick Deny".
Để chặn tạm thời 1 địa chỉ IP nào đó hoặc cho phép tạm thời 1 địa chỉ IP nào đó thì các bạn có thể làm như sau.
  • Ô thứ nhất: Chọn Block hoặc Allow.
  • Ô thứ 2: địa chỉ IP cần Block hoặc cần Allow.
  • Ô thứ 3: Thời gian Block hoặc Allow.
Để mở khóa 1 địa chỉ IP đang bị cấm thì các bạn hãy nhập địa chỉ IP vào và nhấn vào nút "Unblock"

4.4. Xem danh sách địa chỉ IP bị cấm và danh sách địa chỉ IP được Allow.
  • Khi xem danh sách thì các bạn có thể xóa bớt đi rồi nhấn vào nút Change để cập nhật thay đổi.
  • Đối với các địa chỉ IP bị cấm thì sẽ có lý do bị cấm hiện bên cạnh để các bạn dễ theo dõi.
4.5. Mở Port trên ConfigServer & Firewall (CSF)

Mặc định khi cài đặt ConfigServer & Firewall (CSF)thì nó đã kiểm tra trên máy chủ của bạn đang chạy những dịch vụ nào thì nó sẽ tự động mởi ra những Port của những dịch vụ đó, để người dùng có thể truy cập.
Tuy nhiên, sau khi cài đặt ConfigServer & Firewall (CSF) mà bạn thay đổi Port của 1 dịch vụ nào đó thì sao. Ví dụ thay đổi Port của dịch vụ SSH, không dùng Port 22 nữa thì sao.

Nếu các bạn không cấu hình cho phép trên ConfigServer & Firewall (CSF) thì các bạn sẽ không còn có thể sử dụng được nữa. Vì vậy, trước khi đổi Port của 1 dịch vụ nào đó thì các bạn nên nhớ mở Port đó trên ConfigServer & Firewall (CSF) trước khi đổi Port.

Để mở Port thì bạn có thể cấu hình ở mục Firewall Configuration trong giao diện quản trị DirectAdmin hoặc cPanel.

Sẽ có 2 mục ở Port setting, mỗi mục có 2 phần là IN OUT. Một mục để cấu hình trên địa chỉ IPv4, 1 mục để cấu hình trên địa chỉ IPv6, nếu các bạn không dùng IPv6 thì các bạn chỉ việc điều chỉnh vùng Port Setting đầu là được.

4.6. Cấu hình phòng chống DoS và Flood.

Mặc định, ConfigServer & Firewall (CSF)đã có những thiết lập cho việc này rồi nhưng các bạn cũng có thể cấu hình lại theo ý mình và nhu cầu sử dụng riêng của mình.
Ví dụ các bạn chỉ nhận 1 gói tin ICMP được ping từ 1 địa chỉ IP trong 1 giây thôi thì trong mục Firewall Configuration bạn có thể cấu hình nó.
Tương tự như vậy, còn có nhiều phần khác về cấu hình phòng chống Syn Flood, UDP Flood... thì các bạn tự đọc thêm tài liệu trên trang chủ của hãng.
4.7. Chặn truy cập từ một quốc gia nào đó.

Các bạn có thể chặn truy cập từ 1 quốc gia nào đó thật dễ dàng bằng  ConfigServer & Firewall (CSF). Ví dụ các 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ập vào mã quốc gia với chỉ với 2 ký tự  trong ô CC_DENY
  • Cuộn xuống cuối trang và nhấn vào nút Change để lưu cấu hình mới.
  • Sau đó khởi động lại ConfigServer & Firewall (CSF) để nó nhận cấu hình mới.
Không nến lạm dụng tính năng này và chỉ nên sử dụng trong trường hợp thật cần thiết vì nó có thể làm chậm máy chủ của bạn rất đáng kể và việc kiểm tra 1 địa chỉ IP của 1 quốc gia nào đó cũng không thật chính xác 100%.

4.8. Spamhaus và Bogo.

Đây là 2 tổ chức lưu giữ danh sách các địa chỉ IP được coi là Spam và phá hoại. ConfigServer & Firewall (CSF)hỗ trợ tự động cập nhật danh sách các địa chỉ IP này và cấm chúng. Vì vậy khi các bạn vừa cài đặt ConfigServer & Firewall (CSF) xong thì các bạn không phải ngạc nhiên khi thấy một đống địa chỉ IP trong tập tin cấu hình của tường lửa Iptables.

Các bạn có thể cấu hình ConfigServer & Firewall (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ố đó bằng 0.

Ngoài ra các bạn còn có thể sử dụng tính năng này để cập nhật danh sách các địa chỉ IP bị cấm vào 1 tập tin .txt nào đó trên Website rồi nhập đường dẫn tập tin .txt đó vào đây để ConfigServer & Firewall (CSF)tự lấy từ đó mà cấm.

5. Gỡ bỏ ConfigServer & Firewall (CSF)

Nếu bạn muốn gỡ bỏ ConfigServer & Firewall (CSF) thì các bạn có thể làm như sau đây.

Nếu dùng cPanel thì gõ lệnh sau đây.

Mã nguồn [Chọn]
cd /etc/csf
sh uninstall.sh

Nếu dùng DirectAdmin thì gõ lệnh sau đây.

Mã nguồn [Chọn]
cd /etc/csf
sh uninstall.directadmin.sh

Nếu dùng các bản phân phối Linux thông thường khác thì gõ lệnh sau đây.

Mã nguồn [Chọn]
cd /etc/csf
sh uninstall.generic.sh

Nếu các bạn có thủ thuật nào hay hơn thì hãy nhớ chia sẻ với mọi người qua bình luận bên dưới.