Thật không may, không có tập lệnh nào mà tôi từng thấy có thể chạy trong chế độ học tập hoặc chế độ thụ động ghi nhật ký tất cả việc sử dụng mạng của bạn, lấy kết quả của nó và tạo tường lửa thực tế bằng cách sử dụng iptables
từ nhật ký của nó.
Đặt cược tốt nhất của bạn sẽ là bắt đầu đơn giản và liên tục thêm các phần khác nhau khi bạn bắt đầu hiểu đầy đủ các dịch vụ mà hệ thống của bạn đang cung cấp. Bạn sẽ cần sử dụng các công cụ như netstat
để xem cổng nào đang được sử dụng cho các dịch vụ khác nhau mà bạn lưu trữ, cũng như địa chỉ IP nào đang truy cập vào chúng.
$ sudo netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 26292/sendmail
tcp 0 0 0.0.0.0:890 0.0.0.0:* LISTEN 26149/ypbind
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 26321/smbd
tcp 0 0 127.0.0.1:2207 0.0.0.0:* LISTEN 26226/python
tcp 0 0 127.0.0.1:2208 0.0.0.0:* LISTEN 26221/./hpiod
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 26237/snmpd
tcp 0 0 0.0.0.0:809 0.0.0.0:* LISTEN 26067/rpc.statd
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 26321/smbd
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 26292/sendmail
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 26038/portmap
tcp 0 0 0.0.0.0:35604 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 26249/sshd
tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN 26257/cupsd
tcp 0 0 :::22 :::* LISTEN 26249/sshd
tcp 0 0 :::631 :::* LISTEN 26257/cupsd
LƯU Ý: Ở trên, bạn có thể thấy những dịch vụ nào tôi đang chạy trên máy chủ chấp nhận kết nối TCP, tức là chúng đang "lắng nghe" các kết nối trên các cổng khác nhau.
Sẽ không có gì khó khăn khi bắt đầu với những thứ như SSH (cổng 22) và HTTP (cổng 80), nếu những thứ này là điển hình cho hệ thống của bạn, vì vậy tôi sẽ thực hiện các loại dịch vụ này cùng một lúc. Đối với các dịch vụ khác như LDAP hoặc NIS, bạn có thể muốn thực hiện những điều này theo cách được kiểm soát nhiều hơn, đảm bảo mọi thứ không bị phá vỡ khi bạn giới thiệu chúng.
Các công cụ như FireHOL , Firewall Builder (fwbuilder) và eztables có thể hữu ích khi bạn tấn công dự án này, vì chúng cung cấp một lớp trừu tượng đẹp từ việc phải xây dựng các iptable
quy tắc tùy chỉnh bằng tay, có thể rất khó.
Lửa
FireHOL là một ngôn ngữ (và một chương trình để chạy nó), xây dựng các tường lửa an toàn, trạng thái của bất kỳ sự phức tạp nào từ các cấu hình dễ hiểu, dễ đọc của con người.
thí dụ
transparent_squid 8080 "squid root" inface eth0
interface eth0 mylan
policy accept
interface ppp+ internet
server smtp accept
server http accept
server ftp accept
server ssh accept src example.firehol.org
client all accept
router mylan2internet inface eth0 outface ppp+
masquerade
route all accept
nhà thi đấu
Fwbuilder là một công cụ tường lửa đồ họa độc đáo cho phép người dùng tạo các đối tượng và sau đó kéo và thả các đối tượng đó vào tường lửa, để xây dựng một hệ thống bảo mật mạnh mẽ cho một PC hoặc một mạng PC. Fwbuilder hỗ trợ một loạt các tường lửa (Cisco ASA / PIX, Linux iptables, ipfilter của FreeBSD, pf của OpenBSD, v.v.), vì vậy các quy tắc của nó có thể được triển khai trên nhiều nền tảng. Chúng ta hãy xem việc sử dụng Fwbuilder trên Linux, điều này có thể trở thành một vấn đề trọn đời với một hệ thống bảo mật mạnh mẽ.
thí dụ
eztables
Eztables cho phép bạn nhanh chóng cấu hình tường lửa mà không cần chạm vào iptables. Cú pháp quy tắc tường lửa được thiết kế để dễ đọc và áp dụng.
Đây là cách bạn cho phép toàn bộ internet truy cập máy chủ web của mình trên cổng TCP 80:
allow_in any $eth0 any 80/tcp
Eztables được thiết kế đơn giản, nhưng mạnh mẽ. Sẽ không thành vấn đề nếu bạn muốn bảo vệ máy tính xách tay của mình, đang thiết lập bộ định tuyến gia đình hoặc xây dựng tường lửa công ty.
Sử dụng Fail2Ban
Với một iptables
tường lửa thô sơ, bạn có thể muốn khen ngợi nó bằng cách sử dụng một công cụ như Fail2Ban .
đoạn trích
Fail2ban quét các tệp nhật ký (ví dụ / var / log / apache / error_log) và cấm các IP hiển thị các dấu hiệu độc hại - quá nhiều lỗi mật khẩu, tìm cách khai thác, v.v. Nói chung Fail2Ban được sử dụng để cập nhật các quy tắc tường lửa để từ chối các địa chỉ IP trong một khoảng thời gian xác định, mặc dù mọi hành động khác tùy ý (ví dụ gửi email) cũng có thể được định cấu hình. Fail2Ban đi kèm với các bộ lọc cho các dịch vụ khác nhau (apache, chuyển phát nhanh, ssh, v.v.).
Sử dụng các công cụ như thế này sẽ giúp hạn chế sự phơi nhiễm mà hệ thống của bạn sẽ phải chịu đựng khi bạn tiếp tục làm cứng nó. Ngay cả sau khi bạn khá tin rằng hệ thống của bạn đã bị cứng, bạn vẫn có thể muốn tiếp tục sử dụng Fail2Ban như một phần của các biện pháp bảo mật của mình.
Người giới thiệu