Linux系统PPT安全详解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

•编辑su文件(vi /etc/pam.d/su)在文件的头部加入下面两行:
auth sufficient /lib/security/pam_rootok.so debug auth required /lib/security/pam_wheel.so group=wheel 然后把您想要执行su成为root的用户放入wheel组 [root@sound]# usermod -G10 admin
三、 口令和帐号安全
修改密码长度 在你安装linux时默认的密码长度是5个字节。但这并不够, 要把它设为8。修改最短密码长度需要编辑login.defs文件 (vi /etc/login.defs),把下面这行
PASS_MIN_LEN 5 改为 PASS_MIN_LEN 8 login.defs文件是login程序的配置文件。
七、替换常见网络服务应用程序
1.WuFTPD/WuFTPD
WuFTD从1994年就开始就不断地出现安全漏洞,黑客很容易就可以获 得远程root访问(Remote Root Access)的权限,而且很多安全漏洞甚 至不需要在FTP服务器上有一个有效的帐号。最近,WuFTP也是频频出现 安全漏洞。 它的最好的替代程序是ProFTPD。 ProFTPD的优点:
二、 LILO安全
LILO是LInux LOader的缩写,它是LINUX的启动模块。 可以通过修改“/etc/lilo.conf”文件中的内容来进行配置。 在“/etc/lilo.conf”文件中加入下面三个参数:timeout,restricted,password。这三个参数可以使你的系统在 启动lilo时就要求密码验证。 配置步骤:
•编辑lilo.conf文件(vi /etc/lilo.comf),假如或改变这三个参数 。
boot=/dev/hda map=/boot/map install=/boot/boot.b time-out=00 #把这行改为00 prompt Default=linux
二、 LILO安全
restricted #加入这行 password= #加入这行并设置自己的密码 image=/boot/vmlinuz-2.2.14-12 label=linux initrd=/boot/initrd-2.2.14-12.img root=/dev/hda6 read-only 因为“/etc/lilo.conf”文件中包含明文密码,所以要把它设置为 root权限读取。 [root@kapil /]# chmod 600 /etc/lilo.conf 更新系统,以便对“/etc/lilo.conf”文件做的修改起作用。 [Root@kapil /]# /sbin/lilo –v 使用“chattr”命令使“/etc/lilo.conf”文件变为不可改变。 [root@kapil /]# chattr +i /etc/lilo.conf 这样可以防止对“/etc/lilo.conf”任何改变(以外或其他原因)
五、限制网络访问
避免显示系统和版本信息 如果你希望远程登录用户看不到系统和版本信息,可 以通过以下操作改变/etc/inetd.conf文件:
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h 加-h表示telnet不显示系统信息,而仅仅显示"login:"。
六、防止攻击
阻止ping 如果没人能ping通你的系统,安全性自然增加了。为 此,可以在/etc/rc.d/rc.local文件中增加如下一行: echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all 防止IP欺骗 编辑host.conf文件并增加如下几行来防止IP欺骗攻击。 order bind,hosts multi off nospoof on
第一章 Linux系统安全
一.BIOS安全 二.LILO安全 三.口令和帐号安全 四.取消不必要的服务 五.限制网络访问 六.防止攻击 七.替换常见网络服务应用程序 八.防火墙 九.常见安全工具
一、BIOS安全
一定要给Bios设置密码,以防通ຫໍສະໝຸດ Baidu在Bios中改 变启动顺序,而可以从软盘启动。
这样可以阻止别人试图用特殊的启动盘启动你 的系统,还可以阻止别人进入Bios改动其中的设置 (比如允许通过软盘启动等)。

四、取消不必要的服务
察看“/etc/inetd.conf”文件,通过注释取消所有你不需要的服务(在 该服务项目之前加一个“#”)。然后用“sighup”命令升级“inetd.conf” 文件。 更改“/etc/inetd.conf”权限为600,只允许root来读写该文件。 # chmod 600 /etc/inetd.conf 确定“/etc/inetd.conf”文件所有者为root。 编辑 /etc/inetd.conf文件(vi /etc/inetd.conf),取消不需要 的服务:shell, login, exec, talk, ntalk, imap, pop-2, pop-3, finger, auth等等。 # grep -v "#" /etc/inetd.conf 用chattr命令把/ec/inetd.conf文件设为不可修改,这样就没人可以 修改它: # chattr +i /etc/inetd.conf 察看哪些服务在运行: # netstat -na --ip
五、限制网络访问
登录终端设置 /etc/securetty文件指定了允许root登录的tty设备,由 /bin/login程序读取,其格式是一个被允许的名字列表, 你可以编辑/etc/securetty且注释掉如下的行:
tty1 # tty2 # tty3 # tty4 # tty5 # tty6 这时,root仅可在tty1终端登录。
• • •


五、限制网络访问
NFS访问
使用NFS网络文件系统服务,应该确保你的/etc/exports具有 最严格的访问权限设置,也就是意味着不要使用任何通配符、不 允许root写权限并且只能安装为只读文件系统。编辑文件 /etc/exports并加入如下两行:
/dir/to/export host1.mydomain.com(ro,root_squash) /dir/to/export host2.mydomain.com(ro,root_squash)
三、 口令和帐号安全
4.自动注销帐号的登录
root账户是具有最高特权的。如果系统管理员在离开系统之前忘记 注销root账户,那将会带来很大的安全隐患,应该让系统会自动注销。 通过修改账户中“TMOUT”参数,可以实现此功能。TMOUT按秒计算。 编辑你的profile文件(vi /etc/profile),在"HISTFILESIZE="后 面加入下面这行: TMOUT=300 如果系统中登陆的用户在5分钟内都没有动作,那么系统会自动注 销这个账户。你可以在个别用户的“.bashrc”文件中添加该值,以便系 统对该用户实行特殊的自动注销时间。 改变这项设置后,必须先注销用户,再用该用户登陆才能激活这个 功能。
三、 口令和帐号安全
打开密码的shadow支持功能 打开密码的shadow功能,来对password加密。 使用“/usr/sbin/authconfig” 工具打开shadow功能。 如果你想把已有的密码和组转变为shadow格式,可以分别 使用 “/usr/sbin/pwconv,/usr/sbin/grpconv ”命令。
五、限制网络访问
TCP_WRAPPERS
默认的,Redhat Linux允许所有的请求,这是很危险的。如 果用TCP_WRAPPERS来增强我们站点的安全性简直是举手之劳,你 可以将禁止所有的请求放入“ALL: ALL”到/etc/hosts.deny中, 然后放那些明确允许的请求到/etc/hosts.allow中,如: sshd: 192.168.1.10/255.255.255.0 gate.openarch.com 表示允许IP地址192.168.1.10和主机名gate.openarch.com允 许通过SSH连接 。 配置完成后,可以用tcpdchk检查: # tcpdchk tcpchk是TCP_Wrapper配置检查工具,它检查你的tcp wrapper配置并报告所有发现的潜在/存在的问题。
六、防止攻击
防止DoS攻击 对系统所有的用户设置资源限制可以防止DoS类型攻击。 如最大进程数和内存使用数量等。 例如,可以在/etc/security/limits.conf中添加如下几行: * hard core 0 * hard rss 5000 * hard nproc 20 然后必须编辑/etc/pam.d/login文件检查下面一行是 否存在。 session required /lib/security/pam_limits.so 命令禁止core files“core 0”,限制进程数为“nproc 50“,且限制内存使用为5M“rss 5000”。
三、 口令和帐号安全
5.禁止任何人通过su命令改变为root用户
su(Substitute User替代用户)命令允许你成为系统中其他已 存在的用户。如果你不希望任何人通过su命令改变为root用户或 对 某 些 用 户 限 制 使 用 su 命 令 , 你 可 以 在 su 配 置 文 件 ( 在 “/etc/pam.d/”目录下)的开头添加下面两行:
首先要确认/etc/inetd.conf的所有者是root,且文件权限设 置为600,命令是:
# chmod 600 /etc/inetd.conf
然后,编辑/etc/inetd.conf禁止以下服务,命令是: ftp telnet shell login exec talk ntalk imap pop-2 pop-3 finger auth 为了使改变生效,运行如下命令: #killall -HUP inetd

• •
三、 口令和帐号安全
1.删除所有的特殊账户
应该删除所有不用的缺省用户和组账户(比如lp, sync, shutdown, halt,mail; 不用sendmail服务器可删除帐号 news, uucp, operator, games; 不用X windows 服务器可删掉帐号 gopher 删除用户: [root@kapil /]# userdel LP 删除组: [root@kapil /]# groupdel LP
/dir/to/export 是你想输出的目录,host.mydomain.com是登录这个 目录的机器名,ro意味着mount成只读系统,root_squash禁止root 写入该目录。 为了使改动生效,运行如下命令: # /usr/sbin/exportfs -a
五、限制网络访问
Inetd设置
•删除语法:
三、 口令和帐号安全
2.取消普通用户的控制台访问权限 应该取消普通用户的控制台访问权限,比如shutdown、 reboot、halt等命令。
[root@kapil /]# rm -f /etc/security/console.apps/xx(xx是你要 注销的程序名)
3.口令安全
杜绝不设口令的帐号存在 杜绝不设口令的帐号存在可以通过查看/etc/passwd文件发现。 例如: test::100:9::/home/test:/bin/bash 第二项为空,说明test这个帐号没有设置口令,这是非常危险 的!应将该类帐号删除或者设置口令。
三、 口令和帐号安全
修改一些系统帐号的Shell变量 系统帐号如uucp,ftp和news等,还有一些仅仅需要FTP功 能的帐号,一定不要给他们设置/bin/bash或者/bin/sh等 Shell变量。 方法: 可以在/etc/passwd中将它们的Shell变量置空,例如 设为/bin/false或者/dev/null等, 也可以使用usermod -s /dev/null username命令来更 改username的Shell为/dev/null。 这样使用这些帐号将无法Telnet远程登录到系统中来!
相关文档
最新文档