Android

Cách thiết lập tường lửa với ufw trên debian 9

Bug Bounty Diaries #10 - Linux UFW & IPTables

Bug Bounty Diaries #10 - Linux UFW & IPTables

Mục lục:

Anonim

Debian bao gồm một số gói cung cấp các công cụ để quản lý tường lửa với iptables được cài đặt như một phần của hệ thống cơ sở. Nó có thể phức tạp cho người mới bắt đầu học cách sử dụng công cụ iptables để cấu hình và quản lý tường lửa đúng cách, nhưng UFW đơn giản hóa nó.

UFW (Tường lửa không phức tạp) là một giao diện người dùng thân thiện để quản lý các quy tắc tường lửa iptables và mục tiêu chính của nó là làm cho việc quản lý iptables dễ dàng hơn hoặc như tên gọi không biến chứng.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách thiết lập tường lửa bằng UFW trên Debian 9.

Điều kiện tiên quyết

Trước khi tiếp tục với hướng dẫn này, hãy đảm bảo người dùng mà bạn đã đăng nhập có quyền sudo.

Cài đặt UFW

UFW không được cài đặt theo mặc định trong Debian 9. Bạn có thể cài đặt gói ufw bằng cách nhập:

sudo apt install ufw

Kiểm tra trạng thái UFW

Khi quá trình cài đặt hoàn tất, bạn có thể kiểm tra trạng thái của UFW bằng lệnh sau:

sudo ufw status verbose

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

Status: inactive

UFW bị tắt theo mặc định. Việc cài đặt sẽ không tự động kích hoạt tường lửa để tránh bị khóa từ máy chủ.

Nếu UFW được kích hoạt, đầu ra sẽ trông giống như sau:

Chính sách mặc định của UFW

Theo mặc định, UFW sẽ chặn tất cả các kết nối đến và cho phép tất cả các kết nối ra ngoài. Điều này có nghĩa là bất kỳ ai đang cố gắng truy cập máy chủ của bạn sẽ không thể kết nối trừ khi bạn mở cổng cụ thể, trong khi tất cả các ứng dụng và dịch vụ đang chạy trên máy chủ của bạn sẽ có thể truy cập vào thế giới bên ngoài.

Các chính sách mặc định được xác định trong tệp /etc/default/ufw và có thể được thay đổi bằng cách sử dụng sudo ufw default chỉ huy.

Chính sách tường lửa là nền tảng để xây dựng các quy tắc chi tiết hơn và do người dùng xác định. Trong hầu hết các trường hợp, Chính sách mặc định UFW ban đầu là điểm khởi đầu tốt.

Hồ sơ ứng dụng

Khi cài đặt gói với apt nó sẽ thêm hồ sơ ứng dụng vào thư mục /etc/ufw/applications.d mô tả dịch vụ và chứa các cài đặt UFW.

Để liệt kê tất cả các hồ sơ ứng dụng có sẵn trên loại hệ thống của bạn:

sudo ufw app list

Tùy thuộc vào các gói được cài đặt trên hệ thống của bạn, đầu ra sẽ trông giống như sau:

Available applications: DNS IMAP IMAPS OpenSSH POP3 POP3S Postfix Postfix SMTPS Postfix Submission…

Để tìm thêm thông tin về một hồ sơ cụ thể và các quy tắc bao gồm, hãy sử dụng lệnh sau:

sudo ufw app info OpenSSH

Profile: OpenSSH Title: Secure shell server, an rshd replacement Description: OpenSSH is a free implementation of the Secure Shell protocol. Port: 22/tcp

Đầu ra AThe ở trên cho chúng ta biết rằng cấu hình OpenSSH mở cổng 22 .

Cho phép kết nối SSH

Trước khi bật tường lửa UFW trước tiên, chúng tôi cần cho phép các kết nối SSH đến.

Nếu bạn đang kết nối với máy chủ của mình từ một địa điểm từ xa, điều này gần như luôn luôn như vậy và bạn kích hoạt tường lửa UFW trước khi cho phép rõ ràng các kết nối SSH đến, bạn sẽ không thể kết nối với máy chủ Debian của mình nữa.

Để định cấu hình tường lửa UFW của bạn để cho phép các kết nối SSH đến, hãy chạy lệnh sau:

sudo ufw allow OpenSSH

Rules updated Rules updated (v6)

Nếu máy chủ SSH đang nghe trên một cổng khác với cổng 22 mặc định, bạn sẽ cần mở cổng đó.

Ví dụ: máy chủ ssh của bạn lắng nghe trên cổng 8822 , sau đó bạn có thể sử dụng lệnh sau để cho phép kết nối trên cổng đó:

sudo ufw allow 8822/tcp

Kích hoạt UFW

Giờ đây, tường lửa UFW của bạn được cấu hình để cho phép các kết nối SSH đến, bạn có thể kích hoạt nó bằng cách chạy:

sudo ufw enable

Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup

Bạn sẽ được cảnh báo rằng việc bật tường lửa có thể phá vỡ các kết nối ssh hiện có, chỉ cần gõ y và nhấn Enter .

Cho phép kết nối trên các cổng khác

Tùy thuộc vào các ứng dụng chạy trên máy chủ của bạn và nhu cầu cụ thể của bạn, bạn cũng sẽ cần cho phép truy cập vào một số cổng khác.

Dưới đây là một số ví dụ về cách cho phép kết nối đến một số dịch vụ phổ biến nhất:

Mở cổng 80 - HTTP

Kết nối HTTP có thể được cho phép bằng lệnh sau:

sudo ufw allow

Thay vì cấu hình http , bạn có thể sử dụng số cổng, 80 :

sudo ufw allow 80/tcp

Mở cổng 443 - HTTPS

Kết nối HTTP có thể được cho phép bằng lệnh sau:

sudo ufw allow

Để đạt được điều tương tự thay vì https bạn có thể sử dụng số cổng, 443 :

sudo ufw allow 443/tcp

Mở cổng 8080

sudo ufw allow 8080/tcp

Cho phép phạm vi cổng

Với UFW, bạn cũng có thể cho phép truy cập vào phạm vi cổng. Khi cho phép phạm vi cổng với UFW, bạn phải chỉ định giao thức, tcp hoặc udp .

Ví dụ: để cho phép các cổng từ 7100 đến 7200 trên cả tcp udp , hãy chạy lệnh sau:

sudo ufw allow 7100:7200/tcp sudo ufw allow 7100:7200/udp

Cho phép địa chỉ IP cụ thể

sudo ufw allow from 64.63.62.61

Cho phép địa chỉ IP cụ thể trên cổng cụ thể

Để cho phép truy cập vào một cổng cụ thể, giả sử cổng 22 từ máy làm việc của bạn có địa chỉ IP là 64.63.62.61 sử dụng lệnh sau:

sudo ufw allow from 64.63.62.61 to any port 22

Cho phép mạng con

Lệnh cho phép kết nối với một mạng con của các địa chỉ IP giống như khi sử dụng một địa chỉ IP duy nhất, sự khác biệt duy nhất là bạn cần chỉ định netmask. Ví dụ: nếu bạn muốn cho phép truy cập các địa chỉ IP khác nhau, từ 192.168.1.1 đến 192.168.1.254 đến cổng 3360 (MySQL), bạn có thể sử dụng lệnh này:

sudo ufw allow from 192.168.1.0/24 to any port 3306

Cho phép kết nối với giao diện mạng cụ thể

Để cho phép truy cập trên một cổng cụ thể, giả sử chỉ cổng 3360 cho giao diện mạng cụ thể eth2 , hãy sử dụng allow in on và tên của giao diện mạng:

sudo ufw allow in on eth2 to any port 3306

Từ chối kết nối

Chính sách mặc định cho tất cả các kết nối đến được đặt thành deny , điều đó có nghĩa là UFW sẽ chặn tất cả các kết nối đến trừ khi bạn mở kết nối cụ thể.

Giả sử bạn đã mở các cổng 80 443 và máy chủ của bạn đang bị tấn công từ mạng 23.24.25.0/24 . Để từ chối tất cả các kết nối từ 23.24.25.0/24 , hãy sử dụng lệnh sau:

sudo ufw deny from 23.24.25.0/24

sudo ufw deny from 23.24.25.0/24 to any port 80 sudo ufw deny from 23.24.25.0/24 to any port 443

Viết quy tắc từ chối cũng giống như viết quy tắc cho phép, bạn chỉ cần thay thế allow bằng deny .

Xóa các quy tắc UFW

Có hai cách khác nhau để xóa quy tắc UFW, theo số quy tắc và bằng cách chỉ định quy tắc thực tế.

Xóa các quy tắc UFW theo số quy tắc sẽ dễ dàng hơn đặc biệt nếu bạn chưa quen với UFW.

Để xóa quy tắc bằng số quy tắc trước tiên bạn cần tìm số quy tắc bạn muốn xóa. Để làm điều đó chạy lệnh sau:

sudo ufw status numbered

Status: active To Action From -- ------ ---- 22/tcp ALLOW IN Anywhere 80/tcp ALLOW IN Anywhere 8080/tcp ALLOW IN Anywhere

Để xóa quy tắc số 3, quy tắc cho phép kết nối với cổng 8080, bạn có thể sử dụng lệnh sau:

sudo ufw delete 2

Phương pháp thứ hai là xóa một quy tắc bằng cách chỉ định quy tắc thực tế. Ví dụ: nếu bạn đã thêm quy tắc để mở cổng 8069 bạn có thể xóa nó bằng:

sudo ufw delete allow 8069

Vô hiệu hóa UFW

Nếu vì bất kỳ lý do gì bạn muốn dừng UFW và hủy kích hoạt tất cả các quy tắc chạy:

sudo ufw disable

Sau này nếu bạn muốn kích hoạt lại UTF và kích hoạt tất cả các quy tắc chỉ cần gõ:

sudo ufw enable

Đặt lại UFW

Đặt lại UFW sẽ vô hiệu hóa UFW và xóa tất cả các quy tắc hoạt động. Điều này rất hữu ích nếu bạn muốn hoàn nguyên tất cả các thay đổi của mình và bắt đầu mới.

Để thiết lập lại UFW, chỉ cần gõ lệnh sau:

sudo ufw reset

Phần kết luận

Bạn đã học cách cài đặt và định cấu hình tường lửa UFW trên máy Debian 9 của mình. Hãy chắc chắn cho phép tất cả các kết nối đến cần thiết cho hoạt động đúng của hệ thống của bạn, đồng thời hạn chế tất cả các kết nối không cần thiết.

ufw tường lửa iptables bảo mật debian