小Q:红颜无罪只是太美,离别无言只是太悲;谁在谁的红尘中等待,
苍老了谁又悲伤了谁;
恋过红尘,只近黄昏,风拂玉面,云卷残云,谁在谁的翘首中期盼,
错过了谁又遗忘了谁?
对于运维工作者来说,安全是必不可少的话题,但其实我们现在初学阶段也不必太过深入,了解到中间档次就足够了,毕竟每个企业有专门的安全管理;我的课程里只有关于安全的
思想,剩下的路自己扩展;
一: Linux系统版本 二: 硬件和物理安全 三: 系统和用户方面 四: 应用安全 五: 入侵检测
自我理解:关于以前我学过的所有知识,自动化·编程语言·嵌入式·PS·我前面学到的知识·等等,所有的技能知识,万变不离其宗的中心点,就是去学一个思想,在你专业领域里
积累的解决问题的思路;技能不常用会生疏,知识不常记会遗忘,但前期通过学习.实践.重复印在脑子里的经验却是记忆永久的,也是最关键的;
下面的内容也许字数不多,但是他给了你一个全局的关于安全的思路,而且它包含的内容也
不少,可以作为前面基础知识的扩展;
一:Linux系统版本
首先要有一个话题作为开头,选择系统当然应该居首了;
Linux版本有好多好多,选择一个大的厂商,他的系统必然安全性相对高点,比如RedHat·Debian·Ubuntu·centOS;具体你有什么重点的需求,再根据你的需求,选择相应
在那一方面有优势的就好,网上会有很多介绍的;
尽量官网下载,有的人可能装过windows系统,会发现好多系统安装好后自带各种软件,乱;
Linux也是这样,甚至有可能自带病毒,或者植入了后门,毕竟会组装系统的都很厉害;
关于升级版本的问题,不建议升级到最新,而yum update 只能升级到主版本下的最新版本;
选择大的厂商 + 官网下载镜像(或mirrors.sohu等) + 选稳定版本
二:硬件和物理安全
其实系统大体的密码结构是这样的,环环相扣,而且忘了bios密码只能返厂商重置:
·设置系统密码 通过单用户或者救援模式更改你的密码
·设置grub密码 不能进单用户,但可以通过光盘启动进救援模式改
·设置bios密码 不能进bios设置光盘启动,进不了救援模式
而在实体方面,就是机房的保障了;比较正规的企业机房是不让随便进的,这样不仅可以确
保我们硬件设备安全,还可以预防一些人连接服务器攻入我们的系统;而最近IDC云服务器
的兴起,更为我们提供了一些保障;可选的是阿里云和腾讯云;
【关于密码的设置方法见我后期的文章】
http://beibing.blog.51cto.com/10693373/1702819
三:系统和用户方面
这是一个比较大的概念,因为我们就是作系统运维,所以这部分只能是抛砖引玉,和在今后遇到问题在专门学习;
·尽量升级到新的稳定版本包
·不需要登陆的用户禁止登陆nologin
·关闭用不到的服务,减少被攻击的机会
http://www.apelearn.com/study_v2/chapter16.html#id5
·关于分配权限的问题ACL.Suid.Sgid.Sudo
http://beibing.blog.51cto.com/10693373/1695473
·设置root的限制
http://beibing.blog.51cto.com/10693373/1698518
·关于防火墙,最好打开着,当有需要再关掉
http://www.apelearn.com/study_v2/chapter16.html#id3
·打开系统日志记录信息,查看其他日志
http://h2appy.blog.51cto.com/609721/781281/
扩展http://blog.chinaunix.net/uid-28216282-id-3379733.html
·关于Linux-PAM认证模块,对应用程序或用户添加验证机制
http://www.centoscn.com/CentOS/help/2014/0504/2899.html
扩展http://www.infoq.com/cn/articles/linux-pam-one
·文件系统的类型选ext3.ext4 和 数据安全备份.定制计划任务
http://beibing.blog.51cto.com/10693373/1698604
http://database.51cto.com/art/201103/252058.htm
四:应用安全
关于应用安全的面就更大了,我们系统就是用一个,但是我们要装的应用就太多了;
各种常用服务 ftp、samba、nfs、rsync、mysql、http
web安全 (漏洞:文件上传、xss、sql注入、CSRF、访问控制)
文件上传: 就像discuz论坛的图片上传,如果图片上传服务器时的目录可以执行php脚本
那么这就意味着,用户可以上传木马脚本,然后可以执行
xss: 跨站脚本漏洞(Cross Site Scripting,常简写作XSS)是Web应用程序在将数据输
出到网页的时候存在问题,导致攻击者可以将构造的恶意数据显示在页面的漏洞。
因为跨站脚本攻击都是向网页内容中写入一段恶意的脚本或者HTML代码,故跨站
脚本漏洞也被叫做HTML注入漏洞(HTML Injection)。
sql注入:所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的
查询字符串,最终达到欺骗服务器执行恶意的SQL命令。PHP + MYSQL编程,引
发SQL注入攻击的主要原因有两点:(1) PHP配置文件php.ini中的
magic_quotes_gpc选项没有打开,被设置为off。(2) 开发者没有对数据类型
进行检查和转义。第二点最为重要,如果没有第二点的保证,magic_quotes_gpc
选项不论为on,还是off,都可能引发SQL注入攻击。
CSRF:(Cross-site request forgery,跨站请求伪造)伪造用户的请求利用受信任的网
站来做一些用户不知道的事。当用户访问网站通过登录操作会得到身份标识的
cookie,在不关闭浏览器并未注销登录的情况下会带着cookie,这种状态下就
有可能会让攻击者去伪造请求。因为CSRF不容易被发现,所以用户通常不容易
察觉但是其危害性是很明显的。
访问控制:针对于web服务,即Apache和nginx;针对的是一些攻击者的IP,和一些钓鱼网
站,设置一些黑白名单;
下面的衔接是我配置的一些简单的关于nginx的访问控制.文件上传.禁止解析.用户认证.防盗链.禁止指定user_agent,Apache的可以去看第十九天和二十天的博客。
http://beibing.blog.51cto.com/10693373/1700539
下面的内容和上面博客类似,稍微有些扩展
apache配置: apache的order allow deny 限制某个目录下的php文件没有执行权限 针对访问uri 限制ip 几种限制ip的方法 nginx配置 限制只让某个ip访问 禁止通过ip访问站点 禁止某个IP或者IP段访问站点的设置方法 使用 user_agent 控制客户端访问
五:入侵检测
在1998年,Martin Roesch先生用C语言开发了Open Source的入侵检测系统Snort.
Snort有三种工作模式:
嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上;
数据包记录器模式把数据包记录到硬盘上;
网络入侵检测模式是最复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配
用户定义的一些规则,并根据检测结果采取一定的动作。
中文手册:http://www.360doc.com/content/08/0114/14/25127_972488.shtml
抽段时间我得好好研究一下