免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3032 | 回复: 13
打印 上一主题 下一主题

引,防火墙只开22的为什么 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-28 15:18 |只看该作者 |倒序浏览
/sbin/iptables -P INPUT DROP
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

为什么要加上,sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
这个不是一般只有FTP才会用到吗

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
2 [报告]
发表于 2009-10-28 15:23 |只看该作者
http://linux.chinaunix.net/bbs/viewthread.php?tid=812400

7. 使用 -P INPUT DROP 引起的主機本身對外連線不通问题?

为了更严厉的防火墙存取限制,一般初学者会这样配配置: iptables -P INPUT DROP

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
复制代码也就是主机只有打算开放 ssh 服务对外提供存取。

这样乍看之下好像非常正确,但是设定好后外面是可以連到該 port 22 服務,但是卻導致了一個後續的問題,也就是 "該主機若是要主動對外要建立連線卻被禁止"。比方這台服務主機無法使用 ssh 登入到遠端主機,也無法用瀏覽器看其他主機 port 80 的 http 服務的。

引起該問題的原因呢? TCP/IP 本身是双向的,也就是有出必有进,有进必有出。这个规则没考虑到这点问题。

当主机对外要建立连线时,对方势必也要回应封包到原主机,所以回应的封包是要被允许的。不过该配置来看却没考虑到这点问题,所以导致回应的封包被丢弃,所以连线根本建立失败。

所以設定 -P INPUT DROP 時,一般正确方式应该考虑加上允许主機本身對外連線時對方回应封包项目,也就是: iptables -P INPUT DROP

iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
复制代码-m state --state ESTABLISHED 扮演很重要角色,那就是允许连线出去后对方主机回应进来的封包。

[ 本帖最后由 chenyx 于 2009-10-28 15:24 编辑 ]

论坛徽章:
5
寅虎
日期:2015-01-20 09:16:52亥猪
日期:2015-01-21 14:43:44IT运维版块每日发帖之星
日期:2015-12-17 06:20:00每日论坛发贴之星
日期:2015-12-17 06:20:00每周论坛发贴之星
日期:2015-12-20 22:22:00
3 [报告]
发表于 2009-10-28 15:53 |只看该作者
允许发出去回来的包进来

论坛徽章:
0
4 [报告]
发表于 2009-10-28 17:05 |只看该作者
只要你OUTPUT是ACCEPT的,这句不加貌似也没什么问题吧?

论坛徽章:
0
5 [报告]
发表于 2009-10-28 17:36 |只看该作者
主要是iptable不是基于状态的防火墙,所以要加上基于session状态的跟踪

论坛徽章:
0
6 [报告]
发表于 2009-10-28 17:42 |只看该作者
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT

这样的话,22端口就不能访问了吗?

论坛徽章:
0
7 [报告]
发表于 2009-10-28 22:17 |只看该作者

回复 #1 kofp493158 的帖子

没有22端口不能远程管理

论坛徽章:
0
8 [报告]
发表于 2009-10-30 09:58 |只看该作者
原帖由 marsaber 于 2009-10-28 17:42 发表
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT

这样的话,22端口就不能访问了吗?


iptables -P OUTPUT DROP #主要目的是对外连接作管控
-m state -state ESTABLISHED,RELATED -j ACCEPT #也是出于安全的考虑

论坛徽章:
0
9 [报告]
发表于 2009-10-30 10:04 |只看该作者
6楼的可行

论坛徽章:
0
10 [报告]
发表于 2009-10-30 10:19 |只看该作者
有意思。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP