UFW: chính xác nó là gì?


13

UFW là gì? Bạn sẽ nghĩ rằng đây là một câu hỏi dễ, nhưng tôi càng đọc nhiều nguồn, nó càng không rõ ràng.

Từ viết tắt của FireWall không biến đổi, như thể ufw thực sự tự thực hiện một tường lửa. Và thực sự ở nhiều nơi, nó được gọi là tường lửa, như trong bài viết này .

Trang wiki trợ giúp Ubuntu trên UFW nói rằng UFW là một công cụ cấu hình cho iptables. (Đổi lại, trang wiki trợ giúp trên tường lửa nói rằng iptables là cơ sở dữ liệu của các quy tắc tường lửa và đó cũng là tường lửa thực tế, vì cơ sở dữ liệu là một tường lửa, rõ ràng là sai. Và tất nhiên 'iptables' cũng tên của một chương trình.)

Nếu ufw là một công cụ cấu hình, thì chúng tôi có thể mong đợi nó là một chương trình mà bạn chạy để định cấu hình một cái gì đó và sau khi hoàn thành, bạn thoát khỏi cấu hình đã được thiết lập. Đó là vị trí của câu trả lời được chấp nhận của câu hỏi này: FireWall không biến chứng (ufw) có phải là dịch vụ không?

Nhưng những câu trả lời khác cho câu hỏi đó không đồng ý - không, đó là một dịch vụ. Và thực sự trên máy 18.04 của tôi, tôi thấy rằng ufw đang chạy như một dịch vụ! Tại sao một công cụ cấu hình chạy như một dịch vụ?!

Hơn nữa, systemctl list-units --all --type=servicechương trình ufw.serviceloaded and active(và còn exited?!) ufw statuscho thấy inactive.

Vậy tình trạng ufw = không hoạt động có nghĩa là gì?

  1. Rằng "tường lửa" (bất kể đó là gì) không hoạt động? Đó là những gì tài liệu trang ufw man cho 'status' sẽ đề xuất.

  2. Hoặc nó có nghĩa là các quy tắc được cấu hình trong ufw không hoạt động (nhưng các quy tắc khác được định cấu hình trong iptables đang hoạt động)?

  3. Hoặc điều đó có nghĩa là ufw bắt đầu khởi động, kích hoạt các quy tắc của nó thành ipconfig (hoặc bất cứ nơi nào họ đi) để bây giờ chúng có hiệu lực, và bây giờ ufw không có gì để làm nên nó không hoạt động?

Quan tâm đặc biệt: Tôi muốn làm theo một số hướng dẫn yêu cầu ban hành một số lệnh iptables, nhưng lo ngại rằng chúng sẽ xung đột với, hoặc bị ghi đè bởi bộ máy ufw.


2
iptables là tường lửa. Nó cũng nắm giữ các quy tắc, bởi vì rõ ràng nó cần, nhưng gọi nó là 'cơ sở dữ liệu' đang kéo dài nó một chút vì kernel không cung cấp sự bền bỉ; tải chúng khi khởi động phải được chăm sóc bởi một số công cụ như ufw.
Jan Hudec

@JanHudec Tôi thấy một số người nói về iptables như là tường lửa, nhưng theo tôi có thể nói, netfilter cung cấp chức năng tường lửa, trong khi iptables cung cấp ngày cho netfilter. Tôi thích quan điểm của bạn rằng iptables chỉ lưu giữ dữ liệu trong bộ nhớ và do đó "cơ sở dữ liệu" cũng gây hiểu nhầm.
gwideman

Cá nhân tôi sẽ coi netfilter là một phần của iptables, nhưng tôi có thể sai ở điểm tốt này.
Jan Hudec

Zanna đã chỉnh sửa câu hỏi của tôi để gọn gàng những thứ như URL (cảm ơn!), Nhưng đã thay thế "UFW" cho tất cả các trường hợp của "ufw". Bây giờ tôi tin rằng chữ thường là trường hợp thích hợp (như được hiển thị trong manpages.ubfox.com/manpages/xenial/en/man8/ufw.8.htmlwiki.ubfox.com/UncomplicatedFirewall , nhưng tôi không quan tâm đến việc chỉnh sửa chiến tranh về điều này. Zanna vui lòng trở lại trường hợp thấp hơn nếu bạn mua bằng chứng của tôi.
gwideman

Câu trả lời:


21

ufw là một giao diện người dùng cho netfilter / iptables, cơ chế Linux để định tuyến và lọc lưu lượng truy cập internet.

ufw là hoàn toàn tùy chọn và có thể tạo tường lửa và bảng định tuyến trực tiếp bằng cách sử dụng các lệnh iptables. Một số người thích cú pháp của ufw, được cho là làm cho nó dễ dàng hơn một chút.

Bản thân nó không phải là tường lửa, nó là một công cụ để thiết lập cấu hình của netfilter / iptables. Nó được đăng ký như một dịch vụ vì nó cần được chạy mỗi khi máy của bạn khởi động. Tôi không tin rằng nó vẫn còn trong bộ nhớ sau khi nó thực hiện cấu hình này. "Khởi động lại" dịch vụ chỉ cần chạy lại tập lệnh của nó. Không có gì lạ khi những thứ trong bản phân phối Linux được đăng ký dưới dạng dịch vụ mặc dù chúng chỉ là các tập lệnh chạy khi khởi động hoặc tắt máy mà không ở lại giữa.

Nếu bạn sử dụng ufw, bạn không thể đặt quy tắc iptables của riêng mình bằng các tập lệnh của riêng bạn, vì chúng sẽ bị ghi đè khi ufw tự đặt quy tắc. Điều này cũng có nghĩa là ufw có thể xung đột với các công cụ khác đặt quy tắc tường lửa.

Nếu sudo ufw statustrả về "không hoạt động", điều đó có nghĩa là ufw đã bị vô hiệu hóa (và chẳng hạn, sẽ không áp dụng lại bất kỳ quy tắc nào khi khởi động). Bạn cần đảm bảo ufw được bật sudo ufw enable, mặc dù bạn cũng cần cấu hình các quy tắc để điều này có ý nghĩa. Nếu bạn chắc chắn rằng bạn đã kích hoạt ufw nhưng nó trả về "không hoạt động" thì có thể có một số vấn đề khác.

Lưu ý rằng "bắt đầu" dịch vụ không kích hoạt ufw, nó chỉ kích hoạt tập lệnh khởi động. Nếu ufw bị vô hiệu hóa khi tập lệnh khởi động chạy, nó sẽ không làm gì cả.

Bạn có thể biết liệu quy tắc tường lửa của mình đã được áp dụng tại bất kỳ thời điểm nào bằng cách sử dụng iptables trực tiếp chưa:

sudo iptables -L
sudo ip6tables -L

1
Lưu ý: Cá nhân tôi không sử dụng ufw, tôi sử dụng gói có tên netfilter-continent cho phép bạn viết các quy tắc iptables gốc vào một tệp và áp dụng lại chúng khi khởi động. Khi khởi động, về cơ bản nó thực hiện những gì ufw làm: chạy một kịch bản bắt đầu áp dụng cấu hình. Sự khác biệt là nó không dịch từ cú pháp đơn giản của chính nó, nó chỉ gửi các lệnh iptables trực tiếp đến iptables.
thomasrutter

Có rất nhiều đồ tốt ở đó. Cảm ơn. Về điều này: "Nếu bạn sử dụng ufw, bạn không thể đặt quy tắc iptables của riêng mình bằng cách sử dụng tập lệnh của riêng bạn, vì chúng sẽ bị ghi đè khi ufw tự đặt." Có phải ufw chủ động xóa tất cả các quy tắc iptables hiện có? Hay bạn chỉ đang nói với ufw trong ảnh, bạn không thể dựa vào các lệnh / quy tắc của iptables có hiệu lực vì chúng có thể bị ghi đè bởi ufw?
gwideman

Ngoài ra với thomas: "netfilter-continent"> có liên quan đến iptables-kiên trì không?
gwideman

Vâng, đó là những gì nó được gọi là. Nếu phiên bản Ubuntu của bạn có cả hai, thì gói iptables-continent có thể sẽ chỉ là gói chuyển tiếp để cung cấp cho mọi người từ các phiên bản cũ hơn một đường dẫn nâng cấp.
thomasrutter

1
Xin lỗi nếu tôi nhầm lẫn bạn đề cập đến giải phápvvv, tôi chỉ sử dụng như một ví dụ về một phần cấu hình khác trong Ubuntu có thể được kiểm soát bởi một số dịch vụ khác ghi đè bất kỳ thay đổi nào bạn thực hiện trực tiếp. Nó không được kết nối.
thomasrutter
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.