Tìm hiểu về hệ thống Firewall
Firewall là gì ?
Tường lửa (Firewall) là hệ thống an ninh mạng, có thể là phần cứng hoặc phần mềm, giúp kiểm soát lưu lượng truy cập vào và ra khỏi hệ thống Nó hoạt động như một rào chắn giữa mạng an toàn và không an toàn, đảm bảo chỉ những lưu lượng truy cập phù hợp với chính sách đã định nghĩa mới được phép truy cập vào mạng, trong khi mọi lưu lượng không phù hợp sẽ bị từ chối.
Các chức năng chính của Firewall
Chức năng chính của Firewall là kiểm soát luồng thông tin từ giữa
Thiết lập cơ chế điều khiển dòng thông tin giữa mạng bên trong
Cho phép hoặc cấm những dịch vụ truy nhập ra ngoài (từ Intranet ra Internet).
Cho phép hoặc cấm những dịch vụ phép truy nhập vào trong (từ Internet vào Intranet)
Theo dõi luồng dữ liệu mạng giữa Internet và Intranet Kiểm soát địa chỉ truy nhập, cấm địa chỉ truy nhập.
Kiểm soát người sử dụng và việc truy nhập của người sử dụng Kiểm soát nội dung thông tin thông tin lưu chuyển trên mạng
Phân loại Firewall
Firewall được chia làm 2 loại gồm: Firewall cứng và Firewall mềm.
Firewall mềm l à những Firewall được cài đặt trên Server. Đặc điểm của Firewall mềm:
- Tính linh hoạt cao: Có thể thêm, bớt các quy tắc, các chức năng.
- Firewall mềm hoạt động ở tầng cao hơn Firewall cứng (tầng ứng dụng)
- Firewal mềm có thể kiểm tra được nội dung của gói tin (thông qua các từ khóa).
Firewall cứng: Là những firewall được tích hợp trên Router. Đặc điểm của Firewall cứng:
- Không được linh hoạt như Firewall mềm: (Không thể thêm chức năng, thêm quy tắc như firewall mềm)
- Firewall cứng hoạt động ở tầng thấp hơn Firewall mềm (Tầng Network và tầng Transport)
- Firewall cứng không thể kiểm tra được nột dung của gói tin.
TỔNG QUAN VỀ TƯỜNG LỬA PFSENSE
Tường lửa pfsense
PfSense là một ứng dụng định tuyến và tường lửa miễn phí mạnh mẽ, cho phép mở rộng mạng mà không ảnh hưởng đến bảo mật Ra mắt vào năm 2004, pfSense đã thu hút hơn 1 triệu lượt tải và được sử dụng để bảo vệ mạng ở mọi quy mô, từ gia đình đến doanh nghiệp lớn Với một cộng đồng phát triển năng động, pfSense liên tục cập nhật các tính năng mới nhằm nâng cao bảo mật, độ ổn định và tính linh hoạt.
Pfsense cung cấp nhiều tính năng tương tự như các thiết bị tường lửa và router thương mại, bao gồm giao diện người dùng web (GUI) giúp quản lý dễ dàng và hiệu quả.
PfSense, được xây dựng trên nền tảng FreeBSD và sử dụng giao thức Common Address Redundancy Protocol (CARP), cung cấp tính năng dự phòng hiệu quả bằng cách cho phép quản trị viên kết hợp nhiều tường lửa vào một nhóm tự động chuyển đổi khi gặp sự cố Hệ thống này hỗ trợ nhiều kết nối mạng diện rộng (WAN), giúp thực hiện cân bằng tải một cách linh hoạt.
Lợi ích của pfsense
Tường lửa pfSense hoàn toàn miễn phí, mang lại lợi thế vượt trội về giá cả mà không làm giảm chất lượng Nó hoạt động ổn định với hiệu suất cao, đã được tối ưu hóa cả mã nguồn lẫn hệ điều hành Do đó, pfSense không yêu cầu phần cứng mạnh mẽ; ngay cả khi doanh nghiệp không có đường truyền tốc độ cao, chỉ cần cài đặt trên một máy tính cá nhân là đủ để bắt đầu Điều này không chỉ giúp giảm chi phí triển khai mà còn mang lại sự linh hoạt và khả năng mở rộng chưa từng có cho doanh nghiệp.
Hình 1 Lợi ích mà Pfsense đem lại
CÀI ĐẶT PFSENSE
Tạo máy ảo pfsense
Vào New Virtual Machine Wizard sau đó chọn Other để chọn VersionFreeBSD Đặt tên cho máy Pfsense, sau đó chọn nơi lưu trữ
Tùy chỉnh dung lượng ổ cứng
Card mạng đầu tiên chọn Card Bridged của card mạng của máy thật để vào mạng
Add thêm 1 card chọn Host Only
Sau đó tiến hành chạy máy ảo
Chọn OK để tiếp tục cài đặt
Cấu hình IP và thiết lập DHCP
Chưa cần cấu hình VLAN nên sẽ chọn no
Chọn Card em0 làm WAN
Chọn Option 2 để tiền hình đặt IP address
Chọn card số 2 ( LAN em1) để cài đặt
Phần IPv6 “Click Enter ” để bỏ qua
Chọn “y”thiết lập DHCP cho LAN
Cấp phát địa chỉ từ 192.168.8.10 -> 192.168.8.25
Máy Window 10 sử dụng card VMnet 8 Host-only để cùng đường mạng với máy Pfsense
Cấu hình pfsense trên web
Đăng nhập vào pfsense trên web để cấu hình với tài khoản mặc định Username : admin
Khi đăng nhập thành công vào pfsense thì tại máy pfsense sẽ hiện thông báo đã đăng nhập
Chỉnh Timezone Asia/Ho_Chi_Minh sau đó chọn Next
Nhấn Finish để hoàn thành cài đặt Đây là giao diện Dashboard của Pfsen
CẤU HÌNH CÁC DỊCH VỤ TRONG PFSENSE
Cấu hình Aliases
Aliases là tính năng vô cùng hữu hiệu của pfsense Một Aliases có thể định nghĩa được rất nhiều port hoặc một host hoặc nhiều dãy IP.
Ví dụ đơn giản, bạn muốn block IP Facebook-Facebook là một dãy IP rất nhiều lớp mạng, ta không thể làm từng Rules trên Firewall để chặn
Facebook, nó làm ta mất nhiều thời gian, làm chậm hệ thống, làm khó khăn cho việc quản trị Và chỉ cần ta tạo một Aliases có Tên là
To block access to Facebook.com, create an IP alias named IP_Facebook on your firewall By setting up a rule to block this alias, you can effectively restrict access to Facebook Additionally, ensure that you configure the alias with the website hufi.edu.vn for proper implementation.
Dùng nslookup để xem địa chỉ của hufi.edu.vn
Sau đó điền thông tin vào để cấu hình
Chọn “Apply Change” để lưu cài đặt
Sau đó vào firewall -> Rules chọn tab LAN
Chọn Action Block để chặn kết nối Ở hàng Protocol chọn Any Ở phần Destination chọn “single host or alias"và điền tên aliases đã tạo ở bước trước
Test vào những trang web khác bình thường
Test vào trang hufi.edu.vn thì không kết nối được
Test ping sẽ hiện“Request timed out”
Cấu hình Schedule
When setting up firewall rules in Pfsense, it's essential to create Aliases for defining IP ranges, hosts, and services, as well as implementing access policies based on specific days and times Pfsense provides a scheduling feature that allows users to create new schedules easily To create a new schedule, navigate to Firewall -> Schedules and click the Add button, then name the schedule and customize the days of the month as needed.
Tùy chỉnh thời gian sau đó đặt tên cho khoảng thời gian đó tiếp theo AddTime
Tiếp theo đó vào Rules để thêm thời gian thực thi vào
Tại Schedule chọn khoảng thời gian đã tạo ở phần trước
Sau đó điều chỉnh độ ưu tiên cho hợp lý
Kiểm tra vào web hufi.edu.vn vào giờ trưa thì kết nối được
Captive Portal
Captive portal là một trang web trung gian giúp bảo vệ hệ thống mạng, yêu cầu người dùng nhập tên và mật khẩu hợp lệ hoặc chỉ cần nhấp vào tham gia để truy cập Chức năng này thường được áp dụng cho các hệ thống mạng không dây, nhưng cũng có thể sử dụng trên các kết nối có dây tại trung tâm thương mại, tiệm internet hoặc tại nhà.
Để thiết lập mạng không dây hiệu quả, bước đầu tiên là kích hoạt DHCP Server, điều này giúp cung cấp địa chỉ IP tự động cho các thiết bị kết nối, tránh tình trạng xung đột địa chỉ IP Trong giao diện quản lý Web Interface của pfSense, bạn cần chọn mục Services và sau đó chọn DHCP Server.
Sau đó chúng ta sẽ set range cho DHCP
Để tạo tài khoản người dùng cho phép xác thực và truy cập internet, bạn cần chọn System, sau đó vào User Manager và nhấn Add.
Sau đó điền những thông tin cho user
Và set cho user có thể đăng nhập vào Captive Portal
Bước 3.Chọn Services, tiếp tục chọn Captive Portal sau đó chọn Add.
Nhập thông tin tương tự như hình sau để tạo ra Captive Portal
Bước 4 Cấu hình cho Captive Portal
Chọn logo và background cho web xác
Chọn database tài khoản để đăng nhập vào web xác thực
Kiểm tra ở máy thử khi vào đường mạng thì sẽ hiện web xác thực
Sau đó đăng nhập user và password đã tạo ở bước trước sẽ connect được vào mạng
OpenVPN
Bước 1: Downloads gói Openvpn-client-export
Bước 3: Tạo Certificate để cấp phát cho Server (pfSense) và user(user khi chứng thực vpn )
Bước 4: Cấu hình OpenVPN sử dụng Wizard method
Bước 5: Vào chọn Client Export để tiến hành Downloads VPN cho user
Bước 6: Vào status chọn OpenVPN để xem VPN đã hoạt động.
Bước 7: Chạy OpenVPN quyền Administrator
Bước 8: Connect VPN , Login user
Và kiểm tra ở phần Status của OpenVPN sẽ hiện thông tin vừa đăng nhập vào
Squid Proxy
Bước 1 : Tải về 2 gói Squid và SquidGuard để tiến hành cấu hình proxy
Bước 2 : Trước tiên ta vào Services - > Squid Proxy Server
Bước 3 : Chọn Tab Local Cache Ở phần Cache Replacement chọn Heap LFUDA.
Bước 4 : thêm thông số cho : Hard Disk Cache Size: 2048, Maximum ObjectSize : 512, Memory Cache Size : 512 Sau đó save cài đặt
Bước 5 : Tích hợp Antivirus ClamAV có sẵn trong gói Chọn Enable Squid antivirus check using ClamAV
Bước 6 : Chọn thời gian để hệ thống Updates
Bước 7 : Chuyển sang cấu hình SquidGuard Ở Tab General settings chọn Enable sau đó chọn Apply
Bước 8 : Chọn để enable GUI log, enable log, enable log retation
Bước 9 : Ở tab Time tùy chỉnh khung giờ tùy chỉnh :
Bước 10 : Xác định đối tượng cần chặn hay cho phép
Bước 11 : Ở mục Time chọn khung giờ đã tạo ở tab Time Target Rules Chọn access cho từng Target Deny để chặn các Target vừa tạo ở bước trên
Bước 12 : Ở tab Groups ACL phần Client điền các địa chỉ cần áp dụng proxy vào.
Bước 13 : Tiến hành test vào web hufi.edu.vn chặn ở bước trước thì đã chặn thành công
Snort
* Theo mô hình thì demo sẽ thực hiện tấn công vào web server thông qua cơ chế NAT ip của web , bên máy Wan sẽ vào web bằng ip 192.168.1.8
Bước 1: Vào Firewall -> rules ->WAN -> add
Bước 2: Vào Firewall -> rules -> LAN ( rules mặc định của lan sau khi setup pfsense)
Bước 3: Vào Firewall -> rules ->DMZ -> add
Bước 4: Vào Firewall -> Nat -> Port Forward -> add ( public webserver)
Bước 5: Đây là web server
Bước 6: Truy cập vào web bằng máy WAN
Bước 7: Vào Services -> Snort -> Global Settings (update rules )
Bước 8: Vào Services -> Snort ->Update
Bước 9: Vào Services -> Snort ->add Wan -> Wan Setting (cấu hình rule snort)
Bước 10:Vào Services -> Snort ->add Wan-Rules -> chọn custom rule
Bước 11:Custom Rules cảnh báo Ping -> Save
Bước 12: Chọn Start để chạy rule WAN
Bước 13: Test lệnh Ping đến web server thông qua nat ip ở trên
Bước 14: Vào Service -> Snort chọn Alert để xem các cảnh báo
Bước 15: Test thêm một vài rule
* Scan Port alert tcp any any -> 192.168.1.0/24 22 (msg:"Nmap FIN Scan"; flags:F; sid:1000000007; rev:1;)
* SQL injection alert tcp any any -> 192.168.1.0/24 80 (content:"%27"; msg:"Base InjectionAttack"; classtype:Web-application-attack; react:block; sid: 1000000013;)
Suricata
Suricata, giống như Snort, được tích hợp trên Pfsense, hỗ trợ các công ty và người quản lý mạng trong việc phát hiện và ngăn chặn các cuộc tấn công xâm nhập từ Internet.
* Sử dụng 3 card mạng như bên snort:
- Wan: 192.168.1.7 (do sử dụng DHCP nên ip của mạng wan thay đổi)
Bước 1: Vào service->Suricata->Global Settings
Bước 2: Tiến hành update rule cho Suricata
Bước 3: Tại Interfaces -> add rule Wan
Bước 4: Tại mục Alert and Block settings -> save
Bước 5: Vào Wan rules -> chọn customs rules để thiết lập 1 rule
Bước 6: Tại Interfaces nhấn start để chạy rule Wan
Bước 7: Vào máy attacker thực hiện tấn công
Bước 8: Tại mục Alert ,với rule là dsize >10000 thì nó sẽ drop ip đó