我的linux防火墙安全吗?

前端之家收集整理的这篇文章主要介绍了我的linux防火墙安全吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是 linux防火墙的新手,并试图为面向公众的计算机设置我的系统防火墙.这是我的要求:

>应为HTTP请求和SSH登录打开端口80和22
>由于我的应用服务器将在端口8080上的非root用户下运行.我想将所有数据包重定向到端口8080.在某些情况下,我的应用程序本身会从服务器内向服务器发出请求.

问题:防火墙上有漏洞吗?我可以做得更安全的方法.

这是我的防火墙设置:

*filter
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p esp -j ACCEPT
-A RH-Firewall-1-INPUT -p ah -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# Allow Secure SSH transfer
-A RH-Firewall-1-INPUT -p tcp -m state -m tcp --dport 22 --state NEW -j ACCEPT
# Allow all HTTP requests
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
*mangle
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed
*nat
:OUTPUT ACCEPT [0:0]
-A OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 8080
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
# Routes all HTTP requests from port 80 to port 8080.
# Allows you to run JETTY as a non-root user.
-A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
COMMIT
# Completed

解决方法

您的配置中包含以下行:
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT

但是,有两种类型的ICMP请求可以被视为一个小的安全问题(从enter link description here开始):

Type  Name                   Reference          
...
13  Timestamp        [RFC792]
...
17  Address Mask Request     [RFC950]

类型13是根据目标计算机的确切时间请求.确切的时间可用于在某些网络协议中利用一些非常弱的加密算法,允许攻击者获得对特权信息的访问.类型17是对接收请求的接口的网络掩码的请求.有效的响应可以帮助攻击者了解您的网络拓扑.代替上述规则,我建议遵循以下三条规则:

-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type 13 -j REJECT
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type 17 -j REJECT
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT

这些规则将阻止两种禁用的ICMP类型并允许所有其他类型.

猜你在找的Linux相关文章