Debian使用UFW防火墙允许特定计算机访问服务器

为什么要使用防火墙

最近有一个需求,服务器A的端口8888,只允许服务器B远程访问。

以保障服务器A的8888端口应用安全,确保两台服务器之间的安全通信。

经过一通查,发现最简单的防火墙是UFW - Uncomplicated Firewall,正好也支持使用的debian系统。

Debian下UFW安装配置

安装UFW

在服务器A上安装UFW

apt install ufw

检查防火墙状态,正常情况应该是inactive

ufw status

启动防火墙

ufw enable

会提示:Command may disrupt existing ssh connections. Proceed with operation (y|n)? 输入y回车。

可以再次检查防火墙状态,已经是active

 

配置UFW

查看当前防火墙规则

ufw status numbered

没有看到ssh的服务和端口,手动增加,以免无法远程

ufw allow ssh

增加一条:只允许服务器B:8.8.8.8,访问服务器A的8888端口服务

ufw allow from 8.8.8.8 to any port 8888

查看刚才的规则是否生效

ufw status numbered
至此,达成最初的需求

接下来,分析一下UFW防火墙可以做哪些事儿。

UFW的功能分析和思考

防火墙限制策略:

限制出站:

一般不会进行限制,除非是重要的在互联网上提供服务的网络设备。

限制入站:

防火墙默认是在限制所有入站的基础上,打开外提供服务的端口。

限制入站:

限制方式:服务类型+[范围]

服务类型:

  1. 使用服务名:ssh,http,etc...
  2. 使用协议类型和端口
    • tcp,udp,icmp,etc...
    • 22,80,443,etc...

实例:

#允许入站
ufw allow ssh  #使用服务名
uff allow 22/tcp #使用协议和端口

ufw allow http  #使用服务名
uff allow 80/tcp #使用协议和端口
ufw allow https  #使用服务名
ufw allow 443/tcp   #使用协议和端口,添加443端口,仅TCP协议

ufw allow dns  #使用服务名
ufw allow 53/udp   #使用协议和端口,添加53端口,仅UDP协议

ufw allow 900:1000/tcp  #添加900到1000之间的端口,限制为tcp协议

#删除规则
#查看要删除的规则编号
root@debian:~# ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] DNS                        ALLOW IN    Anywhere
[ 3] 80/tcp                     ALLOW IN    Anywhere
[ 4] 443/tcp                    ALLOW IN    Anywhere
[ 5] 22/tcp (v6)                ALLOW IN    Anywhere (v6)
[ 6] DNS (v6)                   ALLOW IN    Anywhere (v6)
[ 7] 80/tcp (v6)                ALLOW IN    Anywhere (v6)
[ 8] 443/tcp (v6)               ALLOW IN    Anywhere (v6)

#用编号删除规则
root@debian:~# ufw delete 4
Deleting:
 allow 443/tcp
Proceed with operation (y|n)? y

#批量删除规则的方法
ufw status numbered
# no confirm, example rule numbers
for i in 65 54 43 20 1;do yes|ufw delete $i;done
ufw reload

 

 

UFW命令列表

Usage: ufw COMMAND

Commands:
 enable                          enables the firewall
 disable                         disables the firewall
 default ARG                     set default policy
 logging LEVEL                   set logging to LEVEL
 allow ARGS                      add allow rule
 deny ARGS                       add deny rule
 reject ARGS                     add reject rule
 limit ARGS                      add limit rule
 delete RULE|NUM                 delete RULE
 insert NUM RULE                 insert RULE at NUM
 route RULE                      add route RULE
 route delete RULE|NUM           delete route RULE
 route insert NUM RULE           insert route RULE at NUM
 reload                          reload firewall
 reset                           reset firewall
 status                          show firewall status
 status numbered                 show firewall status as numbered list of RULES
 status verbose                  show verbose firewall status
 show ARG                        show firewall report
 version                         display version information

Application profile commands:
 app list                        list application profiles
 app info PROFILE                show information on PROFILE
 app update PROFILE              update PROFILE
 app default ARG                 set default application policy

UFW支持的服务名称

Available applications:
  AIM
  Bonjour
  CIFS
  DNS
  Deluge
  IMAP
  IMAPS
  IPP
  KTorrent
  Kerberos Admin
  Kerberos Full
  Kerberos KDC
  Kerberos Password
  LDAP
  LDAPS
  LPD
  MSN
  MSN SSL
  Mail submission
  NFS
  OpenSSH
  POP3
  POP3S
  PeopleNearby
  SMTP
  SSH
  Socks
  Telnet
  Transmission
  Transparent Proxy
  VNC
  WWW
  WWW Cache
  WWW Full
  WWW Secure
  XMPP
  Yahoo
  qBittorrent
  svnserve

 

 

THE END
分享
二维码
海报
Debian使用UFW防火墙允许特定计算机访问服务器
为什么要使用防火墙 最近有一个需求,服务器A的端口8888,只允许服务器B远程访问。 以保障服务器A的8888端口应用安全,确保两台服务器之间的安全通信。 经过……
<<上一篇
下一篇>>