为Linux操作系统安装套件强化系统安全

内容摘要:

本文介绍系统安全防护策略,让系统管理员借以阻绝入侵者。针对不同的Linux系统,讨论一些改善方式。

导读

不少人开始广泛谈论入侵网路主机的话题,而Linux与FreeBSD 则成为近日主要的攻击对象,包括像 imapd与BIND 程式里的buffer overflow 问题。每天,各式各样的「系统漏洞」,都会在 BUGTRAQ 邮递论坛中宣布,此一邮递论坛已有将近 20,000 位订阅者。( 若是您只想订阅一份系统安全相关的邮递论坛,那麽这个不容错过 )。

假设上述的19,305 位订阅者当中,有至少一位打算写个 for() 回圈,配合公开的系统漏洞攻击程式,藉以快速取得网路上主机的控制权... 事实上这样的假设并不为过。

如此一来,您的电脑早晚会成为下一个遭受攻击的目标,到时候,您可能就措手不及了。

或许有些「专家」已经让您以为,安装及维护一部安全的电脑,有如「太空科学」般地复杂,事实上没那麽难啦。拥有一套完善而健全的系统管理措施,才能保障您免於来自全球网路的威胁,而本文讨论的便是,我在规画 Red Hat Linux 网路系统时,一般会采取的预防措施。虽然文中提供了保障系统安全的指引,但它绝不是一份完整的参考说明。

下列的步骤,用意在使您的系统,不要成为网路程式安全漏洞公开後的受害者。请特别注意: 如果您不确定清楚自己在做什麽,那麽就别动手。有些步骤是假设,您已经具备程度之上的相关知识。文末另外还附上一些建议的参考读物。

系统安全之实作步骤

1. 将系统中所有没必要的网路服务全部移除。可以连到您电脑的方式越少,表示入侵者恶闯的途径越少。把 /etc/inetd.conf 档案中,所有不需要的项目都加注取消,如果系统并不需要 telnet,那就将它取消,诸如 ftpd、rshd、rexecd、gopher、chargen、echo、pop3d 等,也是同样的处理原则。改完 inetd.conf 档案後,别忘了要做个 'killall -HUP inetd' 动作。另外,也别忽略 /etc/rc.d/init.d 目录里的东西,有些网路服务 ( 像 BIND、印表机伺服程式 )是独自执行的程式,透过目录里的命令稿来启动。

2. 安装 SSH。SSH是一个用来取代 'r'系列指令的程式,原本那些 Berkeley 版本的程式已经老旧了。Ssh (Secure Shell)是一个用来登入网路主机、在远端主机上执行指令、或是在两台主机间搬移档案的程式。它提供了强大的认证功能,并确保能够在网路上进行安全的资料通讯。它额外还能够处理一些事情,可能会是有心钻研之高手所感兴趣的。请由 http://ftp.rge.com/pub/ssh 下载 SSH 程式。

3. 使用 vipw(1) 把所有不淮登入的帐号全都锁起来。值得注意的是,那些没有指定 login shell 的帐号,Red Hat Linux 会预设将它们指定为 /bin/sh,这种情况可能不是你所期望的。同时要确定,您的使用者帐号中没有把密码栏给空下来,下列是一个正常之密码档案的部份内容:daemon:*:2:2:daemon:/sbin:/bin/sync
adm:*:3:4:adm:/var/adm:/bin/sync
lp:*:4:7:lp:/var/spool/lpd:/bin/sync
sync:*:5:0:sync:/sbin:/bin/sync
shutdown:*:6:0:shutdown:/bin:/sync
halt:*:7:0:halt:/sbin:/bin:/sync
mail:*:8:12:mail:/var/spool/mail:/bin/sync
news:*:9:13:news:/var/spool/news:/bin/sync
uucp:*:10:14:uucp:/var/spool/uucp:/bin/sync
operator:*:11:0:operator:/root:/bin/sync
games:*:12:100:games:/usr/games:/bin/sync
gopher:*:13:30:gopher:/usr/lib/gopher-data:/bin/sync
ftp:*:14:50:FTP User:/home/ftp:/bin/sync
nobody:*:99:99:Nobody:/:/bin/sync

4. 移除所有 root 所拥有之程式的's' 位元权限,如果它根本不需要这样的权限。这个动作可以由 'chmod a-s' 指令完成,後面接的参数,便是您要改的档名。

上述所提之程式包括以下各类,但不限于此,您从来不会去使用的程式; 您不希望 root 之外的使用者会去执行的程式 偶而会用,但以 su(1) 变成 root 再去执行,也无所谓的程式;我把自己会取消权限的程式列在下面,并在前面放了星号 (*)。记住,由於您的系统仍然需要一些 suid root 的程式,才能正常地执行,因此要特别地小心。

另一种方式,您可以建立一个叫做 'suidexec' 的特殊群组名称,然後将可信赖的使用者帐号设在里面,使用 chgrp(1) 指令将所有 suid 的程式改成属於 suidexec 此一群组,并将其他使用者可以执行的权限除掉。# find / -user root -perm "-u+s"
*/bin/ping
*/bin/mount -- 应该只有 root 才可以挂上档案系统
*/bin/umount -- 同上
/bin/su -- 别乱改它啊!
/bin/login
/sbin/pwdb_chkpwd
*/sbin/cardctl -- PCMCIA 卡的控制工具程式
*/usr/bin/rcp -- 改用 ssh
*/usr/bin/rlogin -- 同上
*/usr/bin/rsh -- "
*/usr/bin/at -- 改用 cron,或两者都停用
*/usr/bin/lpq -- 改装 LPRNG
*/usr/bin/lpr -- "
*/usr/bin/lprm -- "
*/usr/bin/mh/inc
*/usr/bin/mh/msgchk
/usr/bin/passwd -- 别乱改它啊!
*/usr/bin/suidperl -- 每个新版的suidperl 好像都有
buffer overflow 的问题
*/usr/bin/sperl5.003 -- 只有必要时才用它
/usr/bin/procmail --
*/usr/bin/chfn
*/usr/bin/chsh
*/usr/bin/newgrp
*/usr/bin/crontab
*/usr/X11R6/bin/dga -- X11 里也有许多 buffer overflow 的问题
*/usr/X11R6/bin/xterm -- "
*/usr/X11R6/bin/XF86_SVGA -- "
*/usr/sbin/usernetctl
/usr/sbin/sendmail
*/usr/sbin/traceroute -- 您应该可以忍受偶而打一下 root 密码吧

时间: 2024-10-03 21:53:53

为Linux操作系统安装套件强化系统安全的相关文章

Linux操作系统安装图文配置教程详细版_Linux

随着嵌入式的发展,Linux的知识是必须的一部分,下面就让我们进行Linux系统的安装过程演示: 一. Linux的安装 在此博客中以红旗(Red Flag)Asianux Workstation 3为例进行描述,其他版本的Linux与此相似.1.1 安装方式      根据Linux系统在计算机中的存在方式,将Linux的安装分为单系统.多系统和虚拟机.      1.单系统安装.指在计算机中仅安装Linux系统,无其它操作系统.   2.多系统安装.指在同一台计算机中,除了安装Linux系统

linux操作系统安装sql developer步骤_Linux

1.安装 jdk 复制代码 代码如下: # cd/u01(把jdk文件放在此目录下) # chmod a+x jdk-6u41-linux-i586.bin # ./chmod a+x jdk-6u41-linux-i586.bin (提示授权说明,q跳过,然后输入yes,等待后即可完成安装) 2.打开/etc/profile,在profile文件末尾加入: 复制代码 代码如下: exportJAVA_HOME=/u01/jdk1.6.0_41 exportJAVA_BIN=/u01/jdk1.

戴尔DELL服务器的win2003操作系统安装方法

服务器里面装windows还真挺麻烦的,搜到个文章很不错,图文并茂,转载开始 注意:采用DOSA光盘引导和安装服务器系统,将使您服务器硬盘上的所有数据丢失,因此此方法仅供全新的服务器和确认数据有备份前提下的服务器安装 此安装方式仅支持零售版操作系统,如果是盗版光盘,如市面上常见的WINDOWS2003 3IN1版本则无法使用(DELL强烈建议您采用正版软件) 安装前请确认您的服务器光驱为DVD 首先,将随机配送的Systems Management Tools and Documentation

Ubuntu操作系统安装使用教程

Ubuntu是一个流行的Linux操作系统,基于Debian发行版和GNOME桌面环境,和其他Linux发行版相比,Ubuntu非常易用,和Windows相容性很好,非常适合Windows用户的迁移,预装了大量常用软件,中文版的功能也较全,支持拼音输入法,预装了Firefox. Open Office.多媒体播放.图像处理等大多数常用软件,一般会自动安装网卡.音效卡等设备的驱动,对于不打游戏不用网银的用户来说,基本上能用的功能都有了,在Windows操作系统下不用分区即可安装使用,就如同安装一个

3.0 Windows和Linux双系统安装(3)

3.0 Windows和Linux双系统安装(3) 3.1 精简的安装步骤如下:(如果已经有了前面两篇教程的安装经验,推荐看完3.1即可动手了) 双系统很多开发新人会用到,而且比起虚拟机好处是运行效率较高,提高产出比. 已经一口气写了好多字了,有了之前(1)(2)的铺垫那么久只要注意两点即可:(1)先安装Windows再安装Linux.(2)Windows安装过程分盘操作的(2)步骤,即预留200G或者其他50G以上的空间来就给Linux.(3)在Fedora安装时磁盘操作时,一定,一定,一定要

操作系统相关问题-关于操作系统安装的相关问题

问题描述 关于操作系统安装的相关问题 情形一 比如我现在有一台空白机器. 我有一张Linux安装光盘,我把光盘放到机器中,点开开机按钮,假设BIOS首先读到了这个光盘, 并把这个光盘中前一两个区块的内容读到了内存中,假设此时读入的内容为A. 情形二 假设我有一台电脑,里面已经装有Linux操作系统在硬盘中,我点开机按钮,假设BIOS首先读到了 这个硬盘,并把硬盘的前一二个扇区读入内存中,这读入内存的内容实际上是bootsector等 内容,设为B. 请问A,B有啥联系? A的主要作用是啥?是划定

如何加快Windows操作系统安装过程

如果是在DOS环境下安装Windows系统,应该安装之前运行磁盘高速缓存工具Smartdrv.exe,这样可以有效的提高Windows安装速度.如果在Windows环境下开始操作系统安装,则不需要这个操作.因为Windows有磁盘缓存管理功能. 由于使用兼容机,在安装新的Windows XP系统之前,如何测试这个新的操作系统与我的机器是不是兼容? 你可以首先访问微软的Windows XP硬件支持网站http://www.microsoft.com/hcl/,在此可以找到Windows XP可以支

操作系统安装日期怎么查询?

  操作系统安装日期查询方法大家可以来了解一下,下文将会演示xp/win7/win8系统安装日期查看方法,如果你也想知道自己电脑系统安装日期的话,就请参考下文吧. 很多用户对于自己的电脑系统是什么时候安装的都不记得,特别是在使用他人的电脑时,如果你感觉电脑运行速度很慢,多半是系统垃圾文件太多,软件更新导致.有用户反馈5年都没重装过自己的电脑系统,因此电脑运行速度很慢,这其中电脑老化淘汰是一部分原因,主要还是跟系统有关.系统运行速度慢,安装软件比较多,卸载的时候又怕出现问题,如垃圾清理不干净或误删

软raid安装操作系统安装不了

问题描述 软raid安装操作系统安装不了 软raid安装操作系统安装不了怀疑操作系统重装时原系统在硬盘中擦除不干净引起---但是为是什么使用"remove all partitions"选项还不能顺利完成系统安装 解决方案 Raid下安装操作系统 解决方案二: 把每个硬盘用dm或者mhdd擦除前5%,装回去,重新配置raid