网上总是会有很多无聊的人扫服务器密码,我以前的一台服务器就曾今遇到过这个问题。当然,这个问题的严重性还是非常高的,如果被入侵了的话危害自然是不小的,常有被当做肉鸡、数据失窃或者被人操纵发送Spam的案例,所以基础的安全设置防破解对于vps所有者来说还是非常必要的。
一般来说基础的设置有以下几步:
1.修改ssh端口号
2.设置复杂的root密码
3.禁止root远程登录
4.利用脚本,自动deny密码错误超过x次的ip (这个x的次数可以自己根据实际情况来定义)
首先给大家一段代码来检测你的vps是否遭遇了暴力破解:
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}'
如果查询出来的结果中包含了“ip地址=数量”这样的结果,那就说明有人曾试图破解过你的密码。
下面介绍下更改ssh端口号以及如何禁止root远程登录:
一、添加新用户
在禁用root登录前首先一定要先增加一个普通权限的用户,并设置密码
useradd test
passwd test
注意,此时需要测试一下新建的用户是否可以通过SSH登陆,如果可以登陆,请继续第二步,如果不能登陆,需要用root身份执行以下语句:
#注意:这一步会擦掉现有的防火墙规则,建议新安装的linux系统采用。
iptables -F
service iptables save
service iptables restart
二、更改ssh端口号,并禁用root登陆
VPS默认的ssh端口为22,可用下面命令进入配置文件
vi /etc/ssh/sshd_config
找到#port 22
将前面的#去掉,然后修改端口 port 12345 (这里的端口可以自己根据实际情况定义)
找到#PermitRootLogin yes
把前面的#去掉,然后改成PermitRootLogin no
然后重启ssh服务
service sshd restart
以后我们便可以通过普通权限的ssh账户连接我们的vps,如果需要管理权限的话,可以用下面命令提升到root权限
su - root
本文转自:一路向北。
============================================
2012.07.07补充:
附上一条检测CC命令:
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
又是技术分享,不错。
YES,我不用VPS主机啊
看着比较复杂。
su root 只是把切换用户使用的环境变量还是原来用户的环境变量
建议 su – root 这样在切换用户的时候 同时导出要切换过去的用户的环境变量
你很牛B
不错,正好用上,谢谢了
真是好久好久不见啦~我又重新拔草更新,四处逛逛好朋友来了~唉,发现没,有时候整理连接表,发现人都走了好多。
修改默认端口可以防止被扫描 哈哈
很好,参考,并用上。
可以把来源加上吗?
可以的,已经加上了。