Bảo mật trong linux
Bộ Công Thương Trường Đại Học Công Nghiệp Hà Nội Khoa Công nghệ thông tin Báo cáo tập lớn Môn: Hệ Điều Hành Đề tài : Bảo mật Linux Lớp:KHMT1-K3 Giáo viên hướng dẫn Nhóm : Thầy Nguyễn Thanh Hải Hà Nội Mục lục Quan điểm bảo mật……………………………………………… Các bước ban đầu việc thiết kế hệ thống an ninh……… 2.1 Ngắt kết nối tới mạng không mong muốn…………………… 2.2 Bảy điều không nên làm để bảo mật hệ thống………… 2.2.1 Không sử dụng mật đơn giản dễ đoán 2.2.2 Không sử dụng tài khoản gốc trừ thật cần…………………… 2.2.3 Không chia sẻ mật bạn……………………… 2.2.4 Đừng tin tưởng cách mù quáng file nhị phân mà đưa cho bạn………………………………………………………… 2.2.5 Đừng bỏ qua file log………………………………………… 2.2.6 Đừng để hệ thống bạn không cập nhật………………… 2.2.7 Đừng quên bảo mật vật lí…………………………………… Cấu hình TCP Wrapper…………………………………………… 3.1 Sử dụng TCP Wrapper với inetd………………………………… 10 3.2 Sử dụng TCP Wrapper với xinetd………………………………… 10 3.3 /etc/hosts.allow /etc/hosts.deny………………………………… 10 Tường lửa: Lọc IP gói tin………………………………… 12 4.1 Netfilter bản…………………………………………………… 13 4.2 Phát triển qui tắc lọc IP…………………………………… 17 4.3 Quản lí lọc IP file kịch bản………………………………… 18 4.4 Cấu hình ví dụ với netfilter……………………………………… 18 4.4.1 Ví dụ lọc IP đơn giản…………………………………………… 18 4.4.2 Giao thức lọc IP để bảo vệ toàn mạng máy tính………………… 21 Lời nói đầu Hệ điều hành Linux phát triển mạnh giới, ưu điểm mà hệ điều hành mang lại vô to lớn, nhiên Việt Nam hệ điều hành chưa nhiều người biết đến sử dụng cách thành thạo hệ điều hành khác (Windows hệ điều hành tiếng mà phần lớn máy tính Việt Nam cài đặt sử dụng) Nhằm tìm hiểu sâu hệ điều hành này, nhóm Sinh viên chúng em định chọn hệ điều hành Linux làm đề tài cho tập lớn môn Hệ điều hành, tìm hiểu chi tiết hệ thống bảo mật Ngày vấn đề an ninh mạng vấn đề nóng lĩnh vực Công nghệ thông tin, tìm hiểu khái niệm bản, phương pháp đảm bảo an ninh cho hệ thống máy tính đòi hỏi sinh viên ngành Công nghệ thông tin Để hoàn thành tập lớn chúng em tham khảo nhiều tài liệu hệ điều hành Linux chủ yếu tài liệu mà thầy cung cấp (Running Linux, th Edition) Vì thời gian làm tập lớn chúng em có phần hạn hẹp kết nhiều thiết sót BẢO MẬT CƠ BẢN TRONG LINUX Trong phần thảo luận hệ thống bảo mật Linux Bảo mật chủ đề luôn quan trọng, đặc biệt với gia tăng sử dụng hệ thống mạng kết nối cố định mà dễ bị tổn thương bị công từ xa không giám sát Rất nhiều kĩ thuật tốt đơn giản nhất, thường bị thực tiễn bỏ qua, khám phá chúng trước Sau chuyển sang vài chủ đề rõ ràng hơn, kết thúc thảo luận ngắn chủ đề phức tạp bảo mật mạng Chúng ta thảo luận vài hướng dẫn tường lửa để bảo vệ trình cài đặt đơn giản chống lại công mạng Quan điểm hệ thống bảo mật Có quan điểm đắn, công hệ thống bảo mật khó Phương tiện hướng tới câu chuyện giật gân liên quan tới hệ thống bảo mật, đặc biệt chúng bao gồm công ty viện nghiên cứu nỗi tiếng Mặt khác, quản lí bảo mật thách thức mặt kĩ thuật công việc tốn nhiều thời gian Rất nhiều người dùng Internet giữ cách nhìn hệ thống họ giữ liệu giá trị, bảo mật không nhiều Số khác nỗ lực thật nhiều để bảo vệ hệ thống họ khỏi việc sử dụng trái phép Dù bạn nằm nhóm bạn nên nhận thức có rủi ro, nguy hiểm mà bạn trở thành nạn nhân công bảo mật Có nhiều lí do, chẳng hạn thích công vào hệ thống bảo mật bạn Giá trị liệu hệ thống bạn số đó, thảo luận khác phần sau Hệ thống bảo mật truyền thống tập trung vào hệ thống truy cập thông qua thiết bị cuối kết nối kết nối trực tiếp Trong lĩnh vực nguy hiểm lớn cách tiêu biểu đến từ bên tổ chức sở hữu hệ thống, dạng bảo mật tốt bảo vệ mức vật lí, nơi mà console, thiết bị cuối host "phòng" bị khóa Thậm chí hệ thống máy tính khởi động kết nối vào mạng, truy cập hạn chế Các mạng sử dụng thường đắt để truy cập, bị đóng mà không cho phép kết nối tới host từ nơi Sự phổ biến Internet làm tăng sóng bảo mật liên quan tới mạng Một máy tính kết nối Internet mở khả lạm dụng hàng vạn host toàn giới Trên Internet, số lượng có nhiều dạng hành vi khó gần, gây khó khăn cho nhà quản trị hệ thống Vì đề cập đến chúng, là: • Denial of service (DoS) (Từ chối dịch vụ) Loại công làm giảm phá vỡ dịch vụ hệ thống • Intrusion (Xâm nhập) Loại công truy cập vào hệ thống cách đoán mật vạch trần dịch vụ (service) Một kẻ xâm nhập truy cập vào hệ thống, chúng phá hỏng ăn cắp liệu hay sử dụng hệ thống đích để tiến hành công khác host khác • Snooping (Rình mò) Loại công bao gồm việc chặn liệu người dùng khác nghe ngóng mật thông tin nhạy cảm khác Đôi loại công bao gồm việc sửa đổi liệu Snooping thường bao gồm việc nghe trộm kết nối mạng, thực cách vạch trần hệ thống để chặn thư viện lời gọi hệ thống mà mang thông tin nhạy cảm (thông tin cá nhân, mật hay thông tin tín dụng ) • Viruses, worms, and Trojan Horses (Virus, sâu Trojan Horses) Những loại công loại dựa vào hành động người sử dụng hệ thống để chạy chương trình cung cấp kẻ công Các chương trình nhận thư điện tử, từ website, hay chí vài chương trình nhìn bề tưởng vô hại nhận Internet cài vào máy cục Một cách chung, DoS công chủ yếu việc tự tạo số lượng lớn yêu cầu (request) bất thường tới dịch vụ cung cấp hệ thống Sự công ạt hành động làm hệ thống host dốc hết nhớ, sức mạnh tính toán hay băng thông mạng Và kết quả, yêu cầu xa khác tới hệ thống bị từ chối, làm giảm hiệu suất hệ thống xuống mức sử dụng Để công thực được, kẻ công phải công dịch vụ thiết kết nghèo nàn có khả tự tạo số lượng yêu cầu (request) vượt khả dịch vụ đáp ứng Một dạng quỉ quyệt công DoS DDoS, từ chối dịch vụ phân tán Trong dạng công này, số lượng lớn máy tính làm nguyên nhân tạo yêu cầu tới dịch vụ Điều làm tăng nguy hại công DoS theo hai hướng: cách chôn vùi đích công với lượng lớn yêu cầu, cách ẩn thủ phạm đằng sau hàng ngàn người tham gia ý thức Bằng việc sử dụng lượng lớn máy chủ từ tiến hành công làm cho công DDoS trở nên khó khăn để điều khiển nhiều cứu chữa xảy Thậm chí người mà liên quan với trạng thái liệu họ nên bảo vệ họ khỏi dạng công này, để giảm thiểu tối đa mức nguy hiểm việc trở thành kẻ tòng phạm ý thức công DDoS chống lại khác Dạng thứ hai công, gọi cracking, dạng mà hầu hết người tiếp xúc vấn đề bảo mật Các công ty tổ chức thường lưu trữ thông tin nhạy cảm họ hệ thống máy tính nối mạng truy cập với Một ví dụ chúng liên quan tới người dùng Internet trung bình lưu trữ thông tin chi tiết thẻ tín dụng website Nơi mà khuyến khích cá nhân không lương thiện cố truy cập ăn cắp sử dụng sai mục đích, lạm dụng loại thông tin nhạy cảm Đôi biện pháp mà sử dụng để chống lại truy cập bất hợp pháp làm sập dịch vụ tài tình, khéo léo, hợp đạo đức Thiết kế chế xâm nhập thường yêu cầu hiểu biết vững hệ thống đích để khám phá lỗ hổng Thường thường, một chế xâm nhập khám phá ra, đóng gói dạng gọi rootkit, tập hợp chương trình kịch mà sở hữu với chút hiểu biết sử dụng để khai thác lỗ hổng bảo mật Khoảng rộng lớn yếu kẻ xâm nhập chạy "script kiddies" mà sử dụng xâm nhập đóng gói trước mà không cần hiểu biết thực tế hệ thống mà chúng công Chúng ta thảo luận cách khác để bảo vệ hệ thống phần Các bước ban đầu việc thiết lập hệ thống an ninh Có vài thứ mà bạn làm để bảo vệ hệ thống Linux tránh khỏi hầu hết rủi ro an ninh Tất nhiên, phụ thuộc vào việc bạn cấu hình, cách thức mà bạn sử dụng hệ thống bạn , chúng rắc rối việc cài đặt đơn giản mô tả Trong phần khám phá cách ngắn gọn chế để bảo vệ hệ thống Linux khỏi hầu hết công thông thường - cách tiếp cận mà tách giả thấy cài cho máy 2.1 Ngắt kết nối tới mạng không mong muốn Bước việc bảo mật cho hệ thống Linux ngắt kết nối hay vô hiệu hóa tất mạng ma dịch vụ mà bạn không cần Một cách bản, cổng mạng mà hệ thống chờ kết nối nguy hiểm, khai thác bảo mật dựa vào mạng ma sử dụng cổng Cách nhanh để tìm cổng mở sử dụng netstat -an, (tuy nhiên bỏ vài dòng): # netstat -an Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0.0.0.0:7120 0.0.0.0:* LISTEN tcp 0 0.0.0.0:6000 0.0.0.0:* LISTEN tcp 0 0.0.0.0:22 0.0.0.0:* LISTEN Ở thấy hệ thống nghe ngóng cho kết nối cổng 7120, 6000 22 Nhìn vào /etc/services, sử dụng -p với lệnh netstat, thường tiết lộ mạng ma giao tiếp với cổng Trong trường hợp X font server, X Window System server ssh Nếu bạn nhìn thấy nhiều cổng khác mở - cho thứ telnetd, sendmail tự hỏi bạn xem liệu bạn có thực cần deamons chạy không Qua thời gian, vấn đề bảo mật bộc lộ, bạn có nhiều kinh nghiệm việc theo dõi tất cập nhật bảo mật, không hệ thống bạn bị tổn thương từ công Bởi vậy, telnetd, ftpd, rshd tất bao gồm gửi mật thông qua mạng Internet cho việc chứng thực, giải pháp tốt sử dụng sshd, mã hóa liệu sử dụng chế chứng thực mạnh Thậm chí bạn chưa bảo sử dụng telnetd để chạy hệ thống bạn ý kiến hay trường hợp cố tìm cách phá vỡ Ngắt dịch vụ thường phải chỉnh sửa file cấu hình tương ứng cho phân phối bạn khởi động lại hệ thống Trên hệ thống Red Hat, ví dụ, nhiều deamons bắt đầu kịch thư mục /etc/rc.d/init.d Đổi tên gỡ bỏ file kịch ngăn chặn deamons tương ứng từ lúc khởi động Những deamon khácđược khởi động inetd xinetd việc trả lời kết nối mạng; sửa cấu hình hệ thống giới hạn tập hợp daemon chạy hệ thống bạn Nếu bạn thực cần dịch vụ chạy máy bạn (chẳng hạn X server), tìm cách để ngăn chặn kết nối tới dịch vụ từ máy chủ không mong muốn, chẳng hạn, an toàn phép kết nối ssh từ máy chủ tin tưởng, chẳng hạn từ máy mạng nội bạn Trong trường hợp X server X font server, mà chạy nhiều máy Linux, thường lí phép kết nối tới daemon từ thứ mạng cục Lọc kết nối tới daemon thực TCP wrapper IP filtering, mô tả phần sau 2.2 Bảy điều không nên làm để bảo mật hệ thống Phần tổng kết lại lỗi bảo mật phổ biến (Không phải thực có 7, lỗi đủ xứng đáng nằm top) Một cách kiên định tránh tất lỗi công việc khó 2.2.1 Không sử dụng mật đơn giản dễ đoán Không sử dụng mật mà giống (hoặc có liên quan tới) ID bạn, tên, sinh nhật, tên công ty, hay tên cún bạn Nếu bạn người yêu thích ô tô đừng sử dụng tên kiểu xe biển số đăng kí xe ô tô bạn Nếu bạn yêu thích động vật đừng đặt mật tên đăng kí động vật - từ bạn rút ý tưởng Luôn đảm bảo mật bạn từ ngữ đơn giản mà tìm thấy từ điển Mật tốt câu vô lý Một thói quen tốt sử dụng mật dựa qui tắc đơn giản mà bạn nhớ Ví dụ, bạn chọn qui tắc giống như: kí tự cuối từ cụm từ “Mary had a little lamb, its fleece was white as snow," mật bạn "ydaebsesesw" Một kĩ thuật chúng khác sử dụng số hệ thống dấu chấm câu mật Thực có vài chương trình mật yêu cầu điều Một kết hợp hai kĩ thuật tốt 2.2.2 Không sử dụng tài khoản gốc trừ thật cần Một lí mà nhiều hệ điều hành (chẳng hạn Windows) bị tổn thương công qua virus email điều giống việc thiếu hệ thống quyền toàn diện Trong hệ thống vậy, người dùng có quyền truy cập vào file nào, chạy chương trình cấu hình lại theo cách Bởi người dùng dễ dàng chạy chương trình nên gây nguy hại cho hệ thống Trái lại, mô hình bảo mật Linux giới hạn khoảng rộng tác vụ phân quyền, chẳng hạn cài phần mềm hay chỉnh sửa file cấu hình thành người sử dụng gốc (root user) Không sử dụng tài khoản gốc cho thứ! Nếu làm bạn bỏ phần mạnh để chống lại virus "Trojan Horse Luôn sử dụng tài khoản thường (normal user) sử dụng lệnh su lệnh sudo để tạm thời đạt truy cập gốc bạn cần thực tác vụ phân quyền Ngoài có lợi ích việc giới hạn việc sử dụng tài khoản gốc: logging (ghi lại kiện hệ thống dựa hành vi người dùng hành vi thành phần hệ thống) Lênh su lệnh sudo viết thông điệp tới file log hệ thống chúng yêu cầu, thực thi lênh su lệnh sudo có đề cập đến ID người sử dụng Điều có ích cho việc theo dõi quyền gốc sử dụng 2.2.3 Không chia sẻ mật bạn Không nói cho mật bạn, không Điều có nghĩa bạn không nên viết mật bạn sticky dán hình bạn nhập kí bạn để ngăn kéo Nếu bạn muốn cho phép tạm thời truy cập tới hệ thống bạn, tạo tài khoản tạm cho họ sử dụng Điều cho phép bạn thuận tiện theo dõi họ làm, bạn dễ dàng xóa chúng sau xong việc Nếu bạn thực tin tưởng với tài khoản gốc bạn sử dụng lệnh sudo, lệnh mà cho phép bạn đưa người sử dụng gốc truy cập mà không tiết lộ mật gốc 2.2.4 Đừng tin tưởng cách mù quáng file nhị phân mà đưa cho bạn Trong thuận tiện để tải cài đặt file nhị phân máy bạn, bạn nên đặt câu hỏi bạn tin tưởng vào file nhị phân trước chạy chúng Nếu bạn cài gói phần mềm mà download trực tiếp từ sites thức site phát triển file nhị phân đó, bạn hoàn toàn tin tưởng phần mềm an toàn Nếu bạn lấy chúng từ site ánh xạ site không thức, bạn cần xem xét bạn tin tưởng vào người quản trị site Rất phân phối sửa đổi phần mềm với cửa sau mà cho phép phép truy cập vào máy tính bạn Ví dụ tổ chức Debian phát triển cách thức cho việc phê chuẩn gói phần mềm để xác nhận chưa sửa đổi Các phân phối khác đảm bảo để chấp nhận kĩ thuật tương tực để bảo vệ tính toàn vẹn gói phần mềm thuộc sở hữu họ Nếu bạn muốn cài chạy chương trình mà đưa cho bạn dạng nhị phân, có vài thứ mà bạn làm để giảm tối thiểu nguy hiểm Không may mắn, kĩ thuật dễ dàng bạn người làm quen môi trường Linux Đầu tiên, chạy chương trình không tin tưởng tài khoản tài khoản gốc chương trinh đặc biệt yêu cầu quyền người dùng gốc để thực Điều chứa thiệt hại mà chương trình làm, ảnh hưởng tới file thư mục người sử dụng Nếu bạn muốn nhận vài ý tưởng chương trình làm trước bạn chạy nó,bạn chạy đoạn chương trình lấy chuỗi Nó cho bạn tất chuỗi mà code cứng vào chương trình Bạn nên tìm kiếm xem có tham chiếu tới file thư mục không, chẳng hạn etc/passwd, /bin/login, etc Nếu bạn nhìn thấy tham chiếu tới file quan trọng, bạn nên tự hỏi xem liệu có phải mục đích củchương trình câu hỏi Nếu không coi chừng Nếu bạn thiên kĩ thuật, bạn xem xét lần chạy chương trình xem làm gì,sử dụng chương trình theo dõi chẳng hạn strace Itrace, mà hiển thị hệ lời gọi thư viện hệ thống mà chương trình gọi Nhìn vào cá tham chiếu tới file hệ thống hoạt động mạng khác thường traces 2.2.5 Đừng bỏ qua file log Các file log hệ thống bạn người bạn tốt bạn, chúng nói cho bạn biết nhiều xảy hệ thống bạn Bạn tìm thông tin chúng kết nối mạng yêu cầu tới hệ thống bạn, sử dụng tài khoản gốc, cố gắng đăng nhập bị sai Bạn nên kiểm tra file log cách định kì để biết điều bình thường, hữu ích không bình thường Nếu bạn nhìn thấy vài thứ khác thường, nghiên cứu tỉ mỉ 2.2.6 Đừng để hệ thống bạn không cập nhật Hãy giữ phần mềm hệ thống bạn cập nhật, điều giúp đảm bảo tất lỗi bảo mật sửa chữa áp dụng Hầu hết phân phối Linux cung cấp tập hợp gói mà sửa chữa lỗi bảo mật, bạn lo lắng kết quả, chẳng hạn file cấu hình đặc điểm thay đổi để giữ hệ thống bạn bảo mật Bạn nên theo dõi cập nhật 2.2.7 Đừng quên bảo mật vật lí Hầu hết lỗ thủng bảo mật thực người bên tổ chức chạy hệ thống đích Tất cấu hình an ninh cho phần mềm giới chẳng bật máy tính boot từ đĩa mềm chứa code lợi dụng công Nếu máy bạn sử dụng BIOS hệ thống thông báo cho phép thứ tự thiết bị boot cấu hình thiết lập boot từ đĩa mềm đĩa CD sau đĩa cứng Nếu BIOS bạn cung cấp hỗ trợ đặt mật bạn cấu hình để sử dụng Nếu bạn khóa case máy lại làm Nếu bạn giữ máy vùng an toàn mặt vật lí chẳng hạn phòng khóa, tốt Cấu hình TCP Wrapper Như biết kết nối máy tính bạn với hệ thống mạng lớn làm tăng nguy hiểm bị công Sự phán đoán chung không thuộc phương thức nào, thời gian đợi đóng lại an ninh mạng sỏ thảo luận việc làm giảm nguy hiểm không mong muốn truy cập mạng, sử dụng công cụ trình bao bọc cấu hình TCP Cơ chế wrap hữu dịch vụ( giống dịch vụ mail), chương trình nối mạng mà nối với từ chối từ địa trái phép Nó cách đơn giản để thêm dịch vụ điều khiển truy cập, tự sáng tạo mà hầu hết dùng chung với chương trình inet xinetd deamons(chương trình UNIX , sử dụng sau mà người sủ dụng đến có mặt nó) TCP Wrapper gần giống với đội bảo vệ, “bạn phải tìm lối vào rộng hơn.” Khi bạn tới gần khu vực(chuẩn bị đăng nhập), đội bảo vệ hỏi tên địa bạn Đội bảo vệ tra cứu danh sách khách( gues), bạn cho phép, đội bảo vệ dẹp sang bên cho bạn đăng nhập hệ thống kết nối mạng bảo vệ TCP Wrapper Wrapper vật bảo vệ Wrapper kiểm tra nguồn gốc nối mạng sử dụng máy chủ địa sau kiểm tra có danh sách cho phép đăng nhập không Nếu tên địa máy trạm khớp với danh sách Wrapper dẹp sang bên thức cho phép máy trạm đăng nhập hệ thống Đó hai cách mà bạn sử dụng Linux cấu hình phân phối Nếu bạn sử dụng Inetd để quản lý( kiểm tra xem file /etc/inetd.conf có tồn không), TCP Wrapper thực bổ sung lời gọi chương trình đặc biệt tcpd Nếu bạn sử dụng xinted(kiểm tra thư viện /etc/xinetd.d ), xinetd luôn sử dụng TCP Wrapper Và sau đây, nghiên cứu chúng cụ thể 3.1 Sử dụng TCP Wrapper với inetd Nếu bạn sử dụng inet daemon để khởi chạy dịch vụ mạng, phải hiệu chỉnh file /etc/inetd.conf bạn để chạy TCP Wrapper Hãy sử dụng lệnh finger daemon kiểm tra xem người dùng có sủ dụng internet hay không, cho thông tin người sủ dụng tên địa chỉ, ví dụ: in.fingerd ngôn ngữ sỏ thay việc sử dụng infinger daemon, inetd sủ dụng tcpd daemon để thay Tcpd thực TCP wrapper sau chạy in.fingerd nơi mà kết nối chấp nhận TCP wrapper yêu cầu thay đổi đơn giản file /etc/inetd.conf Với lệnh finger daemon, bạn cần có danh sách file ví dụ sau: # /etc/in.fingerd finger daemon finger streamtcp nowaitroot /usr/sbin/in.fingerd in.fingerd Đó lí lệnh tcpd sử dụng để thay lệnh in.fingerd Tên đầy đủ lệnh finger daemon khóa với tcpd đối số, tcpd sử dụng đối số khởi tạo lệnh thực sau xác nhận cho phép đăng nhập Bạn nên tạo thay đổi cho chương trình daemon mà bạn muốn bảo vệ Trên hầu hết hệ thống Linux, bạn tìm thấy tcpd tự định cấu hình, nên thay đổi không cần thiết 3.2 Sử dụng TCP Wrapper với xinetd Xinetd sử dụng để thay cho inetd vài phân phối (ví dụ Red hat) điển hình Trong hầu hết trường hợp xinetd có xây dựng hỗ trợ cho TCP Wrapper, tất thứ để bạn thay đổi cấu hình tập tin TCP Wrapper(/etc/hosts.allow and /etc/hosts.deny) mô tả phần tiếp Nếu tự bạn cài xinetd chắn hỗ trợ cho TCP Wrapper 3.3 /etc/hosts.allow /etc/hosts.deny TCP Wrapper sử dụng hai file cấu hình /etc/hosts.allow /etc/hosts.deny Đây file sử dụng để định quy tắc truy cập cho mạng daemon bảo vệ TCP Wrapper Khi TCP Wrapper gọi, thu địa IP máy chủ kết nối cố gắng tìm tên máy chủ sử dụng tìm kiếm hệ thống tên miền Tiếp theo tra cứu file etc/hosts.allow để xem máy chủ có cho phép đăng nhập hay không để sử dụng dịch vụ Nếu khớp, đăng nhập cho phép lệnh daemon mạng thực gọi Nếu không khớp với file /etc/hosts.allow file, /etc/hosts.deny đem tra cứu Nếu khớp kết nối kết thúc, không khớp, tìm file khác truy cập cho tạm ổn Đây kĩ thuật đơn giản để kiểm soát hầu hết truy cập Cú pháp hosts.allow hosts.deny đơn giản Một vài file bao gồm quy tắc cài đặt Mỗi quy tắc chung đường bị tách thành nhiều đường sử dụng dấu vạch chéo ngược cuối dòng Ví dụ form câu lệnh sau daemon_list : client_list : shell_command daemon_list danh sách ngăn cách dấu phẩy daemon để…lệnh sử dụng Những lệnh daemon dùng với danh nghĩa tên cở sở lệnh Đó lệnh tồn để phục vụ yêu cầu dịch vụ client_list danh sách tên máy chủ địa IP (Internet protocol) để so sánh xem có khớp không shell_command tùy chọn rõ lệnh chạy so khớp daemon_list client_list cho phép bạn khớp với số lệnh daemon máy chủ bên có tên rõ ràng Thêm vào đó, bạn sử dụng số dấu hiệu chứng tỏ trước để dễ dàng đọc xây dựng Chúng ta vào trang quản lý host_access Với file hosts.deny trông sau: # /etc/hosts.deny ALL: ALL Dòng lời thích, dòng biên dịch :” truy cập từ chối yêu cầu tới tất dịch vụ từ máy chủ.”Nếu /etc/hosts.allow rỗng quy tắc đóng truy cập đến thứ từ tất máy chủ Internet, bao gồm máy chủ địa phương Chúng ta thay đổi đơn giản file sau: # /etc/hosts.deny ALL: ALL EXCEPT localhost Nó ngầm định quy tắc an toàn Bạn nên nhớ tham khảo quy tắc /etc/hosts.allow trước /etc/hosts.deny thêm quy tắc hosts.allow ghi đè lên cài đặt ngầm định hosts.deny ví dụ như,ta hình dung cho phép máy chủ Internet truy cập daemon finger(lệnh cho biết thông tin truy cập Internet), muốn làm ta cần thêm quy tắc sau: # /etc/host.allow In.fingerd: ALL Thông thường sử dụng TCP Wrapper để hạn chế cài đặt truy cập dịch vụ máy chủ Máy chủ hướng dẫn sử dụng địa IP tên máy chủ ví dụ cụ thể địa IP, hostname Ví dụ, lệnh daemon finger từ máy chủ Trong trường hợp file hosts.allow sửa sau: # /etc/hosts.allow In.fingerd: spagetti.vpasta.com, v.pizza.com, 192.168.1 Trong ví dụ ta vừa cho phép yêu cầu FTP( truyền tập tin) từ máy chủ có tên là: spaghetti.vpasta.com miền v.pizza.com từ máy có tên bắt đầu dạng: 192.168.1 Việc so khớp quy tắc hosts.allow hosts.deny quan trọng, có mặt vị trí dấu chấm quan trọng Một dạng dấu chấm giả định tên miền xác định hệ thống dạng có dấu chấm cuối rõ dạng địa IP Đó cách xác định nhóm máy chủ thuộc miền kiểu địa IP cụ thể Các cài đặt kiểu cấu hình nằm trang quản lý host_access Tường lửa: Lọc IP gói tin Trong lúc TCP wrappers sử dụng dể giới hạn tập hợp máy chủ,nó thiết lập kết nối phục vụ đến máy dó,trong nhiều trường hợp đưa vào sử dụng để kiểm soát nhiều gói thông tin,khi thâm nhập vào hệ thống xác định.Ngoài ra,trong trường hợp dó TCP wrappers làm việc với cấu hình dã định sẵn inetd xinetd;có số dịch vụ(ví dụ sshd vài hệ thống) "độc lập" cung cấp quyền kiểm soát tính nang truy xuất liệu Vẫn dịch vụ khác quyền thực thi kiểm soát cho mình,nhung cần thiết để cung cấp mức độ bảo vệ khác muốn kiểm soát soát kết nối tạo thành từ dịch vụ Ngày điều đáng ghi nhớ cho sử dụng Internet để bảo vệ chống lại mối de dọa công từ mạng dựa việc sử dụng kĩ thuật đượcc gọi IP filtering(bộ lọc IP).IP filtering bao gồm nhân kiểm tra gói tin đuợc truyên hay nhận mạng định xem liệu có cho gói tin di qua hay không sửa lỗi trước cho di qua.IP filtering thường gọi "firewalling",bởi lọc packet đến máy tính bạn mà bạn xây dựng "firewall" hệ thống phần lại Internet IP filtering bảo vệ máy tính bạn chống lại công virus Trojan Horse lỗi ứng dụng, nhung bảo vệ máy tính bạn khỏi nhiều mối de dọa từ mạng,ví dụ nhu công DOS hay giả mạo IP bạn.Ngoài IP filtering cung cấp lớp khác để bạn kiểm soát ngăn chặn người sử dụng mà bạn không mong muốn truy cập vào hệ thống bạn Ðể tạo IP filtering làm việc,chúng ta cần biết packet cho phép packet không phép.Thông thường,sự chọn lựa packet dựa vào phần mô tả packet header,bao gồm thông tin khác ví dụ nguồn đích địa IP,các kiểu giao thức (TCP,UDP ),và số hiệu cổng nguồn số hiệu cổng đích.những dịch vụ mạng khác sử dụng giao thức số hiệu cổng khác Ðôi việc kiểm tra packet header không đủ khả để hoàn thành nhiệm vụ,nhưng cần kiểm tra làm sáng tỏ liệu mang theo giới hạn packet.Ki thuật thường đượcc gọi "stateful inspection" lẽ packet xem xét ngữ cảnh network connection hon cô lập.Ví dụ,chúng ta cho phép nhũng nguời sử dụng sâu vào our network để sử dụng FTP servers bên mạng FTP 12 giao thức phức tạp sử dụng kết nối TCP để gọi lệnh tới server.Một cách đáng tiếc FTP ủy nhiệm số hiệu cổng đến liệu thời,nhung client va server phải đàm phán số hiêu cổng sử dụng chuyển cho phiên lệnh IP filtering thi hành nhân Linux,cái mà chứa code để kiểm tra gói nhân gói chuyển,áp dụng quy tắc lọc để định t?n t?i packet.Những quy tắc định cấu hình sử dụng user-space, công cụ cấu hình chấp nhận từ dòng lệnh đơn filter định sẵn,đó việc sử dụng quy tắc nhân Có ba hệ IP filtering dựa vào kernel Linux, loại có chế cấu hình riêng Thế hệ gọi ipfw (cho IP firewall) cung cấp khả lọc có chút không mềm dẻo,linh hoạt không đủ cho cấu hình phức tạp ipfw sử dụng ngày Thế hệ thứ hai IP filtering gọi IP chain; cải tiến lớn ipfw, thường sử dụng ngày Thế hệ cuối việc filtering gọi netfilter/iptables netfilter thành phần nhân iptables công cụ cấu hình không gian người dùng (user/space); thuật ngữ thường sử dụng với cách liên hợp, thay cho netfilter không mềm dẻo hơn, dễ cấu hình hớn mà có khả mở rộng Trong phần sau mô tả netfilter vài cấu hình đơn giản ví dụ 4.1 Netfilter Netfilter thực nhân Linux 2.4.0 phiên Công cụ cho việc thao tác hiển thị bảng lọc gọi iptables bao gồm tất phân phối Linux Lệnh iptables cho phép cấu hình tập hợp lớn phức tạp firewall rules có lượng lớn tùy chọn dòng lệnh Chúng ta nói chung Iptables manager cung cấp giải thích đầy đủ Để thêm thích thú bạn, nhìn vào đoạn lệnh sau: iptables -A INPUT -m state state NEW -m tcp -p tcp dport 22 -j ACCEPT Lệnh cài IP filtering rule mà chấp nhận kết nối tới cổng TCP 22 (dịch vụ ssh) hệ thống máy cục Nó sử dụng module mở rộng gọi state để tăng hiệu hoạt động theo dõi kết nối Trên trang sau giải thích làm tất thứ hoạt động Một khái niệm quan trọng netfilter notion of a chain, mà bao gồm danh sách qui tắc mà áp dụng để gói chúng vào, ngang qua hệ thống Mặc định nhân định nghĩa ba chain, administrator chain qui tắc liên kết chúng lại với chain trước Ba chain định nghĩa sẵn là: INPUT Chain áp dụng tới gói tin mà nhận đích tới hệ thống máy cục bộ, OUTPUT Chain áp dụng tới gói tin mà chuyển qua hệ thống máy cụ FORWARD Chain áp dụng gói tin định hướng từ giao diện mạng tới khác thông qua hệ thống Nó sử dụng hệ thống đóng vai trò định tuyến (router) cho gói tin gateway, áp dụng tới gói tin mà hoặc đích đến hệt thống Mỗi qui tắc chain cung cấp tập hợp nguyên tắc mà gói tin trùng khớp với qui tắc, hành động mà thực gói tin mà khớp Các hành động mà thực gói tin bao gồm chấp nhận gói (cho phép nhận chuyển) hủy gói tin (đơn giản từ chối nhận chuyển) chuyển gói tin sang chain khác (sau hữu ích xây dựng chain người dùng định nghĩa, mà cho phép qui tắc lọc gói phức tạp xây dựng cách có cấp bậc) Một gói tin ngang qua qui tắc chain chấp nhận, hủy chạm tới phần cuối chain Nếu chạm tới phần cuối chain, hành động mặc định thực để định "số phận" gói tin Hành động mặc định cấu hình để chấp nhận bỏ qua tất gói tin Netfilter Linux hỗ trợ số lượng tùy chọn hay khác mà bạn làm việc gạo filtering rules Một thuận lợi netfilter mềm dẻo Nó có khả phát triển extension (các mở rộng thêm) mà mở rộng cách thức netfilter hoạt động Một vài ví dụ điều khiển hành động gói tin phức tạp là: Packet logging Bạn tạo qui tắc mà không làm log mô tả việc khớp gói tin chụp lại để phân tích sau Điều có ích cho việc dò tìm công cho việc thử nghiệm cấu hình lọc Stateful inspection netfilter bao gồm tập hợp module trợ giúp mà thực kiểm tra kết nối tốt hơn, chẳng hạn quản lí kết nối FTP, mô tả trước Network Address Translation Network Address Translation (NAT), gọi IP masquerading (giả mạo IP), cung cấp cách thức cho việc viết lại địa IP số hiệu cổng gói tin mà chúng chuyển qua chain NAT thường sử dụng phép hệ thống mạng cá nhân sử dụng kết nối tới Internet với địa IP NAT chủ đề phức tạp mà không thảo luận sâu, ví dụ đơn giản cung cấp phia sau phần Bạn tìm hiểu thêm NAT NAT HOWTO Network Administrator Guide (của nhà xuất O'Reilly) Packet and byte accounting netfilter cung cấp đếm mà cho phép bạn đo băng thông mạng mà điều khiễn qui tắc, vài hệ thống tính toán IP dựa thống kê Những đếm nhìn thấy bạn sử dụng iptables để liệt kê tập hợp qui tắc chế độ chi tiết; giải thích ví dụ bên Sử dụng lệnh iptables: Lệnh iptables sử dụng để tạo thay đổi tới chain netfilter tập hợp rule Bạn tạo chain mới, xóa chain, liệt kê qui tắc chain, flush chain (gỡ bỏ tất qui tắc khỏi chain) xác định hành động mặc định cho chain iptables cho phép bạn chèn, thêm, xóa thay qui tắc chain Lệnh iptables có số lượng lớn tham số tùy chọn dòng lệnh, bạn dùng lần, cú pháp trở nên hoàn toàn dễ hiểu Trong phần khám phá cách sử dụng chung iptables, vài tham số tùy chọn bỏ qua phần thảo luận Đặc biệt, không thảo luận chain người dùng định nghĩa Bảng sau liệt kê tổng kết tham số lệnh iptables mà hoạt động chain, bảng sau tổng kết hành động qui tắc riêng lẻ Bảng 1.các hoạt động iptables chain Tham số Mô tả -L chain Liệt kê qui tắc chain tất chain -F chain Xóa qui tắc chain tất chain -Z chain Đưa đếm byte trở không -P chain Thiết lập hành động mặc định chain thành action action Bảng hoạt động iptables qui tắc -A chain Gắn qui tắc vào chain rulespecificatio n D chain Xóa qui tắc với rule number từ chain rulenum -R chain Thay rule number rulenum chain rulenum rulespecification rulespecificatio n -I chain rulenum Chèn qui tắc vào chain rulespecificatio n 15 Mỗi qui tắc lọc bao gồm tham số mà mô tả gói tin khớp với qui tắc Các tham số chung tổng kết bảng sau Sử dụng dấu chấm tham trước tham số đảo ngược chúng Ví dụ, tham số -dport 80 có nghĩa khớp cổng đích 80; tham số -dport !80 có nghĩa khớp cổng đích ngoại trừ cổng 80 Bảng tham số lệnh iptables Tham số Khớp -p ! protocol Giao thức gói Thiết lập hợp lệ tcp, udp, icmp, or all -s ! Địa nguồn gói,chỉ hostname địa IP source/mas k -d ! Địa đích gói Sử dụng cú pháp với địa source/mas nguồn k - sport ! port Cổng nguồn gói Chỉ số hiệu cổng cho dịch vụ - dport ! port Cổng đích gói Sử dụng cú pháp với cổng nguồn -i ! interface Giao diện mạng nơi mà gói nhận -o ! Địa mạng nơi mà gói gửi interface Một số lượng tùy chọn quan trọng sử dụng bạn tạo tập hơp qui tắc tổng kết bảng sau: Bảng tùy chọn quan trọng iptables Tùy chọn Mô tả -v Hữu ích liệt kê qui tắc với –L -n Hiển thị địa IP dạng số -m module Tải iptable module với tên module Ngoài để tham số khớp, qui tắc netfilter phải vài hành động để lấy gói tin khớp với qui tắc Một cách tổng quát, qui tắc gói nên chấp nhận bị từ chối, mô tả Nếu hành động cho qui tắc, gói tin đếm byte (byte counter) cho qui tắc tăng lên gói chuyển sang qui tắc chain Điều cho phép qui tắc sử dụng cho mục đích tính toán mà Để hành động cho qui tắc sử dụng cú pháp sau: -j target Ở đây, -d đại diện cho "jump", có nghĩa gói tin khớp qui tắc này, processing jump (nhảy) tới hành động đặt tên target Target những: ACCEPT Cho phép gói chuyển hay nhận DROP Bỏ qua gói tin QUEUE Pass the packet to a userspace program for processing Chuyển gói tin vào không gian người sử dụng chờ xử lí RETURN Nếu sử dụng với chain người dùng định nghĩa làm gói tin chuyển tới chain gọi Nếu sử dụng với chain có sẵn, làm gói tin nhảy tới phần cuối chain (ở chạy hành động mặc định chain cho gói tin này) Khi sử dụng tùy chọn -j, target đặt teencuar chain người dùng ra, mà cho phép người dùng định nghĩa "subchain" (chain con) qui tắc mà xử lí gói tin Như mô tả trước đây, target RETURN sử dụng làm gói tin chuyển trở lại chain gọi 4.2 Phát triển qui tắc lọc IP Thông thường, phần khó việc thực IP firewall định xem bạn thực muốn làm Bạn có muốn cho phép kết nối có tự hay không? Bạn có muốn cho phép gói ICMP hay không? Dịch vụ UDP bạn muốn? Loại logging bạn muốn dùng?Một thách thức việc xây dựng qui tắc lọc IP hầu hết người quen thuộc với khái niệm địa chỉ, giao thức, số hiệu cổng Thay vào thường nghĩ tới khái niệm ứng dụng người dùng cuối Để xây dựng qui tắc lojg, phải có khả dịch yêu cầu mức cao thành chi tiết mức thấp với thao tác lọc Làm dịch vụ mà bạn quản lí với IP filtering thực làm việc Đầu tiên trước tiên, quan trọng để biết liệu dịch vụ sử dụng TCP UDP, số hiệu cổng mà sử dụng File etc/services thường xuyên cung cấp bạn cần biết Ví dụ, tìm kiếm cho smtp tường file tcp/25, mà giao thức SMTP sử dụng TCP cổng 25 Tương tự, tìm kiếm cho DNS trả hai giá trị, cho udp/53 khác cho tcp/53; điều có nghĩa dịch vụ sử dụng cổng 53 sử dụng giao thức TCP UDP Một vài giao thức chẳng hạn FTP, có hai entry liên quan tới khác /ect/services Như mô tả phần trước, FTP sử dụng cổngcho phần lệnh (tcp/21) cổng khác cho việc truyền liệu (tcp/20) Không may thay, FTP client server tự sử dụng cổng khác cho việc truyền liệu Bởi vậy, FTP trở thành mối phiền nhỏ nhỏ việc tạo filtering rules May thay, netfilter cung cấp vài giải pháp với đặc điểm gọi connection tracking (theo dõi kết nối), với module trợ giúp đặc biệt hiểu dịch vụ FTP Bởi điều này, cần thiết tạo qui tắc cho phần lệnh FTP, netfilter tự động theo dõi "trông coi" phần chuyển liệu cho bạn Chúng ta giải thích điều ví dụ phần sau Nếu /etc/services không cung cấp đủ thông tin, bạn cần đọc tài liệu RFC liên quan, rõ giao thức sử dụng dịch vụ Thường thường, bạn không cần biết nhiều dịch vụ giao thức cổng mà sử dụng, mà thường dễ tìm thấy tài liệu RFC 4.3 Quản lí lọc IP file kịch Quy tắc lọc lưu trữ sử dụng nhân nhiều trường hợp chẳng hạn định tuyến entry: hệ thống khởi động lại, quy tắc lọc IP phải cấu hình lại Để đảm bảo cấu hình tường lửa phục hồi khởi động lại hệ thống, bạn nên để lệnh IPtables file kịch mà tự động chạy vào thời điểm hệ thống khởi động Gói phần mềm Iptables đóng gói hai chương trình iptables-save iptables-restore, chúng lưu cấu hình netfilter tới file phục hồi từ file Nhũng công cụ làm đơn giản hóa trình quản lý cấu hình tường lửa Mỗi phân phối linux có quản lý cấu hình tường lửa khác Red hat(version 7.0 sau đó) Đầu tiên cấu hình quy tắc lọc IP bạn sử dụng lệnh iptables thích hợp sau chạy dòng lệnh sau: /sbin/service iptables save Dòng lệnh làm cho quy tắc lọc lưu vào /etc/sysconfig/iptables, tự động đọc thời điểm hệ thống khởi động Debian Cài đặt quy tắc iptables sau: Chỉnh sửa file /etc/default/iptables đặt enable_iptables_initd=true Bạn phải tự cấu hình cho iptables sử dụng lệnh iptables Gọi file /etc/init.d/iptables save_active để lưu cấu hình bạn vừa cài đặt Ở thời điểm hệ thống khởi động, cấu hình lưu tự động khôi phục lại 4.4 SuSE Linux Để đơn giản, không linh hoạt, cấu hình chạy yast2 chọn cấu hình tường lửa module Security&Users -> Firewall Nếu không: Sửa /etc/sysconfig/SuSEfirewall2 Nếu cần thiết, vào file /etc/sysconfig/scripts/SuSEfirewall2- custom tùy chỉnh theo ý Điều yêu cầu hiểu biết sâu tường lửa hoạt động linux Khởi động tường lửa lời gọi /sbin/SuSEfirewall2 start Cấu hình ví dụ với netfilter 4.4.1 Ví dụ lọc IP đơn giản Ở mô tả cách sử dụng lọc IP, tương tự sử dụng TCP wrappers mô tả phần trước.Ở muốn in hình gói tin từ tất máy chủ Internet, trừ gói tin đích cho lệnh finger daemon từ tập nhỏ máy chủ.Trong TCP wrappers sử dụng để thực chức năng, lọc IP sử dụng để in hình nhiều loại khác gói tin (ví dụ, ICMP gói “ping”), thường cần thiết để bảo vệ dịch vụ mà không quản lý TCP wrappers Không giống TCP wrappers,các qui tắc iptables sử dụng tên máy chủ để xác định nguồn gốc điểm đến gói tin ,mà bạn phải sử dụng địa IP xác định quy tắc.Khi quay trở tìm tên máy chủ cách an toàn hoàn toàn để nhận dạng gói tin.(Đó lừa đảo hệ thống tên miền,làm cho địa IP máy chủ khác nhau) Trong hai ví dụ đây, sử dụng địa IP thay tên máy chủ, mà thu cách sử dụng công cụ nslookup Ví dụ Ví dụ ipchains đơn giản: # Nạp mô-đun kết nối theo dõi chúng không biên soạn vào Modprobe ip conntrack Modprobe ip conntrack ftp #Thiết lập mặc định với sách giảm chuỗi đầu vào Iptables –p input drop #Chấp nhận gói tin thuộc kết nối có sẵn # –A INPUT sử dụng để nối với chuỗi đầu vào # –m state sử dụng mô-đun kiểm tra trạng thái modprobe ip_conntrack # Chấp nhận tất gói tin trở lại từ thiết bị ghép nối,trong vùng máy chủ “-i lo” xác định việc trở lại thiết bị ghép nối iptables -A INPUT -i lo -j ACCEPT #Chấp nhận kết nối thu được, gói tin thuộc kết nối đến cổng 22 (ssh) iptables -A INPUT -m state state NEW -m tcp -p tcp \ dport 22 -j ACCEPT # Chấp nhận kết nối thu từ ftp 192.168.1/24 iptables -A INPUT -m state state NEW -m tcp -p tcp -s 192.168.1/24 \ dport 21 -j ACCEPT #Chấp nhận kết nối thu từ ftp spaghetti.vpizza.com có địa IP 10.21.2.4 iptables -A INPUT -m state state NEW -m tcp -p tcp -s 10.21.2.4 \ dport 21 -j ACCEPT #Chấp nhận kết nối thu từ ftp *.vpizza.com Nó có hai mạng kết nối mang 172.18.1.0 172.25.3.0 iptables -A INPUT -m state state NEW -m tcp -p tcp -s 172.18.1/24 \ dport 21 -j ACCEPT iptables -A INPUT -m state state NEW -m tcp -p tcp -s 172.25.3/24 \ dport 21 -j ACCEPT Các quy tắc cụ thể chấp nhận tất gói tin thuộc kết nối có sẵn.Đây điều cần thiết trường hợp FTP, có phục vụ máy khách điều chỉnh thay cho cổng kết nối truyền liệu.Những mô-đun theo dõi kết nối (chỉ định với trạng thái –m quy tắc) bảo đảm kết nối truyền liệu chấp nhận 4.4.2 Giao thức lọc IP để bảo vệ toàn mạng máy tính Những ví dụ trước chứng tỏ lọc IP máy chủ Phần này, nói trường hợp mạng lưới máy (chẳng hạn tất máy nhà văn phòng nhỏ) kết nối vào Internet thông qua cổng máy tính.Chúng ta viết quy tắc lọc để lọc lượng truy cập mạng Internet mạng nội Trong trường hợp này, quy định chain INPUT FORWARD Dữ liệu sử dụng để lọc gói tin đích cho máy chủ này, FORWARD sử dụng cho gói tin chuyển tiếp cổng (ví dụ, gói tin đích cho mạng nội Internet).Ở đây, giả định cổng ra, máy sử dụng giao diện ppp0 để giao tiếp với Internet Ví dụ 2: Sử dụng lưới lọc đẻ bảo vệ mạng IP #Nạp mô-đun kết nối theo dõi chúng không lập vào chương trình modprobe ip_conntrack modprobe ip_conntrack_ftp #Thiết lập mặc định nguyên tắc đầu vào chuỗi chuyển tiếp để Drop iptables -P INPUT DROP iptables -P FORWARD DROP #Chấp nhận tất gói tin trở lại từ thiết bị kết nối iptables -A INPUT -i lo -j ACCEPT #Tạo ứng dụng người dùng xác định.Điều chứa chuỗi quy định liên quan đến INPUT va FORWARD.do phải nhóm chúng lại với chuỗi đơn iptables -N allowfwdi #Chấp nhận gói tin thuộc vào kết nối #Lưu ý quy định (và quy định sau) đặt người dùng xác định iptables -A allowfwdin -m state state ESTABLISHED,RELATED -j ACCEPT #CHẤP NHẬN yêu cầu kết nối từ máy tính mạng nội bộ.Điều cho phép máy mạng nội thiết lập kết nối vào Internet,nhưng phương pháp xoay vòng.Lưu ý việc sử dụng '-i! ppp0 'để xác định gói tin đến từ thiết bị ghép nối khác ppp0 iptables -A allowfwdin -m state state NEW -i ! ppp0 -j ACCEPT #Chấp nhận kết nối thu đến cổng 22 (ssh) 20 iptables -A allowfwdin -m state state NEW -m tcp -p tcp \ dport 22 -j ACCEPT # CHẤP NHẬN kết nối thu từ FTP 192.168.1/24 iptables -A allowfwdin -m state state NEW -m tcp -p tcp -s 192.168.1/24 \ dport 21 -j ACCEPT # CHẤP NHẬN kết nối thu từ FTP spagehetti.vpizza.com iptables -A allowfwdin -m state state NEW -m tcp -p tcp -s 10.21.2.4 \ dport 21 -j ACCEPT #CHẤp NHẬN kết nối thu từ FTP *.vpizza.com iptables -A allowfwdin -m state state NEW -m tcp -p tcp -s 172.18.1/24 \ dport 21 -j ACCEPT iptables -A allowfwdin -m state state NEW -m tcp -p tcp -s 172.25.3/24 \ fs #Hiện gói tin thông qua việc xác người dùng phải tùy thuộc vào hành động LOG Sử dụng mô-đun "giới hạn" để ngăn chặn gói tin đăng nhập nhanh chóng iptables -A allowfwdin -m limit limit 2/sec -j LOG #Đặt thao tác mặc định dây chuyền người dùng định để DROP iptables -A allowfwdin -j DROP # Trực tiếp nhận tất gói tin cho đầu vào chuyển tiếp cho người sử dụng gói tin để xác định chuỗi iptables -A INPUT -j allowfwdin iptables -A FORWARD -j allowfwdin #Kích hoạt tính định tuyến IP (theo yêu cầu tất định tuyến IP, việc sử dụng lọc IP) echo >/proc/sys/net/ipv4/ip_forward Để theo dõi hành động cố gắng vi phạm an ninh,chúng ta thêm số quy tắc ghi lại gói tin bị bỏ qua Tuy nhiên, số lượng lớn gói tin xấu đến,thì nguyên tắc điền lên đĩa với mục đăng nhập, làm chậm cổng vào để thu thập thông tin (phải lâu để đăng nhập gói việc chuyển tiếp lọc gói tin.Vì vậy, sử dụng môđun hạn chế để kiểm soát tốc độ quy tắc hành động thực Trong ví dụ trước, cho phép mức độ trung bình gói tin thứ hai đăng nhập hai gói tin xấu.Tất gói tin thông qua nguyên tắc đơn giản để bỏ qua Để xem quy tắc định cấu hình (xem Ví dụ 3), sử dụng danh sách tùy chọn iptables-L.Sử dụng chế độ verbose (-v) hiển thị nhiều thông tin so với thông tin đưa lệnh 21 [...]... gói tin thuộc về một kết nối có sẵn.Đây là điều cần thiết trong trường hợp của FTP, trong đó có phục vụ của máy khách và điều chỉnh thay thế cho các cổng kết nối truyền dữ liệu.Những mô-đun theo dõi kết nối (chỉ định với trạng thái –m trong các quy tắc) bảo đảm rằng các kết nối truyền dữ liệu có thể được chấp nhận 4.4.2 Giao thức lọc IP để bảo vệ toàn bộ mạng máy tính Những ví dụ trước đó đã chứng... kiểu cấu hình có thể nằm trong trang quản lý host_access 4 Tường lửa: Lọc IP của các gói tin Trong lúc TCP wrappers có thể được sử dụng dể giới hạn tập hợp của máy chủ,nó có thể thiết lập kết nối sự phục vụ đến một máy nào dó ,trong nhiều trường hợp nó được đưa vào sử dụng để kiểm soát nhiều hơn các gói thông tin,khi đó nó có thể thâm nhập vào một hệ thống đã được xác định.Ngoài ra ,trong trường hợp dó TCP... chúng ta sẽ mô tả netfilter và một vài cấu hình đơn giản như những ví dụ 4.1 Netfilter cơ bản Netfilter được thực hiện trong nhân Linux 2.4.0 và các phiên bản mới hơn Công cụ chính cho việc thao tác và hiển thị các bảng lọc được gọi là iptables và được bao gồm trong tất cả các bản phân phối Linux hiện tại Lệnh iptables cho phép cấu hình một tập hợp lớn và phức tạp các firewall rules và do đó có một lượng... cái mà thường dễ tìm thấy trong các tài liệu RFC 4.3 Quản lí lọc IP và các file kịch bản Quy tắc lọc được lưu trữ và được sử dụng bởi nhân trong nhiều trường hợp chẳng hạn như định tuyến các entry: khi hệ thống khởi động lại, quy tắc lọc IP phải được cấu hình lại Để đảm bảo rằng một cấu hình tường lửa được phục hồi khi khởi động lại hệ thống, bạn nên để các lệnh IPtables trong một file kịch bản cái... finger có thể chỉ từ một trong các máy chủ Trong trường hợp này file hosts.allow sẽ được sửa như sau: 1 # /etc/hosts.allow In.fingerd: spagetti.vpasta.com, v.pizza.com, 192.168.1 Trong ví dụ trên ta vừa cho phép yêu cầu FTP( truyền tập tin) từ máy chủ có tên là: spaghetti.vpasta.com hoặc miền v.pizza.com hoặc từ bất kì máy nào có tên bắt đầu dạng: 192.168.1 Việc so khớp các quy tắc trong hosts.allow và... các trong ví dụ bên dưới Sử dụng lệnh iptables: Lệnh iptables được sử dụng để tạo ra các thay đổi tới các chain netfilter và các tập hợp các rule Bạn có thể tạo ra một chain mới, xóa các chain, liệt kê các qui tắc trong một chain, flush chain (gỡ bỏ tất cả các qui tắc khỏi một chain) và xác định hành động mặc định cho một chain iptables cũng cho phép bạn chèn, thêm, xóa và thay thế các qui tắc trong. .. number rulenum trong chain bằng rulenum rulespecification rulespecificatio n -I chain rulenum Chèn một qui tắc vào một chain rulespecificatio n 15 Mỗi qui tắc lọc bao gồm các tham số mà mô tả gói tin nào khớp với qui tắc Các tham số chung nhất được tổng kết trong bảng sau Sử dụng một dấu chấm tham trước mỗi tham số sẽ đảo ngược chúng Ví dụ, tham số -dport 80 có nghĩa là khớp cổng đích 80; trong khi tham... cho smtp trong các tường của file này tcp/25, cái mà sẽ chỉ ra rằng giao thức SMTP sử dụng TCP cổng 25 Tương tự, tìm kiếm cho DNS trả về hai giá trị, một cho udp/53 và một cái khác cho tcp/53; điều này có nghĩa rằng dịch vụ sử dụng cổng 53 nhưng hoặc sử dụng giao thức TCP hoặc UDP Một vài giao thức chẳng hạn FTP, có hai entry liên quan tới nhau nhưng khác nhau trong /ect/services Như được mô tả trong. .. được thi hành bởi nhân Linux, cái mà chứa code để kiểm tra mỗi gói nhân và mỗi gói chuyển,áp dụng các quy tắc lọc để quyết định sự t?n t?i của packet.Những quy tắc đã được định cấu hình sử dụng một user-space, công cụ cấu hình đó được chấp nhận từ những dòng lệnh đơn filter đã định sẵn,đó là việc được sử dụng các quy tắc bởi nhân Có ba thế hệ IP filtering dựa vào kernel trong Linux, và mỗi loại có cơ... động khôi phục lại 4.4 SuSE Linux Để đơn giản, mặc dù không linh hoạt, cấu hình chạy yast2 và chọn cấu hình tường lửa module Security&Users -> Firewall Nếu không: 1 Sửa /etc/sysconfig/SuSEfirewall2 2 Nếu cần thiết, vào file /etc/sysconfig/scripts/SuSEfirewall2- custom và tùy chỉnh theo ý mình Điều này yêu cầu một sự hiểu biết sâu hơn về tường lửa hoạt động như thế nào trong linux 3 Khởi động tường lửa ... hệ điều hành Linux chủ yếu tài liệu mà thầy cung cấp (Running Linux, th Edition) Vì thời gian làm tập lớn chúng em có phần hạn hẹp kết nhiều thiết sót BẢO MẬT CƠ BẢN TRONG LINUX Trong phần thảo... phức tạp bảo mật mạng Chúng ta thảo luận vài hướng dẫn tường lửa để bảo vệ trình cài đặt đơn giản chống lại công mạng Quan điểm hệ thống bảo mật Có quan điểm đắn, công hệ thống bảo mật khó Phương... bảo tất lỗi bảo mật sửa chữa áp dụng Hầu hết phân phối Linux cung cấp tập hợp gói mà sửa chữa lỗi bảo mật, bạn lo lắng kết quả, chẳng hạn file cấu hình đặc điểm thay đổi để giữ hệ thống bạn bảo