分层纵深防御,一切黑客入侵都是浮云

  目前鉴于众多黑客技术的推广,大家都悦悦欲试,生怕少学一点日子就法活了,实在看不下去了,刚好本人在搞电子商务网站建设,由此根据自己的实际能力发表下自己的看法,仅供参考。

  其实大家不知道所学的只是落后几百年的非军事民间黑客技术,比如metasploit,backtarck5渗透入侵,nmap扫描,堆栈可执行溢出漏洞入侵,nmap扫面等黑客技术,我想这些东东,军方最少不会用了,早就落后了,而且没有核心利用价值。如果真想成为一名高手我建议,首先拿下世界500强超级机,掌握当前主流的加密算法技术,使用超级电脑进行目标机密文件破解,或者对整个网络流量解密分析,破解所有的sha,md5密匙,证书,ssl加密数据,捕捉制定目标的密码。

  当前我们最应该害怕的根本不是什么入侵,咱们普通老百姓没有什么机密好入侵的,只要平时稍微加强下安全机制,我想神也难入侵你!对于中小企业最恐怖的还是流量攻击,这个东东非技术攻击,拼的是实力,谁的钱多,资源多,宽带多。基本没有办法防御,除非借助全社会的共同努力,建立广泛的网络防御联盟,还有法律机制健全,在我以前的文章中也讲解过。当然少量的攻击还是可以使用CDN分区分地减少损失,或者diy高性能防火墙,最少要保证流量使用完之前服务器不能倒下!

  好了废话不说了,由于本人技术能力有限只能给出关于纵深分层防御的指导性建议不能具体的讲解,请各位同学自行具体测试,操作:

    一,找一个安全的地方放置咱们的服务器,最好是就丢进保险柜,然后把键盘,显示器,钥匙全部丢掉,谁也别想打开(本人学校一机房的服务器,关在柜子里3年多了,结果又一次硬盘坏了,我们的计算机管理员想打开柜子,发现那把锁生锈了,不能打开)。物理安全是第一位的,没有必要谁也不能接近,除非哪里坏了,cmos密码等都是浮云,没有什么安全可言!

   二,加强linux系统安全基础配置:

      1,安装系统时首先要到debian,centos官网下载iso文件,然后验证md5,sha签名,看是否是安全的镜像文件,这个是一件非常重要的事情,官网也不一定安全!

      2,系统安装完以后第二件事件,使用默认的内核启动电脑,dmsg查看所有的硬件配置,(买服务器时也有硬件手册)记录下来,后面有用!

     3,安装所有需要的服务器软件vsftpd.nginx,php.mysql,varnish等等,记住都要查看官方md5,sha签名,而且编译gcc必须带fstack-protect-all防溢出编译选项,优化等级不能超过O2,。功能调试完以后,设置好nginx连接并发设置,防止cc攻击,打好sohusin-php安全加固补丁,禁用所有无用的函数,mysql设置好账号,数据库权限取消root本地登录权限,制定管理电脑登录,所有服务器软件经行伪装,nginx装成apache,mysql->mssql,f,等。有条件不要把所有服务器软件安装在一太服务器上,要分开来,比如nginx和数据库不要放在一台服务器上,做好负载集群。

    4,等所有软件调试好了,进行linux基本安全加固,包括给所有服务器软件建立专门的账号,比如nginx,php,mysql等各自一个,其他的无用系统账号全部删除,设置系统资源limit,磁盘配额,web根目录权限,ssh证书登录,acl,设置各个关键目录文件的权限,特别是敏感的passwd,shadow,/boot目录等文件。

   5,把所有系统自带的命令进行整理,精简,主要是/bin,/sbin,/usr/bin,/usr/sbin等目录中的命令,把容易被黑客利用的而且不好删除的命令全部改名比如ls ,vi等改成001,002等奇怪的名字不容猜到名字。那些容易被黑用来收集信息的命令要不删掉要不改名字,比如设置一运行uname 结果就现实你制定的内核名字!对于linux或者ssh登陆请使用一次性密码登陆机制,或者结合pam,u盘密匙登陆!

  6,设置iptables防火墙,或者放在服务器前端的防火墙关闭所有无用的端口,如果只是国内用户,直接屏蔽所有外国的ip,还有就是如果是要ssh请使用knock软件,敲门再开放ssh端口!前端有条件整jump防火墙,思科等,没条件直接使用freebsd pf防火墙。

  7,优化好sysctl.conf内核参数,尽最大努力做好php应用程序的用户数据,表单过滤系统,sql防注入设置。关闭所有无用的进程,做好记录,特别是netstat -l列出的程序一定要记录好!           

  三,就是核心设置了:

     1,选择下载linux标准主线2.6.32分支稳定内核(www.kernel.org)精简linux内核,根据dmsg记录和硬件购买手册上的硬件型号资料,精简linux内核,可以结合make localmodconfig先进行简单的精简,再make menuconfig经行深入的精简,把内核fstack-protect O2选项打开,把所有用不到的调试,网络,驱动,文件系统,声卡,显卡,安全模块等全部删除,使内核文件保持在1.6M左右!

  2,重启使用新精简内核看看是否能启动,压力测试各个服务器软件,运行是否正常,所有功能是否都能用。

  3,重新解压刚才下载的linux内核源码,打上grsecurity ,tomyo-ccs安全补丁,前者是一套内核加固补丁,专门对付高级黑客的内核溢出攻击,以及被动客体全局保护安全机制。后者是linux lsm tomyo的完整版(带网络保护)专门实现主体关键任务进程保护机制,可以有效控制溢出后的root程序权限,实现selinux简单保护服务软件进程的功能。

  4,打上补丁后,负责先前的精简config到源码目录下,make menuconfig 开启grsecurity,tomoyo安全功能,要仔细,更具自己的安全要求开启功能,全部开会损失很大的系统性能,最高可以损失50%左右。

  5,编译好内核后,安装使用(内核编译,无非就是make menuconfig make all  make modules install),首先配置grsecutitydui 设置root启动密码,还有admin管理密码,设置关键的/boot /passwd /etc /nginx等目录的权限,不要设置主体nginx php mysql等的权限,这个谢交给tomoyo-ccs来处理,设置tomoyo-ccs,对nginx php msyql 等等主体程序进行最小的安全设置,之后不管他们就会乖乖的按照正常的,合法的行为运行,就算是溢出了,或者被渗透也没用,什么php,mysql 读取passwd文件啊,等等都是浮云了!就算php,nginx,mysql有漏洞了也不怕了,有免疫力,烦恼省的天天升级烦!

  6,当设置grsecuriy控制了全局资源,tomyo-ccs控制好关键程序的行为后,再运行nginx,php.mysql经行测试,性能损失点不要紧,要安全没性能呵呵,直到行为安全机制配置完美为止。

   7,下一步相当的重要,安装Tripwire进行系统文件,web静态文件,php文件,以及各种配置文件的签名保护,设置好安全密码。定期运行tripwire经行验证,如果服务器可以承受,同时进行rootkit扫描!

  8,最后一步本地保护就是备份了,再安全的的也要留一手把,备份关键数据,配置文件,记得使用truecrypt经行加密哦,亲!有条件可以对关键的文件系统,进行定时刷新,比如passwd 安全机制配置文件,每隔1小时刷新一次,使用不可写光盘进行!让黑客辛苦改的文件,一小时恢复一次,崩溃死他们!

   四,当本地安全加固以后,就是网络入侵的天气预报了功能了,请出我们的老牌snort虽然老了,可是免费嘛,安装在交换机的复制端口,对80端口,或其他危险端口进行24小时,监控,预防扫描,入侵检测,再反馈给防火墙,grsecurit, tomoyo-ccs经行主动防御,给安全系统预警!最好能配上语音系统进行播报,比如“你好,有人在扫描您的80端口!”

    OK,进行以上配置,需要一段时间的学习与测试,多看资料,多操作,多测试,黑客就不黑了,碰到你绕路了!好了,休息一下,不要急慢慢来呵呵。

 

本文出自 “清蒸BSD红烧LINUX” 博客,转载请与作者联系!

你可能感兴趣的:(Linux安全,强制访问控制,tomoyo,grsecurity)