Bug Bounty Diaries #10 - Linux UFW & IPTables
Mục lục:
- Điều kiện tiên quyết
- Cài đặt UFW
- Kiểm tra trạng thái UFW
- Chính sách mặc định của UFW
- Hồ sơ ứng dụng
- Cho phép kết nối SSH
- Kích hoạt UFW
- Cho phép kết nối trên các cổng khác
- Mở cổng 80 - HTTP
- Mở cổng 443 - HTTPS
- Mở cổng 8080
- Cho phép phạm vi cổng
- Cho phép địa chỉ IP cụ thể
- Cho phép địa chỉ IP cụ thể trên cổng cụ thể
- Cho phép mạng con
- Cho phép kết nối với giao diện mạng cụ thể
- Từ chối kết nối
- Xóa các quy tắc UFW
- Vô hiệu hóa UFW
- Đặt lại UFW
- Phần kết luận
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:
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í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 đó:
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
:
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
:
Mở cổng 8080
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
và
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
và
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:
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õ:
Đặ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:
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 debianProBook 5310 tiếp tục thử nghiệm trong phòng thí nghiệm, nhưng các ứng dụng thân thiện với doanh nghiệp khởi động nhanh và ấn tượng mỏng, phong cách. > HP có một điều về vẻ đẹp kinh doanh trên tay với ProBook 5310m. Tại sao tôi lại nói vậy? Ngay cả những người trong PC World Labs - những người nhìn thấy mọi thứ dưới ánh mặt trời - đều bị ấn tượng bởi thiết kế công nghiệp của nó. Vỏ nhôm màu đen bóng bẩy, kết cấu dẻo dai trên khung gầm ... danh sách vẫn tiếp tục. Tôi? Tôi đã rất ấn tượng với mức
Dưới mui xe là Intel Core 2 Duo SP9300 2.26GHz CPU, được hỗ trợ 2GB RAM và bộ xử lý đồ họa tích hợp. Đó là không có scorcher, tâm trí bạn, nhưng nó chạy Windows 7 Professional và một vài chương trình cốt lõi (ứng dụng văn phòng, phần mềm chỉnh sửa ảnh, và duyệt web, ví dụ) mà không balking. Trong thực tế, nó có đủ nước trái cây để hành trình thông qua PC WorldBench 6 kiếm được 99. Không tồi tàn ở tất cả xem xét kích thước, trọng lượng và giá cả. Thời gian sử dụng pin là kết quả, kéo dài chỉ một
Cách thiết lập tường lửa với tường lửa trên centos 7
FirewallD là một giải pháp tường lửa hoàn chỉnh quản lý các quy tắc iptables của hệ thống và cung cấp giao diện D-Bus để vận hành trên chúng. Trong hướng dẫn này, chúng tôi chỉ cho bạn cách thiết lập tường lửa với FirewallD trên hệ thống CentOS 7 của bạn và giải thích cho bạn các khái niệm FirewallD cơ bản.
Cách thiết lập tường lửa với ufw trên Ubuntu 18.04
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.