记一次服务器被攻击后的安全设置总结

引子

这个月月初我刚好在配置一台新服务器练练手,公司大牛知道后让我注意看一下事件查看器。之后在日志的记录里我发现了一些让我震惊的事!!!
在我配置完服务器的隔天开始就有不少人每隔一段时间试图爆破服务器和SqlServer的密码。事实上我在服务器安全和运维方面知之甚少。在请教了公司大牛后我总结了一些经验,现在分享一下。

本文会详细介绍一些服务器安全性的设置,适用于个人网站和中小公司的
服务器管理者阅读。

我的服务器环境是win2008 r2+SqlServer,所以本文中的例子主要针对win系列+SqlServer。不过如果你是unix系列的服务器,些许也能提供一些思路。

1. 不要用默认的administrator作为管理员的用户名

这样骇客除了要爆破你的密码,还得知道你的用户名。
我的建议是:登录后第一件事就是新建一个管理员用户,
注销当前administrator的登录,用新的管理员用户重新登录,
这时禁用原来的administrator用户。

net user administrator /active:no

最后再重启一次。

这样就省去了SqlServer登陆权限的问题。
如果你已经用administrator作管理员用户名了,且SqlServer设置的登陆权限是administrator。那么就比较麻烦了,以下提供两个方案:
1.彻底除去病根法:把SqlServer的所有权限设置为新的用户名,并删除administrator这个用户名。
2.缓一缓:新建一个自定义管理员用户。把原先的administrator设置为禁止登录,之后都用新用户名登录。如果SqlServer在使用过程中需要administrator的权限,再解除administrator的禁止登录。使用完后,记得恢复禁止登录。

2.确认自己的本地防火墙已经打开

我的阿里云服务器在创建后是默认关闭了防火墙的,需要我手动设置。
所以这点稍微需要注意一下,有的服务器初始时默认是关闭防火墙的。

3.修改默认的远程登陆端口号

win2008 r2服务器默认的远程登陆端口为3389。
3389端口是各扫描器的重点照顾对象,一旦你的服务器被发现开了3389端口,骇客就知道这个ip有一台在线的可远程访问的服务器,然后就会开始爆破登录密码。

1-1023是计算机保留的端口。1024-65535是留给用户自定义的端口。
你可以在1024-65535中找一个作为自己的远程登陆端口。

修改步骤:

  1. 首先修改注册表中的值
1.打开“开始→运行”,输入“regedit”,打开注册表。

2.选择路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp,
在右边窗口找到PortNamber值,右击修改成自己的想要的端口号,修改的时候要点十进制。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp 
同上也需要修改默认端口
记一次服务器被攻击后的安全设置总结_第1张图片

注意:注册表的修改需要重启服务器后才生效。这里先不重启继续下一步。

2.添加与修改防火墙的规则

打开控制面板\所有控制面板项\Windows 防火墙\高级设置
点左侧:入站规则->新建规则
现在开始要注意了,不能有操作失误,否则会把自己挡在防火墙外。
要创建的规则类型:端口 ->下一步
勾TCP、特定本地端口填你在注册表中自定义的那个端口号 ->下一步
允许连接 ->下一步
三个都勾上 ->下一步
最后名字和描述,写明是远程登录的端口。完成。
可以查看一下规则是否添加到列表中了。

3.重启服务器,等一会儿。(如果你使用的是阿里云,请在安全组策略中开放相应的端口)

4.登录
现在登录服务器的时候,ip后需要加上你自定义的端口号
ip:端口号

记一次服务器被攻击后的安全设置总结_第2张图片

5.禁用3389端口
回到控制面板\所有控制面板项\Windows 防火墙\高级设置
找到Open RDP Port 3389这条规则,右击禁用规则。

ok!到这里你已经学会如何自定义远程登录端口了。

4.换个复杂的密码

特殊符号+数字+字母(大小写),乱打出一组。
不同应用的密码不能相同。
用户名也可以设复杂一点。

5.设置SqlServer的登录规则

如果你的服务器上的数据库需要与其他服务器的数据库对接,传输资料。
就需要打开1433端口。

对于SqlServer,我们可以设置只有特定ip才能登录数据库。(即使知道了密码,ip不对还是登录不上)

步骤:

SqlServer的默认登录端口是1433,
还是来到防火墙
控制面板\所有控制面板项\Windows 防火墙\高级设置。
入站规则->新建规则
端口->下一步
勾TCP、特定本地端口填1433 ->下一步
允许连接 ->下一步
三个都勾上 ->下一步
最后名字和描述,写明是SqlServer登录的端口。
在列表中找到刚才设置的这一天规则
右击属性
作用域->远程IP地址->以下IP地址->添加->'远程对接服务器的ip'

6.定期查看日志和更换密码

其实这条才是重点,问题都是在日志中发现的。
打开服务器管理器\事件查看器\Windows日志


记一次服务器被攻击后的安全设置总结_第3张图片

就以我的这条日志为例,
在应用程序日志的MSSQLSERVER来源中,
可以看到有ip为120.76.163.62的人或程序在一段时间内连续尝试用帐户名sa在不断尝试爆破密码。

记一次服务器被攻击后的安全设置总结_第4张图片

再来看这条安全日志,
一大早5、6点就有人在尝试用administrator的默认账户来爆破服务器登录密码。 -_-|||

总之你需要去定期看看日志,奇怪的时间段、奇怪的ip、奇怪的行为都将引起你的重视。上面介绍的预防方法或许有一天都会失效,重要的是你有没有养成安全的意识、检查的习惯。

其实在阿里云官网的控制器中也有很多安全方面的设置,下期我会试着整理一下。

ps:攻击我的服务器的ip有不少也是来自阿里云的服务器,这些骇客应该也利用了阿里云的服务器。截图中攻击者的ip,应该也只是肉鸡。

推荐阅读:
more: iis安全配置

你可能感兴趣的:(记一次服务器被攻击后的安全设置总结)