0

Bảo vệ dữ liệu của bạn: Cài đặt và quản lý FirewallD trên CentOS 7 cho Cloud Server

Trên hệ điều hành CentOS 7, việc cài đặt và cấu hình FirewallD không chỉ đơn giản mà còn rất linh hoạt. Bạn có thể tùy chỉnh các quy tắc theo yêu cầu cụ thể của môi trường và ứng dụng của bạn. Trong bài viết này, chúng ta sẽ đi qua các bước cơ bản để cài đặt FirewallD và cấu hình nó cho Cloud Server trên CentOS 7.

Thông thường, giải pháp tường lửa FirewallD sẽ được cài đặt sẵn trên Cloud Server với hệ điều hành CentOS 7. Tuy nhiên, nếu Cloud Server của bạn chưa có FirewallD, bạn có thể tham khảo phần dưới đây: Chạy lệnh cài đặt:

yum install firewalld

Khởi động FirewallD:

systemctl start firewalld

Kiểm tra tình trạng hoạt động của FirewallD

systemctl status firewalld

  • firewalld.service – firewalld – dynamic firewall daemon

Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)

Active: active (running) since Wed 2017-12-13 16:43:20 +07; 30s ago

Docs: man:firewalld(1)

Main PID: 12696 (firewalld)

CGroup: /system.slice/firewalld.service

└─12696 /usr/bin/python -Es /usr/sbin/firewalld –nofork –nopid

systemctl is-active firewalld

active

firewall-cmd –state

running

Thiết lập FirewallD khởi động cùng hệ thống

systemctl enable firewalld

Kiểm tra lại :

systemctl is-enabled firewalld

enabled

Bạn cần lưu ý rằng ta không nên cho FirewallD khởi động cùng hệ thống và thiết lập Permanent. Vì bạn có thể sẽ bị khóa khỏi hệ thống nếu có bất kỳ thiết lập nào đó không chính xác..

Khởi động lại FirewallD

systemctl restart firewalld

firewall-cmd –reload

Dừng và vô hiệu hóa FirewallD

systemctl stop firewalld

systemctl disable firewalld

Cách cấu hình FirewallD cho Cloud Server trên CentOS

Thiết lập các Zone

Liệt kê tất cả các Zone

firewall-cmd –get-zones

block dmz drop external home internal public trusted work

Kiểm tra Zone mặc định (default)

firewall-cmd –get-default-zone

public

Kiểm tra Zone Active

firewall-cmd –get-active-zones

public

interfaces: eth0

Thay đổi Zone default, ví dụ thành Home:

firewall-cmd –set-default-zone=home

success

Thiết lập các quy tắc

Liệt kê tất cả quy tắc của các Zone:

firewall-cmd –list-all-zones

Liệt kê tất cả quy tắc trong Zone default và Zone Active

firewall-cmd –list-all

public (active)

target: default

icmp-block-inversion: no

interfaces: eth0

sources:

services: ssh dhcpv6-client

ports:

protocols:

masquerade: no

forward-ports:

source-ports:

icmp-blocks:

rich rules:

Kết quả trên chứng tỏ public là zone mặc định đang được kích hoạt. Nó liên kết với card mạng eth0 và cho phép DHCP cùng SSH. Liệt kê tất cả quy tắc trong một Zone cụ thể, chẳng hạn như home

firewall-cmd –zone=home –list-all

home

target: default

icmp-block-inversion: no

interfaces:

sources:

services: ssh mdns samba-client dhcpv6-client

ports:

protocols:

masquerade: no

forward-ports:

source-ports:

icmp-blocks:

rich rules:

Liệt kê tất cả các Services/Port được cho phép trong Zone

firewall-cmd –zone=public –list-services

firewall-cmd –zone=public –list-ports

Thiết lập cho Service

Bạn tiến hành thêm các Services vào Zone đang sử dụng.

Trước hết cần xác định các Services trên hệ thống:

firewall-cmd –get-services

RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync elasticsearch freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master high-availability http https imap imaps ipp ipp-client ipsec iscsi-target kadmin kerberos kibana klogin kpasswd kshell ldap ldaps libvirt libvirt-tls managesieve mdns mosh mountd ms-wbt mssql mysql nfs nrpe ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius rpc-bind rsh rsyncd samba samba-client sane sip sips smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server

Thiết lập cho phép services trên FirewallD

firewall-cmd –zone=public –add-service=http

success

firewall-cmd –zone=public –add-service=http –permanent

success

Kiểm tra lại

firewall-cmd –zone=public –list-services

ssh dhcpv6-client http

Vô hiệu hóa Services trên FirewallD:

firewall-cmd –zone=public –remove-service=http

firewall-cmd –zone=public –remove-service=http –permanent

Thiết lập Port

Mở Port với tham số –add-port:

firewall-cmd –zone=public –add-port=9999/tcp

firewall-cmd –zone=public –add-port=9999/tcp –permanent

Mở 1 dải Port

firewall-cmd –zone=public –add-port=4990-5000/tcp

firewall-cmd –zone=public –add-port=4990-5000/tcp –permanent

Kiểm tra lại

firewall-cmd –zone=public –list-ports

9999/tcp 4990-5000/tcp

Đóng Port với tham số –remove-port:

firewall-cmd –zone=public –remove-port=9999/tcp

firewall-cmd –zone=public –remove-port=9999/tcp –permanent

Tạo Zone riêng

Dù đã có sẵn Zone nhưng bạn vẫn có thể tạo Zone riêng cho mình để mô tả rõ hơn chức năng của chúng. Lưu ý, bạn cần phải thiết lập Permanent khi thêm một Zone riêng.

firewall-cmd –permanent –new-zone=publicweb

success

firewall-cmd –permanent –new-zone=privateDNS

success

firewall-cmd –reload

success

Kiểm tra lại

firewall-cmd –get-zones

block dmz drop external home internal privateDNS public publicweb trusted work

Sau khi đã tạo Zone riêng, bạn có thể cấu hình nó như các Zone thông thường cũng như thêm các quy tắc,... Chẳng hạn như:

firewall-cmd –zone=publicweb –add-service=ssh –permanent

firewall-cmd –zone=publicweb –add-service=http –permanent

firewall-cmd –zone=publicweb –add-service=https –permanent

Vinh Phạm. Bizflycloud


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.