Chương 14: Firewall 14.1 Định nghĩa Tường lửa thiết bị phần cứng và/hoặc phần mềm hoạt động mơi trường máy tính nối mạng để ngăn chặn số liên lạc bị cấm sách an ninh cá nhân hay tổ chức Nhiệm vụ tường lửa kiểm sốt giao thơng liệu hai vùng có độ tin cậy khác Các vùng tin cậy (zone of trust) điển hình bao gồm: mạng Internet (vùng không đáng tin cậy) mạng nội (một vùng có độ tin cậy cao) Mục đích cuối cung cấp kết nối có kiểm soát vùng với độ tin cậy khác thơng qua việc áp dụng sách an ninh mơ hình kết nối dựa ngun tắc quyền tối thiểu (principle of least privilege) 14.2 Phân loại Firewall chia làm loại, gồm Firewall cứng Firewall mềm: Firewall cứng: Là firewall tích hợp Router, Firewall phần cứng cung cấp mức độ bảo vệ cao so với Firewall phần mềm dễ bảo trì Firewall phần cứng có ưu điểm khác không chiếm dụng tài nguyên hệ thống máy tính Firewall phần mềm Firewall phần cứng lựa chọn tốt doanh nghiệp nhỏ, đặc biệt cho cơng ty có chia sẻ kết nối Internet Có thể kết hợp Firewall định tuyến hệ thống phần cứng sử dụng hệ thống để bảo vệ cho tồn mạng Firewall phần cứng lựa chọn đỡ tốn chi phí so với Firewall phần mềm thường phải cài máy tính cá nhân mạng Trong số công ty cung cấp Firewall phần cứng kể tới Linksys, NetGear, Cisco Tính Firewall phần cứng cơng ty cung cấp thường tích hợp sẵn định tuyến dùng cho mạng doanh nghiệp nhỏ mạng gia đình Đặc điểm Firewall cứng: – Không linh hoạt: Không thể thêm chức năng, thêm quy tắc – Hoạt động tầng thấp: Tầng Network tầng Transport – Không thể kiểm tra nột dung gói tin Firewall mềm: Là Firewall cài đặt Server Đặc điểm Firewall mềm: – Tính linh hoạt cao: Có thể thêm, bớt quy tắc, chức – Hoạt động tầng cao Firewall cứng (tầng ứng dụng) – Có thể kiểm tra nội dung gói tin (thơng qua từ khóa) 14.3 Sử dụng tường lửa Một máy tính kết nối với internet mà khơng có firewall, trao đổi vào cổng mạng tự không lọc hệ thống nào, điều có nghĩa phần mềm độc hại, mã độc dễ dàng xâm nhập vào máy tính thực thi scripts gây hại cho máy tính xóa thư mục quan trọng, gây treo máy, xóa liệu quan trọng … 14.4 IPtable Iptables Firewall cấu hình hoạt động console nhỏ tiện dụng Iptables cung cấp tính sau: – Tích hợp tốt với kernel Linux – Có khả phân tích package hiệu – Lọc package dựa vào MAC số cờ hiệu TCP Header – Cung cấp chi tiết tùy chọn để ghi nhận kiện hệ thống – Cung cấp kỹ thuật NAT Có khả ngăn chặn số chế công theo kiểu DoS Iptable định nghĩa bảng (table) chứa chuỗi (chain), luật (rules) áp dụng cho gói tin Mỗi bảng tương ứng với loại quy trình gói tin Các gói tin xử lý nối tiếp qua luật chuỗi Một luật chuỗi đổi hướng hay nhảy đến chuỗi khác, trình tiếp diễn đến vòng lặp kết thúc Mọi gói tin xử lý phải thơng qua chuỗi luật Cơ chế lọc gói tin Iptable xây dựng dựa thành phần table, chain target Tất gói liệu kiểm tra iptable cách sử dụng bảng xây dựng sẵn (queues) Có loại bảng gồm: • Magle: Chịu trách nhiệm thay đổi bít liệu dịch vụ TCP header TOS ( type of service) TTL (time to live), MARK • Filter: Chịu trách nhiệm lọc gói tin, gồm quy tắc nhỏ (chain) để người dùng thiết lập quy tắc lọc gói gồm: • NAT: gồm có loại • Raw Table: Theo mặc định, iptables lưu lại trạng thái kết nối gói tin, tính cho phép iptables xem gói tin rời rạc kết nối, session chung để dễ dàng quản lý Tính theo dõi sử dụng từ gói tin gởi tới hệ thống bảng raw Với bảng raw, ta bật/tắt tính theo dõi số gói tin định, gói tin đánh dấu NOTRACK không ghi lại bảng connection tracking • Security Table: Bảng security dùng để đánh dấu policy SELinux lên gói tin, dấu ảnh hưởng đến cách thức xử lý SELinux máy khác hệ thống có áp dụng SELinux Bảng đánh dấu theo gói tin theo kết nối Các chain table Mỗi table có số chain riêng mình, sau bảng cho biết chain thuộc table – Forward chain: lọc gói đến server khác – Input chain: lọc gói vào server – Output chain: lọc gói khỏi server – Pre-routing chain: thay đổi địa đích gói liệu cần thiết – Post-routing chain: thay đổi địa nguồn gói liệu cần thiết Mặc định chain không chứa rule nào, nhiên chain có policy mặc định nằm cuối chain, policy ACCEPT DROP, gói tin qua hết tất rule gói tin gặp phải policy Ngồi ra, thứ tự gói tin di chuyển chain có khác tùy vào tình huống: – Gói tin gởi đến máy chủ: PREROUTING => INPUT – Gói tin forward đến máy chủ khác: PREROUTING => FORWARD => POSTROUTING – Gói tin máy chủ gởi ngoài: OUTPUT => POSTROUTING Các rule chain: Các rule tập điều kiện hành động tương ứng để xử lý gói tin Mỗi chain chứa nhiều rule, gói tin xử lý chain so với rule chain Cơ chế kiểm tra gói tin dựa rule vơ linh hoạt dễ dàng mở rộng thêm nhờ extension IPtables có sẵn hệ thống Rule dựa protocol, địa nguồn/đích, port nguồn/đích, card mạng, header gói tin, trạng thái kết nối… Dựa điều kiện tạo tập rule phức tạp để kiểm soát luồng liệu vào hệ thống Mỗi rule đươc gắn hành động để xử lý gói tin, hành động là: – ACCEPT: gói tin chuyển tiếp sang bảng – DROP: gói tin/kết nối bị hủy, hệ thống không thực thi lệnh khác – REJECT: gói tin bị hủy, hệ thống gởi lại gói tin báo lỗi ICMP – Destination port unreachable – LOG: gói tin khớp với rule ghi log lại – REDIRECT: chuyển hướng gói tin sang proxy khác – MIRROR: hốn đổi địa IP nguồn, đích gói tin trước gởi gói tin – QUEUE: chuyển gói tin tới chương trình người dùng qua module kernel 14.5 Csf (Config Server Firewall) CSF (ConfigServer & Firewall) gói ứng dụng hoạt động Linux Firewall phát hành miễn phí để tăng tính bảo mật cho server (VPS Dedicated) CSF hoạt động dựa iptables tiến trình ldf để quyét file log để phát dấu hiệu công bất thường – CSF giúp server bạn: – Chống DoS loại – Chống Scan Port – Đưa lời khuyên việc cấu hình server (VD: Nên nâng cấp MySQL lên 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ừ quốc gia cách định Country Code chuẫn ISO – Hỗ trợ IPv6 IPv4 – Cho phép khóa IP tạm thời vĩnh viễn tầng mạng (An toàn tầng ứng dụng ) nên webserver ko phải mệt nhọc xử lý yêu cầu từ IP bị cấm – Cho phép bạn chuyến hướng yêu cầu từ IP bị khóa sang file html để thông báo cho người dùng biết IP họ bị khóa 14.6 Fail2ban Fail2ban chương trình viết python có nhiệm vụ chặn ip kết nối đến server dựa vào dấu hiệu nghi ngờ mà ip để lại file log hệ thống dịch vụ Ví dụ có q nhiều lần sử dụng mật không hợp lệ, truy cập không hợp lệ dấu hiệu bất thường khác mà nhận biết Mỗi luật fail2ban (jail) bao gồm thành phần: – luật lọc (filter) – luật chặn (action) – file log cần lọc Fail2ban đếm số lần ip vi phạm luật lọc(filter) khoảng thời gian xác định, số lần vi phạm vượt q ngưỡng cho trước ip bị chặn kêt nối đến server luật chặn (action) Các thông số khoảng thời gian quét, ngưỡng giới hạn, thời gian chặn ip hay vị trí file log cấu hình riêng cho jail Chương trình Fail2ban chạy dịch vụ quét log định người dùng sử dụng mẫu cấu hình mặc định, sau fail2ban sử dụng khn mẫu mà quy định nhằm lọc trích xuất thơng tin cần thiết Sau xem xét định chặn hay khơng ip đáng ngờ Filter : /etc/fail2ban/filter.d/* Mỗi file filter chứa đoạn mã regex có nhiệm vụ lọc ip vị phạm luật file log hệ thống failregex = ^%( prefix_line)s(?:error: PAM: )?[aA]uthentication (?:failure|error) for * from ( via \S+)?\s*$ ignoreregex = Vi dụ đoạn regex file sshd.conf lọc ip ssh đến server với xác thực không hợp lệ file log hệ thống: auth.log Action: /etc/fail2ban/action.d/* Mỗi luật acction cấu hình bao gồm lệnh iptables sau: – actionstart : Gọi khởi chạy dịch vụ fail2ban có nhiệm vụ tạo bảng iptable để dễ quản lý ip chặn theo luật jail – actionstop: Gọi kết thúc dịch vụ fail2ban nhằm xóa bỏ luật iptables thêm vào qua trình fail2ban chạy – actioncheck: kiểm tra xem ip bị chặn với luât jail hay chưa Tức kiểm tra bảng chain luật jạil có ip hay chưa – actionban: lệnh iptables để chặn ip – actionunban: lệnh iptables xóa bỏ luật chặn ip sau hết thời gian chặn Jail: /etc/fail2ban/jail.conf File jail.conf file cấu hình tất luật jail fail2ban Thông số cấu hình cho jail bao gồm: – Bantime: thời gian ip bị chặn vi phạm luật jail – Findtime: khoảng thời gian quét cho luật jail – Maxretry: ngưỡng vị phạm khoảng thời gian findtime – Banaction: Luật action (tên file action.conf) – Port: cổng chặn kết nối đến server – Filter: tên file cấu hình luật filter – Logpath: đường dẫn đến file log hệ thống,ứng dụng – Action: lựa chọn chế độ: chặn ip, chặn ip gửi mail thông báo, chăn ip, gửi mail thông báo ghi log 14.7 Shorewall Shorewall công cụ cao cấp để cấu hình Netfilter Người dùng mơ tả tường lửa/port cách sử dụng dòng file cấu hình Shorewal đọc file cấu hình với kết hợp iptable , iptable-restore, IP tc, Shorewall cấu hình Netfilter hệ thống mạng phù hợp với yêu cầu người dùng Shorewall đuwọc sử dụng tường lửa chuyên dụng File cấu hình Shorewall nằm thư mục /etc/shorewall, thư mục chứa file cấu hình đơn giản, người dùng cần cấu hình vài dòng Shorewall định dạng network dạng zones Các zones khai báo định dạng file /etc/shorewall/zones có định dạng sau: Cách đơn giản để định nghĩa host zone liên kết zone với port sử dụng file /etc/shorewall/interfaces Tập quy tắc lưu lượng truy cập cho phép lưu lượng truy cập từ chối thể zone • Chính sách mặc định cho kết nối từ zone đến zone khác tệp / etc / shorewall / policy Các lựa chọn cho sách là: - ACCEPT - Chấp nhận kết nối - DROP - Bỏ qua yêu cầu kết nối - REJECT - Trả lỗi thích hợp cho u cầu kết nối Người dùng liệt kê luật ngoại lệ vào sách mặc định file /etc/shorewall/rule Đối với yêu cầu kết nơi tới mạng thơng qua tường lửa, gói tin kiểm tra yêu cầu kết nối có trùng với quy tắc tệp /etc/shorewall/rule Nếu khơng có quy tắc tệp trùng khớp với yêu cầu kết nối gói tin sách file /etc/shorewall/policy khớp với yêu cầu kết nối áp dụng Nếu có polily default cấu hình file shorewall.conf policy thi hành trước tin Các policy có hành động như, drop, reject, accept gói tin File /etc/shorewall/policy: ... kiểm tra nột dung gói tin Firewall mềm: Là Firewall cài đặt Server Đặc điểm Firewall mềm: – Tính linh hoạt cao: Có thể thêm, bớt quy tắc, chức – Hoạt động tầng cao Firewall cứng (tầng ứng dụng)... chương trình người dùng qua module kernel 14.5 Csf (Config Server Firewall) CSF (ConfigServer & Firewall) gói ứng dụng hoạt động Linux Firewall phát hành miễn phí để tăng tính bảo mật cho server (VPS... cho máy tính xóa thư mục quan trọng, gây treo máy, xóa liệu quan trọng … 14.4 IPtable Iptables Firewall cấu hình hoạt động console nhỏ tiện dụng Iptables cung cấp tính sau: – Tích hợp tốt với