定制安全的Linux系统的服务平台(4)

发表于:2007-05-26来源:作者:点击数: 标签:
灾难恢复 尽管已经采用了许多的 安全 措施来保护主机稳定运行,但是遇到一些意外情况,如停电、硬件故障或地震等仍有可能发生系统崩溃事件。要想在最短时间内恢复系统,必须事先做好备份工作。 在进行备份之前,首先要选择合适的备份策略,包括何时需要备份

灾难恢复

尽管已经采用了许多的安全措施来保护主机稳定运行,但是遇到一些意外情况,如停电、硬件故障或地震等仍有可能发生系统崩溃事件。要想在最短时间内恢复系统,必须事先做好备份工作。

在进行备份之前,首先要选择合适的备份策略,包括何时需要备份,以及出现故障时进行恢复的方式。通常使用的备份方式有三种:

1.完全备份

每隔一定时间就对系统进行一次全面的备份,这样在备份间隔期间出现数据丢失等问题,可以使用上一次的备份数据恢复到前次备份时的数据状况。

2.增量备份

首先进行一次完全备份,然后每隔一个较短时间进行一次备份,但仅备份在这个期间更改的内容。这样一旦发生数据丢失,首先恢复到前一个完全备份,然后按日期逐个恢复每天的备份,就能恢复到前一天的情况。这种备份方法比较经济。

3.累计备份

这种备份方法与增量备份相似,首先每月进行一次完全备份,然后备份从上次进行完全备份后更改的全部数据文件。一旦发生数据丢失,使用一个完全备份和一个累计备份就可以恢复故障以前的状态。累计备份只需两次恢复,因此它的恢复工作相对简单。

式 备份内容 工作量 恢复步骤 恢复速度 优缺点

完全备份 全部内容 大,慢 一次操作 很快 占用空间大,恢复快

增量备份 每次修改后的单个内容 小,很快 多次操作 中 空间小,恢复麻烦

累计备份 每次修改后的所有内容 中,快 二次操作 快 空间较小,恢复快

增量备份和累计备份都能以比较经济的方式对系统进行备份。如果系统数据更新不是太频繁的话,可以选用累计备份。如果系统数据更新太快,使每个备份周期后的几次累计备份的数据量相当大,这时候可以考虑增量备份或混用累计备份和增量备份的方式,或者缩短备份周期。下面是一个有效的备份方式供参考。

假设备份介质为支持热插拔的硬盘,挂接在/backup目录下:

# tar zcvf /backup/bp_full.tar.gz /*(先做一个完全备份)

# find / -mtime -7 -print > /tmp/filelist(找出7天内修改过的文件)

# tar -c -T /tmp/filelist -f /backup/bp_add.tar.gz(每隔7天做增量备份)

其它建议和技巧

1.用密码保护单用户模式。

# vi /etc/lilo.conf

restricted

password="I am admin"

2.修改/etc/inittab文件。

# ca::ctrlaltdel:/sbin/shutdown -t3 -r now

#表示取消Alt+Ctrl+Delete重启机器

3.删除登录信息(不显示内核版本,主机名,发行版本号及一些后台进程的版本号),这样可以从一定程度上防止别有用心的探测。

# cat /dev/null > /etc/issue

# cat /dev/null > /etc/issue.net

# cat /dev/null > /etc/motd

4.设置密码属性,包括有效时间(-e)、失效时间、警告时间(-w)等。修改缺省的密码长度。

# vi /etc/login.defs

PASS_MAX_DAYS 99999(设置密码有效期限)

PASS_MIN_DAYS 0  (设置修改密码的最少时间段)

PASS_MIN_LEN 5  (修改密码设置的长度)

PASS_WARN_AGE 7  (修改改变密码的告警时间)

修改为:

PASS_MAX_DAYS 30  (30天后必须重新设置)

PASS_MIN_LEN   8  (密码长度不得少于8位)

5.默认账号的管理。查看/etc/passwd 文件,删除多余的账号,检查有没有除root外UID、GID为0的其它非法用户。

6.如果正在接手的是一个新的服务器,那么对原先的配置必须有深刻的了解。要删除一些旧的系统账户应注意以下问题:

(1) 删除用户与其home目录

# userdel -r good

(2) 删除用户未接收的邮件

# rm /var/spool/mail/good

(3) 删除由此用户在后台执行的程序

# ps -aux|grep "good"

# kill PID

(4) 删除crontab 任务

# crontab -l good

# crontab -d good

7.应该取消普通用户的控制台访问权限,比如shutdown、reboot、halt等命令。

# rm -f /etc/security/console.apps/*

*表示要注销的程序名,如halt、shutdown

8.修改/etc/profile文件中的“HISTFILESIZE”和“HISTSIZE”行,确定所有用户的.bash_history文件中可以保存的旧命令条数。编辑profile文件(vi /etc/profile),把下面这行改为:

HISTFILESIZE=30

HISTSIZE=30

表示每个用户的.bash_history文件只可以保存30条旧命令。

9.编辑.bash_logout文件。

# vi /etc/skel/.bash_logou(添加下面这行)

# rm -f $HOME/.bash_history

这样,当用户每次注销时,.bash_history文件自动被删除。

随着越来越多的人对Linux的关注和使用,Linux的应用前景将会越来越美好。同时我们也应该清楚地认识到,一方面由于主流操作系统的发展和应用在不断壮大,导致黑客们对Linux操作系统的兴趣日趋增加,攻击行为也不断增加;另一方面目前精通Linux在系统管理和网络管理安全方面应用的人才还为数不多,大部分网络管理员的安全措施都是建立在系统安装初期的安全等级上。由于此种安全级别是系统提供商的大众配置,在安全最大化上的情况并不乐观,因此,如何量身定制适合于不同应用环境的系统平台才是管理员真正需要花时间和精力去努力的。希望这篇文章能起到抛砖引玉的作用,给正在从事网络管理和系统管理的朋友们做个参考!

原文转自:http://www.ltesting.net