网站加速与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. ...
随机推荐
- HighCharts中的无主题的2D折线图
HighCharts中的无主题的2D折线图 1.设计源码 <!DOCTYPE html> <html> <head> <meta charset=" ...
- Linux显示2015年日历表
Linux显示2015年日历表 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ cal 2015 2015 一月 二月 三月 日 一 二 三 四 五 六 日 一 ...
- halcon 模板匹配(最简单)
模板匹配是机器视觉工业现场中较为常用的一种方法,常用于定位,就是通过算法,在新的图像中找到模板图像的位置.例如以下两个图像. 这种模板匹配是最基本的模板匹配.其特点只是存在平移旋转,不存在尺度变化 ...
- Keras官方中文文档:Keras安装和配置指南(Windows)
这里需要说明一下,笔者不建议在Windows环境下进行深度学习的研究,一方面是因为Windows所对应的框架搭建的依赖过多,社区设定不完全:另一方面,Linux系统下对显卡支持.内存释放以及存储空间调 ...
- Java解析YAML和Android解析YAML
一.Java解析YAML 1. API的选择 一般分两种:Jyaml和snakeYAML.(Jyaml下载地址:http://download.csdn.net/detail/dgssfgfs/847 ...
- php 创建和修改文件内容
file_put_contents写入文件 我们先来学习第一种写入文件的方式: int file_put_contents ( string $文件路径, string $写入数据]) 功能:向指定的 ...
- 'net’ 不是内部命令或外部命令,也不是可运行的程序或批处理文件
我的电脑-->属性-->高级-->环境变量 path的变量值新加: %SystemRoot%\system32 修改完成后,需要重新打开cmd命令行,否则不会生效的.
- 10.socket网络编程
套接字工作流程 先从服务器端说起.服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接.在这时如果有个客户端初始化一个Sock ...
- kafka集群参数解析server.properties
#server.properties配置文件 broker.id=1 port=9092 host.name=url1 zookeeper.connect=url1:2181,url2:2181,ur ...
- 使用CMD命令编译和运行Java程序
对于初学者来说,使用CMD命令(Unix以及类Unix系统采用Termial)来编译和运行Java的好处是让初学者直观地体会到编译(Compile)这一步骤,加深记忆.所谓编译就是将文本文件xxx.j ...