| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
龙腾教程网  
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
 
  您当前位置:您现在的位置: 龙腾软件教程网 >> 文章中心 >> 操作系统 >> linux >> 文章正文>>>>>> 
Linux系统安全机制进阶分析

相信大都知道,Linux发行版实在是太多了我也不止一次在很多网站的文章,很多书籍上看到过议论那种发行版是最好的,其实我个人认为,在Linux世界中,没有最好的这种说法,只要自己习惯,熟悉的一种版本,那么我就可以说他是最好的。写这篇文章,我也试找了很多资料,试图找到一个大家都觉得常用的,熟悉的,最后,我觉得RedHat Linux真的很不错,虽然它的内核比较庞大,而且效率不是所有发行版中最高的,但是它的普遍性,易用性和软件升级支持,应用软件支持方面是值得提出的,这些方面也正是一个好的Linux发行版需要具有的。 这篇文章建立在RedHat Linux 7.3版之上,所有的软件设置均在这个版本上测试通过。

  说到这里,可能大家要问,为什么我要用RedHat 7.3?现在不是有很多吗?就RedHat来说就有RedHat 8.0, RedHat 9.0还有什么RedHat 高级企业版,等等。这么多新的东西为什么不用呢?这个问题问得很好,这正是我要说的安装和选择发行版是要注意的一点。

  1、版本的选择

  我使用RedHat也有很长时间了,个人认为,RedHat的.0版本都属于大版本升级的第一个版本,这个版本往往很多软件包不是很稳定,而且容易出现故障,对于管理员来说Linux绝大部分是用来作为服务器使用的,那么要最为服务器,最最大的首要问题就是稳定,其次最重要的也是安全,所以如果你是管理员,而非狂热的爱好者,发烧友,我建议你选择RedHat 7.3。RedHat 的版本号,后面跟了小版本号的就是软件包有很多更新和修改的,虽然这个更新可能不是最新,但是至少它是这个稳定版本中最新最稳定的,不知大家理解这个问题没有,后面我将详细介绍一下版本的升级问题,那里我将会说明这个理论。

  2、安装方式

  选择好了安装发行版,那么我们就开始安装了,其实安装的时候只有几个需要注意的地方,其一就是分区,其二就是安装的软件包。

  分区的讲究就是你需要针对你的应用来规划分区,过去看过很多论述Linux是否有一个最佳的分区方案,虽然很多人也提出了很多优秀的分区方案,但是我觉得还是需要更具自己的应用作的分区才是最佳的分区,下面各个分区方案,但是纯属建议,还是要更具自己的需要来作。

  个人认为,标准的服务器,至少扩常用的分区,因此建议将硬盘划分为以下的样子: /boot swap / /var /usr /home /tmp ,大小根据自己的应用来,/不能小于1G,/usr 和 /var都要大一点,因为大部分软件在里面,其他几个更具需要来,说到swap我想关于这个区的大小争议也比较大,我在综合了很多朋友的意见后,总结出一条规则,如果你的内存小于1G那么分为内存的2倍,如果大于1G那么就分最大2G的swap,这样做是为什么呢?因为swap大家都知道,是虚拟内存的空间,小了又不能发挥最好的作用,大了又浪费空间,这个大小是具体的理由就是,内存大的话,那么应用程序占用的虚拟空间就小,但是为了完全满足服务器的内存需要,据很多朋友的经验,还有我切身的体验,这种分法可以说是一个最佳的方案了,特别对于数据库等大型应用程序的内存需要来讲,而且很多服务器的内存都是1G-2G左右。

  安装软件包,讲究的是安装得越少越精越好,但是RedHat开始安装的时候,作为一个服务器,下面的几个软件包组需要选择:

  Networ support(网络支持)

  Messaging and web tools(可选择安装,一些联网的工具如ncftp等)

  Router/Firewall(防火墙软件,需要安装,但是他有一点不好把ipchian,iptables,ipwf等都安装了,后面将解释如何删除)

  Network managed workstation(管理用工具)

  Utilities(常用工具,备份工具等)

  虽然我们现在安装是简单的选择了这几个软件包组,我们在后面的安全设置时将会删除一些不用的包,这将在后面说。

  3、更新软件

  虽然RedHat 7.3是更新过的版本,但是其中还有很多软件包有漏洞,其中最大的漏洞就是2.4.18的一个漏洞,它会导致ext3文件系统崩溃,我就遇到过很几次(据ext3开发小组称,这种现象是在特定的操作和条件下才会产生的,一般用户很少出现这种现象),虽然很多现在已近解决这个问题,但是7.3没有更新内核的话还是不稳定的,更新有两种方式,一种时下在更新的软件包手动的用rpm –Uvh 来更新,另外一种也是我推荐的方式,使用up2date来更新,这可是一个好东西,它能很方便的更新你的系统,而且是更具你安装的软件包来更新的,他不会把bind8更新为bind9,不会把RedHat 7.3更新到RedHat 9.0,这样就确保了你目前使用的版本的稳定性和完整性,它只是针对这个版本的软件包进行了修正,版本号一般就是这样变得,比如iptables ,7.3的rpm 版本是1.2.5那么更新后就是1.2.8修正了很多漏洞错误,但是并没有作大的调整,确保了你的使用和与应用程序的兼容性。

  Up2date的使用,在自动升级之前,建议几个操作,

  第一个,由于RedHat 7.3版自带的up2date有SSL的bug,因此,需要取下在一个最新的up2date来更新,下载地址

  https://rhn.RedHat.com/errata/RHSA-2003-267.html

  第二个,一般来说,我们都不希望up2date自动更新内核,然后内核的更新直接解决很多重大漏洞,特别是新安装的RedHat 7.3就有ext3崩溃的漏洞因此,我建议大家自己先手工升级内核,当然使用rpm 包来升级,这样节约很多时间,开始我就说过,虽然RedHat不是效率最高的,但是确实做得最普遍的一个系统,rpm的方便就完全体现了这点优势,RedHat 7.3内核的下载地址

  http://updates.RedHat.com/7.3/en/os/i386/kernel-2.4.20-20.7.i386.rpm

  http://updates.RedHat.com/7.3/en/os/i386/kernel-2.4.20-20.7.i586.rpm

  http://updates.RedHat.com/7.3/en/os/i386/kernel-2.4.20-20.7.i686.rpm

  对于你自己的系统,你可以用uname –a看看目前的是i386还是i686然后根据这个来选择下载的内核升级包。

建议最好使用rpm –ivh 来升级,这样可以保留原来的内核,确保没有问题再将原来内核rpm –e掉,这个rpm包非常简单甚至你不用修改你的lilo.conf或者grub.conf的配置文件,它自动给你加入了,你需要做的就是重起然后选择新的内核启动就行了。

  做完了内核的升级,用新内核重起后就是up2date的时候了。

  运行rhn_register随便注册一个号码(这个要保密哦,我自己研究的,rhn网络的升级实际上是收费的服务,但是一个邮箱一个账号是免费的,但是一个账号只有一个升级系统的权限,你可以通过rhn的网络来登录修改这个权限给其他的机器,不过这样太麻烦了,而且RedHat7.3的升级基本上稳定了,只需要在安装第一次升级一下就行了,所以我们就随便注册帐号来升级下:P)根据提示,它默认选择了你机器上所有的包,为你升级,没关系,一路next最后finish然后回到控制台,接下来就是激动人心的升级了,运行命令:

  up2date –u

  就开始升级了,这个过程看你的网络了,大约有1小时左右。

  它会自动为你下载安装,虽然不用重起,但是建议你还是重起一下,确保新内核和新的软件包能够正确使用。到此为止,系统更新就做完了,下面就是比较重要的安全设置了。

  4、安全设置

  其实Linux的安全已经比较好了,我们做得初浅的安全讨论,无非就是关闭服务,设置一定的防火墙,如果大家对防黑客和高级的安全设置感兴趣的话,那么请关注我下几篇文章,我将向大家介绍有关简单的IDS等等防黑技术,谢谢。

  关闭不用的服务,这个问题,很多文章都提出过,我个人认为最有效的关闭方法如下,大家都知道,Linux中控制服务的有chkconfig ,ntsysv等等,其实这些工具控制的服务都是Linux已sysV的风格保存的服务启动项目,其实都是/etc/rc.d/下面的东西,已rc3.d为例,3表示init3时要做的项目,里面的文件都是一些连接,S开头表示启动,K开头表示终止,所以rc0.d里面基本都是K开头的,所以大家不用害怕觉得Linux的服务多么神秘,这里介绍两个简单可行的控制服务的办法。

  运行ntsysv控制服务

  使用ntsysv关闭服务只开

  crond 可定义计划任务
  
  network 网络

  random 生成随机数,用于ssh的会话对称密钥的生成

  sshd ssh服务器

  syslog 系统日志服务

  xinetd 超级进程(下面没有服务要用的话,可以关闭)

  其实xinetd是类似于init这个超级进程的一个进程,不过可以完全关闭它,因为下面都是些没有用服务监听程序,对于一般的服务器,基本上只需要上面ntsysv所列的服务就行了,其他的都关闭,当然如果你要web当然要开httpd了。

  服务关闭完了以后,就是去掉一些不用的用户,用

  vipw #adm:x:3:4:adm:/var/adm:/sbin/nologin

  #lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

  #sync:x:5:0:sync:/sbin:/bin/sync

  #news:x:9:13:news:/var/spool/news:

  #uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

  #operator:x:11:0:operator:/root:/sbin/nologin

  #games:x:12:100:games:/usr/games:/sbin/nologin

  #gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

  #ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

  #vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin

  #rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin

  #rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin

  #nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

  #nscd:x:28:28:NSCD Daemon:/:/bin/false

  #radvd:x:75:75:radvd user:/:/bin/false

  去掉这些用户上出多余的rpm包

  rpm -e softname

  rpm -e autofs-3.1.7-28

  rpm -e gd-devel-1.8.4-4

  rpm -e up2date-2.7.86-7.x.3

  rpm -e pump

  rpm


上一篇:
  • 上一篇文章:
  • 下一篇
  • 下一篇文章: 没有了
  • 收藏此文到百度搜藏 百度搜藏| 新浪VIvi| 365key| Younote| 博采中心| 你好BLOG| 亿友网摘| 和讯网摘|
    相关文章    
    剖析Linux病毒工作过程和关键环节
    Linux在企业安全管理中的应用
    Linux下DNS服务器安装配置方法
    Linux 汇编语言开发指南 八、小结
    Linux 汇编语言开发指南 七、GCC 内联汇编
    Linux 汇编语言开发指南 六、命令行参数
    Linux 汇编语言开发指南 五、系统调用
    Linux 汇编语言开发指南 四、Linux 汇编工具
    Linux 汇编语言开发指南 三、Hello World!
    Linux 汇编语言开发指南 二、Linux 汇编语法
     
     
     
    最新文章
    普通文章 Linux系统安全机制进阶分析最新文章
    普通文章 剖析Linux病毒工作过程和关键环节最新文章
    普通文章 Win Vista对比XP驱动策略的区别最新文章
    普通文章 快车2.0 Beta 6新版发动BT提速革最新文章
    普通文章 Photoshop简单绘制一颗质感的卡通最新文章
    普通文章 Photoshop通道设计紫色梦幻效果最新文章
    普通文章 用Windows PE备份Vista系统最新文章
    普通文章 迅雷杀毒斩马悉数揭秘最新文章
    普通文章 RealPlayer11 的流媒体功能最新文章
    普通文章 Internet Explorer 8 全新的收藏最新文章
     
    热门文章
    推荐文章 Photoshop绘制卡通动漫娃娃
    推荐文章 Photoshop绘制逼真绚丽的金鱼
     
     
    设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 

    版权所有2006-2008 龙腾教程网