Cisco ACL dành cho nâng cao. Danh sách truy cập mở rộng. Vòng cung lửa. Bảo vệ bạn khỏi hacker bằng IPTABLES, IPFW và PF Cách chặn lưu lượng icmp

Việc chặn phản hồi ping trong HĐH có thể ngăn chặn các cuộc tấn công làm ngập gói ICMP, nhưng hầu hết các hệ thống đều sử dụng dịch vụ này để giám sát trực tuyến (giám sát hệ thống). Trong chủ đề “Phản hồi Block Ping (ICMP) trong Unix/Linux”, tôi sẽ cho bạn biết cách bạn vẫn có thể tắt nó.

Chặn PING tới máy chủ rất hữu ích nếu máy chủ liên tục phải đối mặt với một số loại tấn công DoS bằng chức năng PING. Khi sử dụng IPTables, chúng ta có thể chỉ cần ngừng chặn việc truyền các gói ICMP (thực ra là chặn PING) đến máy chủ. Trước khi bắt đầu việc này, bạn cần có ý tưởng về Iptables trong Linux. Iptables là một hệ thống tường lửa với một bộ quy tắc kiểm soát các gói đến và đi. Theo mặc định, Iptables hoạt động không có bất kỳ quy tắc nào, bạn có thể tạo, thêm, chỉnh sửa quy tắc.

Tắt Ping bằng iptables

Giải thích về một số tham số trong iptables cần thiết để tạo quy tắc kiểm soát gói ICMP:

A: Thêm quy tắc.
-D: Xóa quy tắc khỏi bảng.
-p: Tùy chọn chỉ định giao thức (trong đó 'icmp').
--icmp-type: Tùy chọn chỉ định loại.
-J: Tới dây chuyền.

Dưới đây tôi sẽ đưa ra ví dụ rõ ràng.

Làm cách nào để chặn PING trên máy chủ có thông báo lỗi?
Do đó, bạn có thể chặn một phần PING với thông báo lỗi “Destination Port Unreachable”. Thêm các quy tắc Iptables sau để chặn PING bằng thông báo lỗi:

# iptables -A INPUT -p icmp --icmp-type echo-request -j TỪ CHỐI

Khối PING trên máy chủ không có bất kỳ thông báo lỗi nào.
Để thực hiện việc này, hãy sử dụng lệnh cho IPtabels:

# iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP # iptables -A INPUT -p icmp --icmp-type echo-reply -j DROP

Chặn tất cả các gói ICMP đến và đi trên máy chủ.

Cho phép Ping sử dụng iptables

Nếu bạn đã chặn ping trên máy chủ và không biết cách lấy lại. Bây giờ tôi sẽ cho bạn biết làm thế nào để làm điều đó. Điều này được thực hiện bằng cách thêm quy tắc sau vào IPtables:

# iptables -A INPUT -p icmp --icmp-type echo-request -j CHẤP NHẬN # iptables -A OUTPUT -p icmp --icmp-type echo-reply -j CHẤP NHẬN

Các quy tắc này sẽ cho phép truyền các gói ICMP từ và đến máy chủ.

Chặn Ping bằng tham số hạt nhân

Chúng tôi cũng có thể chặn phản hồi ping trực tiếp bằng các tham số kernel. Bạn có thể chặn trả lời ping tạm thời hoặc vĩnh viễn và bên dưới sẽ hướng dẫn cách thực hiện việc này.

Tạm thời chặn Ping
Bạn có thể tạm thời chặn phản hồi ping bằng lệnh sau

# tiếng vang "1" >

Để bỏ chặn lệnh này, hãy chạy như sau:

# echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all

Từ chối Ping hoàn toàn
Bạn có thể chặn phản hồi ping bằng cách thêm tham số sau vào tệp cấu hình:

# vim /etc/sysctl.conf

Và viết:

[…] net.ipv4.icmp_echo_ignore_all = 1 [...]

sysctl được sử dụng để thay đổi các tham số kernel khi chạy, một trong các tham số này có thể là "ping daemon", nếu bạn muốn tắt ping thì bạn chỉ cần làm như sau:

# sysctl -w net.ipv4.icmp_echo_ignore_all=1

Bây giờ thử ping máy thì không có phản hồi gì phải không? Để kích hoạt lại ping, hãy sử dụng:

# sysctl -w net.ipv4.icmp_echo_ignore_all=0

Cờ W được sử dụng nếu bạn muốn thay đổi một số cài đặt.

Bây giờ hãy chạy lệnh sau để áp dụng ngay các cài đặt mà không cần khởi động lại hệ thống:

# sysctl -p

# sysctl --system

Đây là cấu hình đầy đủ của tôi:

# cd /usr/local/src && wget http://site/wp-content/uploads/files/sysctl_conf.txt

và sau đó bạn có thể làm:

# cp /usr/local/src/sysctl_conf.txt /etc/sysctl.conf

Với tôi thế là xong, chủ đề “Chặn Ping (ICMP) phản hồi trong Unix/Linux” đã hoàn thành.

Bạn có thể tìm hiểu cách định cấu hình MikroTik trong khóa học trực tuyến về thiết bị từ nhà sản xuất này. Tác giả của khóa học là một huấn luyện viên MikroTik đã được chứng nhận. Bạn có thể đọc thêm ở cuối bài viết.

Bài viết trả lời câu hỏi chặn lưu lượng ICMP nguy hiểm như thế nào.

ICMP là một vấn đề gây tranh cãi

Nhiều quản trị viên mạng tin rằng Giao thức thông báo điều khiển Internet (ICMP) là một rủi ro bảo mật và do đó phải luôn bị chặn. Đúng là giao thức này có một số vấn đề bảo mật liên quan và một số yêu cầu nên bị chặn. để chặn tất cả lưu lượng ICMP!

Lưu lượng ICMP có nhiều chức năng quan trọng; Một số trong số chúng hữu ích cho việc khắc phục sự cố, trong khi một số khác cần thiết để mạng hoạt động bình thường. Dưới đây là một số phần quan trọng của giao thức ICMP mà bạn nên biết. Bạn nên xem xét cách định tuyến chúng tốt nhất qua mạng của mình.

Yêu cầu tiếng vang và phản hồi tiếng vang

IPv4 – Yêu cầu tiếng vang (Type8, Code0) và phản hồi tiếng vang (Type0, Code0)
IPv6 – Yêu cầu tiếng vang (Type128, Code0) và phản hồi tiếng vang (Type129, Code0)

Tất cả chúng ta đều biết rõ rằng ping là một trong những công cụ đầu tiên để khắc phục sự cố. Có, nếu bạn bật xử lý gói ICMP trên phần cứng của mình, điều này có nghĩa là máy chủ của bạn hiện có thể được phát hiện, nhưng không phải máy chủ của bạn đã nghe trên cổng 80 và gửi phản hồi cho yêu cầu của khách hàng sao? Tất nhiên, hãy chặn cả những yêu cầu này nếu bạn thực sự muốn DMZ của mình ở rìa mạng. Nhưng bằng cách chặn lưu lượng ICMP trong mạng của mình, bạn sẽ không tăng cường bảo mật; ngược lại, bạn sẽ khiến hệ thống có quy trình xử lý sự cố phức tạp không cần thiết (“Vui lòng kiểm tra xem cổng có phản hồi các yêu cầu mạng không?”, “Không, nhưng điều này không làm tôi khó chịu chút nào, vì tôi không quan tâm đâu!”

Hãy nhớ rằng, bạn cũng có thể cho phép các yêu cầu đi theo một hướng nhất định; ví dụ: định cấu hình thiết bị để các yêu cầu Echo từ mạng của bạn được gửi tới Internet và các phản hồi Echo từ Internet đến mạng của bạn chứ không phải ngược lại.

Yêu cầu phân mảnh gói (IPv4) / Gói quá lớn (IPv6)

IPv4 – (Loại3, Code4)
IPv6 – (Loại2, Code0)

Các thành phần này của giao thức ICMP rất quan trọng vì chúng là thành phần quan trọng trong Path MTU Discovery (PMTUD), một phần không thể thiếu của giao thức TCP. Cho phép hai máy chủ điều chỉnh giá trị Kích thước phân đoạn tối đa TCP (MSS) thành giá trị khớp với MTU nhỏ nhất dọc theo đường dẫn liên lạc giữa hai điểm đến. Nếu dọc theo đường dẫn của các gói có một nút có Đơn vị truyền tối đa nhỏ hơn người gửi hoặc người nhận và họ không có phương tiện để phát hiện xung đột này thì lưu lượng sẽ bị loại bỏ một cách lặng lẽ. Và bạn sẽ không hiểu chuyện gì đang xảy ra với kênh liên lạc; nói cách khác, “những ngày vui vẻ sẽ đến với bạn”.

Đừng phân mảnh – ​​ICMP sẽ không vượt qua!

Việc truyền các gói IPv4 với tập bit Don't Fragment (hầu hết trong số chúng!) hoặc các gói IPv6 (hãy nhớ rằng không có sự phân mảnh nào bởi các bộ định tuyến trong IPv6) quá lớn để truyền qua giao diện sẽ khiến bộ định tuyến loại bỏ gói và tạo phản hồi cho nguồn truyền có lỗi ICMP sau: Yêu cầu phân mảnh ( Yêu cầu phân mảnh), hoặc Gói quá lớn ( Gói quá To lớn). Nếu không thể trả lại phản hồi với những lỗi này cho người gửi thì nó sẽ giải thích việc không có phản hồi xác nhận về việc phân phối gói ACK ( Nhìn nhận) từ người nhận dưới dạng tắc nghẽn/mất mát và nguồn truyền lại các gói cũng sẽ bị loại bỏ.

Rất khó để xác định nguyên nhân của sự cố như vậy và giải quyết nhanh chóng; quá trình bắt tay TCP hoạt động tốt vì nó liên quan đến các gói nhỏ, nhưng ngay khi quá trình truyền dữ liệu số lượng lớn diễn ra, phiên truyền sẽ bị treo vì nguồn truyền không hoạt động. nhận được thông báo lỗi.

Khám phá đường dẫn phân phối gói

RFC 4821 được thiết kế để giúp những người tham gia lưu lượng mạng giải quyết vấn đề này bằng cách sử dụng tính năng thăm dò đường dẫn gói (Đường dẫn khám phá MTU (PLPMTUD). Tiêu chuẩn cho phép bạn phát hiện lượng dữ liệu tối đa (Đơn vị truyền tối đa (MTU), có thể được truyền bởi giao thức trong một lần lặp, bằng cách tăng dần kích thước tối đa của khối dữ liệu hữu ích (Kích thước phân đoạn tối đa (MSS), để tìm kích thước tối đa có thể của gói mà không bị phân mảnh dọc theo đường dẫn từ máy phát đến máy thu. Chức năng này làm giảm sự phụ thuộc vào việc nhận kịp thời các phản hồi lỗi thông qua Giao thức thông báo điều khiển Internet (ICMP) và có sẵn trong hầu hết các ngăn xếp thiết bị mạng và hệ điều hành máy khách. Thật không may, nó không hiệu quả bằng việc lấy trực tiếp dữ liệu ở kích thước tối đa có thể. của các gói đã truyền, hãy cho phép các tin nhắn ICMP này quay trở lại nguồn truyền, được không?

Đã vượt quá thời gian truyền gói

IPv4 – (Loại11, Code0)
IPv6 – (Loại 3, Code0)

Traceroute là một công cụ rất hữu ích để khắc phục sự cố kết nối mạng giữa hai máy chủ, nêu chi tiết từng bước của đường dẫn.


Gửi một gói có thời gian tồn tại của gói dữ liệu cho giao thức IP (Thời gian sống (TTL) bình đẳng 1 để bộ định tuyến đầu tiên gửi thông báo lỗi (bao gồm cả địa chỉ IP của chính nó) rằng gói đã vượt quá thời gian tồn tại. Sau đó, nó sẽ gửi một gói có TTL 2, v.v. Thủ tục này là cần thiết để phát hiện từng nút dọc theo đường dẫn gói.

NDP và SLAAC (IPv6)

Khuyến khích bộ định tuyến (RS) (Type133, Code0)
Quảng cáo bộ định tuyến (RA) (Type134, Code0)
Gạ gẫm hàng xóm (NS) (Type135, Code0)
Quảng cáo hàng xóm (NA) (Type136, Code0)
Chuyển hướng (Type137, Code0)

Trong khi IPv4 sử dụng Giao thức phân giải địa chỉ (ARP) để ánh xạ lớp 2 và 3 của mô hình mạng OSI thì IPv6 sử dụng một cách tiếp cận khác dưới dạng Giao thức khám phá hàng xóm (NDP). NDP cung cấp nhiều tính năng bao gồm khám phá bộ định tuyến, khám phá tiền tố, phân giải địa chỉ, v.v. Ngoài NDP, Tự động cấu hình địa chỉ trạng thái (SLAAC) cho phép bạn định cấu hình động một máy chủ trên mạng, tương tự như khái niệm về Giao thức cấu hình máy chủ động (DHCP) (mặc dù DHCPv6 nhằm mục đích kiểm soát chi tiết hơn).

Năm loại thông báo ICMP này không được chặn trong mạng của bạn (bỏ qua chu vi bên ngoài) để giao thức truyền dữ liệu IP hoạt động chính xác.

Đánh số loại ICMP

Giao thức thông báo điều khiển Internet (ICMP) chứa nhiều thông báo được xác định bởi trường "loại".

Kiểu Tên Sự chỉ rõ
0 Trả lời tiếng vang
1 Chưa được chỉ định
2 Chưa được chỉ định
3 Điểm đến không có sẵn
4 Nguồn dập tắt (Không dùng nữa)
5 Chuyển hướng
6 Địa chỉ máy chủ thay thế (Không dùng nữa)
7 Chưa được chỉ định
8 Tiếng vọng
9 Quảng cáo bộ định tuyến
10 Bộ định tuyến chào mời
11 Đã vượt quá thời gian
12 Vấn đề tham số
13 Dấu thời gian
14 Trả lời dấu thời gian
15 Yêu cầu thông tin (Không dùng nữa)
16 Trả lời thông tin (Không dùng nữa)
17 Yêu cầu mặt nạ địa chỉ (Không dùng nữa)
18 Trả lời mặt nạ địa chỉ (Không dùng nữa)
19 Dành riêng (để bảo mật) Đấu
20-29 Dành riêng (cho thử nghiệm độ bền) ZSu
30 Traceroute (Không dùng nữa)
31 Lỗi chuyển đổi gói dữ liệu (Không dùng nữa)
32 Chuyển hướng máy chủ di động (Không dùng nữa) David_Johnson
33 IPv6 Bạn đang ở đâu (Không dùng nữa)
34 IPv6 I-Am-Here (Không dùng nữa)
35 Yêu cầu đăng ký trên thiết bị di động (Không dùng nữa)
36 Trả lời đăng ký di động (Không dùng nữa)
37 Yêu cầu tên miền (Không dùng nữa)
38 Trả lời tên miền (Không dùng nữa)
39 BỎ QUA (Không dùng nữa)
40 photuris
41 Thông báo ICMP được sử dụng bởi các giao thức di động thử nghiệm như Seamoby
42 Yêu cầu tiếng vang mở rộng
43 Trả lời tiếng vang mở rộng
44-252 Chưa được chỉ định
253 Thử nghiệm 1 kiểu RFC3692
254 Thử nghiệm 2 theo phong cách RFC3692
255 Kín đáo

Một vài lời về giới hạn tốc độ

Mặc dù các thông báo ICMP như những thông báo được mô tả trong bài viết này có thể rất hữu ích nhưng hãy nhớ rằng việc tạo tất cả các thông báo này sẽ tiêu tốn thời gian của CPU trên bộ định tuyến của bạn và tạo ra lưu lượng truy cập. Bạn có thực sự mong đợi rằng mình sẽ nhận được 1000 ping mỗi giây thông qua tường lửa của mình trong tình huống bình thường không? Đây có được coi là giao thông bình thường không? Chắc là không. Giới hạn băng thông mạng đối với các loại lưu lượng ICMP này khi bạn thấy phù hợp; bước này có thể giúp bạn bảo mật mạng của mình.

Đọc, nghiên cứu và hiểu

Xét rằng việc thảo luận về chủ đề “chặn hay không chặn” gói ICMP luôn dẫn đến nhầm lẫn, tranh chấp và bất đồng, tôi khuyên bạn nên tiếp tục tự mình nghiên cứu chủ đề này. Tôi đã cung cấp nhiều liên kết trên trang này; tôi tin rằng để hiểu đầy đủ hơn về các vấn đề, bạn nên dành thời gian đọc chúng. Và đưa ra những lựa chọn sáng suốt về những gì hoạt động tốt nhất cho mạng của bạn.

MikroTik: bấm vào đâu để nó hoạt động?
Với tất cả những ưu điểm của nó, các sản phẩm MikroTik có một nhược điểm - có rất nhiều thông tin rải rác và không phải lúc nào cũng đáng tin cậy về cấu hình của nó. Chúng tôi đề xuất một nguồn đáng tin cậy bằng tiếng Nga, nơi mọi thứ được thu thập, hợp lý và có cấu trúc - khóa học video “ Thiết lập thiết bị MikroTik" Khóa học bao gồm 162 bài học video, 45 bài tập thí nghiệm, câu hỏi tự kiểm tra và ghi chú. Tất cả các tài liệu vẫn ở bên bạn vô thời hạn. Bạn có thể xem phần đầu khóa học miễn phí bằng cách để lại yêu cầu trên trang khóa học. Tác giả của khóa học là một huấn luyện viên MikroTik đã được chứng nhận.

Vì vậy, hãy tiếp tục giải quyết ACL. Lần này, chúng tôi đã mở rộng ACL. Chúng ta sẽ lấy cấu trúc liên kết từ bài viết trước, tôi hy vọng bạn đã nghiên cứu kỹ lưỡng. Nếu không phải như vậy thì tôi thực sự khuyên bạn nên đọc nó để tài liệu trong bài viết này dễ hiểu hơn.

Trước hết, tôi sẽ bắt đầu với ACL mở rộng là gì. ACL mở rộng cho phép bạn chỉ định giao thức, địa chỉ đích và cổng ngoài địa chỉ nguồn. Cũng như các thông số đặc biệt của một giao thức nhất định. Tốt nhất là học từ các ví dụ, vì vậy hãy tạo một nhiệm vụ mới, làm phức tạp nhiệm vụ trước đó. Nhân tiện, sau này, ai đó có thể quan tâm đến việc giải quyết các vấn đề phân phối lưu lượng truy cập theo mức độ ưu tiên; Tôi khuyên bạn nên Phân loại và Đánh dấu QoS một bài viết hay, mặc dù bằng tiếng Anh. Chà, bây giờ, hãy quay lại nhiệm vụ của chúng ta:

Nhiệm vụ.

  1. Cho phép yêu cầu tiếng vang từ máy chủ mạng 192.168.0.0/24 tới máy chủ.
  2. Từ máy chủ – cấm yêu cầu tiếng vang đến mạng nội bộ.
  3. Cho phép truy cập WEB vào máy chủ từ nút 192.168.0.11.
  4. Cho phép truy cập FTP từ máy chủ 192.168.0.13 đến máy chủ.

Nhiệm vụ phức tạp. Chúng tôi cũng sẽ giải quyết nó một cách toàn diện. Trước hết, tôi sẽ xem cú pháp sử dụng ACL mở rộng.

Tùy chọn ACL mở rộng

<номер от 100 до 199> <действие permit, deny> <протокол> <источник> <порт> <назначение> <порт> <опции>

Tất nhiên, số cổng chỉ được chỉ định cho các giao thức TCP / UDP. Cũng có thể có tiền tố eq(số cổng bằng với số được chỉ định), gt/lt(số cổng lớn hơn/nhỏ hơn mức được chỉ định), neq(số cổng không bằng số được chỉ định), phạm vi(phạm vi cổng).

ACL được đặt tên

Nhân tiện, danh sách truy cập không chỉ có thể được đánh số mà còn có thể được đặt tên! Có lẽ phương pháp này sẽ có vẻ thuận tiện hơn cho bạn. Lần này chúng tôi sẽ làm chính xác điều đó. Các lệnh này được thực thi trong bối cảnh cấu hình chung và cú pháp là:

Bộ định tuyến (cấu hình) # danh sách truy cập ip được mở rộng<имя>

Vì vậy, hãy bắt đầu hình thành các quy tắc.

  1. Cho phép ping từ mạng 192.168.0.0/24 đến máy chủ. Vì thế, tiếng vọng-yêu cầu là một giao thức ICMP, chúng tôi sẽ chọn mạng con của mình làm địa chỉ nguồn, địa chỉ máy chủ làm địa chỉ đích, loại tin nhắn – trên giao diện đến tiếng vọng, ở lối ra - trả lời tiếng vang. Bộ định tuyến(config)#danh sách truy cập ip mở rộng INT_IN Bộ định tuyến(config-ext-nacl)#permit icmp 192.168.0.0 0.0.0.255 máy chủ 10.0.0.100 echo Rất tiếc, mặt nạ mạng con có vấn đề gì vậy? Vâng, đây là một thủ thuật ACL. Cái gọi là WildCard-mặt nạ. Nó được tính là mặt nạ nghịch đảo so với mặt nạ thông thường. Những thứ kia. 255.255.255.255 - Mặt nạ mạng con. Trong trường hợp của chúng tôi, mạng con 255.255.255.0 , sau khi trừ đi kết quả còn lại là 0.0.0.255 .Tôi nghĩ quy định này không cần giải thích? Giao thức icmp, địa chỉ nguồn – mạng con 192.168.0.0/24 , địa chỉ đích – máy chủ 10.0.0.100, loại tin nhắn - tiếng vọng(lời yêu cầu). Nhân tiện, thật dễ dàng để nhận thấy rằng máy chủ 10.0.0.100 tương đương 10.0.0.100 0.0.0.0 .Chúng tôi áp dụng quy tắc này cho giao diện. Bộ định tuyến(cấu hình)#int fa0/0
    Bộ định tuyến(config-if)#ip access-group INT_IN à, đại loại như vậy. Bây giờ, nếu bạn kiểm tra ping, có thể dễ dàng nhận thấy mọi thứ đều hoạt động tốt. Tuy nhiên, ở đây có một điều ngạc nhiên đang chờ chúng ta, điều này sẽ xuất hiện sau đó một chút. Tôi vẫn chưa tiết lộ nó. Ai đoán được - làm tốt lắm!
  2. Từ máy chủ – chúng tôi cấm tất cả các yêu cầu tiếng vang đến mạng nội bộ (192.168.0.0/24). Chúng tôi xác định một danh sách có tên mới, INT_OUT và đính kèm nó vào giao diện gần máy chủ nhất.
    Bộ định tuyến(cấu hình)#danh sách truy cập ip mở rộng INT_OUT
    Bộ định tuyến (config-ext-nacl) #deny máy chủ icmp 10.0.0.100 192.168.0.0 0.0.0.255 echo
    Bộ định tuyến(config-ext-nacl)#exit
    Bộ định tuyến(cấu hình)#int fa0/1
    Bộ định tuyến(config-if)#ip nhóm truy cập INT_OUT trong
    Hãy để tôi giải thích những gì chúng tôi đã làm. Tạo danh sách truy cập mở rộng có tên INT_OUT, vô hiệu hóa giao thức trong đó icmp với loại tiếng vọng từ máy chủ 10.0.0.100 mỗi mạng con 192.168.0.0/24 và áp dụng cho đầu vào giao diện fa0/1, I E. gần máy chủ nhất. Chúng tôi đang cố gắng gửi ping từ máy chủ.
    MÁY CHỦ>ping 192.168.0.11
    Ping 192.168.0.11 với 32 byte dữ liệu:

    Trả lời từ 10.0.0.1: Không thể truy cập máy chủ đích.
    Trả lời từ 10.0.0.1: Không thể truy cập máy chủ đích.
    Trả lời từ 10.0.0.1: Không thể truy cập máy chủ đích.
    Thống kê Ping cho 192.168.0.11:
    Gói: Đã gửi = 4, Đã nhận = 0, Bị mất = 4 (Mất 100%)
    Vâng, nó dường như hoạt động như bình thường. Đối với những người không biết cách gửi ping, hãy nhấp vào nút mà chúng tôi quan tâm, chẳng hạn như máy chủ. Chuyển đến tab Máy tính để bàn, ở đó Dấu nhắc Lệnh. Và bây giờ, trò đùa đã hứa. Hãy thử gửi ping từ máy chủ, như ở điểm đầu tiên. PC>ping 10.0.0.100
    Ping 10.0.0.100 với 32 byte dữ liệu:
    Yêu cầu đã hết thời gian chờ.
    Yêu cầu đã hết thời gian chờ.
    Yêu cầu đã hết thời gian chờ.
    Yêu cầu đã hết thời gian chờ.

    Đây là một cái dành cho bạn. Mọi thứ chỉ hoạt động! Tại sao nó dừng lại? Đây là điều bất ngờ đã được hứa hẹn. Tôi giải thích vấn đề là gì. Vâng, quy tắc đầu tiên vẫn chưa biến mất. Nó cho phép gửi yêu cầu tiếng vang đến nút máy chủ. Nhưng đâu là sự cho phép chuyển phản hồi tiếng vang? Anh ấy đi rồi! Chúng tôi gửi yêu cầu, nhưng chúng tôi không thể chấp nhận phản hồi! Tại sao mọi thứ đều hoạt động trước đây? Lúc đó chúng tôi không có ACL trên giao diện. fa0/1. Và vì không có ACL nên mọi thứ đều được phép. Bạn sẽ phải tạo một quy tắc để cho phép nhận các câu trả lời icmp.

    Thêm vào danh sách INT_OUT

    Hãy thêm tương tự vào danh sách INT_IN.

    Bộ định tuyến (config-ext-nacl) #permit icmp Host 10.0.0.100 192.168.0.0 0.0.0.255 phản hồi tiếng vang

    Bây giờ đừng phàn nàn. Mọi thứ đang diễn ra tuyệt vời!

  3. Chúng tôi cho phép truy cập WEB vào máy chủ từ nút *.11. Chúng tôi cũng làm như vậy! Tuy nhiên, ở đây bạn cần biết một chút về cách các cuộc gọi diễn ra thông qua các giao thức lớp 4 (TCP, UDP). Cổng máy khách được chọn tùy ý > 1024 và cổng máy chủ được chọn tương ứng với dịch vụ. Đối với WEB thì đây là cổng 80 (giao thức http). Còn máy chủ WEB thì sao? Theo mặc định, dịch vụ WEB đã được cài đặt trên máy chủ, bạn có thể thấy nó trong cài đặt nút. Hãy chắc chắn rằng có một dấu kiểm. Và bạn có thể kết nối với máy chủ bằng cách chọn lối tắt “Trình duyệt web” trên “Máy tính để bàn” của bất kỳ nút nào. Tất nhiên, bây giờ sẽ không có quyền truy cập. Bởi vì chúng tôi có ACL trên giao diện bộ định tuyến và chúng không có bất kỳ quy tắc cấp phép truy cập nào. Nào, chúng ta hãy tạo một danh sách truy cập INT_IN (có trên giao diện fa0/0) thêm quy tắc: Router(config-ext-nacl)#permit tcp Host 192.168.0.11 gt 1024 Host 10.0.0.100 eq 80 Nghĩa là, chúng tôi cho phép giao thức TCP từ máy chủ của chúng tôi (cổng tùy ý, > 1024) đến địa chỉ máy chủ , cổng HTTP.

    Và tất nhiên quy tắc ngược lại nằm trong danh sách INT_OUT (nằm trên giao diện fa0/1):

    Bộ định tuyến (config-ext-nacl) #permit tcp Host 10.0.0.100 eq 80 Host 192.168.0.11 được thiết lập

    Tức là chúng tôi cho phép TCP từ cảng 80 máy chủ trên mỗi máy chủ *.11 và kết nối đã được thiết lập! Có lẽ thay vào đó thành lập chỉ ra điều tương tự GT 1024, cũng sẽ hoạt động tốt. Nhưng ý nghĩa có hơi khác một chút.

    Trả lời trong phần bình luận điều gì sẽ an toàn hơn?

  4. Chúng tôi cho phép truy cập FTP từ nút *.13 đến máy chủ. Việc này cũng hoàn toàn không có gì phức tạp! Hãy xem cách tương tác diễn ra thông qua giao thức FTP. Trong tương lai, tôi dự định dành cả loạt bài viết về hoạt động của các giao thức khác nhau, vì điều này rất hữu ích trong việc tạo các quy tắc ACL (bắn tỉa) chính xác. Vâng, bây giờ: Hành động của máy chủ và máy khách:+ Máy khách cố gắng thiết lập kết nối và gửi một gói tin (trong đó có dấu hiệu cho biết nó sẽ hoạt động ở chế độ thụ động) đến cổng 21 của máy chủ từ cổng X (X > 1024, cổng trống) + Máy chủ gửi phản hồi và báo cáo số cổng của nó để tạo thành dữ liệu kênh Y (Y > 1024) đến cổng máy khách X, được trích xuất từ ​​tiêu đề gói TCP. + Máy khách khởi tạo giao tiếp để truyền dữ liệu trên cổng X+1 đến cổng máy chủ Y (lấy từ tiêu đề của giao dịch trước đó). Một cái gì đó như thế này. Nghe thì có vẻ hơi phức tạp nhưng bạn chỉ cần tìm hiểu là sẽ thêm các quy tắc vào danh sách INT_IN:

    cho phép máy chủ tcp 192.168.0.13 gt 1024 máy chủ 10.0.0.100 eq 21
    cho phép máy chủ tcp 192.168.0.13 gt 1024 máy chủ 10.0.0.100 gt 1024

    Và thêm quy tắc vào danh sách INT_OUT:

    cho phép máy chủ tcp 10.0.0.100 eq ftp máy chủ 192.168.0.13 gt 1024
    cho phép máy chủ tcp 10.0.0.100 gt 1024 máy chủ 192.168.0.13 gt 1024

    Chúng tôi kiểm tra từ dòng lệnh bằng lệnh ftp 10.0.0.100, nơi chúng tôi đăng nhập bằng thông tin đăng nhập của mình cisco:cisco(lấy từ cài đặt máy chủ), nhập lệnh vào đó thư mục và chúng ta sẽ thấy rằng dữ liệu cũng như các lệnh được truyền đi thành công.

Đó là tất cả những gì liên quan đến danh sách truy cập mở rộng.

Vì vậy, hãy xem các quy tắc của chúng tôi:

Truy cập bộ định tuyến#sh
Danh sách truy cập IP mở rộng INT_IN
giấy phép icmp 192.168.0.0 0.0.0.255 máy chủ 10.0.0.100 echo (17 trận đấu)
cho phép máy chủ icmp 10.0.0.100 192.168.0.0 0.0.0.255 trả lời tiếng vang
giấy phép máy chủ tcp 192.168.0.11 gt 1024 máy chủ 10.0.0.100 eq www (36 kết quả phù hợp)
cho phép máy chủ tcp 192.168.0.13 gt 1024 máy chủ 10.0.0.100 eq ftp (40 trận đấu)
cho phép máy chủ tcp 192.168.0.13 gt 1024 máy chủ 10.0.0.100 gt 1024 (4 trận đấu)
Danh sách truy cập IP mở rộng INT_OUT
từ chối máy chủ icmp 10.0.0.100 192.168.0.0 0.0.0.255 echo (4 trận đấu)
cho phép máy chủ icmp 10.0.0.100 192.168.0.0 0.0.0.255 phản hồi tiếng vang (4 kết quả phù hợp)
cho phép máy chủ tcp 10.0.0.100 eq www máy chủ 192.168.0.11 được thiết lập (3 trận đấu)
cho phép máy chủ tcp 10.0.0.100 eq ftp máy chủ 192.168.0.13 gt 1024 (16 trận đấu)
cho phép máy chủ tcp 10.0.0.100 gt 1024 máy chủ 192.168.0.13 gt 1024 (3 trận đấu)


Tường lửa trên hệ thống Linux được điều khiển bởi chương trình iptables (đối với ipv4) và ip6tables (đối với ipv6). Bảng cheat này bao gồm các cách phổ biến nhất để sử dụng iptables cho những người muốn bảo vệ hệ thống của họ khỏi tin tặc hoặc chỉ hiểu cách thiết lập.

Dấu # có nghĩa là lệnh được thực thi dưới quyền root. Mở trước bảng điều khiển có quyền root - sudo -i trên các hệ thống dựa trên Debian hoặc su trên các hệ thống khác.

1. Hiển thị trạng thái.

# iptables -L -n -v

Đầu ra lệnh mẫu cho tường lửa không hoạt động:

Chuỗi INPUT (chính sách CHẤP NHẬN 0 gói, 0 byte) pkts byte mục tiêu prot opt ​​in out nguồn đích Chain FORWARD (chính sách ACCEPT 0 gói, 0 byte) pkts byte target prot opt ​​in out nguồn đích Chuỗi OUTPUT (chính sách ACCEPT 0 gói, 0 byte ) pkts byte mục tiêu prot chọn không tham gia đích nguồn

Đối với tường lửa đang hoạt động:

Chuỗi INPUT (chính sách DROP 0 gói, 0 byte) pkts byte đích prot chọn tham gia đích nguồn 0 0 DROP tất cả -- * * 0.0.0.0/0 trạng thái 0.0.0.0/0 KHÔNG HỢP LỆ 394 43586 CHẤP NHẬN tất cả -- * * 0.0. 0.0/0 0.0.0.0/0 trạng thái LIÊN QUAN, THÀNH LẬP 93 17292 CHẤP NHẬN tất cả -- br0 * 0.0.0.0/0 0.0.0.0/0 1 142 CHẤP NHẬN tất cả -- lo * 0.0.0.0/0 0.0.0.0/0 CHUYỂN TIẾP chuỗi (chính sách DROP 0 gói, 0 byte) pkts byte đích prot opt ​​in out nguồn đích 0 0 CHẤP NHẬN tất cả -- br0 br0 0.0.0.0/0 0.0.0.0/0 0 0 THẢ tất cả -- * * 0.0. Trạng thái 0.0/0 0.0 .0.0/0 KHÔNG HỢP LỆ 0 0 TCPMSS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x02 TCPMSS kẹp vào PMTU 0 0 CHẤP NHẬN tất cả -- * * 0.0.0.0/ 0 0.0.0.0 /0 trạng thái LIÊN QUAN, THÀNH LẬP 0 0 wanin all -- vlan2 * 0.0.0.0/0 0.0.0.0/0 0 0 wanin all -- * vlan2 0.0.0.0/0 0.0.0.0/0 0 0 CHẤP NHẬN tất cả -- br0 * 0.0.0.0/0 0.0.0.0/0 Chuỗi OUTPUT (chính sách CHẤP NHẬN 425 gói, 113K byte) pkts byte target prot opt ​​​​in out nguồn đích Chuỗi wanin (1 tham chiếu) pkts byte target prot opt ​​​​in đích nguồn ra Chuỗi đích suy yếu (1 tài liệu tham khảo ) pkts byte mục tiêu prot chọn tham gia đích nguồn

Ở đâu:
-L: Hiển thị danh sách các quy tắc.
-v: Hiển thị thông tin bổ sung. Tùy chọn này hiển thị tên giao diện, các tùy chọn, mặt nạ TOS. Cũng hiển thị các hậu tố "K", "M" hoặc "G".
-n: Hiển thị địa chỉ IP và cổng dưới dạng số (không sử dụng máy chủ DNS để phân giải tên. Điều này sẽ tăng tốc độ hiển thị).

2. Hiển thị danh sách các quy tắc kèm theo số dòng.

# iptables -n -L -v --số dòng

Đầu ra mẫu:

Chuỗi INPUT (DROP chính sách) num đích prot opt ​​​​nguồn đích 1 DROP tất cả -- 0.0.0.0/0 0.0.0.0/0 trạng thái KHÔNG HỢP LỆ 2 CHẤP NHẬN tất cả -- 0.0.0.0/0 0.0.0.0/0 trạng thái LIÊN QUAN, THÀNH LẬP 3 CHẤP NHẬN tất cả -- 0.0.0.0/0 0.0.0.0/0 4 CHẤP NHẬN tất cả -- 0.0.0.0/0 0.0.0.0/0 CHUYỂN TIẾP chuỗi (DROP chính sách) num mục tiêu prot opt ​​​​nguồn đích 1 CHẤP NHẬN tất cả -- 0,0 .0.0/0 0.0.0.0/0 2 BỎ tất cả -- 0.0.0.0/0 0.0.0.0/0 trạng thái KHÔNG HỢP LỆ 3 TCPMSS tcp -- 0.0.0.0/0 0.0.0.0/0 tcp cờ:0x06/0x02 TCPMSS kẹp vào PMTU 4 CHẤP NHẬN tất cả -- 0.0.0.0/0 0.0.0.0/0 trạng thái LIÊN QUAN, THÀNH LẬP 5 wanin tất cả -- 0.0.0.0/0 0.0.0.0/0 6 loại bỏ tất cả -- 0.0.0.0/0 0.0.0.0/0 7 CHẤP NHẬN tất cả - - 0.0.0.0/0 0.0.0.0/0 Chuỗi OUTPUT (chính sách CHẤP NHẬN) num target prot opt ​​​​nguồn đích Chuỗi wanin (1 tài liệu tham khảo) num target prot opt ​​nguồn đích Chuỗi wanout (1 tài liệu tham khảo) num đích nguồn prot opt

Bạn có thể sử dụng số dòng để thêm quy tắc mới.

3. Hiển thị chuỗi quy tắc INPUT hoặc OUTPUT.

# iptables -L INPUT -n -v
# iptables -L OUTPUT -n -v --line-numbers

4. Dừng, khởi động, khởi động lại tường lửa.

Bằng sức mạnh của chính hệ thống:
# dịch vụ ufw dừng
# dịch vụ ufw bắt đầu

Bạn cũng có thể sử dụng lệnh iptables để dừng tường lửa và xóa tất cả các quy tắc:
# iptables -F
# iptables -X
# iptables -t nat -F
# iptables -t nat -X
# iptables -t mangle -F
# iptables -t mangle -X
# iptables -P CHẤP NHẬN ĐẦU VÀO
# iptables -P CHẤP NHẬN ĐẦU RA
# iptables -P CHẤP NHẬN CHUYỂN TIẾP

Ở đâu:
-F: Xóa tất cả các quy tắc.
-X: Xóa chuỗi.
-t table_name: Chọn một bảng (nat hoặc mangle) và xóa tất cả các quy tắc.
-P: Chọn các hành động mặc định (như THẢ, TỪ CHỐI hoặc CHẤP NHẬN).

5. Xóa quy tắc tường lửa.

Để hiển thị số dòng với các quy tắc hiện có:

# iptables -L OUTPUT -n --line-numbers
# iptables -L OUTPUT -n --line-numbers | ít hơn
# iptables -L OUTPUT -n --line-numbers | grep 202.54.1.1

Hãy lấy một danh sách các địa chỉ IP. Chỉ cần nhìn vào con số bên trái và xóa dòng tương ứng. Ví dụ: đối với số 3:
# iptables -D ĐẦU VÀO 3

Hoặc tìm địa chỉ IP nguồn (202.54.1.1) và xóa nó khỏi quy tắc:
# iptables -D INPUT -s 202.54.1.1 -j THẢ

Ở đâu:
-D: Xóa một hoặc nhiều quy tắc khỏi chuỗi.

6. Thêm quy tắc vào tường lửa.

Để thêm một hoặc nhiều quy tắc vào chuỗi, trước tiên chúng tôi hiển thị danh sách bằng số dòng:
# iptables -L INPUT -n --line-numbers

Đầu ra mẫu:

Chuỗi INPUT (DROP chính sách) num đích prot opt ​​​​nguồn đích 1 DROP all -- 202.54.1.1 0.0.0.0/0 2 CHẤP NHẬN tất cả -- 0.0.0.0/0 0.0.0.0/0 trạng thái MỚI, THÀNH LẬP

Để chèn quy tắc giữa dòng 1 và 2:
# iptables -I INPUT 2 -s 202.54.1.2 -j DROP

Hãy kiểm tra xem quy tắc đã được cập nhật chưa:
# iptables -L INPUT -n --line-numbers

Đầu ra sẽ như thế này:

Chuỗi INPUT (DROP chính sách) num đích prot opt ​​​​nguồn đích 1 DROP all -- 202.54.1.1 0.0.0.0/0 2 DROP all -- 202.54.1.2 0.0.0.0/0 3 ACCEPT all -- 0.0.0.0/0 0,0.0,0/0 trạng thái MỚI, THÀNH LẬP

7. Lưu các quy tắc tường lửa.

Thông qua iptables-save:
# iptables-save > /etc/iptables.rules

8. Khôi phục các quy tắc.

Thông qua iptables-khôi phục
# iptables-khôi phục

9. Đặt chính sách mặc định.

Để đặt lại tất cả lưu lượng truy cập:
# iptables -P ĐẦU VÀO THẢ
# iptables -P ĐẦU RA THẢ
# iptables -P TIẾN LÊN THẢ
# iptables -L -v -n

Sau các lệnh trên, không một gói nào rời khỏi máy chủ này.
# ping google.com

10. Chỉ chặn các kết nối đến.

Để loại bỏ tất cả các gói đến không phải do bạn khởi tạo nhưng cho phép lưu lượng đi:
# iptables -P ĐẦU VÀO THẢ
# iptables -P TIẾN LÊN THẢ
# iptables -P CHẤP NHẬN ĐẦU RA
# iptables -A INPUT -m state --state MỚI, THÀNH LẬP -j CHẤP NHẬN
# iptables -L -v -n

Cho phép các gói gửi đi và những gói được ghi nhớ trong các phiên đã thiết lập.
# ping google.com

11. Đặt lại địa chỉ các mạng bị cô lập trên mạng công cộng.

# iptables -A INPUT -i eth1 -s 192.168.0.0/24 -j DROP

Danh sách địa chỉ IP cho các mạng bị cô lập:
10.0.0.0/8 -j (A)
172.16.0.0/12 (B)
192.168.0.0/16 (C)
224.0.0.0/4 (ĐA NĂNG D)
240.0.0.0/5 (E)
127.0.0.0/8 (LOOPBACK)

12. Chặn một địa chỉ IP cụ thể.

Để chặn địa chỉ của kẻ tấn công 1.2.3.4:
# iptables -A INPUT -s 1.2.3.4 -j THẢ
# iptables -A INPUT -s 192.168.0.0/24 -j DROP

13. Chặn các yêu cầu cổng đến.

Để chặn tất cả các yêu cầu đến trên cổng 80:
# iptables -A INPUT -p tcp --dport 80 -j DROP
# iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP

Để chặn yêu cầu cổng 80 từ địa chỉ 1.2.3.4:
# iptables -A INPUT -p tcp -s 1.2.3.4 --dport 80 -j DROP
# iptables -A INPUT -i eth1 -p tcp -s 192.168.1.0/24 --dport 80 -j DROP

14. Chặn các yêu cầu tới địa chỉ IP gửi đi.

Để chặn một miền cụ thể, hãy tìm hiểu địa chỉ của nó:
# máy chủ -t a facebook.com

Kết luận: facebook.com có ​​địa chỉ 69.171.228.40

Hãy tìm CIDR cho 69.171.228.40:
#whois 69.171.228.40 | grep CIDR

Phần kết luận:
CIDR: 69.171.224.0/19

Hãy chặn quyền truy cập vào 69.171.224.0/19:
# iptables -A OUTPUT -p tcp -d 69.171.224.0/19 -j DROP

Bạn cũng có thể sử dụng tên miền để chặn:
# iptables -A OUTPUT -p tcp -d www.facebook.com -j DROP
# iptables -A OUTPUT -p tcp -d facebook.com -j DROP

15. Ghi lại sự kiện và thiết lập lại.

Để ghi lại chuyển động của các gói trước khi đặt lại, hãy thêm quy tắc:

# iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j LOG --log-prefix "IP_SPOOF A: "
# iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP

Hãy kiểm tra nhật ký (theo mặc định /var/log/messages):
# tail -f /var/log/messages
# grep -i --color "IP SPOOF" /var/log/messages

16. Ghi lại sự kiện và đặt lại (có giới hạn về số lượng bản ghi).

Để tránh làm đầy phân vùng với nhật ký cồng kềnh, chúng tôi sẽ giới hạn số lượng mục nhập bằng cách sử dụng -m. Ví dụ: để ghi tối đa 7 dòng cứ sau 5 phút:
# iptables -A INPUT -i eth1 -s 10.0.0.0/8 -m limit --limit 5/m --limit-burst 7 -j LOG --log-prefix "IP_SPOOF A: "
# iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP

16. Đặt lại hoặc cho phép lưu lượng truy cập từ các địa chỉ MAC nhất định.

# iptables -A INPUT -m mac --mac-source 00:0F:EA:91:04:08 -j DROP
## *chỉ cho phép cổng TCP # 8080 từ địa chỉ mac 00:0F:EA:91:04:07 * ##
# iptables -A INPUT -p tcp --destination-port 22 -m mac --mac-source 00:0F:EA:91:04:07 -j CHẤP NHẬN

17. Cho phép hoặc từ chối yêu cầu ICMP Ping.

Để tắt ping:
# iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
# iptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j DROP

Cho phép các mạng/máy chủ cụ thể:
# iptables -A INPUT -s 192.168.1.0/24 -p icmp --icmp-type echo-request -j CHẤP NHẬN

Chỉ cho phép một phần yêu cầu ICMP:
### ** giả sử các chính sách gửi đến mặc định được đặt thành DROP ** ###
# iptables -A INPUT -p icmp --icmp-type echo-reply -j CHẤP NHẬN
# iptables -A INPUT -p icmp --icmp-type Destination-unreachable -j CHẤP NHẬN
# iptables -A INPUT -p icmp --icmp-type vượt quá thời gian -j CHẤP NHẬN
## ** cho phép chúng tôi phản hồi yêu cầu ** ##
# iptables -A INPUT -p icmp --icmp-type echo-request -j CHẤP NHẬN

18. Mở một loạt cổng.

# iptables -A INPUT -m state --state MỚI -m tcp -p tcp --dport 7000:7010 -j CHẤP NHẬN

19. Mở một loạt địa chỉ.

## cho phép kết nối tới cổng 80 (Apache) nếu địa chỉ nằm trong phạm vi từ 192.168.1.100 đến 192.168.1.200 ##
# iptables -A INPUT -p tcp --destination-port 80 -m iprange --src-range 192.168.1.100-192.168.1.200 -j CHẤP NHẬN

## ví dụ về nat ##
# iptables -t nat -A POSTROUTING -j SNAT --to-source 192.168.1.20-192.168.1.25

20. Đóng hoặc mở các cổng tiêu chuẩn.

Thay thế ACCEPT bằng DROP để chặn cổng.

## cổng ssh tcp 22 ##
iptables -A INPUT -m state --state MỚI -m tcp -p tcp --dport 22 -j CHẤP NHẬN
iptables -A INPUT -s 192.168.1.0/24 -m state --state MỚI -p tcp --dport 22 -j CHẤP NHẬN

## cốc (dịch vụ in) cổng udp/tcp 631 cho mạng cục bộ ##
iptables -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 631 -j CHẤP NHẬN
iptables -A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 631 -j CHẤP NHẬN

## đồng bộ hóa thời gian qua NTP cho mạng cục bộ (cổng udp 123) ##
iptables -A INPUT -s 192.168.1.0/24 -m state --state MỚI -p udp --dport 123 -j CHẤP NHẬN

## cổng tcp 25 (smtp) ##
iptables -A INPUT -m state --state MỚI -p tcp --dport 25 -j CHẤP NHẬN

# cổng máy chủ dns ##
iptables -A INPUT -m state --state MỚI -p udp --dport 53 -j CHẤP NHẬN
iptables -A INPUT -m state --state MỚI -p tcp --dport 53 -j CHẤP NHẬN

## cổng máy chủ http/https www ##
iptables -A INPUT -m state --state MỚI -p tcp --dport 80 -j CHẤP NHẬN
iptables -A INPUT -m state --state MỚI -p tcp --dport 443 -j CHẤP NHẬN

## cổng tcp 110 (pop3) ##
iptables -A INPUT -m state --state MỚI -p tcp --dport 110 -j CHẤP NHẬN

## cổng tcp 143 (imap) ##
iptables -A INPUT -m state --state MỚI -p tcp --dport 143 -j CHẤP NHẬN

## Máy chủ tệp Samba cho mạng cục bộ ##
iptables -A INPUT -s 192.168.1.0/24 -m state --state MỚI -p tcp --dport 137 -j CHẤP NHẬN
iptables -A INPUT -s 192.168.1.0/24 -m state --state MỚI -p tcp --dport 138 -j CHẤP NHẬN
iptables -A INPUT -s 192.168.1.0/24 -m state --state MỚI -p tcp --dport 139 -j CHẤP NHẬN
iptables -A INPUT -s 192.168.1.0/24 -m state --state MỚI -p tcp --dport 445 -j CHẤP NHẬN

## máy chủ proxy cho mạng cục bộ ##
iptables -A INPUT -s 192.168.1.0/24 -m state --state MỚI -p tcp --dport 3128 -j CHẤP NHẬN

## máy chủ mysql cho mạng cục bộ ##
iptables -I INPUT -p tcp --dport 3306 -j CHẤP NHẬN

21. Giới hạn số lượng kết nối song song tới máy chủ cho một địa chỉ.

Để hạn chế, mô-đun connlimit được sử dụng. Để chỉ cho phép 3 kết nối ssh cho mỗi khách hàng:
# iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j TỪ CHỐI

Đặt số lượng yêu cầu HTTP thành 20:
# iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 --connlimit-mask 24 -j DROP

Ở đâu:
--connlimit-trên 3: Chỉ định rằng quy tắc chỉ áp dụng nếu số lượng kết nối vượt quá 3.
--connlimit-mask 24: Chỉ định mặt nạ mạng.

Trợ giúp về iptables.

Để tìm trợ giúp với iptables, hãy sử dụng man:
$ người đàn ông iptables

Để xem trợ giúp cho các lệnh và mục tiêu cụ thể:
# iptables -j THẢ -h

Kiểm tra quy tắc iptables.

Kiểm tra các cổng đóng/mở:
# netstat -tulpn

Chúng tôi kiểm tra tính mở/đóng của một cổng cụ thể:
# netstat -tulpn | grep:80

Hãy kiểm tra xem iptables có cho phép kết nối với cổng 80 không:
# iptables -L INPUT -v -n | grep 80

Nếu không thì hãy mở nó ra cho mọi người:
# iptables -A INPUT -m state --state MỚI -p tcp --dport 80 -j CHẤP NHẬN

Kiểm tra bằng telnet
$ telnet ya.ru 80

Bạn có thể sử dụng nmap để kiểm tra:
$ nmap -sS -p 80 ya.ru

Iptables là một công cụ tuyệt vời trong tay quản trị viên. Nếu bạn cần bảo vệ bản thân một cách dễ dàng và đơn giản trong Ubuntu trên máy tính để bàn, thì bạn nên biết rằng có một tiện ích bổ sung bảng điều khiển tiện lợi dành cho iptables có tên là UFW và có chương trình đồ họa GUFW cho nó. Tài liệu video sẽ giúp bạn làm cho Ubuntu của mình an toàn hơn nữa.