为Linux系统的服务器设置防火墙的方法
程序员文章站
2022-07-01 09:17:06
这篇文章主要介绍了为Linux系统的服务器设置防火墙的方法,主要还是基于iptables来实现,需要的朋友可以参考下... 15-07-16...
防火墙有助于过滤出入端口和阻止使用暴力法的登录尝试。我倾向于使用csf(config server firewall)这个强力防火墙。它使用了iptables,易于管理,而且对于不擅于输入命令的用户提供了web界面。
要安装csf,先登录到服务器,切换到这个目录下:
复制代码
代码如下: cd /usr/local/src/
然后以root权限执行下面命令:
复制代码
代码如下:wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
tar -xzf csf.tgz
cd csf
sh install.sh
只需等待安装程序完成,然后编辑csf的配置文件:
复制代码
代码如下: /etc/csf/csf.conf
默认情况下csf是以测试模式运行。通过将“testing”的值设置成0,切换到product模式。
复制代码
代码如下:testing = "0"
下面要设置的就是服务器上允许通过的端口。在csf.conf中定位到下面的部分,根据需要修改端口:
复制代码
代码如下: # 允许入站的 tcp 端口
tcp_in = "20,21,25,53,80,110,143,443,465,587,993,995,16543"
# 允许出站的 tcp 端口
tcp_out = "20,21,22,25,53,80,110,113,443,587,993,995,16543"
# 允许入站的 udp 端口
udp_in = "20,21,53"
# 允许出站的 udp 端口
# 要允许发出 traceroute 请求,请加 33434:33523 端口范围到该列表
udp_out = "20,21,53,113,123"
tcp_in = "20,21,25,53,80,110,143,443,465,587,993,995,16543"
# 允许出站的 tcp 端口
tcp_out = "20,21,22,25,53,80,110,113,443,587,993,995,16543"
# 允许入站的 udp 端口
udp_in = "20,21,53"
# 允许出站的 udp 端口
# 要允许发出 traceroute 请求,请加 33434:33523 端口范围到该列表
udp_out = "20,21,53,113,123"
请根据需要逐一设置,推荐只使用那些需要的端口,避免设置对端口进行大范围设置。此外,也要避免使用不安全服务的不安全端口。比如只允许端口465和587来发送电子邮件,取代默认的smtp端口25。(lctt 译注:前提是你的邮件服务器支持 smtps)
重要:千万不要忘记允许自定义的 ssh 端口。
允许你的ip地址通过防火墙,而绝不被屏蔽,这一点很重要。ip地址定义在下面的文件中:
复制代码
代码如下:/etc/csf/csf.ignore
被屏蔽了的ip地址会出现在这个文件中:
复制代码
代码如下: /etc/csf/csf.deny
一旦完成更改,使用这个命令重启csf:
复制代码
代码如下:sudo /etc/init.d/csf restart
下面是在某台服务器上的csf.deny文件的部分内容,来说明csf是很有用的:
复制代码
代码如下:211.216.48.205 # lfd: (sshd) failed ssh login from 211.216.48.205 (kr/korea, republic of/-): 5 in the last 3600 secs - fri mar 6 00:30:35 2015
103.41.124.53 # lfd: (sshd) failed ssh login from 103.41.124.53 (hk/*/-): 5 in the last 3600 secs - fri mar 6 01:06:46 2015
103.41.124.42 # lfd: (sshd) failed ssh login from 103.41.124.42 (hk/*/-): 5 in the last 3600 secs - fri mar 6 01:59:04 2015
103.41.124.26 # lfd: (sshd) failed ssh login from 103.41.124.26 (hk/*/-): 5 in the last 3600 secs - fri mar 6 02:48:26 2015
109.169.74.58 # lfd: (sshd) failed ssh login from 109.169.74.58 (gb/united kingdom/mail2.algeos.com): 5 in the last 3600 secs - fri mar 6 03:49:03 2015
103.41.124.53 # lfd: (sshd) failed ssh login from 103.41.124.53 (hk/*/-): 5 in the last 3600 secs - fri mar 6 01:06:46 2015
103.41.124.42 # lfd: (sshd) failed ssh login from 103.41.124.42 (hk/*/-): 5 in the last 3600 secs - fri mar 6 01:59:04 2015
103.41.124.26 # lfd: (sshd) failed ssh login from 103.41.124.26 (hk/*/-): 5 in the last 3600 secs - fri mar 6 02:48:26 2015
109.169.74.58 # lfd: (sshd) failed ssh login from 109.169.74.58 (gb/united kingdom/mail2.algeos.com): 5 in the last 3600 secs - fri mar 6 03:49:03 2015
可以看到,尝试通过暴力法登录的ip地址都被屏蔽了,真是眼不见心不烦啊!