网站加速与Linux服务器防护
网站加速方面
1. Nginx 配置 gzip 压缩
开启nginx gzip压缩后,网页、css、js等静态资源的大小会大大的减少,从而可以节约大量的带宽,提高传输效率,给用户快的体验。虽然会消耗cpu资源,但是为了给用户更好的体验是值得的。
gzip on; #开启gzip gzip_min_length 1k; #低于1kb的资源不压缩 gzip_comp_level 3; #压缩级别【1-9】,越大压缩率越高,同时消耗cpu资源也越多,建议设置在4左右。 gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css; #需要压缩哪些响应类型的资源,多个空格隔开。不建议压缩图片,下面会讲为什么。 gzip_disable "MSIE [1-6]\."; #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持) gzip_vary on; #是否添加“Vary: Accept-Encoding”响应头
将以上配置放到nginx.conf的http{ ... }节点中。保存并重启nginx,刷新页面(为了避免缓存,请强制刷新)就能看到效果了。以谷歌浏览器为例,通过F12看请求的响应头部。
2. 开启百度云加速
在很多网站开始用到了国内的免费CDN了,也就是云加速,比如百度云加速、360网站卫士、安全宝、加速乐及云盾等等。
百度云加速在全国骨干网上部署大量节点和带宽资源,整合百度自有CDN技术以及防攻击体系,为广大网站提供加速、缓存和页面优化等功能,显著提高网站的访问速度,大量节省网站自身资源。
同时,在流量经过云加速节点的同时,恶意的黑客攻击和DDoS/CC攻击也被云加速拦截过滤,有效保障了网站的安全和稳定。
这个开启请看教程:https://jingyan.baidu.com/article/f00622280f97d3fbd2f0c858.html
Linux服务器安全防护
1.Linux限制用户或IP远程登录
linux远程登录使用的是SSH协议,要限制IP登录,主要是修改与sshd服务相关联的配置文件。
1.只允许指定用户进行登录(白名单): 在 /etc/ssh/sshd_config 配置文件中设置 AllowUsers 选项,(配置完成需要重启 SSHD 服务)格式如下: AllowUsers aliyun [email protected] # 允许 aliyun 和从 192.168.1.1 登录的 test 帐户通过 SSH 登录系统。 2.只拒绝指定用户进行登录(黑名单): 在/etc/ssh/sshd_config配置文件中设置DenyUsers选项,(配置完成需要重启SSHD服务)格式如下: DenyUsers zhangsan aliyun #Linux系统账户 # 拒绝 zhangsan、aliyun 帐户通过 SSH 登录系统<br /><br />
3.只允许IP 192.168.0.1 和 192.168.0.10 登陆 其他全部禁止 (1) vim /etc/hosts.allow //增加如下内容 sshd: 192.168.0.1, 192.168.0.10 (2)vim /etc/hosts.deny //增加如下内容 sshd: ALL 4.IP黑名单形式 只限制192.168.0.1登陆上来,其他全部放行 vim /etc/hosts.deny //增加如下内容 sshd: 192.168.0.1
2.安装云锁安全软件
注意:如曾经下载过云锁安装包,则将旧的云锁安装包及安装目录删除(rm -rf yunsuo_*)后再安装。 快速安装 x86:wget http://download.yunsuo.com.cn/v3/yunsuo_agent_32bit.tar.gz && tar xvzf yunsuo_agent_32bit.tar.gz && chmod +x yunsuo_install/install && yunsuo_install/install x64:wget http://download.yunsuo.com.cn/v3/yunsuo_agent_64bit.tar.gz && tar xvzf yunsuo_agent_64bit.tar.gz && chmod +x yunsuo_install/install && yunsuo_install/install 分步安装 1.下载云锁安装包。 x86:wget http://download.yunsuo.com.cn/v3/yunsuo_agent_32bit.tar.gz x64:wget http://download.yunsuo.com.cn/v3/yunsuo_agent_64bit.tar.gz 2.解压文件,得到安装包文件。 x86:tar zxvf yunsuo_agent_32bit.tar.gz x64:tar zxvf yunsuo_agent_64bit.tar.gz 3.给云锁安装文件赋予可执行权限。 chmod +x yunsuo_install/install 4.在当前路径下执行安装,直到提示“Install Yunsuo Success.”安装完成。 yunsuo_install/install 5.添加服务器到云中心。 /usr/local/yunsuo_agent/yunsuo_smart_tool.sh -u cloud_name -p cloud_passwd 备注:cloud_name:云中心账户名;cloud_passwd:云中心登录密码 6.安装完成后通过PC端进行管理。 查看云锁是否运行 ps -ef | grep yunsuo_agent 云锁服务相关命令 云锁启动/停止/重启/运行状态 service yunsuo start/stop/restart/status /etc/init.d/yunsuo start/stop/restart/status 卸载云锁 /usr/local/yunsuo_agent/uninstall
3.ssh 22默认端口更改
首先修改配置文件 vi /etc/ssh/sshd_config 找到#Port 22一段,这里是标识默认使用22端口,修改为如下: Port 22 Port 50000 然后保存退出 执行/etc/init.d/sshd restart 这样SSH端口将同时工作与22和50000上。 现在编辑防火墙配置:vi /etc/sysconfig/iptables 启用50000端口。 执行/etc/init.d/iptables restart 现在请使用ssh工具连接50000端口,来测试是否成功。如果连接成功了,则再次编辑sshd_config的设置,将里边的Port22删除,即可。 之所以先设置成两个端口,测试成功后再关闭一个端口,是为了方式在修改conf的过程中,万一出现掉线、断网、误操作等未知情况时候,<br />还能通过另外一个端口连接上去调试以免发生连接不上必须派人去机房,导致问题更加复杂麻烦。
4.开启防火墙
1) 永久性生效,重启后不会复原 开启: chkconfig iptables on 关闭: chkconfig iptables off 2) 即时生效,重启后复原 开启: service iptables start 关闭: service iptables stop
5.重要文件夹上锁
在linux系统里锁定一个文件,锁定后,任何用户,包括root用户都无法删除该文件 chattr +i a.txt ##a.txt 为加锁的文件 解锁 chattr -i a.txt
为了保护数据隐私,锁定文件服务器下的/downloads文件夹。 chmod 0000 /downloads root用户仍旧可以访问,而ls和cd命令则不工作。要还原它用: chmod 0755 /downloads
6.网站目录文件夹权限设置 。建议文件夹750,页面文件640,缓存目录可读写770
修改某个目录下所有文件的权限,如果子目录中的文件权限也要修改,则使用参数-R启动递归处理。 把/home/user目录的权限设置为rwxrwxrwx,不包括子目录: [root@localhost ~]# chmod 777 /home/user 把/home/user目录的权限设置为rwxrwxrwx,包括子目录: [root@localhost ~]# chmod -R 777 /home/user
其它
及时更新各类软件的补丁
挂载备份硬盘,定期备份
数据库单独服务器,通过内网访问交互
关闭多余服务
禁用密码,用密钥登录