iptables - Gói UDP từ các địa chỉ IP không xác định


2

Tôi thực sự mới đối với quản trị hệ thống cơ bản và câu hỏi này hơi khó đối với Google. Tôi đang thiết lập một máy chủ pi mâm xôi nhỏ cho mục đích sử dụng cá nhân của mình, để tự dạy mình một số công cụ quản trị máy chủ cơ bản. Tôi đã có các yêu cầu sau trong nhật ký của mình về iptables:

Dec 23 11:22:50 raspberrypi kernel: [ 9265.069490] iptables denied: IN=eth0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=223.252.23.219 DST=192.168.1.110 LEN=76 TOS=0x00 PREC=0x00 TTL=50 ID=38239 DF PROTO=UDP SPT=123 DPT=123 LEN=56 
Dec 23 11:26:21 raspberrypi kernel: [ 9476.067683] iptables denied: IN=eth0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=202.60.94.15 DST=192.168.1.110 LEN=76 TOS=0x00 PREC=0x00 TTL=51 ID=0 DF PROTO=UDP SPT=123 DPT=123 LEN=56 
Dec 23 11:28:57 raspberrypi kernel: [ 9632.043036] iptables denied: IN=eth0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=192.189.54.17 DST=192.168.1.110 LEN=76 TOS=0x00 PREC=0x00 TTL=246 ID=43921 DF PROTO=UDP SPT=123 DPT=123 LEN=56 
Dec 23 11:31:48 raspberrypi kernel: [ 9803.084926] iptables denied: IN=eth0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=223.252.23.219 DST=192.168.1.110 LEN=76 TOS=0x00 PREC=0x00 TTL=50 ID=22008 DF PROTO=UDP SPT=123 DPT=123 LEN=56 
Dec 23 11:35:02 raspberrypi kernel: [ 9997.074316] iptables denied: IN=eth0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=202.60.94.15 DST=192.168.1.110 LEN=76 TOS=0x00 PREC=0x00 TTL=51 ID=0 DF PROTO=UDP SPT=123 DPT=123 LEN=56 

192.168.1.110 là pi mâm xôi (nếu bạn không thể đoán)

Vì vậy, trước hết, ai / yêu cầu từ tất cả các IP lạ này đến từ đâu? Đây có phải là điều tôi nên quan tâm? Pi mâm xôi không nằm trong DMZ. Không có cổng chuyển tiếp đến nó. Tất cả các thông tin liên lạc từ pi đến internet đều thông qua một bộ chuyển mạch và sau đó là bộ định tuyến của nhà tôi trước khi modem được kết nối với bộ định tuyến. Làm thế nào là những gói lạ thậm chí nhận được thông qua các bộ định tuyến?

Nếu nó được sử dụng, đây là cấu hình hiện tại cho iptables:

*filter

##############################################
##### Dealing with loopback connections: #####
##############################################
# Append a rule to the INPUT chain. For connections coming in from the "lo" Interface, Jump to the ACCEPT target.
-A INPUT -i lo -j ACCEPT

# Append a rule to the INPUT chain. For connections with a Destination of 127.0.0.0 - 127.255.255.255, Jump to the REJECT target.
-A INPUT -d 127.0.0.0/8 -j REJECT

##############################################
##### Dealing with SSH connections: ##########
##############################################
# Append a rule to the INPUT chain. For all connections (established or new) from 192.168.1.125 on TCP port 22 (ssh), Jump to the ACCEPT target.
-A INPUT  -p tcp --dport ssh -s 192.168.1.125 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp --sport ssh -d 192.168.1.125 -m state --state ESTABLISHED -j ACCEPT

##############################################
##### Dealing with HTTP connections: #########
##############################################
-A INPUT  -p tcp --dport 80 -s 192.168.1.125 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp --sport 80 -d 192.168.1.125 -m state --state ESTABLISHED -j ACCEPT

##############################################
##### Dealing with ping: #####################
##############################################
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT
-A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

##############################################
##### Log denied calls: ######################
##############################################
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7

##############################################
##### Accept input related to output #########
##############################################
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

##############################################
##### Kill everything but output: ############
##############################################
-A INPUT -j REJECT
-A FORWARD -j REJECT
-A OUTPUT -j ACCEPT

--policy INPUT DROP
--policy OUTPUT ACCEPT
--policy FORWARD DROP

COMMIT

Cảm ơn trước!


1
Chà, tất cả đều đến từ Úc và có lẽ là lưu lượng NTP (cổng 123).
slhck

Ồ tôi hiểu rồi! Có một quá trình NTPD chạy trên raspberry pi. Tôi đoán điều này là để có được thời gian vì không có pin trên máy bay. Vì vậy, tôi giả sử pi của tôi yêu cầu những thứ này, (OUTPUT bị bỏ chặn) nhưng phản hồi đang bị hủy vì không có quy tắc INPUT. Tôi có một câu hỏi nhỏ mặc dù (chỉ để đảm bảo rằng tôi hiểu). Có phải tất cả các máy tính trên mạng của tôi cũng nhận được các gói này (vì UDP không có khái niệm về kết nối, bộ định tuyến chỉ gửi nó cho mọi người)?
AStoolNoob

Câu trả lời:


1

Đây là các gói NTP (như được chỉ ra bởi cổng 123) được gửi từ các máy chủ cục bộ trong khu vực máy chủ của bạn. Đó là phản hồi Giao thức thời gian mạng cho máy chủ của bạn yêu cầu cập nhật thời gian qua ntpd. Vì iptables chặn những thứ này, thời gian của bạn sẽ không được cập nhật.

Do đó, điều hợp lý là cho phép lưu lượng truy cập NTP đến, nhưng chỉ khi đó là từ yêu cầu NTP của riêng bạn. Nếu bạn để ntpd của bạn chấp nhận các yêu cầu đến từ thế giới bên ngoài, điều này có thể có vấn đề và sẽ bị vô hiệu hóa .

Không có máy nào khác trong mạng của bạn nhận được các gói này, vì như TCP, UDP bị ràng buộc với một cổng nhất định trên một địa chỉ IP nhất định. Và trừ khi địa chỉ IP đó thực sự là một địa chỉ quảng bá , bộ định tuyến của bạn sẽ chỉ cung cấp nó cho máy chủ yêu cầu.


Cảm ơn đã giúp đỡ! Thêm vài câu hỏi: Làm thế nào để một chương trình liên kết một cổng như vậy? Chỉ đơn giản là yêu cầu thông qua nó đủ để ràng buộc nó trong một khoảng thời gian? Thứ hai, tôi nhận thấy rằng thời gian trên pi của tôi thực sự chính xác mặc dù các phản hồi này bị chặn: bạn có nghĩ rằng các gói này có thể đã đi qua giữa khởi động và iptables có hiệu lực, hoặc có điều gì khác đang xảy ra không?
AStoolNoob

Câu hỏi hơi khó để trả lời chính xác, vì ràng buộc với ổ cắm là một khái niệm hệ điều hành cấp độ rất thấp và nó sử dụng các cuộc gọi hệ thống . Có một vài cuốn sách về điều đó, chẳng hạn như Mạng máy tính của Tanenbaum , được coi là tài liệu tham khảo. Tôi không biết chính xác thời gian của bạn được đặt thành chính xác như thế nào, nhưng có thể nó đã được đặt khi iptables chưa được bật? Bạn có thể thử buộc cập nhật thời gian và xem liệu nó có còn thông qua hay không: askubfox.com/questions/254826/ mẹo
slhck

Chào bạn lần nữa nhé! Cảm ơn bạn đã dành thời gian cho việc này! Trên thực tế, tôi biết về các cuộc gọi hệ thống. Tôi thậm chí đã sử dụng cái đó trước đây (nhưng chỉ ở mức cơ bản)! Những gì tôi không hiểu là làm thế nào nó hoạt động trên mạng. Sự hiểu biết của tôi là việc ràng buộc với cổng chỉ để cho HĐH biết rằng quy trình của bạn đang sử dụng cổng đó cho một cái gì đó. Làm thế nào điều này cho bộ định tuyến biết để gửi các gói UDP đến trên cổng đó chỉ đến rpi của tôi. Tôi nghĩ rằng nó phải làm với NAT. Đối với TCP tôi hiểu, vì bộ định tuyến biết về các kết nối và thực hiện những điều không thể với UDP. Xin lỗi nếu sự hiểu biết của tôi là cách!
AStoolNoob
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.