随着linx/bsd技术的普及与发展,大家都认识到了开源系统所带来的种种好处,比如免费,可定制化,高性能,高可扩展,以及我们今天要研究的安全--一个永恒的话题,好了废话不说了切入正题!

个人认为如今系统的安全防御不应该是放在某个层面或者某个点上,应该从企业网站构架,建设初期起就应该有一个整体的规划,全局的部署,要放防御机制从物理层配置到web应用层最后到达系统内核层,虽然没必要搞的像国家安全部门一样,但是最少我们可以利用现有的,开源的,免费的,经过测试的安全工具来加强我们的安全,当然为了性能,成本,我们可以暂时的关闭一些安全防御功能,但是不能删除,在遇到******时我们要开启!!下面我们就来看看具体有那些层面需要我们部署怎么样的安全机制:

一,物理层防御

1,购买的服务器,一定要是品牌dell,hp.ibm服务器,具有多电源,多磁盘RAID,机箱保护(打开报警,电源开关锁门锁),当然为了数据安全如有磁盘加密芯片最好。

2,最好选择光纤网路防止电磁泄漏,显示器,键盘灯,usb接口等最好不要。

3,注意服务器相关链接的网络设备,路由器,交换机安全,防止基础硬件,网卡rom,upnp***,没事最高关闭路由器的uPnP功能,网卡的远程加载,唤醒个功能,设置高强度密码。还有就是主板的BIOS最高开启写保护开关,最近硬件BIOS***,最近网上曝光,所有的ciso,华为等路由器网路设备,甚至cpu都植入了“硬件后门”(所谓的正常的系统安全漏洞,什么人都避免不了,所以我们的设备里面有也是很正常的。。),用于监控用户数据。。。,这就是我们为什要自己定制防火墙,路由器,交换机的一个原因了。。

4,服务器放置的地点一定要符合各种电器标准的机房,防盗,专人看守,启用tcpdump,sniff等监控服务器,路由器等的异常信号。。看是否有硬件后门。

二,网络层防御(1-6层tcp/ip)

1, 静态化mac或者启用open***网络彻底静止arp协议,防止arp欺诈***。

2,设置交换机安全,放置mac-端口表***,把网络划分成各个专属vlan。

3,   配置dhcp服务器放置ip 地址资源分配***。限制每个网卡请求数,租赁时间。

4,  如不是大规模网络请不要分段IP使用路由器,直接交换机,如有必要尽量使用手工配置route表,不要使用各种动态配置路由表协议,防止协议漏洞***。

5,全网科莱,tcpdump,sniff 等包分析人工监控网络,发现非法网卡混杂监听,各种扫描,dos,ddos***,已经各种未知的***。

6, 如条件允许请购买专业的防止DDOS,非x86构架防火墙最好是支持7层应用层防火墙功能,如果带宽没那么大可以选择diy freebsd+pf组成的防火墙,同时配置syn代理握手 进 出 nat rnt过滤,防止外部,内部,本机等***(freebsd的polling还可以轮训网卡模式,对付高中断的syn***有奇效)。一般应用层防火墙防御web用不到,非要部署也可以选择freebsd的ipfw-classi或者iptable-7lay,但是一定要使用科莱,sniff进行7层特诊吗的正则开发!要不现有的规则太落后了!之中对于ddos大规模***就不是防火墙说能防御的啦,只有加大宽带,联合电信政府部门,购买CDN全国分布服务器才能解决。

7,使用suricata(snort性能太差,过时了)开启nvdia CUDA加速,pring加速,选用intel网卡开启dma,miix2,队列加速实现万兆流量***分析!同时支持IDS/IPS功能,当然我们不仅仅要实现***检测系统与防火墙的沟通,还可以实现***检测系统与系统shell,声音,mail 报警沟通!特别是***扫面的发现,扼杀******与摇篮!

8,对于DNS是漏洞最多的网络核心功能,所以没有必要请不要自己使用bind搭建NDS服务器加速网络,直接使用网络上的DNS就可以了,如果实在要部署,请选择openbsd系统搭建,在代码层防止溢出,或者使用后面讲的mac,强制访问安全控制加固!当是一定要部署nds全网欺骗***防御(使用网络分析包工具来做),防止内网中毒发送nds假包,欺骗劫持!

三,应用层防御

1,所有的系统,服务器软件必须使用发行版默认的版本,并且进行md5,sha签名认证,并且有必要下载对应的发行版源代码使用gcc-4.6-4.7版本加参数-fstack-protect-all保护编译安装,优化的级别也最好不要超过O2。还有就是必须修改源代码的version.h把服务器软件名字,版本打乱伪造好!比如nginx变成bws,gws,apache等,mysql变成redis,postgresl!同时开启相关的nginx,apache,mysql等等软件自带的安全功能,配置安全运行策略!

2,web服务器,数据库服务器,缓存服务器,php应用服务器必须分开来单独电脑安装,同时设置各自的专用账号。方便以后进行最小权限控制,以及目录权限控制!

3,网站能静态化最好,实在要动态,可以使用suhosin安全加固php虚拟机,禁用各种没用的函数,使用tomoyo安全分析软件分析网站正常使用时,需要的各种权限,进行php,mysql ,nginx,apapche最小权限化管理,分析出web根目录最佳权限,防止各种溢出***,同时对用户输入的所有数据,图片,选择项进行php输入过滤,防止sql注入,夸张,***等***,如果可能请选择NOsql数据库,比如redis代替msyql!

4,如果前段没哟部署7层应用层防火墙,那么我们可以使用nginx,apache设置并发,连接控制防止ccs***,同时所有的服务器软件运行必须在grsecurity selinux tomoyo等MAC强制访问控制下运行!

5,关于mac强制访问其实很简单,就是在原有的自主访问控制基础上加入了更强大的控制功能层,通体来说加入了角色控制层 类型(主体客体)控制层 还有就是主要为了信息安全而设置的客体访问级别控制,一般有如下工具:

selinux:全功能的selinux实现了 角色控制,tpyeenfore类型域控制 还有mls控制,但是我们常用的centos,rhel默认只是开启了typeenfore类控制,是selinux的阉割版,不管是角色控制,类型控制,还是msl控制无非就两个四个步骤:

a,把角色控制,类型控制,msl控制的分类分组标签写到文件安全扩展属性中去

b,使用自动学习模式,或者手动policiy文件书写角色,类型,mls权限控制规则(在rhel,centos已经提供了现有的常用软件策略)

c,启用permission调试模式,试运行软件,查看日志是由有违反规定的日志

d,调整策略,反复前两部操作,知道无错误

完整版strict可是用来实现用户:角色:TE:mls四层控制,而且可以保护整个系统,而不光是关键进程!

Grsecurity:实现了角色控制,类似selinux-typeenfce功能,但是没有mls功能,不过它具有很多selinux不可比拟的功能,比如在线磁盘分区read-only模式,trust-path控制,还有更恐怖的pax内核防止溢出加固,简直是最完美的MAC了,本人给他打200分!!如果想实现系统的最高防御Grsecurity不可缺少!!它也是可以对整个系统进行保护的哦!

Tomoyo(ccs)以及suse的approm等都只是实现了跟rhel的selinux-targets策略实现的功能,对重点的进程加固,不能对整个系统进行保护!同时他们是基与路径的,不用象selinux要给文件打上标签!!

最后freebsd开启的Trustbsd项目mac了,起主要是实现了层控制的TE主体客体控制,mls/low,hig,equal 高层只能写不能读 低层只能读不能写,平等可以读写呵呵很简单把!!而biba模块怎刚好相反,高层能读不能写,低层能写不能读!

总之,强制访问其实就是系统程序权限防火墙!个人建议在rhel,centos上开启selinux,其他linux开启grsecurity,freebsd则由于做防火墙,没有人登陆,没有服务器程序不用开启MAC!

四,系统的层防御

1,我们要选择一个合适的系统,目前供我们选择的系统有rhel,centos,oracle-linux,debian,ubuntu,freebsd,openbsd,netbsd,suse等,个人认为:

防火墙系统:为了性能选择freebsd+pf为了安全选择openbsd+pf.(应用层过滤ipfw-classic)或者panabit可惜是收费的呵呵

嵌入式cpu防火墙:netbsd+pf/npf

web服务器:还是免费的centos吧

数据库:oracle-linux

静态web,缓存服务器:freebsd/centos

vps商(host):centos

vps客户机(guest):debian

openstack私有云:ubuntu

大规模并行计算:sentific linux

总体来说就是,性能为主使用rhel/centos系列 安全为重选用debian+grsecurity加固 防火墙稳定性为重bsd系列。

2,除了rhel有商业支持的系统外,其他的免费系统都要精心内核的精简编译,去除所有没用的驱动,功能,调试,加入grsecutity ccs安全加固MAC!同时设置sysctl.内核参数加大抗DDOS,缩短timewait,加大tcp,upd缓存等优化参数。

3,删除所有系统中无用的用户,bin/sbin,开启grsecurity 的trust-path功能,任何人只能运行经过root认证的程序,关闭sysctl关于mac 实时控制功能,对于不需要更改的配置文件,静态页面可以开启grsecurity read-only分区功能,谁也不能更改文件了,包括自己!设置合理的资源配置,limit,登录密码策略,还有pam认证安全。

4,启用md5,sha签名关键文件包括内核,内核模块,配置文件,关键常用的程序,防止rootkit,***,可以使用工具前面 或者自己手动shell批处理!

5,开启grsecurity,或者selinux 角色控制影藏所有的本用户无关进程,开启/proc等虚拟文件系统安全防护,包括/tmp,开启grsecurity pax放溢出,放链接***,随机地址等保护!

6,设置基本的linux/freebsd 文件管理权限,用户权限,chattr +i 保护!   关闭没用的服务器软件,ssh服务器尽量不要使用,非要使用请使用knock敲门,打开防火墙通道,使用ssh!

7,  定制安全的可靠的服务器版本,漏洞,安全补丁升级,随时关注网络漏洞列表。

五,制度防御

1,密码制度,密码长度必须设置为16位或者32位 md5 16 32位迷惑,同时必须满足字母大小写,特殊符号,数字等。。高强度密码,定期更换密码。还可以参考之前写过的“一次性密码”文章。使用一次性密码!

2,离职人员的安全重设机制,防止离职人员密码,机密文件泄漏,重要文件不管是存放还是备份必须使用truecrypt高强度加密!!特别是数据库加密!

3,在职人员的安全审核制度,防止在职人员访问高度机密文件,非法操作,硬盘复制等不安全举动与系统非法操作(开启系统audit功能)。

4,定期备份,灾难演戏,***测试,稳定性能测试!

5,  定期举行安全防御与***学习培训,组成安全小组,或者小圈子进行讨论,创新思维,培养安全人才。

到此为止,有关于安全加固防御的问题就有了一个初步的整体规划,本人博客没有必要就不再讨论了,今后转入web应用程序开发阶段,谢谢大家支持。

转载于:https://blog.51cto.com/cookingbsd/1032205

服务器最高安全防御策略选择与差异相关推荐

  1. 服务器安全:浏览器同源策略与跨域请求、XSS攻击原理及防御策略、如何防御CSRF攻击

    主要包括 浏览器同源策略与跨域请求 XSS攻击原理及防御策略 如何使用SpringSecurity防御CSRF攻击 CC/DDOS攻击与流量攻击 什么是SSL TLS HTTPS? 一.浏览器的同源策 ...

  2. 服务器被cc攻击的简单防御策略(附代码)

    CC攻击(也称为网络层攻击或流量攻击)是指企图通过向网站或服务器发送大量伪造的请求,以干扰正常的用户访问的攻击.这些请求可能是来自单个设备的,也可能是来自一群被控制的设备的.为了防御CC攻击,你可以考 ...

  3. 高防御服务器与高防御IP之间的关系

    高防御服务器和高防御IP先从名字上看清楚是服务器还是IP,两者是不一样的两件事,但是用高防IP好一点还是用高防服务器好一点?很多顾客都在问这个问题. 先跟VeCloud小编一起来了解一下高防御服务器和 ...

  4. 跨站脚本攻击漏洞(XSS):基础知识和防御策略

    数据来源 部分数据来源:ChatGPT 一.跨站脚本攻击简介 1.什么是跨站脚本攻击? 跨站脚本攻击(Cross-site scripting,XSS)是一种常见的网络安全漏洞,攻击者通过在受害网站注 ...

  5. 基于联邦学习中毒攻击的防御策略

    文章目录 联邦学习简介 FL(federal learning)和模型中毒攻击的背景 针对模型中毒攻击的防御策略 局部模型更新的评估方法 基于光谱异常检测的方法( Spectral Anomaly D ...

  6. 提高企业内网安全的十大防御策略(转)

    几乎所有企业对于网络安全的重视程度一下子提高了,纷纷采购防火墙等设备希望堵住来自Internet的不安全因素.然而,Intranet内部的攻击和入侵却依然猖狂.事实证明,公司内部的不安全因素远比外部的 ...

  7. 高防服务器如何进行防御措施

    高防服务器进行的防御措施有:1.对高防服务器现有的网络主节点进行定期扫描:2.在高防服务器的骨干节点上配置防火墙:3.通过充足的机器来承受黑客攻击:4.充分利用网络设备保护高防服务器的网络资源:5.将 ...

  8. 高防服务器究竟能防御哪些攻击?

    基于DDoS比较广泛,很多机房都会针对DDoS攻击进行,因此,很多企业会选择高防服务器来进行抵御恶意攻击. 高防服务器指机房通过主要的高防设备对恶意数据进行有效鉴别和清洗,具有防御网络攻击功能的服务器 ...

  9. 数据库备份恢复策略_如何根据备份策略选择和检查正确的数据库恢复模型

    数据库备份恢复策略 介绍 (Introduction) Following best practices, we should apply principles like segregation of ...

最新文章

  1. VS2015 解决方案 或者项目 卡 正在加载 的解决办法
  2. 拦截导弹 (加了神奇的位运算)
  3. readelf源码学习
  4. 算法的封装与切换——策略模式
  5. matlab for循环不覆盖,将输出保存到文本文件而不覆盖和打印矩阵中的N个条目[matlab]...
  6. 语言之输出png图片_什么是PPML?如何输出PPML文档?
  7. Jeecg-Boot 2.1.2版本发布,基于SpringBoot的快速开发平台
  8. java读取日志_Java实时监控日志文件并输出的方法详解
  9. android摄像头的autoFocus-----循环自动聚焦的实现
  10. JDK有三种字体绘制系统
  11. 信息论 基础知识(一)
  12. 新浪微博与微信公众号开发总结
  13. css3动画 --- transform属性值:旋转rotate、扭曲skew、缩放scale和移动translate以及矩阵变形matrix
  14. 什么是哥德尔不完备定理?
  15. SpringBoot使用JavaMailSender发送邮件:com.sun.mail.smtp.SMTPSendFailedException: 451 MI:SFQ 163 smtp7
  16. SONY索尼PXW-X280摄像机断电MXF/RSV视频文件损坏修复技术
  17. ps保存web格式,报“系统找不到指定路径”错误
  18. 广州种植牙费用需要大约是多少-南方卫视
  19. flash钢琴自动弹奏之Python实现
  20. 528沉思录 -- 年轻人,停下来想想,思考不是浪费时间

热门文章

  1. 怎样使用PS制作木刻效果图片?添加木刻特效原来这么简单!
  2. 医院财务会计的互联网变革
  3. WPS公式编辑乱码解决方法
  4. [linux学习](linuxprobe课程)十二 使用Bind提供域名解析服务
  5. node.js 后台代码怎么部署到服务器上?
  6. UNIX时间戳的应用-JAVA
  7. IDM下载器软件激活序列号错误如何解决?
  8. erLang中的标点符号
  9. 解决eclipse老是Refreshing external folders
  10. 8.时间频度和时间复杂度