Android

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

Ubuntu Server 18.04.1. Настройка файрвола UFW

Ubuntu Server 18.04.1. Настройка файрвола UFW

Mục lục:

Anonim

Tường lửa được cấu hình đúng là một trong những khía cạnh quan trọng nhất của bảo mật hệ thống tổng thể. Theo mặc định, Ubuntu đi kèm với một công cụ cấu hình tường lửa được gọi là UFW (Tường lửa không biến đổi). UFW 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.

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

Trước khi bạn bắt đầu với hướng dẫn này, hãy đảm bảo rằng bạn đã đăng nhập vào máy chủ của mình bằng tài khoản người dùng có quyền sudo hoặc với người dùng root. Cách thực hành tốt nhất là chạy các lệnh quản trị như một người dùng sudo thay vì root. Nếu bạn không có người dùng sudo trên hệ thống Ubuntu, bạn có thể tạo một người dùng bằng cách làm theo các hướng dẫn sau.

Cài đặt UFW

Tường lửa không biến chứng nên được cài đặt theo mặc định trong Ubuntu 18.04, nhưng nếu nó không được cài đặt trên hệ thống của bạn, bạn có thể cài đặt gói bằng cách gõ:

sudo apt install ufw

Kiểm tra trạng thái UFW

Sau khi 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

UFW bị tắt theo mặc định. Nếu bạn chưa bao giờ kích hoạt UFW trước đó, đầu ra sẽ như thế này:

Status: inactive

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 một gói với apt nó sẽ thêm một hồ sơ ứng dụng vào thư mục /etc/ufw/applications.d . Hồ sơ mô tả dịch vụ và chứa các cài đặt UFW.

Bạn có thể liệt kê tất cả các hồ sơ ứng dụng có sẵn trên máy chủ của mình bằng cách nhập:

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: Dovecot IMAP Dovecot POP3 Dovecot Secure IMAP Dovecot Secure POP3 Nginx Full Nginx HTTP Nginx HTTPS OpenSSH 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 'Nginx Full'

Profile: Nginx Full Title: Web Server (Nginx, HTTP + HTTPS) Description: Small, but very powerful and efficient web server Ports: 80, 443/tcp

Như bạn có thể thấy từ đầu ra phía trên hồ sơ 'Nginx Full' mở cổng 80 443 .

Cho phép kết nối SSH

Trước khi bật tường lửa UFW, chúng ta cần thêm một quy tắc cho phép 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ủ Ubuntu 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 nhập lệnh sau:

sudo ufw allow ssh

Rules updated Rules updated (v6)

Nếu bạn thay đổi cổng SSH thành cổng tùy chỉnh thay vì cổng 22, bạn sẽ cần mở cổng đó.

Ví dụ: nếu ssh daemon của bạn nghe trên cổng 4422 , thì bạn có thể sử dụng lệnh sau để cho phép kết nối trên cổng đó:

sudo ufw allow 4422/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, chúng tôi có thể kích hoạt nó bằng cách gõ:

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 chúng tôi sẽ chỉ cho bạn một vài 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ì http, bạn có thể sử dụng số cổng, 80:

sudo ufw allow 80/tcp

hoặc bạn có thể sử dụng hồ sơ ứng dụng, trong trường hợp này, 'Nginx

sudo ufw allow 'Nginx

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 cùng một cấu hình thay vì cấu hình https bạn có thể sử dụng số cổng, 443 :

sudo ufw allow 443/tcp

hoặc bạn có thể sử dụng hồ sơ ứng dụng, 'Nginx

sudo ufw allow 'Nginx

Mở cổng 8080

sudo ufw allow 8080/tcp

Cho phép phạm vi cổng

Thay vì cho phép truy cập vào các cổng đơn, UFW cho phép chúng tôi 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ụ: nếu bạn muốn cho phép các cổng từ 7100 đến 7200 trên cả tcp udp thì 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ể

Để cho phép truy cập trên tất cả các cổng từ máy chủ của bạn với địa chỉ IP là 64.63.62.61, hãy chỉ định theo sau là địa chỉ IP bạn muốn đưa vào danh sách trắng:

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, hãy sử dụng to any port theo sau là số cổng:

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 , sau đó bạn cần chỉ định 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 và nếu bạn không thay đổi nó, UFW sẽ chặn tất cả các kết nối đến trừ khi bạn mở kết nối một cách 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 bạn có thể 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, bạn có thể thực hiện điều đó bằng 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, hãy sử dụng lệnh sau:

sudo ufw delete 3

Phương pháp thứ hai là xóa 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 quy tắc đó 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 bạn có thể sử dụng:

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 chủ Ubuntu 18.04 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 Ubuntu