扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
正如没有牢不可破的盾一样,没有任何的系统是绝对安全的。同样在安全领域中,也没有谁可以说自己是高手。系统的安全是靠很多前辈的汗水和智慧来换取的。系统的安全涉及方方面面。无论是银行还是电话系统,无论是MS Windows还是大众认为保险的Unix系统,无一例外都有安全问题。安全唯一的重点是系统有多少人在使用。系统的使用者越多,安全问题就越关键,其安全漏洞发现的速度也就需要越快。另外,系统的可伸缩性越好,支持的应用服务越多,安全问题也就越多。在MS Windows系统下会用鼠标的人参考网上的资料就可以设置系统的安全或者破坏系统。安全设置是一把双刃剑,一边是可以撕破不设防的系统、毁掉数据,一边是阻挡非法的入侵、保护数据。这个边界就是Nuker和Hacker的区别。
Linux是开放源码的系统,安全可以从代码级加强,但是对于刚接触Linux系统的人来讲,这就太复杂了。企业要想把Linux作为桌面操作系统来使用,设置就一定和服务器不同。服务器可能是使用在Internet上,不论是其防火墙、代理服务器还是其他应用,安全设置着重在关键应用上,而桌面的应用重点就不一样了。
针对市面上常见的Mandrake、Red Hat、SuSE、Debian,安全设置的方式不尽相同,但是方法是一致的。基于中国市场用户很多的Red Hat为例,下面将以200~300人规模的公司使用Red Hat Linux为桌面操作系统为环境,一步步地设置系统安全,其中也会提及周边资源的配置。
硬件的安全
机箱需要上锁。任何系统一旦在物理上有所接触,安全性至少降低一半。因为任何人都可以把硬盘卸下来,到其它的系统上读取数据,破坏安全防护。因此桌面机和服务器一样,要尽可能的避免物理接触。
BIOS的安全
虽然有很多种工具可以读取BIOS的密码,并且也有很多的BIOS有通用密码,但是设置BIOS的密码保护是必要的步骤。使用的密码尽量符合8位以上,数字、符号和字母的大小写组合,并且不要和任何系统密码相同。如果担心被窃取后导致全部机器降低安全性,可以考虑加入个性化密码位。比如:用该机器的人的姓名缩写或机器的唯一编号组合前面的密码,就可以成为较为好记忆,且满足复杂性和唯一性要求的密码。
启动设置
一旦系统安装完毕,除了硬盘启动外,软盘、光盘、甚至是USB闪存的启动都可能带来安全的问题。因此需要禁止BIOS中除硬盘以外的任何设备的启动。
系统分区
目前的硬盘都可以满足Linux对容量的要求。以20~40GB硬盘为例,不需要额外的分区方法,使用Red Hat的自动分区可以满足要求。具体分区方法为40MB的启动分区(/boot),2倍于内存的交换分区(swap),剩余为根分区(/)。不将/home目录和/var目录分出来的原因是:因为是单用户使用,系统分区过多会增加管理复杂度,比如/var分区满导致系统异常。简单分区可以满足用户使用。
安装
请避免完全安装,即Everything选项。前面提到过系统提供的服务越多,漏洞越多,安全越差。安装尽可能使用非交互式安装,比如制作安装软盘、通过NFS或安装脚本。用户直接参与的越少,可管理性越强。主机命名使用统一规则,比如公司的E-mail地址和分机编号,这样便于排错和定位。IP地址也尽量使用静态地址或使用MAC地址绑定的DHCP,这样任何的异常都可以很快排除符合要求的机器。注意使用ext3文件系统,可以减少因为掉电导致的硬盘丢失数据而无法启动。
账号和中心控制
进行账号和中心控制使用NIS也许是不错,但也是增加管理复杂度的选择。如果使用环境是单一用户登录,文件由服务器共享,那么不使用NIS而使用单一用户本机登录也是一个好选择。当然,现在不仅仅是NIS一种中心账号管理方式可以选择。本机的账号需要使用用户的公司E-mail地址为登录名,当然还要有管理员的账号,但是不要将本地账号加入本地管理员组。有多个本机root权限账号本身就是危险的行为。
启动加载程序
启动加载程序尽量使用GRUB而不使用LILO。原因是:虽然它们都可以加入启动口令,但是LILO在配置文件中是使用明文口令,而GRUB是使用md5算法加密的。加密码保护后可以防止使用被定制的内核来启动系统,并且在没有其他操作系统的情况下,将启动等待时间设为0。LILO的配置在/etc/lilo.conf文件中,GRUB的配置文件
在/boot/grub/grub.conf中:
/etc/lilo.conf
image=/boot/2.4.18-vmlinuz
label=Linux
read-only
# 口令为明文
password=Clear-TextPassword
# 加入保护
restricted
/boot/grub/grub.conf
# 修改启动时间为0,即直接启动
timeout 0
# 可以使用grub-md5-crypt来生--md5后的加密口令
password --md5 $1$LS8eV/$mdN1bcyLrIZGXfM7CkBvU1
使用sudo/etc/sudoers sudo [-bhHpV] [-s ] [-u <用户>] [指令] 或sudo [-klv] |
/etc/pam.d/su # 使用密码验证 auth sufficient /lib/security/pam_wheel.so debug # 限制wheel组用户才可以切换到root auth required /lib/security/pam_wheel.so use_uid |
/etc/login.defs #登录密码有效期90天 PASS_MAX_DAYS 90 #登录密码最短修改时间,增加可以防止非法用户短期更改多次 PASS_MIN_DAYS 0 #登录密码最小长度8位 PASS_MIN_LEN 8 #登录密码过期提前7天提示修改 PASS_WARN_AGE 7 #登录错误时等待时间10秒 FAIL_DELAY 10 #登录错误记录到日志 FAILLOG_ENAB yes #当限定超级用户管理日志时使用 SYSLOG_SU_ENAB yes #当限定超级用户组管理日志时使用 SYSLOG_SG_ENAB yes #当使用md5为密码的加密方法时使用 MD5_CRYPT_ENAB yes |
/etc/securetty vc/1 vc/2 vc/3 vc/4 vc/5 vc/6 vc/7 vc/8 vc/9 vc/10 vc/11 |
#tty1 #tty2 #tty7 #tty8 #tty9 |
/etc/profile #限制键入命令的历史记录在20条内,这是类似doskey的功能 HISTSIZE = 20 #限制记录键入命令历史的文件大小 HISTFILESIZE = 20 #设定终端窗口无任何操作时600秒后退出,该设置不适用于所有窗口 TMOUT =600 |
/bin/su /bin/ps /bin/rpm /usr/bin/top /sbin/ifconfig /bin/mount |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
去集群 更超群——大容量网络演进之路
2019 IBM 中国论坛
H3C 2019 Navigate 领航者峰会
助推数据中心网络现代化转型 打造灵活可靠基础架构平台