ECS安全优化之路Linux(转)

2014-04-22 15:13:41  雅事达网络 我有话说(184人参与)

       从Windows到Linux的转变起初我有点怕,这对我来说是个挑战。保守的我一直没有去尝试。直到一天晚上,我把现有ECS做了一个快照备份,想换上windows2008,但我忽视了阿里给我的警告,我压根没去看那个警告,警告是告诉我更换系统的时候会删除现有操作系统的所有快照......所以我悲剧了。windows 2008无法满足我的需求的时候,我跑的是apache+php,只有在Linux下性能才能发挥出来。所以我选择了centos,现在看来我的选择是正确的。



       这里我分享一下我在centos下的安全优化经验,是我参照在windows下的思路进行配置的,我追求性能和安全。
1.关闭无用的开机服务(chkconfig),我只保留messagebus,  network, rsyslog,udev-post,sshd,iptables服务,其他全部关闭。
2.修改开机会执行的/etc/rc.d/rc.local文件(我看做是windows的开始》所有程序》启动),把里面所有的内容全部用#注释掉,这样即使包括阿里云监控程序在内也不会启动了。我追求性能,监控只会服务器带来负担。
完成上面两个步骤重启开机系统centos6.5只占用70MB左右内存。


3.修改root密码passwd
4.创建一个普通用户(useradd),设置密码
5.修改ssh的端口,禁止root用户登录ssh,(没重启服务没断开不会影响这次连接)
6.安装vsftpd,修改vsftpd端口,vsftpd配置允许本地用户登录(不包括root,简单为上),开启pasv模式,设置pasv端口。
7.配置iptables防火墙,默认禁止所有INPUT,FORWARD端口,允许INPUT的80端口,vftp端口,ssh端口访问。
8.如果你有安装apache,将apache默认端口修改成非80端口,例如17189端口,然后在iptables配置里将17189端口转发到80端口上。(因为非root用户是没有权限开启80端口的,这样能解决这个问题)
9.设置swap,大小是物理内存*1.5的原则,swap一般都是使用空间都是0基本用不到,但是要留在防止内存不够用服务器会挂了。

上面操作后,重启系统。用ssh登录,这时已经无法用root用户登录了,只能先用普通用户登录ssh后,再用su root,换成root登录。这样是不是安全级别又上了一级?


但是还需要检查以下几个问题,ecs是否还能对外ping?是否还能访问RDS数据库?如果不行就要修改iptables了。


用ftp工具登录vsftp(这里只能用普通用户登录ftp了),上传你需要安装程序所需文件,先用root解压安装,然后设置权限。

以下是我在centos系统的使用程序的安全经验,这里举个例子,环境是apache+php: 
1.将apache+php文件夹设置成只读只执行,也是5。命令是chmod -R 500 apache。要设置里面所有的哦~
2.将apache中日志文件夹和临时文件夹设置为读写的权限。如果你网站上有上传文件夹,也要将上传文件夹设置为可读写,其他文件夹只能读取和执行(浏览目录)。
3.网站的文件夹中可读写的文件夹要在apache中单独做禁止php代码执行的配置(即使网站已经限制了上传php文件,但再加一层锁也无妨)。
4.然后将文件夹所有者修改成普通用户(chown)。
5.su到普通用户,用普通用户来启动apache。

上面步骤操作操作后,网站就安全了很多,黑客再神也无法修改你的网站,只要你没有把root密码设置得太简单。即使他能通过你网站的网站缺陷搞注入,有云盾和RDS在后面帮你撑腰你还害怕什么。就像云盾说的,黑客神马都是浮云。 

分享到:

已有37条评论,共184人参与

还没有评论
最新评论刷新
建海666
这里是博客评论区,请登录
32分钟前
果果明赫
这里是博客评论区,请登录
60分钟前