最新文章:

首页 运维技术

Linux/VPS系统安全设置整理

发布时间:2015年05月23日 评论数:抢沙发 阅读数:4607

    最近入手了一台创宇云的VPS,然后将2个网站都给搬家了。作为一个运维工程师,终于不用再处处受制于人了,虚拟主机真的只能玩个球!

    拿到VPS并快速部署好环境后,开始着手完善一下安全设置,以下过程记录,供大家参考:

    一、用户权限安全设置

    root权限太高,误操作就相当危险,所以日常操作使用普通账号,只有特定时候才使用su切换到root身份。

    ①、新建普通用户,比如zhangge

    useradd  zhangge

    ②、修改密码

    passwd zhangge

    ③、将帐号加入wheel组

    usermod -G wheel zhangge

    ④、设置只允许这个组的帐号,使用su命令切换到root

    vim /etc/pam.d/su

    找到#auth            required        pam_wheel.so use_uid

    去掉行首的注释符 # 然后使用 :wq 保存退出

    接着vim /etc/login.defs

    在最末添加SU_WHEEL_ONLY yes,再用:wq保存退出即可。

    Ps:执行 echo "SU_WHEEL_ONLY yes">>/etc/login.defs 亦可。

    现在,再建立新的普通帐号,是无法使用su命令切换到root组了,感兴趣的可以测试下效果。

    ⑤、删除掉不需要的用户和用户组

    禁止所有默认的被操作系统本身启动的并且不必要的账号,账号越多,系统就越容易受到攻击。

     ⑥、锁定口令文件

    执行chattr命令给下面的文件加上不可更改属性,从而防止非授权用户获得权限。

    二、SSH安全设置

    ①、修改SSH端口

    默认的SSH使用22端口,众所周知,所以我们有必要自定义只有自己才知道的端口号,而且增加那些恶意扫描端口的难度,建议把SSH端口改到10000以上,比如使用23212,如下修改:

    Ps:修改前,请执行iptables -nL 确认防火墙未设置非22/80访问限制规则,否则可能导致修改后无法使用自定义端口连接就悲剧了!

    vim /etc/ssh/sshd_config 编辑SSH配置文件

    i. 找到#Port 22,去掉#号,并在下面添加Port 23212(先保留22端口,等23212成功连接再去掉22,保险做法)

    ii. 继续找到#UseDNS yes,改成UseDNS no,可以提高ssh的连接速度;

    iii. 找到#PermitRootLogin Yes 改成 PermitRootLogin no 禁止root远程使用ssh登录

    iv. 找到#PermitEmptyPasswords no,去掉#号, 禁止空密码登录

    最后,使用 :wq 保存退出,再执行 service sshd restart 重启 ssh服务即可生效。

    此时,可以新开一个终端,测试能否通过23212端口连线,如果可以就把之前保留的port 22删除即可。

     

    三、防火墙简单安全设定

    这个VPS是直接使用公网IP的,防火墙还是得简单设置下。

    前期如下规划:

    仅作为web服务器使用,所以只需要开放SSH和HTTP端口即可,即只要开放上面定义的23212和80端口,由于不使用ftp,本例未提到21号端口,实际使用请注意辨别。

    ①、准备工作

    由于操作防火墙具有一定的误操作风险,很可能导致自己也被阻挡在外的悲剧,所以操作防火墙之前事先一定要先建立一个关闭防火墙的计划任务,比如:

    执行 crontab -e 加入:

    表示每5分钟停止一次防火墙,以防误操作把自己挡在外面,就算出现误操作,5分钟之内将会停止,也不会造成悲剧,这是一个技巧!

    ②、防火墙设置脚本

    以下代码我亲测无误,请放心使用,策略说明:

    i. 仅开通HTTP(80)和SSH(自动抓取)端口,其他一律拒绝访问!可根据实际需要在第10行添加其他端口,比如FTP的21端口、smtp25端口等。

    ii. 单向禁ping设置,即外部IP无法ping通你的公网IP.

     

    确认无误后,记得把第①步中的任务计划取消。

    如我的VPS防火墙规则如下:

     

    四、其他安全设置

    ①、禁ping

    执行如下命令即可:

    然后用你的电脑ping服务器IP就可以看到效果了!

    当然如果你用了上面的防火墙脚本,就已经自带禁ping功能了。两种方法的区别如下:

    以上方法,ping能够返回消息(前提是防火墙未做阻挡规则,否则直接超时):

     

    采用防火墙的方法,则直接超时:

     

    Ps:个人推荐使用上文的防火墙脚本设置,更彻底。

    ②、开启TCP SYN Cookie保护

    执行 echo 1 > /proc/sys/net/ipv4/tcp_syncookies 即可。

    做到这里,你的VPS已经具备不错的安全性了,当互联网没有绝对的安全可言,我们必须时刻注意网络安全动态,随时对已经暴露出的和潜在安全漏洞进行修补。

    Ps:除了安全设置外,还可以针对VPS做一些优化设置,比如:在张戈还没有VPS的时候就写过一篇Linux优化方法收集与整理,今天刚好派上用场了,感兴趣的推荐前往参考下。

二维码加载中...
本文作者:Mr.linus      文章标题: Linux/VPS系统安全设置整理
本文地址:http://www.90qj.com/73.html  本文已经被百度收录,点击查看详情
版权声明:若无注明,本文皆为“挨踢 Blog”原创,转载请保留文章出处。
挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
提交评论

清空信息
关闭评论