Firewall [ Phần 4 ] Xây dựng mô hình firewall với Firewalld Service

30/12/2020

Lời mở đầu

Sau series những bài tìm hiểu về firewall, hôm nay để tổng kết lại những gì tìm hiểu được, tôi sẽ hướng dẫn các bạn xây dựng mô hnh firewall để các bạn có cái nhìn khách quan hơn cũng như hiểu cách hoạt động.

Mô hình

IP Planning

Vì Firewalld quản lý các dịch vụ theo các zone, card mạng, và địa chỉ IP nên tôi sẽ thiết lập 3 zone:

  • Zone Public
  • Zone DMZ
  • Zone Internal

Cài đặt

1. Cài phần cứng

Ở bài hướng dẫn này, tôi dùng máy ảo VMWare để thực hành. Tôi tạo ra 3 máy ảo chạy hệ điều hành CentOS 7, mỗi máy 1GB ram, 10GB ổ cứng. Và tôi tạo ra 3 card mạng theo hình dưới đây ( các card mạng được tôi highlight màu xanh để dễ nhận biết ) :

Đây là hình ảnh sau khi cài thành công máy ảo sẽ gồm những thành phần như sau :

Chú ý :

  • Máy Firewall sẽ có 3 card mạng vmnet10, vmnet11, vmnet12
  • Máy Web Sever sẽ có 1 card mạng vmnet11
  • Máy Client sẽ có 1 card mạng vmnet12

2. Cài đặt phần mềm

  • Đầu tiên, tôi sẽ tiến hành cấu hình địa chỉ IP cho giống với Mô Hình.

I. Trên máy Client

Bạn di chuyện vào thư mục chứa file cấu hình card mạng :

cd /etc/sysconfig/network-scripts 

Sau đó bạn liệt kê các file có trong thư mực bằng lệnh ls

ls 

OUTPUT mẫu :

Sau đó bạn tiến hành sửa file ifcfg-ens33

vim ifcfg-ens33 

bạn sửa file với nội dung như sau :

Dòng nào đã có, bạn sửa lại cho giống hình trên, còn dòng nào chưa có, bạn thêm vào. Ở đây tôi sửa 1 dòng từ dhcp thành static và thêm vào 3 dòng mới, tôi viết vào dưới file.

Bạn đối chiếu với IP Planning để chỉnh sửa địa chỉ IP cho chính xác.

Lưu lại và khởi động lại dịch vụ network

systemctl restart network 

Vậy là ta đã cấu hình thành công địa chỉ IP tĩnh cho máy Client. Chúng ta kiểm tra lại bằng câu lệnh sau :

ip a 

II. Trên máy Web Sever

Chúng ta làm tương tự như với Client. Sau đây là nội dung file sau khi chỉnh sửa :

III. Trên máy Firewall

Chúng ta làm tương tự như với Client. Sau đây là nội dung file sau khi chỉnh sửa :

  • file ifcfg-ens33
  • file ifcfg-ens36
  • file ifcfg-ens37

Cấu hình Firewalld

Nhìn vào mô hình ở trên, tôi thực hiện biến 1 con máy tính thành Firewall, đóng vai trò như một người gác cổng, lọc cái gói tin vào/ra từ Internet đến máy ở Local ( Internal ) và DMZ.

Vì vậy, trên máy Web SeverClient, tôi thực hiện tắt Firewalld Service.

systemctl disable firewalld systemctl stop firewalld 

Chú ý : nếu bạn cài hệ điều hành khác, bạn cũng phải tắt dịch vụ tường lửa mặc định của máy đó đi. Ở đây, tôi dùng Centos 7 nên mặc định Firewalld được cài đặt và khởi động cùng hệ thống.

Kiểm tra bằng câu lệnh :

systemctl status firewalld 

Máy Firewall chúng ta cũng kiểm tra bằng câu lệnh :

systemctl status firewalld 

Vậy dịch vị Firewalld đang chạy trên máy Firewall. Và bây giờ chúng ta sẽ bắt đầu cấu hình.

Cấu hình ( thực hiện trên máy Firewall )

Kịch bản 1: Ping giữa 2 máy Client và Web Sever

Kiểm tra tât cả các zone đang hoạt động

firewall-cmd --get-active-zones 

OUTPUT mẫu

public   interfaces: ens33     ens36      ens37 

Chúng ta sẽ đổi interfaces ens36 qua zone DMZinterfaces ens37 qua zone Internal

Cấu trúc câu lệnh :

firewall-cmd --zone=zone-name --change-interface=<interface-name> 

Bạn nhập lệnh như sau :

firewall-cmd --zone=dmz --change-interface=ens36 firewall-cmd --zone=internal --change-interface=ens37 

Chú ý :

Bạn sẽ không phải dùng –permanent option để lưu câu lệnh sau mỗi lần restart. Nếu bạn cài cho một default zone mới, cài đặt sẽ được lưu vĩnh viễn.

Kiểm tra lại :

firewall-cmd --get-active-zones 

OUTPUT mẫu

dmz   interfaces: ens36   sources: 10.10.11.11 internal   interfaces: ens37   sources: 10.10.12.12 public   interfaces: ens33 

Từ đây, chúng ta đã có thể Ping từ máy Client sang máy WebSever.

Kịch bản 2: Ping ra ngoài Internet

Masquerade được biết đến là Network Address Translation (NAT), đây là 1 phương pháp cơ bản cho phép máy Client kết nối Internet thông qua máy Firewall làm trung gian.

Kiểm tra đã bật Masquerade chưa:

firewall-cmd --zone=public --query-masquerade 

nếu OUTPUT trả về là yes, thì tức là đã bật rồi, còn nếu là no, thì chúng ta tiến hành bật nó lên.

firewall-cmd --zone=public --add-masquerade 

Vậy là chúng ta đã có thể Ping ra ngoài Internet

Kịch bản 3: Cho phép máy Client được SSH đến máy Firewall

Muốn ssh đến máy Firewall trên máy Client, ta chỉ cần thêm dịch vụ vào zone internal

firewall-cmd --zone=internal --add-service=ssh 

Muốn thêm dịch vụ ssh vĩnh viễn, không bị mất sau mõi lần reboot firewall thì ta thêm option --permanent

firewall-cmd --zone=internal --add-service=ssh --permanent 

Tổng kết

Vậy là tôi đã hoàn thành mô hình sử dụng dịch vụ Firewalld làm tường lửa. Cảm ơn các bạn đã theo dõi.

ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

Squid Proxy Manager cài đặt và quản lý Proxy Squid tự động trên ubuntu

Các tính năng chính : ADDIPTOSERVER SHOWAVAILABLEPROXIES ADDUSER ASSIGNIPTOUSER SHOWSUSERSEXPIREDATE MODIFYUSERSEXPIRYDATE SHOWUSERSPROXYINFO DELETEIPFROMSERVER DELETEUSERPROXY DELETEUSER SHUTDOWNPROXY STARTPROXY EXPORTAVAILABLEPROXY EXPORTUSERSPROXY ADDBLACKLIST SHOWBLACKLIST DELETEBLACKLIST EXIT RANDOMPROXIES CHANGEIP-MULTIPLIER Cài...
20/10/2021

Kết nối máy chủ bằng SSH trên Ubuntu

Để có thể điều khiển từ xa một máy chủ, người ta thường sử dụng giao thức SSH. Bài viết...
30/12/2020

Hướng dẫn gửi mail dùng postfix

Postfix là một phầm mềm nguồn mở được dùng để gửi mail (Mail Transfer Agent-MTA). Được phát hành...
30/12/2020