Mo port fire trong linux

Mình có một máy chủ CentOS 7, trên máy chủ cài dịch vụ Apache Web Server và lắng nghe trên cổng 80. Nhưng khi cài đặt xong thì không thể truy cập được cổng 80 thông qua domain và địa chỉ IP của máy chủ. (Áp dụng được cả với CentOS 8)

Mo port fire trong linux

Nguyên nhân là do tường lửa (Firewall) trên CentOS 7/8 mặc định block port 80 trên server. Vì vậy nhiệm vụ của chúng ta là mở port trên server để có thể truy cập tới dịch vụ Web.

Mở cổng (port) trên CentOS 7/8

Tưởng lửa trên CentOS 7/8 giờ được quản lý bằng công cụ firewall-cmd, nên để mở port sử dụng command sau với quyền của tài khoản root.

– Kiểm tra zone nào của tường lửa đang được active

firewall-cmd --get-active-zones

Mo port fire trong linux

– Mở cổng (VD: 80) trên zone đang active (Public Zone)

firewall-cmd --zone=public --add-port=80/tcp --permanent

– Sau đó để luật mới có hiệu lực cần reload lại tường lửa bằng command sau:

firewall-cmd --reload

Mo port fire trong linux

Để kiểm tra việc mở port đã thành công hay chưa, truy cập trực tiếp bằng domain hoặc địa chỉ IP của Server để xem máy chủ web đã hoạt động chưa.

Mở cổng trên CentOS 7/8 chỉ cho IP nhất định.

Với cách trên ai cũng có thể truy cập tới server của bạn, nhưng nếu bạn muốn tăng cường bảo mật thì bạn có thể chỉ cần thiết lập cho 1 địa chỉ IP hoặc 1 dải IP nhất định được phép truy cập.

firewall-cmd --permanent --zone=public --add-rich-rule='
  rule family="ipv4"
  source address="1.2.3.4/32"
  port protocol="tcp" port="80" accept'

Hoặc sửa trực tiếp file config của firewall ở địa chỉ: /etc/firewalld/zones/public.xml


  Public
  For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.
  
  
  
    
    
    
  
  
    
    
    
  

Và nhớ là phải reload lại firewall để áp dụng luật mới

firewall-cmd --reload

Để mở cổng cho Windows Server, các bạn vui lòng tham khảo bài viết này: Hướng dẫn mở cổng (open port) trên Windows Server

Nguồn: vinasupport.com

Hướng dẫn mở và khóa port trên Linux

Trong quá trình sử dụng hoặc quản lý server linux, tùy theo mục đích và yêu cầu công việc mà bạn cần thực hiện mở hoặc khóa một cổng (port) trên server để phục vụ cho tính an toàn và bảo mật.

Bài viết sẽ hướng dẫn cách cơ bản để có thể mở hoặc khóa các port.

Một số port phổ biến thường được sử dụng:

  • TCP port 80 – HTTP Server
  • TCP port 443 – HTTPS Server
  • TCP port 25 – Mail Server
  • TCP port 22 – OpenSSH (remote) secure shell server
  • TCP port 110 – POP3 (Post Office Protocol v3) server
  • TCP port 143 – Internet Message Access Protocol (IMAP) - Management of email messages
  • TCP / UDP port 53 – Domain Name System (DNS)

Bạn có thể sử dụng lênh nano /etc/servicesđể xem danh sách các port

1.     Khóa cổng vào (Block Incoming Port)

 

/sbin/iptables -A INPUT -p tcp --destination-port {PORT-NUMBER-HERE} -j DROP

### interface section use eth2 ###

/sbin/iptables -A INPUT -i eth2 -p tcp --destination-port {PORT-NUMBER-HERE} -j DROP

### only drop port for given IP or Subnet ##

/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port {PORT-NUMBER-HERE} -s {IP-ADDRESS-HERE} -j DROP

/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port {PORT-NUMBER-HERE} -s {IP/SUBNET-HERE} -j DROP

Ví dụ: Để khóa imcoming port 80 (HTTP server), ta sử dụng lệnh sau:

 

/sbin/iptables -A INPUT -p tcp --destination-port 80 -j DROP

/sbin/service iptables save

Để khóa port 80 với tất cả IP, chỉ cho duy nhất IP có địa chỉ 10.7.3.2 truy cập

 

/sbin/iptables -A INPUT -p tcp -i eth2 -s ! 10.7.3.2 --dport 80 -j DROP

2.     Khóa cổng ra (Block Outgoing Port)

 

/sbin/iptables -A OUTPUT -p tcp --dport {PORT-NUMBER-HERE} -j DROP

### interface section use eth2 ###

/sbin/iptables -A OUTPUT -i eth2 -p tcp --dport {PORT-NUMBER-HERE} -j DROP

### only drop port for given IP or Subnet ##

/sbin/iptables -A OUTPUT -i eth0 -p tcp --destination-port {PORT-NUMBER-HERE} -s {IP-ADDRESS-HERE} -j DROP

/sbin/iptables -A OUTPUT -i eth0 -p tcp --destination-port {PORT-NUMBER-HERE} -s {IP/SUBNET-HERE} -j DROP

Ví dụ: Để khóa outgoing port 25, ta sử dụng lệnh sau:

 

/sbin/iptables -A OUTPUT -p tcp --dport 25 -j DROP

/sbin/service iptables save

Để khóa outgoing port 279 đối với IP 10.7.3.5, sử dụng lệnh sau:

 

/sbin/iptables -A OUTPUT -p tcp -d 10.7.3.5 --dport 279 -j DROP

/sbin/service iptables save

Chúc các bạn thành công!

Nguyễn Trung Thuận - Khoa CNTT

Số lượt truy cập: 6662227