要研究Linux安全,首先需要安全的安装LINUX系统。 1 LINUX服务器的安全安装(这里假定您已经对您的服务器硬件设备很了解) 首先创建启动盘,引导Linux 。(在次之前,我建议最好去RedHat Linux的勘误网站去下载特殊的软盘镜像) 在windows下打开MS-DOS方式(开始 | 程序 | MS-DOS方式): C:$#@62; d: D:$#@62; cd dosutils D:dosutils$#@62; rawrite Enter disk image source file name: ..imagesroot.img Enter target diskette drive: a: Please insert a formatted diskette into drive A: and press --ENTER-- : D:dosutils$#@62; 当rawrite.exe要求输入软盘镜像的时候,输入完整的boot.img的路径名,把软盘插入A驱。当程序问你把镜像写入哪个软盘驱动器的时候,输入a:。 因为我们不能从CDROW启动,所以我们用软驱启动。把软盘插入A:驱,然后重新启动计算机。当出现boot:的时候,按下回车键,继续引导。 * 选择语言 * 选择键盘类型 * 选择鼠标类型 再选择安装类型的时候,我建议选择自定义安装。 分区是一个头疼的问题,我吐血建议在分区之前,备份你当前的系统先。 (1)使用Disk Druid分区工具 Disk Druid是RedHat Linux带的一个分区工具。选择“Add”添加新的分区,“Edit”改变分区,“Delete"删除分区,“Reset”恢复原来的分区状态。在添加一个新分区的时候,会出现一个窗口,要求你添上有关这个分区的一些必要的信息。要求添的信息是: * Mount Point: 分区装载(mount)的目录 * Size: 分区的大小,以兆为单位 * Partition Type: 分区类型。Linux的文件系统要使用Linux native类型的分区,Linux交换分区请用Linux Swap类型。 如果你有一个SCSI硬盘,那么这个设备的名称将是“/dev/sda”;如果你有一个IDE硬盘,那么这个设备名称将是“/dev/hda”。如果很在意系统的高性能和稳定性,我们建议你用SCSI硬盘。 Linux分区的命名方式是字母和数字相结合的,这种命名方式很灵活也很直观。下面是一个小小的总结: * 前两个字母:前两个字母表示设备类型,“hd”代表IDE硬盘,“sd”表示SCSI硬盘 * 第三个字母:这个字母是说明具体的设备。例如:“/dev/hda”表示第一个IDE硬盘;“/dev/hdb”表示第二个IDE硬盘。 请记住这些,这样给Linux分区的时候,会觉得容易一些也不会混淆。 (2)交换分区 交换分区是用于虚拟内存的。如果计算机的内存少于16M,你必须创建交换分区。即使有更多的内存,我们还是建议你建立交换分区。交换分区最小必须等于计算机的内存,如果内存多于16M,最小只要16M就行了。交换分区最大大约为1GB,(Linux 2.2内核现在可以支持1GB的交换文件,如果多于1GB就是浪费)。注意:可以创建多于一个的交换分区,尽管只有在安装大型服务器的时候才有这个必要。尽量把交换分区放在硬盘驱动器的起始位置,因为一个磁盘的起始位置在物理上是在最外的柱面上,所以磁头每转一圈可以覆盖更大的面积。 分区完毕之后,你可以在屏幕上看到类似的信息: Mount Point Device Requested Actual Type /boot sda1 5M 5M Linux Native /usr sda5 1000M 1000M Linux Native /home sda6 500M 500M Linux Native /chroot sda7 400M 400M Linux Native /cache sda8 400M 400M Linux Native /var sda9 200M 200M Linux Native Swap sda10 150M 150M Linux Swap /tmp sda11 100M 100M Linux Native / sda12 316M 315M Linux Native Drive Geom [C/H/S] Total (M) Free (M) Used (M) Used (%) sda [3079/64/32] 3079M 1M 3078M 99% 现在,选择“Next”继续安装。分区创建完之后,安装程序会让你格式化分区。选择想要格式化的分区,选中“Check for bad blocks during format”选择框,按“Next”继续。这样就开始格式化分区,并且激活分区。Linux就可以使用这个分区了。 下一步如果选择安装LILO,你会看到LILO的配置。可以选择把LILO装在主引导扇区(MBR),或引导分区的第一个扇区。 在通常情况下,应该选择把LILO安装在主引导扇区。(如果你的计算机上装有NT,或一些多重引导程序,如System Command,你最好仔细看一遍LILO-HOWTO,以免不必要的损失)。然后,开始配置网络和时钟。接着,要输入root口令和进行安全验证的配置。不要忘了选上: * Enable MD5 passwords * Enable MD5 passwords 没有必要选择Enable NIS,因为我们不在这台服务器上安装NIS服务。 关于Linux安全的研究(二) 作者:Feardark 发布日期:28/3/2002 上文我们已经安装了Linux系统,由于RedHat Linux在默认情况下会安装一些预置的软件,而且在安装的过程中,不能够选择不安装。因此,必须在安装完成之后卸载下面这些软件:isapnptools,redhat-logos ,pump,apmd ,kernel-pcmcia-cs,mt-st,setserial ,eject,gd,kudzu,linuxconf,getty_ps,pciutils ,mailcap,gnupg,setconsole。 use command :[root@deep]# rpm -e softwarenames apmd、kudzu和sendmail是daemon进程,在卸载它们之前最好先停止这些进程。 停止这些进程用如下的命令: [root@deep]# /etc/rc.d/init.d/apmd stop [root@deep]# /etc/rc.d/init.d/sendmail stop [root@deep]# /etc/rc.d/init.d/kudzu stop 由于本文着重介绍安全问题,所以就不介绍这些软件的作用了。 我们卸载了一系列的软件,同时我们也需要安装一些必要的软件。为了可以在你的服务器上编译软件,你还必须安装下面的RPM软件包。这部分安装是非常重要的,要求你安装所有如下所述的软件包。所有的这些软件都在RedHat 6.1第一张光盘的/RedHat/RPMS目录下,而且都是使你的Linux系统能够编译程序所必须要的。 首先,先mount 上CD-ROM驱动器,转到RPMS子目录下。mount CD-ROM驱动器和转到RPMS目录,use command: [root@deep]# mount /dev/cdrom /mnt/cdrom/ [root@deep]# cd /mnt/cdrom/RedHat/RPMS/ we need these softwares: autoconf-2.13-5.noarch.rpm m4-1.4-12.i386.rpm automake-1.4-5.noarch.rpm dev86-0.14.9-1.i386.rpm bison-1.28-1.i386.rpm byacc-1.9-11.i386.rpm cdecl-2.5-9.i386.rpm cpp-1.1.2-24.i386.rpm cproto-4.6-2.i386.rpm ctags-3.2-1.i386.rpm egcs-1.1.2-24.i386.rpm ElectricFence-2.1-1.i386.rpm flex-2.5.4a-7.i386.rpm gdb-4.18-4.i386.rpm kernel-headers-2.2.12-20.i386.rpm glibc-devel-2.1.2-11.i386.rpm make-3.77-6.i386.rpm patch-2.5-9.i386.rpm PS:The best choice is install these software in same time because its always made something wrong when you installing the RPM Second:Install these software you can use command that is; [root@deep]# rpm -Uvh autoconf-2.13-5.noarch.rpm m4-1.4-12.i386.rpm automake-1.4-5.noarch.rpm dev86-0.14.9-1.i386.rpm bison-1.28-1.i386.rpm byacc-1.9-11.i386.rpm cdecl-2.5-9.i386.rpm cpp-1.1.2-24.i386.rpm cproto-4.6-2.i386.rpm ctags-3.2-1.i386.rpm egcs-1.1.2-24.i386.rpm ElectricFence-2.1-1.i386.rpm flex-2.5.4a-7.i386.rpm gdb-4.18-4.i386.rpm kernel-headers-2.2.12-20.i386.rpm glibc-devel-2.1.2-11.i386.rpm make-3.77-6.i386.rpm patch-2.5-9.i386.rpm 第三:为了让这些改变都生效,必须退出然后再登陆,命令: [root@deep]# exit 安装和编译完在服务器上需要的所有软件之后,最好把上面几步安装的软件包都卸掉,除非有什么特殊的需要。这样做,其中一个原因是:如果黑客成功地入侵了你的服务器,他也不可能用上面这些软件来编译软件或改变二进制程序。同时,把它们卸载掉也释放了很多磁盘空间,这样当进行系统的安全性和一致性检查的时候,可以加快扫描所有文件的时间(文件少了)。 因为我们选择定制安装我们的Linux系统, 下面是服务器上已安装的程序列表。这个列表必须和/tmp目录下的install.log文件一致,否则你就是没装全。上面提到的那些软件是我们必须的。 使你的软件保持最新的版本 为了使你的软件保持最新的版本,请定期查看RedHat Linux的勘误网页http://www.redhat.com/corp/support/errata/index.html。勘误网页通常可以解决90% RedHat Linux的系统问题。而且,RedHat在得到安全漏洞的通知之后,如果已经找到解决方案了,就会在24小时之内,在勘误网站上发布出来。必须经常查看这个地方。RedHat Linux服务器现在必须更新的软件是: groff-1_15-1_i386.rpm sysklogd-1_3_31-14_i386.rpm inits cripts-4_70-1_i386.rpm e2fsprogs-1.17-1.i386.rpm pam-0_68-10_i386.rpm L (责任编辑:IT) |