Làm cách nào để bắt đầu viết tường lửa của riêng tôi?


8

Có ít trước đây trên google về chủ đề này ngoài những người hỏi câu hỏi này rất giống nhau.

Tôi có thể bắt đầu viết tường lửa của riêng mình bằng cách nào?

Tôi đang tìm cách viết một cho nền tảng cửa sổ nhưng tôi cũng sẽ quan tâm đến thông tin này cho các hệ điều hành khác.

8

Đối với Windows 2000/XP có một bài báo với các ví dụ trên CodeProject Developing Firewalls for Windows 2000/XP

Đối với Vista Tôi nghĩ rằng bạn sẽ cần phải sử dụng Windows Filtering Platform


2

Cách tiếp cận thông thường là sử dụng API hooking. Google có thể dạy bạn điều đó. Chỉ cần móc tất cả các công cụ mạng quan trọng, chẳng hạn như connectlistens và từ chối những gì bạn muốn.

  0

Ghim API có thể hữu ích cho cái gọi là "tường lửa ứng dụng" nhưng đối với tường lửa mạng, bạn cần phải làm việc ở cấp ngăn xếp trình điều khiển mạng. 21 nov. 082008-11-21 23:48:06


6

Câu hỏi này khá giống với những người hỏi cách viết một thuật toán mã hóa. Câu trả lời cho cả hai nên kết thúc trong lời nhắc nhở nhẹ nhàng về các giải pháp tiêu chuẩn công nghiệp mà đã:

  • thể hiện nhiều năm kinh nghiệm và cải tiến liên tục,
  • có lẽ xa an toàn hơn so với bất kỳ giải pháp cây nhà lá vườn, và
  • tài khoản cho các yêu cầu phụ trợ, chẳng hạn như hiệu quả.

Tường lửa phải kiểm tra mỗi gói một cách hiệu quả và chính xác và do đó chạy trong hạt nhân hệ điều hành hoặc ngăn xếp mạng. Lỗi hoặc thiếu hiệu quả gây nguy hiểm cho an ninh và hiệu suất của toàn bộ máy và những người ở hạ lưu.

Xây dựng tường lửa cấp thấp của riêng bạn là một bài tập tuyệt vời sẽ cung cấp một nền giáo dục trên nhiều công nghệ. Nhưng đối với bất kỳ ứng dụng thực tế nào, nó an toàn hơn và thông minh hơn để xây dựng một trình bao xung quanh API tường lửa hiện có. Trong Windows, lệnh netsh sẽ thực hiện điều này; Linux sử dụng netfilteriptables. Googling bất kỳ trong số này sẽ chỉ cho bạn rất nhiều lý thuyết, ví dụ, và thông tin hữu ích khác.

Vì vậy, để bắt đầu, Tôi sẽ quét lên TCP/IP (cụ thể, thông tin tiêu đề: cổng và giao thức), sau đó tìm hiểu về các loại tấn công khác nhau và cách phát hiện chúng. Tìm hiểu về từng hệ điều hành quan tâm và cách nó tương tác với các ngăn xếp mạng. Cuối cùng, hãy suy nghĩ về quản trị và ghi nhật ký: bạn sẽ cấu hình tường lửa và các gói theo dõi của bạn thông qua nó như thế nào để đảm bảo nó đang làm những gì bạn muốn nó làm?

Chúc may mắn!