Настройка firewall в CentOS 7 (firewalld)
Mục lục:
- Điều kiện tiên quyết
- Khái niệm tường lửa cơ bản
- Khu vực tường lửa
- Dịch vụ tường lửa
- Tường lửa thời gian chạy và cài đặt vĩnh viễn
- Cài đặt và kích hoạt FirewallD
- Làm việc với các khu vực tường lửa
- Thay đổi Vùng giao diện
- Thay đổi vùng mặc định
- Mở một cảng hoặc dịch vụ
- Tạo một dịch vụ FirewallD mới
- Cổng chuyển tiếp với Firewalld
- Tạo bộ quy tắc với FirewallD
- Phần kết luận
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ể.
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. Bắt đầu với CentOS 7, FirewallD thay thế iptables làm công cụ quản lý tường lửa mặc định.
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.
Đ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 CentOS của mình, 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.
Khái niệm tường lửa cơ bản
FirewallD sử dụng các khái niệm về vùng và dịch vụ, thay vì chuỗi và quy tắc iptables. Dựa trên các khu vực và dịch vụ bạn sẽ định cấu hình, bạn có thể kiểm soát lưu lượng được phép hoặc không được phép đến và từ hệ thống.
FirewallD có thể được cấu hình và quản lý bằng tiện ích dòng lệnh
firewall-cmd
.
Khu vực tường lửa
Các khu là các bộ quy tắc được xác định trước chỉ định lưu lượng nào sẽ được cho phép dựa trên mức độ tin cậy trên các mạng mà máy tính của bạn được kết nối. Bạn có thể gán các giao diện và nguồn mạng cho một vùng.
Dưới đây là các khu vực được cung cấp bởi FirewallD được sắp xếp theo mức độ tin cậy của khu vực từ không đáng tin cậy đến đáng tin cậy:
- thả: Tất cả các kết nối đến được loại bỏ mà không có bất kỳ thông báo. Chỉ cho phép kết nối đi. chặn: Tất cả các kết nối đến đều bị từ chối với tin nhắn
icmp-host-prohibited
choIPv4
vàicmp6-adm-prohibited
đối với IPv6. Chỉ cho phép kết nối đi. công cộng: Để sử dụng trong các khu vực công cộng không tin cậy. Bạn không tin tưởng các máy tính khác trên mạng, nhưng bạn có thể cho phép các kết nối đến được chọn. bên ngoài: Để sử dụng trên các mạng bên ngoài có bật chức năng giả mạo NAT khi hệ thống của bạn hoạt động như một cổng hoặc bộ định tuyến. Chỉ cho phép các kết nối đến được chọn. Internal: Để sử dụng trên các mạng nội bộ khi hệ thống của bạn hoạt động như một cổng hoặc bộ định tuyến. Các hệ thống khác trên mạng thường được tin cậy. Chỉ cho phép các kết nối đến được chọn. dmz: Được sử dụng cho các máy tính nằm trong khu vực phi quân sự của bạn có quyền truy cập hạn chế vào phần còn lại của mạng. Chỉ cho phép các kết nối đến được chọn. công việc: Được sử dụng cho máy móc làm việc. Các máy tính khác trên mạng thường được tin cậy. Chỉ cho phép các kết nối đến được chọn. nhà: Được sử dụng cho máy gia đình. Các máy tính khác trên mạng thường được tin cậy. Chỉ cho phép các kết nối đến được chọn. đáng tin cậy: Tất cả các kết nối mạng được chấp nhận. Tin tưởng tất cả các máy tính trong mạng.
Dịch vụ tường lửa
Các dịch vụ tường lửa là các quy tắc được xác định trước áp dụng trong một vùng và xác định các cài đặt cần thiết để cho phép lưu lượng truy cập đến cho một dịch vụ cụ thể.
Tường lửa thời gian chạy và cài đặt vĩnh viễn
Firewalld sử dụng hai bộ cấu hình riêng biệt, thời gian chạy và cấu hình vĩnh viễn.
Cấu hình thời gian chạy là cấu hình đang chạy thực tế và nó không liên tục khi khởi động lại. Khi dịch vụ Firewalld khởi động, nó sẽ tải cấu hình cố định, trở thành cấu hình thời gian chạy.
Theo mặc định, khi thực hiện thay đổi cấu hình Firewalld bằng tiện ích
firewall-cmd
, các thay đổi được áp dụng cho cấu hình thời gian chạy. Để thay đổi vĩnh viễn, bạn cần sử dụng tùy chọn
--permanent
.
Cài đặt và kích hoạt FirewallD
-
Firewalld được cài đặt theo mặc định trên CentOS 7, 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 yum install firewalld
Dịch vụ tường lửa bị tắt theo mặc định. Bạn có thể kiểm tra trạng thái tường lửa bằng:
sudo firewall-cmd --state
Để khởi động dịch vụ FirewallD và kích hoạt nó trên loại khởi động:
sudo systemctl start firewalld
sudo systemctl enable firewalld
Làm việc với các khu vực tường lửa
Sau khi kích hoạt dịch vụ FirewallD lần đầu tiên, vùng chung được đặt làm vùng mặc định. Bạn có thể xem vùng mặc định bằng cách gõ:
sudo firewall-cmd --get-default-zone
public
Để có danh sách tất cả các khu vực có sẵn, hãy nhập:
sudo firewall-cmd --get-zones
block dmz drop external home internal public trusted work
Theo mặc định, tất cả các giao diện mạng được gán vùng mặc định. Để kiểm tra những vùng nào được sử dụng bởi (các) giao diện mạng của bạn:
sudo firewall-cmd --get-active-zones
public interfaces: eth0 eth1
Đầu ra ở trên cho chúng ta biết rằng cả hai giao diện
eth0
và
eth1
đều được gán cho vùng công cộng.
Bạn có thể in cài đặt cấu hình vùng bằng:
sudo firewall-cmd --zone=public --list-all
public (active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
Từ đầu ra ở trên, chúng ta có thể thấy rằng khu vực công cộng đang hoạt động và được đặt làm mặc định, được sử dụng bởi cả hai giao diện
eth0
và
eth1
. Ngoài ra, các kết nối liên quan đến máy khách DHCP và SSH được cho phép.
sudo firewall-cmd --list-all-zones
Lệnh in một danh sách lớn với các cài đặt của tất cả các vùng có sẵn.
Thay đổi Vùng giao diện
Bạn có thể dễ dàng thay đổi Vùng giao diện bằng cách sử dụng tùy chọn
--zone
kết hợp với tùy chọn
--change-interface
. Lệnh sau sẽ gán giao diện
eth1
cho vùng làm việc:
sudo firewall-cmd --zone=work --change-interface=eth1
Xác minh các thay đổi bằng cách gõ:
sudo firewall-cmd --get-active-zones
work interfaces: eth1 public interfaces: eth0
Thay đổi vùng mặc định
Để thay đổi vùng mặc định, hãy sử dụng tùy chọn
--set-default-zone
theo sau là tên của vùng bạn muốn đặt mặc định.
Ví dụ: để thay đổi vùng mặc định thành nhà, bạn nên chạy lệnh sau:
sudo firewall-cmd --set-default-zone=home
Xác minh các thay đổi với:
sudo firewall-cmd --get-default-zone
Mở một cảng hoặc dịch vụ
Với FirewallD, bạn có thể cho phép lưu lượng truy cập cho các cổng cụ thể dựa trên các quy tắc được xác định trước được gọi là dịch vụ.
Để có danh sách tất cả các loại dịch vụ khả dụng mặc định:
sudo firewall-cmd --get-services
Bạn có thể tìm thêm thông tin về từng dịch vụ bằng cách mở tệp.xml được liên kết trong thư mục
/usr/lib/firewalld/services
. Ví dụ: dịch vụ HTTP được định nghĩa như thế này:
WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.
WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.
Để cho phép lưu lượng HTTP đến (cổng 80) cho các giao diện trong vùng chung, chỉ dành cho loại phiên hiện tại (cấu hình thời gian chạy):
sudo firewall-cmd --zone=public --add-service=http
Nếu bạn đang sửa đổi vùng mặc định, bạn có thể bỏ tùy chọn
--zone
.
Để xác minh rằng dịch vụ đã được thêm thành công, hãy sử dụng tùy chọn
--list-services
:
sudo firewall-cmd --zone=public --list-services
ssh dhcpv6-client
sudo firewall-cmd --permanent --zone=public --add-service=http
Sử dụng
--list-services
cùng với tùy chọn
--permanent
để xác minh các thay đổi của bạn:
sudo firewall-cmd --permanent --zone=public --list-services
ssh dhcpv6-client
Cú pháp xóa dịch vụ giống như khi thêm dịch vụ. Chỉ cần sử dụng
--remove-service
thay vì tùy chọn
--add-service
:
sudo firewall-cmd --zone=public --remove-service=http --permanent
Lệnh trên loại bỏ dịch vụ http khỏi cấu hình vĩnh viễn của khu vực công cộng.
Điều gì xảy ra nếu bạn đang chạy một ứng dụng như Plex Media Server không có dịch vụ phù hợp?
Trong những tình huống như thế này, bạn có hai lựa chọn. Bạn có thể mở các cổng thích hợp hoặc xác định dịch vụ FirewallD mới.
Ví dụ: Máy chủ Plex lắng nghe trên cổng 32400 và sử dụng TCP, để mở cổng trong vùng công cộng cho phiên hiện tại, sử dụng tùy chọn
--add-port=
:
sudo firewall-cmd --zone=public --add-port=32400/tcp
Các giao thức có thể là
tcp
hoặc
udp
.
Để xác minh rằng cổng đã được thêm thành công, hãy sử dụng tùy chọn
--list-ports
:
sudo firewall-cmd --zone=public --list-ports
32400/tcp
Để giữ cổng
32400
mở sau khi khởi động lại, hãy thêm quy tắc vào cài đặt cố định bằng cách chạy cùng một lệnh bằng tùy chọn
--permanent
.
Cú pháp để loại bỏ một cổng giống như khi thêm một cổng. Chỉ cần sử dụng
--remove-port
thay vì tùy chọn
--add-port
.
sudo firewall-cmd --zone=public --remove-port=32400/tcp
Tạo một dịch vụ FirewallD mới
Như chúng tôi đã đề cập, các dịch vụ mặc định được lưu trữ trong thư mục
/usr/lib/firewalld/services
. Cách dễ nhất để tạo một dịch vụ mới là sao chép tệp dịch vụ hiện có vào thư mục
/etc/firewalld/services
, đây là vị trí cho các dịch vụ do người dùng tạo và sửa đổi cài đặt tệp.
Ví dụ: để tạo định nghĩa dịch vụ cho Plex Media Server, chúng ta có thể sử dụng tệp dịch vụ SSH:
sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/plexmediaserver.xml
Mở tệp
plexmediaserver.xml
mới được tạo và thay đổi tên và mô tả ngắn cho dịch vụ trong
port
, định nghĩa số cổng và giao thức bạn muốn mở.
Trong ví dụ sau, chúng tôi đang mở các cổng
1900
UDP và
32400
TCP.
plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.
plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.
Lưu tệp và tải lại dịch vụ FirewallD:
sudo firewall-cmd --reload
Bây giờ bạn có thể sử dụng dịch vụ
plexmediaserver
trong khu vực của mình giống như bất kỳ dịch vụ nào khác..
Cổng chuyển tiếp với Firewalld
Để chuyển tiếp lưu lượng truy cập từ một cổng sang một cổng hoặc địa chỉ khác, trước tiên, hãy bật chức năng giả mạo cho vùng mong muốn bằng cách sử dụng công
--add-masquerade
. Ví dụ: để kích hoạt giả mạo cho loại vùng
external
:
sudo firewall-cmd --zone=external --add-masquerade
- Chuyển tiếp lưu lượng từ cổng này sang cổng khác trên cùng một máy chủ
Trong ví dụ sau, chúng tôi đang chuyển tiếp lưu lượng từ cổng
80
sang cổng
8080
trên cùng một máy chủ:
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080
- Chuyển tiếp lưu lượng đến một máy chủ khác
Trong ví dụ sau, chúng tôi đang chuyển tiếp lưu lượng truy cập từ cổng
80
sang cổng
80
trên máy chủ có IP
10.10.10.2
:
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toaddr=10.10.10.2
- Chuyển tiếp lưu lượng đến một máy chủ khác trên một cổng khác
Trong ví dụ sau, chúng tôi đang chuyển tiếp lưu lượng truy cập từ cổng
80
sang cổng
8080
trên máy chủ có IP
10.10.10.2
:
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=10.10.10.2
Tạo bộ quy tắc với FirewallD
Trong ví dụ sau, chúng tôi sẽ trình bày cách định cấu hình tường lửa của bạn nếu bạn đang chạy máy chủ web. Chúng tôi giả định rằng máy chủ của bạn chỉ có một giao diện
eth0
và bạn muốn chỉ cho phép lưu lượng truy cập đến trên các cổng SSH, HTTP và
-
Thay đổi vùng mặc định thành dmz
Chúng tôi sẽ sử dụng vùng dmz (phi quân sự) vì theo mặc định, nó chỉ cho phép lưu lượng SSH. Để thay đổi vùng mặc định thành dmz và gán nó cho giao diện
eth0
, hãy chạy các lệnh sau:sudo firewall-cmd --set-default-zone=dmz
sudo firewall-cmd --zone=dmz --add-interface=eth0
Mở cổng HTTP và
Để mở các cổng HTTP và HTTPS, hãy thêm các quy tắc dịch vụ vĩnh viễn vào vùng dmz:
sudo firewall-cmd --permanent --zone=dmz --add-service=http
sudo firewall-cmd --permanent --zone=dmz --add-service=https
Thực hiện các thay đổi có hiệu lực ngay lập tức bằng cách tải lại tường lửa:
sudo firewall-cmd --reload
Xác nhận thay đổi
Để kiểm tra loại cài đặt cấu hình vùng dmz:
sudo firewall-cmd --zone=dmz --list-all
dmz (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: ssh http https ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
Đầu ra ở trên cho chúng ta biết rằng dmz là vùng mặc định, được áp dụng cho giao diện
eth0
và các cổng ssh (22) http (80) và https (443) đang mở.
Phần kết luận
Bạn đã học cách định cấu hình và quản lý dịch vụ FirewallD trên hệ thống CentOS 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.
tường lửa tường lửa iptables centos bảo mậtRouter hai băng tần của Linksys là một trong những dự thảo đầu tiên -802.11n để hỗ trợ đồng thời các mạng 2,4 GHz và 5 GHz, làm cho nó trở thành sự lựa chọn tuyệt vời để hỗ trợ cả thiết bị Wi-Fi truyền thống và các thiết bị truyền thông tương lai. <200> bộ định tuyến gigabit và chia sẻ ổ USB với nhau, router này có thể hỗ trợ các thiết bị cũ 2.4 GHz và các máy khách 5 GHz đồng thời.
Trong các thử nghiệm với DMA2200 Me ™ dia Extender mới của Linksys, video 1080i được chiếu trực tiếp và đáng tin cậy từ máy tính đến TV ở chế độ 5GHz, nhưng thường xuyên bỏ qua và dừng lại ở chế độ 2.4GHz.
ProBook 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 ufw trên debian 9
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.