Bài 7: Bảo mật hệ thống Linux

Trình bày được khái niệm và các đặc điểm của hệ thống proxy. Giải thích được các thông số cấu hình của squid. Cấu hình được squid hoạt động ở chế độ cache và transparent. Nhận biết hệ thống firewall dùng iptables. Giải thích các thông số của iptables. Cấu trúc lệnh của iptables. Triển khai firewall dùng iptables.

pdf38 trang | Chia sẻ: lylyngoc | Lượt xem: 1855 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài 7: Bảo mật hệ thống Linux, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG TRUNG CẤP VIỆT KHOA Website: MH/MĐ: QUẢN TRỊ MẠNG LINUX Bài 1: TRIỂN KHAI VÀ QUẢN TRỊ HỆ ĐIỀU HÀNH LINUX Bài 2: QUẢN TRỊ TÀI KHOẢN NGƯỜI DÙNG VÀ LẬP TRÌNH SHELL Bài 3: TRIỂN KHAI DỊCH VỤ DNS VÀ DHCP Bài 4: TRIỂN KHAI DỊCH VỤ SAMBA VÀ NFS Bài 5: TRIỂN KHAI DỊCH VỤ WEB VÀ FTP Bài 6: TRIỂN KHAI DỊCH VỤ MAIL Bài 7: BẢO MẬT HỆ THỐNG LINUX ÔN TẬP BÁO CÁO ĐỒ ÁN THI TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Bài 7: BẢO MẬT HỆ THỐNG LINUX Bảo mật hệ thống mạng bằng Squid Proxy Bảo mật cho hệ thống Linux bằng Iptables Bảo mật hệ thống bằng squid proxy và iptables TRƯỜNG TRUNG CẤP VIỆT KHOA Website: MỤC TIÊU BÀI HỌC Trình bày được khái niệm và các đặc điểm của hệ thống proxy. Giải thích được các thông số cấu hình của squid. Cấu hình được squid hoạt động ở chế độ cache và transparent. Nhận biết hệ thống firewall dùng iptables. Giải thích các thông số của iptables. Cấu trúc lệnh của iptables. Triển khai firewall dùng iptables. TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Tầm quan trọng của cache Proxy Chia sẻ và cân bằng tải. Sử dụng lại các object đã được lưu trữ trong cache. Giảm tải truy xuất trên đường truyền. Cài đặt, cấu hình squid proxy TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Yêu cầu hệ thống cho cache proxy Server Tốc độ truy xuất đĩa nhanh Yêu cầu dung lượng RAM lớn TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Giới thiệu Squid proxy Squid là chương trình Internet proxy-caching có vai trò tiếp nhận các yêu cầu từ client và truy vấn đến các Internet Server thích hợp. TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Giao thức được hỗ trợ trên Squid Squid hỗ trợ những giao thức sau: HTTP FTP Secure Socket Layer … TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Cơ chế cache của Squid TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Cài đặt Squid Proxy Cài đặt squid từ package rpm Cài đặt từ package squid-version.i386.rpm trong CDROM. Cài đặt từ lệnh yum: #yum install squid Cấu trúc thư mục mặc định của Squid /usr/sbin: Lưu những thư viện của Squid . /etc/squid: Lưu các tập tin cấu hình squid (/etc/squid/squid.conf). /var/log/squid: Lưu các tập tin log của squid /var/spool/squid: lưu trữ squid cache. TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Cấu hình squid proxy visible_hostname: Nếu không gán hostname khi đó việc khởi động squid sẽ thất bại. visible_hostname bigboy http_port: cấu hình cổng mà Squid sẽ lắng nghe những yêu cầu được gởi đến. http_port 3128 cache_dir: chỉ định nơi cache data được lưu trữ cache_dir ufs /var/spool/squid 100 16 256 TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Cấu hình squid proxy(tt) Tuỳ chọn Giải thích cache_dir Định nghĩa những giá trị của thư mục cache được dùng cho Squid. ufs Unix file system (ufs) Squid cho biết rằng hệ thống đang chạy trên Linux /var/spool/squid Thư mục lưu trữ cache /var/spool/squid. 100 Tổng dung lượng của thư mục cache 16 Số thư mục con được tạo trong thư mục cache 256 Số thư mục con cấp 2 được tạo trong thư mục cache TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Access List Định nghĩa access list dùng acl Tag: acl aclname acltype string1 .. acl aclname acltype "file" ... Các acl phổ biến: acl aclname src ip-address/netmask acl aclname src addr1-addr2/netmask acl aclname dst ip-address/netmask acl aclname srcdomain .foo.com acl aclname dstdomain .foo.com acl aclname url_regex [-i] ^http:// acl aclname urlpath_regex [-i] \.gif$ acl aclname port 80 70 21 acl aclname port 0-1024 acl aclname proto HTTP FTP ... TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Access List(tt) acl aclname method GET POST ... acl aclname time [day] [h1:m1-h2:m2] day: S - Sunday M - Monday T - Tuesday W - Wednesday H - Thursday F - Friday A - Saturday h1:m1 must be less than h2:m2 Ví dụ: acl home_network src 192.168.1.0/24 acl business_hours time M T W H F 9:00-17:00 http_access allow/deny home_network bussiness_hours TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Access List(tt) http_access: điều khiển việc truy cập đến Squid Cú pháp: http_access allow|deny [!]aclname [aclname] ... icp_port: dùng queries các cache khác Mặc định: icp_port 8082 cache_peer: chỉ định cache khác theo sự phân cấp Cú pháp: cache_peer hostname type http_port icp_port cache_peer proxy2.ispace.edu.vn parent 8080 8082 cache_peer proxy.kcntt.ispace.edu.vn sibling 8080 8082 type : ‘parent’ : proxy cha ở cấp cao hơn ‘sibling’: proxy ngang hàng TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Cấu hình tối thiểu cho squid server acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl to_localhost dst 127.0.0.0/8 acl SSL_ports port 443 563 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # https, snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Cấu hình tối thiểu cho squid server(tt) http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS For example: http_access allow home_network business_hours http_access allow localhost http_access deny all TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Theo dõi truy xuất internet thông qua Squid tail –f /var/log/squid/access_log TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Khởi động Squid Để khởi động Squid ta dùng lệnh sau: #/etc/init.d/squid start|stop|restart TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Bảo mật Linux TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Log file Log file: File log để ghi nhận lại các sự kiện, một số file log chính trong hệ thống /var/log/messages /var/log/secure /var/log/wtmp /var/log/utmp Triển khai bảo mật cơ bản trên Linux TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Port Based Security Cho phép thực thi chức năng lọc gói tin (packet filtering) thông qua iptables Triển khai hệ thống firewall trên Linux dùng iptables TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Port Based Security(tt) Giới thiệu iptables: Iptables do tổ chức Netfilter cung cấp để tăng tính năng bảo mật trên hệ thống Linux. Tích hợp tốt với kernel của Linux. Có khả năng phân tích package hiệu quả. Lọc package dựa vào MAC và một số cờ hiệu trong TCP header. Cung cấp kỹ thuật NAT. … Cài đặt iptables: iptables được cài đặt mặc định trong hệ thống Linux. TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Port Based Security(tt) Cơ chế và chức năng hoạt động của iptables: Iptables sẽ kiểm tra tất cả các package khi nó đi qua iptables host, quá trình kiểm tra này được thực hiện một cách tuần tự entry đầu tiên đến entry cuối cùng. Có 3 loại bảng trong iptables: Mangle: chịu trách nhiệm biến đổi quality of service bits trong TCP header. Thông thường loại table này được ứng dụng trong SOHO (Small Office/Home Office). Filter: chịu trách nhiệm thiết lập bộ lọc packet (packet filtering), có ba loại built-in chains được mô tả để thực hiện các chính sách về firewall (firewall policy rules).  Forward chain : lọc những gói tin đi qua hệ thống (đi vào một hệ thống khác).  Input chain: lọc những gói tin đi vào hệ thống.  Output chain : lọc những gói tin đi ra từ hệ thống. TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Port Based Security(tt) NAT: thực thi chức năng NAT (Network Address Translation), cung cấp hai loại built-in chains sau:  Pre-routing: sửa địa chỉ đích của gói tin trước khi nó được routing bởi bảng routing của hệ thống (destination NAT hay DNAT).  Post-routing: ngược lại với Pre-routing, nó sửa địa chỉ nguồn của gói tin sau khi gói tin đã được routing bởi hệ thống (SNAT). Chú ý: Mỗi rule mà bạn tạo ra phải tương ứng với một chain, table nào đấy. Nếu bạn không xác định tables nào thì iptables coi mặc định là cho bảng FILTER. TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Port Based Security(tt) Sơ đồ sử lý gói tin: TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Port Based Security(tt) Targets và Jumps: Target là cơ chế hoạt động trong iptables dùng để nhận diện và kiểm tra packet. Jump là cơ chế chuyển một packet đến một target nào đó để xử lý thêm thao tác khác. Một số built-in Targets: ACCEPT: iptables chấp nhận gói tin, đưa nó qua hệ thống mà không tiếp tục kiểm tra nó nữa. DROP: iptables loại bỏ gói tin, không tiếp tục xử lý nó nữa. LOG: thông tin của gói tin sẽ được ghi lại bởi syslog hệ thống, iptables tiếp tục xử lý gói tin bằng những rules tiếp theo. REJECT: chức năng của nó cũng giống như DROP tuy nhiên nó sẽ gửi một error message tới host đã gửi gói tin. DNAT: dùng để sửa lại địa chỉ đích của gói tin. SNAT: dùng để sửa lại địa chỉ nguồn của gói tin MASQUERADE: cũng là một kiểu dùng để sửa địa chỉ nguồn của gói tin. TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Port Based Security(tt) Các tuỳ chọn của iptables: -t : chỉ ra tên của bảng mà rule của bạn sẽ được ghi vào (mặc định là FILTER ). -j : nhẩy đến một kiểu xử lý (target) tương ứng như đã định nghĩa ở trên nếu điều kiện so sánh thoả mãn. - A : ghi nối tiếp rule vào đuôi một chain - p : so sánh protocol gói tin. - s : so sánh địa chỉ nguồn của gói tin. - d : so sánh địa chỉ đích của gói tin - i : so sánh tên card mạng mà gói tin đi vào hệ thống. - o : so sánh tên card mạng mà gói tin từ hệ thống đi ra. -p tcp --sport : xác định port nguồn của gói tin TCP. -p tcp --dport : xác định port đích của gói tin TCP -p udp --sport : xác định port nguồn của gói tin UDP -p udp --dport : xác định port đích của gói tin UDP TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Port Based Security(tt) --syn: xác định gói tin có phải là một yêu cầu tạo một kết nối TCP mới không. --icmp-type: xác định loại gói icmp (echo-reply hay echo- request). -m multiport --sport : xác định các giá trị port nguồn -m multiport --dport : xác định các giá trị port đích. -m multiport --port : xác định các giá trị port ( không phân biệt nguồn hay đích ). -m --state : xác định trạng thái kết nối mà gói tin thể hiện gồm: ESTABLISHED: gói tin thuộc một kết nối đã được thiết lập. NEW: gói tin thể hiện một yêu cầu kết nối. RELATED : gói tin thể hiện một yêu cầu kết nối thứ hai (có liên quan đến kết nối thứ nhất, thường xuất hiện ở những giao thức FPT hay ICMP) INVALID : thể hiện một gói tin không hợp lệ TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Port Based Security(tt) Cấu trúc lệnh của iptables: #iptables [-t ] : Cho phép chọn table khác table mặc định là Filter. : Xác định hành động sẽ thực hiện, như appending hoặc deleting rule được chỉ định bởi . : định nghĩa một cặp thông số xác định điều gì sẽ xảy ra khi các packet thoả các rule. TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Port Based Security(tt) Tạo rules firewall # iptables --append CHAIN selection-criteria --jump {DROP|ACCEPT|REJECT} # iptables -A CHAIN selection-criteria -j {DROP|ACCEPT|REJECT} Ví dụ: # iptables -A INPUT -p tcp --dport 25 -j ACCEPT # iptables -A OUTPUT -p tcp --sport 25 -j ACCEPT TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Port Based Security(tt) Sử dụng chain tự định nghĩa Xoá những rule mặc định: # iptables -F INPUT # iptables -F OUTPUT # iptables -F FORWARD Set default policy (-P or --policy) # iptables -P INPUT DROP # iptables -P OUTPUT DROP # iptables -P FORWARD DROP Tạo firewall rule # iptables --append CHAIN selection-criteria --jump {DROP|ACCEPT|REJECT} # iptables -A CHAIN selection-criteria -j {DROP|ACCEPT|REJECT} Mở và đóng một port # iptables -A INPUT -p tcp --dport 25 -j ACCEPT # iptables -A OUTPUT -p tcp --sport 25 -j ACCEPT TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Port Based Security(tt) Dùng địa chỉ IP nguồn và đích # iptables -A INPUT -s 172.24.0.0/16 -j DROP # iptables -A OUTPUT -d 172.24.0.0/16 -j DROP Lọc bởi interface # iptables -A INPUT -s 192.168.9.0/24 -i eth0 -j DROP # iptables -A FORWARD -s 192.168.9.0/24 -i eth0 -j DROP # iptables -A FORWARD -s !192.168.9.0/24 -i eth1 -j DROP # iptables -A OUTPUT -s !192.168.9.0/24 -i eth1 -j DROP Trạng thái thực hiện # iptables -A INPUT -m state -p tcp --dport 80 \ --state NEW,ESTABLISHED,RELATED -j ACCEPT # iptables -A OUTPUT -m state -p tcp --sport 80 \ --state ESTABLISHED,RELATED -j ACCEPT TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Port Based Security(tt) Để lưu giữ cấu hình iptables vào trong file /etc/sysconfig/iptables ta dùng lệnh sau: #service iptables save TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Port Based Security(tt) Load kernel module cần cho iptables Module ip_conntrack Module ip_conntrack_ftp Module iptable_nat Module ip_nat_ftp Có thể mô tả trong file /etc/rc.local Modprobe ip_conntrack Modprobe ip_conntrack_ftp Modprobe iptable_nat Modprobe ip_nat_ftp TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Port Based Security(tt) Bảo vệ HDH: Thay đổi trong file /etc/sysctl.conf Net/ipv4/conf/all/rp_filter = 1 Net/ipv4/conf/all/log_martians = 1 Net/ipv4/conf/all/send_redirects = 0 Net/ipv4/conf/all/accept_source_route = 0 Net/ipv4/conf/all/accept_redirects = 0 Net/ipv4/tcp_syncookies = 1 Net/ipv4/icmp_echo_ignore_broadcasts = 1 Net/ipv4/ip_forward = 1 Sau đó dùng “sysctl -p” để cập nhật lại TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Port Based Security(tt) Khắc phục sự cố trên iptables: Firewall logs được ghi nhận vào file /var/log/message Để cho phép iptables ghi log vào file /var/log/message ta định nghĩa chain cho iptables như sau: iptables -A OUTPUT -j LOG iptables -A INPUT -j LOG iptables -A FORWARD -j LOG iptables -A OUTPUT -j DROP iptables -A INPUT -j DROP iptables -A FORWARD -j DROP Chú ý: Khi ta thay đổi cấu hình trên iptables thì ta dùng lệnh #service iptables save để save lại thay đổi và khởi động lại iptables #service iptables restart TRƯỜNG TRUNG CẤP VIỆT KHOA Website: Câu hỏi ôn tập Trình bày các đặc điểm chính của squid proxy. Giải thích các thông số cấu hình squid proxy. Phân biệt cơ chế cache và transparent Triển khai và cấu hình dịch vụ proxy. Giải thích các thông số cấu hình iptables. Các bước triển khai và cấu hình iptables. Viết các rule cho các dịch vụ thông dụng: www,ftp,smtp,… TRƯỜNG TRUNG CẤP VIỆT KHOA Website: HỎI - ĐÁP
Tài liệu liên quan