网站加速与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 test@192.168.1.1
# 允许 aliyun 和从 192.168.1.1 登录的 test 帐户通过 SSH 登录系统。
2.只拒绝指定用户进行登录(黑名单):
在/etc/ssh/sshd_config配置文件中设置DenyUsers选项,(配置完成需要重启SSHD服务)格式如下:
DenyUsers zhangsan aliyun #Linux系统账户
# 拒绝 zhangsan、aliyun 帐户通过 SSH 登录系统
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的过程中,万一出现掉线、断网、误操作等未知情况时候,
还能通过另外一个端口连接上去调试以免发生连接不上必须派人去机房,导致问题更加复杂麻烦。
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
其它
及时更新各类软件的补丁
挂载备份硬盘,定期备份
数据库单独服务器,通过内网访问交互
关闭多余服务
禁用密码,用密钥登录
网站加速与Linux服务器防护的更多相关文章
- ASP.NET Core 网站发布到Linux服务器
长期以来,使用.NET开发的应用只能运行在Windows平台上面,而目前国内蓬勃发展的互联网公司由于成本的考虑,大量使用免费的Linux平台,这就使得.NET空有一身绝技但无法得到广大的施展空间,.N ...
- ASP.NET Core 网站发布到Linux服务器(转)
出处;ASP.NET Core 网站发布到Linux服务器 长期以来,使用.NET开发的应用只能运行在Windows平台上面,而目前国内蓬勃发展的互联网公司由于成本的考虑,大量使用免费的Linux平台 ...
- 云锁Linux服务器安全软件安装及防护webshell、CC、XSS跨站攻击设置
无论我们在使用电脑,还是使用VPS/服务器的时候,最为担心的就是服务器是否有安全问题,尤其是网站服务器再遭受攻击的时候如何得到防护.对于大 部分站长用户来说,我们可能只会使用基础的环境,如果真遇到问题 ...
- 巧用linux服务器的/dev/shm/,如果合理使用,可以避开磁盘IO不给力,提高网站访问速度。
巧用linux服务器的/dev/shm/ 巧用linux服务器的/dev/shm/,如果合理使用,可以避开磁盘IO不给力,提高网站访问速度. 首先让我们认识一下,什么是tmpfs和/dev/shm/? ...
- Linux服务器可以进百度,但是进阿里云或者别的一些网站提示‘错误代码:NS_ERROR_NET_INADEQUATE_SECURITY’的问题
昨天遇到一个头疼的事情,在阿里云买了一台服务器: 然后环境各种都装了,因为本人是小白,所以一般都装MATE界面: 一开始环境没配好,访问百度可以进去,进万网但是进不去,先也没急着搞这个事情,第一天晚上 ...
- Linux 服务器 MySql的安装和网站的发布
Linux安装MySql,并配置能通过自己的电脑连接服务器的数据库 昨天安装的MySql,今天上午配置MySql能使用本机连接服务器数据库,服务器时DigitalOcean的,提供了很全面很专业的文档 ...
- PHP网站在Linux服务器上安全设置方案
本文总结了PHP网站在Linux服务器上一些安全设置(ps:还有一些设置给忘了),在<lnmp一键安装包>大多数参数已经包含,如果有什么更多的设置,大家一起讨论学习 PHP安全配置 1. ...
- PHP网站在Linux服务器上面的安全配置
本文详细总结了PHP网站在Linux服务器上面的安全配置,包含PHP安全.mysql数据库安全.web服务器安全.木马查杀和防范等,很好很强大很安全. PHP安全配置 1. 确保运行php的用户为一般 ...
- Linux服务器可以ping,但是telnet端口超时,网站wget超时,访问超时的解决办法
最近无法通过SSH连接Linux服务器,访问该服务器上的HTTP服务也出现异常.可以ping,但是telnet端口超时,网站wget超时,访问超时. 最后排查是内核配置问题 原来是 net.ipv4. ...
随机推荐
- JavaScript获取屏幕和页面的宽度和高度
JavaScript获取屏幕和页面的宽度和高度 1.设计源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN ...
- JavaScript通过ID和name设置样式
JavaScript通过ID和name设置样式 1.说明 (1)根据所提供的元素的id值,返回对该元素的引用或节点 document.getElementById("tr_th") ...
- Caused by:java.sql.SQLException:ORA-00923
1.错误描述 Caused by:java.sql.SQLException:ORA-00923:未找到要求的FROM关键字 2.错误原因 拼接SQL语句时缺少FROM什么表,导致出错 3.解决办法 ...
- centos 7 安装VCL播放器
centos 自带播放器MP4都无法播放,因此安装VCL播放器 安装epel和remi的repository sudo yum localinstall --nogpgcheck http://dl. ...
- STL(set_pair)运用 CF#Pi D. One-Dimensional Battle Ships
D. One-Dimensional Battle Ships time limit per test 1 second memory limit per test 256 megabytes inp ...
- Java 第二章 变量、数据类型和运算符
第二章 变量.数据类型和运算符 什么是变量: 变量代表一块内存区域,变量类型不一样,这一块内存的大小也不一样. #在编程语言里面,你可以通过定义变量,向内存里添加数据或者修改内存已有的数据. ...
- Mybatis if test 中int判断非空的坑
Mybatis 中,alarmType 是int类型.如果alarmType 为0的话,条件判断返回结果为false,其它值的话,返回true. <if test="alarmType ...
- Git资料整理
一.Git知识 1. Git入门 2. Pro Git 3. 廖雪峰的官方网站 4. 下载地址 二.GitHub 三.Git客户端 1. TortoiseGit 下载地址 Git和TortoiseGi ...
- Python Web-第六周-JSON and the REST Architecture(Using Python to Access Web Data)
1.JavaScript Object Notation JSON 1.JSON 官方介绍 http://www.json.org/json-zh.html 2.json1.py import jso ...
- Redis入门必读,The Little Redis Book中文版
csdn的博客都要搬到这里了 The Little Redis Book中文版 入门 The Little Redis Book中文版 第一章 - 基础知识 The Little Redis Book ...