Server 端有装防火墙的必要吗?

2015-03-20 02:26:00 +08:00
 sallowdish

还没毕业的小白求问,一直是Apache Server的脑残粉,但因为documentation入门门槛有点高,也一直是一知半解,调教好了也都是裸奔状态,也一直没事...

之前有段时间因为组里逗比三哥的强烈要求,使用了Tomcat配合Grail,自己在AWS搭了个testing的环境,结果没两天就被人暴力破解了有个没改的默认用户密码,然后成为僵尸机到处spam,最后损失惨重...

印象中企业级的server都会配置硬件防火墙,但现在Clouding都是以租用VM为主,请问有配置软件防火墙的吗?如果有的话,都是用哪种呢?在选择对比的时候主要考虑的是哪些factor呢?

PS. LZ在外读书,虽然说中文,但术语上确实有障碍,麻烦各位大大多多包涵... :)

4561 次点击
所在节点    程序员
17 条回复
henryzhou
2015-03-20 02:54:59 +08:00
你这情况有防火墙也防不了默认密码不修改啊
sallowdish
2015-03-20 03:40:44 +08:00
@henryzhou 哈哈,批评的好,当初用的时候没仔细看,Tomcat默认了那么多用户。。只是在想有防火墙可以应对其他的一些情况,比如限制端口,限制IP range等等,虽然AWS也有相关的monitor system和alarm,但感觉不是很有效,默默的就scale了说
ryd994
2015-03-20 04:06:39 +08:00
硬件软件都有各自适合的情况
抗DoS或者服务器流量大的话肯定硬件是少不了的,软防的话多半顶不住
但是不是说有了硬防软防就不需要了
软防比硬防灵活的多,可以根据应用层的情况控制(比如密码错误次数)
在没有攻击的时候,软防的成本非常低
但是无论哪种,防火墙毕竟只是安全的一部分,而服务器安全永远是木桶。
能不用的服务全关掉,能不开的端口全不开,多一事不如少一事
arkilis
2015-03-20 04:35:54 +08:00
只是做了iptable简单防护。。。
Showfom
2015-03-20 05:17:34 +08:00
简单的防护的话 iptables 或者 ufw 即可
mcfog
2015-03-20 08:09:21 +08:00
改端口,禁用密码登录,一次性密码什么的随便弄弄基本防住多数的批量抓鸡
Dk2014
2015-03-20 08:32:35 +08:00
fail2ban吧
xfspace
2015-03-20 09:16:15 +08:00
默认密码的解决方案就是:










下之前把ssh关了,然后 用再发tk给机房开ssh
shixinyu
2015-03-20 12:54:11 +08:00
Quote: 如何保护你的Linux VPS的安全:
http://segmentfault.com/blog/reeco/1190000002585483
reeco
2015-03-20 12:57:09 +08:00
刚想发,发现被楼上发了
twl007
2015-03-20 13:43:08 +08:00
装个denyhosts 一了百了 轻松抵御ssh暴力破解
ikaros
2015-03-20 13:56:12 +08:00
@shixinyu 这是机翻的吧
reeco
2015-03-20 14:07:17 +08:00
@ikaros 人肉翻的,不过只花了一天时间,建议还是看原文
kqz901002
2015-03-20 14:12:21 +08:00
@reeco 翻译的太过于纠结原来的意思了
ikaros
2015-03-20 16:16:37 +08:00
@reeco 是你翻译的么,知道得这么清楚 (: 想起写了两周的论文给老师看了之后问我的第一个问题:你这是机翻的吧?
ryd994
2015-03-20 23:03:19 +08:00
@ikaros 注意url,用户名都一样
@reeco 如果有些句子怎么翻都不顺,把主谓倒过来会有很好的效果
libook
2015-03-21 18:24:33 +08:00
防火墙不是万能的,不要把防火墙当成自己惰性的挡箭牌,防火墙的基本功能是控制哪些IP的哪些端口可以从哪张网卡的哪些端口访问进来;所谓的防DDOS、防暴力破解等功能都是附加的,只应该在极端情况下才发挥作用。
所以你的问题不是用不用防火墙,而是如何提升系统安全性,习惯为首,大多数骇客都是利用社会工程学来进行入侵的,如果你的习惯不好,攻下你的系统只是时间问题(有可能连时间都不成问题)。

几条拙见:
1.使用软防火墙(iptables/CentOS7 firewall)开白名单,只开放必用的端口。
2.密码使用强密码,不同用户的密码不得一样。登陆使用SSH Key,并为SSH key设置密码。
3.服务不要跑在管理用户上,只给服务用户必需的权限。

另外有一个技巧,如果预算足够的话,建议非公网服务只跑在局域网里,外网访问不到,只给公网服务配置公网IP,但是将所有的公网服务器的SSH端口配置为只允许内网访问,然后专门配置一台最低配的公网服务器作为SSH跳板机,如果想访问任何一台服务器都要先登陆跳板机,然后再使用内网IP(建议配置好hostname)SSH到任意一台服务器上。好处由于没有人知道跳板机的存在,所有服务器又不开放公网SSH端口,所以无处下手;缺点是使用SCP的话就只能先上传到跳板机再从跳板机传到目标主机,不过也可以临时在跳板机上开SSH隧道。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/178119

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX