查看: 287|回复: 0

[项目] 配置树莓派防火墙

[复制链接]

34

主题

0

好友

758

积分

举人

Rank: 4

  • TA的每日心情
    慵懒
    2014-11-28 09:29
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2017-7-24 15:14:59 |显示全部楼层
    在使用树莓派的时候,我们可能受到这样的事情任务,需要为产品配置防火墙,只允许部分端口访问.....等此类需求。
    其实树莓派上面配置基本的防火墙很简单,当然你如果是要精细化的去限制某些具体服务,端口等的访问,那就需要再深入研究一下。
    本文简要就Raspberry内置的防火墙ufw设置和启用基本的一些使用做点描述;

    ufw是一个主机端的iptables类防火墙配置工具,比较容易上手。如果你有一台暴露在外网的树莓派,则可通过这个简单的配置提升安全性。
    安装方法
    1. sudo apt-get install ufw
    复制代码
    当然,这是有图形界面的(比较简陋),在新立得里搜索gufw试试……  
    使用方法

    启用
    1. sudo ufw enable
    2. sudo ufw default deny
    复制代码
    作用:开启了防火墙并随系统启动同时关闭所有外部对本机的访问(本机访问外部正常)。
    关闭
    1. sudo ufw disable
    复制代码
    查看防火墙状态
    1. sudo ufw status
    复制代码
    开启/禁用相应端口或服务举例
    1. sudo ufw allow 80
    2. //允许外部访问80端口

    3. sudo ufw delete allow 80
    4. //禁止外部访问80 端口

    5. sudo ufw allow from 192.168.1.1
    6. //允许此IP访问所有的本机端口

    7. sudo ufw deny smtp
    8. //禁止外部访问smtp服务

    9. sudo ufw delete allow smtp
    10. //删除上面建立的某条规则

    11. ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port
    12. //要拒绝所有的流量从TCP的10.0.0.0/8 到端口22的地址192.168.0.1
    复制代码
    可以允许所有RFC1918网络(局域网/无线局域网的)访问这个主机(/8,/16,/12是一种网络分级):
    1. sudo ufw allow from 10.0.0.0/8

    2. sudo ufw allow from 172.16.0.0/12

    3. sudo ufw allow from 192.168.0.0/16
    复制代码
    推荐设置
    1. sudo apt-get install ufw

    2. sudo ufw enable

    3. sudo ufw default deny
    复制代码
    这样设置已经很安全,如果有特殊需要,可以使用sudo ufw allow开启相应服务。
    ================

    Ubuntu防火墙 UFW 设置
    1.安装
    1. sudo apt-get install ufw
    复制代码
    2.启用
    1. sudo ufw enable
    2. sudo ufw default deny
    复制代码
    运行以上两条命令后,开启了防火墙,并在系统启动时自动开启。关闭所有外部对本机的访问,但本机访问外部正常。
    3.开启/禁用
    1. sudo ufw allow|deny [service]

    2. 打开或关闭某个端口,例如:

    3. sudo ufw allow smtp 允许所有的外部IP访问本机的25/tcp (smtp)端口

    4. sudo ufw allow 22/tcp 允许所有的外部IP访问本机的22/tcp (ssh)端口

    5. sudo ufw allow 53 允许外部访问53端口(tcp/udp)

    6. sudo ufw allow from 192.168.1.100 允许此IP访问所有的本机端口

    7. sudo ufw allow proto udp 192.168.0.1 port 53 to 192.168.0.2 port 53

    8. sudo ufw deny smtp 禁止外部访问smtp服务

    9. sudo ufw delete allow smtp 删除上面建立的某条规则
    复制代码
    4.查看防火墙状态
    1. sudo ufw statu
    复制代码
    一般用户,只需如下设置:
    1. sudo apt-get install ufw
    2. sudo ufw enable
    3. sudo ufw default deny
    复制代码
    以上三条命令已经足够安全了,如果你需要开放某些服务,再使用sudo ufw allow开启。
    开启/关闭防火墙 (默认设置是’disable’)
    1. sudo ufw enable|disable
    复制代码
    转换日志状态
    1. sudo ufw logging on|off
    复制代码
    设置默认策略 (比如 “mostly open” vs “mostly closed”)
    1. sudo ufw default allow|deny
    复制代码
    许可或者屏蔽端口 (可以在“status” 中查看到服务列表)。可以用“协议:端口”的方式指定一个存在于/etc/services中的服务名称,也可以通过包的meta-data。 ‘allow’ 参数将把条目加入 /etc/ufw/maps ,而 ‘deny’ 则相反。基本语法如下:
    1. sudo ufw allow|deny [service]
    复制代码
    显示防火墙和端口的侦听状态,参见 /var/lib/ufw/maps。括号中的数字将不会被显示出来。
    1. sudo ufw status

    2. UFW 使用范例:

    3. 允许 53 端口

    4. $ sudo ufw allow 53

    5. 禁用 53 端口

    6. $ sudo ufw delete allow 53

    7. 允许 80 端口

    8. $ sudo ufw allow 80/tcp

    9. 禁用 80 端口

    10. $ sudo ufw delete allow 80/tcp

    11. 允许 smtp 端口

    12. $ sudo ufw allow smtp

    13. 删除 smtp 端口的许可

    14. $ sudo ufw delete allow smtp

    15. 允许某特定 IP

    16. $ sudo ufw allow from 192.168.254.254

    17. 删除上面的规则

    18. $ sudo ufw delete allow from 192.168.254.254
    复制代码
    FAQ 有人遇到启动个失败的问题:
    1. 这个开机自启不需要写到/etc/rc.local中,因为ufw本身是开机自启动的。
    2. 如果ufw启动失败,可能是下载国外资源不完整的问题,可以卸掉重新安装:
    3. sudo apt-get --purge remove ufw

    4. sudo apt-get install ufw
    5. 安装时候需要注意,如果安装失败,则重新install几次;

    6. 安装之后启动防火墙
    7. sudo ufw enable
    8. sudo ufw default deny

    9. 检查系统启动项
    10. sudo chkconfig --add ufw
    复制代码
    转自互联网,作者念槐聚
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /3 下一条

    手机版|爱板网 |网站地图  

    GMT+8, 2017-9-26 11:40 , Processed in 0.328849 second(s), 9 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部