Điểm:0

ufw có cho phép tất cả lưu lượng truy cập đến để đáp ứng các yêu cầu gửi đi không?

lá cờ zm

Tôi bối rối về cách thức hoạt động của ufw. Tôi đã tìm kiếm trang web nhưng hầu hết các sự cố đều ngăn lưu lượng truy cập vào, sự cố của tôi cho phép lưu lượng truy cập vào.

Tôi đã thiết lập ufw để chỉ cho phép cổng ssh tùy chỉnh của mình; tuy nhiên, tôi đang chạy chương trình java trên máy chủ kết nối với máy chủ khác qua cổng 4246 và tất cả dữ liệu từ máy chủ khác được phép vào máy chủ của tôi mặc dù tôi chưa mở cổng 4246/tcp. Tôi cũng chưa cho phép bất kỳ http hoặc https nào nhưng tất cả các lệnh apt cũng hoạt động mà không gặp sự cố.

Theo tôi hiểu, chức năng mặc định của ufw là "từ chối (đến), cho phép (đi)". Điều này có nghĩa là miễn là kết nối được tạo từ bên trong máy chủ thì mọi dữ liệu phản hồi đều được cho phép? Có cách nào thực sự để ngăn chặn điều này và chỉ cho phép dữ liệu vào nếu nó được định cấu hình trong ufw bất kể kết nối được tạo từ bên trong máy chủ không?

Cảm ơn trước!

lá cờ ar
"*Điều này có nghĩa là miễn là kết nối được tạo từ bên trong máy chủ thì mọi dữ liệu phản hồi đều được cho phép?*" **Có!**
Doug Smythies avatar
lá cờ gn
Bạn có thể làm những gì bạn muốn, nhưng có thể dễ dàng hơn khi sử dụng trực tiếp iptables thay vì UFW. Nếu bạn muốn có chính sách DROP mặc định cho chuỗi OUTPUT thì bạn sẽ cần quản lý những thứ như DNS và DHCP với các quy tắc iptables riêng lẻ, ngoài lưu lượng cổng ssh tùy chỉnh của bạn.
lá cờ ar
"*Tôi cũng chưa cho phép bất kỳ http hoặc https nào nhưng tất cả các lệnh apt cũng hoạt động mà không gặp vấn đề gì.*" Đây là cách Internet hoạt động. Trình duyệt web chẳng hạn như crome hoặc trong trường hợp này là chương trình `apt` gửi thông báo đến cổng 80 (hoặc 443) của máy chủ web và yêu cầu máy chủ gửi dữ liệu (trang web) trở lại bằng cổng XXXXXX, trong đó XXXXXX là một số ngẫu nhiên. Khi bạn "từ chối (đến)", nó không từ chối các gói đến được yêu cầu cụ thể bởi gói gửi đi.
lá cờ ar
Xem [câu hỏi và câu trả lời này](https://stackoverflow.com/questions/2301075/client-use-high-port-number) để biết thêm câu trả lời cụ thể về cách thức hoạt động của các cổng tạm thời/chưa đăng ký.
Doug Smythies avatar
lá cờ gn
@ user68186 : "nó không từ chối các gói đến được yêu cầu cụ thể bởi gói gửi đi." tốt, ufw (vốn chỉ là giao diện người dùng cho iptables) thực hiện điều đó theo mặc định, nhưng người ta không phải CHẤP NHẬN những câu trả lời như vậy nếu họ không muốn.
lá cờ ar
@DougSmythies đủ công bằng. Có lẽ bạn có thể viết một câu trả lời.
lá cờ zm
cảm ơn bạn đã cung cấp thông tin @ user68186 và trả lời một phần câu hỏi.
Điểm:0
lá cờ gn

Câu hỏi là về UFW, nhưng câu trả lời này sử dụng trực tiếp iptables và có thể không phải là điều mong muốn.

Bạn có thể chặn các gói mạng đi và đến, ngoại trừ các gói SSH của bạn bằng tập lệnh iptables này:

#!/bin/sh
FWVER=0.01
#
# ask1393247 Smythies 2022.02.16 Ver:0.01
# Xem tại đây:
# https://askubuntu.com/questions/1393247/does-ufw-allow-all-incoming-traffic-in-response-to-outbound-requests?noredirect=1#comment2409932_1393247
# chạy dưới dạng sudo trên s19.
# Bắt đầu từ bên dưới:
#
# ask1368071 Smythies 2021.10.08 Ver:0.01
# Xem tại đây:
# https://askubuntu.com/questions/1368071/iptables-that-only-allow-incoming-traffic-to-openssh-and-block-all-other-traffic
# chạy dưới dạng sudo trên s19.
# mục nhật ký chỉ dành cho mỗi gói ssh MỚI. Có vẻ như không hợp lý khi ghi nhật ký mọi gói ssh, nhưng có thể thực hiện được.
#

echo "Đang tải phiên bản bộ quy tắc ask1393247 $FWVER..\n"

# Vị trí của chương trình iptables
#
IPTABLES=/sbin/iptables

#Đặt các giao diện và địa chỉ BÊN NGOÀI và NỘI BỘ cho mạng
#
# Đặt cho máy tính Smythies s19 (để thử nghiệm). Chỉnh sửa cho máy tính của ask1393247.
EXTIF="br0"
EXTIP="192.168.111.136"
MẠNG="192.168.111.0/24"
VŨ TRỤ="0.0.0.0/0"

# Xóa mọi cấu hình trước đó
# Hãy cẩn thận ở đây. Tôi có thể làm điều này trên s19, nhưng không biết
# về máy tính của người dùng khác.
#
echo " Xóa mọi quy tắc hiện có và đặt chính sách mặc định.."
$IPTABLES -P INPUT DROP
$IPTABLES -F INPUT
$IPTABLES -P OUTPUT DROP
ĐẦU RA $IPTABLES -F
$IPTABLES -P CHẤP NHẬN VỀ PHÍA TRƯỚC
$IPTABLES -F PHÍA TRƯỚC
$IPTABLES -t nat -F

# Xóa chuỗi do người dùng xác định
$IPTABLES -X
# Đặt lại tất cả các bộ đếm IPTABLES
$IPTABLES -Z
# Smythies: Trong khi tài liệu tham khảo của tôi không có nó, tôi nghĩ điều này là cần thiết.
$IPTABLES -t nat -Z

# giao diện loopback hợp lệ.
#
$IPTABLES -A INPUT -i lo -s $UNIVERSE -d $UNIVERSE -j CHẤP NHẬN

# Cho phép mọi lưu lượng truy cập liên quan quay lại máy chủ trong.
# Không rõ lý do, ask1393247 không muốn phiên bản chung. Vì vậy, nhận xét ra.)
#$IPTABLES -A INPUT -i $EXTIF -s $UNIVERSE -d $EXTIP -m state --state ĐÃ THÀNH LẬP,LIÊN QUAN -j CHẤP NHẬN
# ask1393247 có vẻ muốn cái này:
lặp lại "cờ 1"
$IPTABLES -A INPUT -i $EXTIF -s $UNIVERSE -d $EXTIP -m state --state ESTABLISHED,RELATED -p tcp --dport 22 -j ACCEPT
lặp lại "cờ 2"

# Cho phép và đăng nhập các kết nối SSH mới. Không cần thiết nếu bạn không muốn đăng nhập phiên, nhưng sau đó bạn cần thêm MỚI ở trên.
# Lưu ý: Tôi sử dụng cổng 22, vì dù sao thì không ai khác có thể vào được đây. Thay đổi cổng của bạn.
#
$IPTABLES -A INPUT -i $EXTIF -m state --state NEW -p tcp -s $UNIVERSE -d $EXTIP --dport 22 -j LOG --log-prefix "ssh traffic:" --log-level info
$IPTABLES -A INPUT -i $EXTIF -m state --state NEW -p tcp -s $UNIVERSE -d $EXTIP --dport 22 -j CHẤP NHẬN

# Bây giờ, cũng chỉ cho ra ssh:
$IPTABLES -A OUTPUT -o $EXTIF -p tcp --sport 22 -m state --state THIẾT LẬP, LIÊN QUAN -j CHẤP NHẬN

# Lưu ý: nếu máy tính của bạn sử dụng DCHP, thì bạn cần phải cho phép nó, cả vào và ra.

# Xong.
#
echo ask1393247 phiên bản bộ quy tắc $FWVER đã xong.

Và đây là kết quả:

doug@s19:~/iptables/misc$ sudo iptables -xvnL
Chuỗi INPUT (chính sách DROP 133 gói, 11819 byte)
    pkts byte đích prot chọn không tham gia đích nguồn
       0 0 CHẤP NHẬN tất cả -- lo * 0.0.0.0/0 0.0.0.0/0
     202 13689 CHẤP NHẬN tcp -- br0 * 0.0.0.0/0 192.168.111.136 trạng thái LIÊN QUAN, THÀNH LẬP tcp dpt:22
       4 280 LOG tcp -- br0 * 0.0.0.0/0 192.168.111.136 trạng thái Tcp MỚI dpt:22 Cờ LOG 0 tiền tố mức 6 "lưu lượng ssh:"
       4 280 CHẤP NHẬN tcp -- br0 * 0.0.0.0/0 192.168.111.136 trạng thái tcp MỚI dpt:22

Chuỗi FORWARD (chính sách CHẤP NHẬN 0 gói, 0 byte)
    pkts byte đích prot chọn không tham gia đích nguồn

OUTPUT chuỗi (chính sách DROP 14 gói, 3240 byte)
    pkts byte đích prot chọn không tham gia đích nguồn
     164 25505 CHẤP NHẬN tcp -- * br0 0.0.0.0/0 0.0.0.0/0 tcp spt:22 trạng thái LIÊN QUAN, ĐÃ THÀNH LẬP
lá cờ zm
cảm ơn vì thông tin về phần "Có cách nào thực sự để ngăn chặn điều này không" của câu hỏi. Không chắc là tôi sẽ thực hiện điều này nhưng đó là thông tin hữu ích. Tôi sẽ đánh dấu nó là câu trả lời.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.