linux服务器安全配置_第1页
linux服务器安全配置_第2页
linux服务器安全配置_第3页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、 linux 防火墙配置RedHatLinux 为增加系统平安性提供了防火墙保护。防火墙存在于你的计算机和网络之间, 用来判定网络中的远程用户有权访问你的计算机上的哪些资源。 一个正确配置的防火墙可以 极大地增加你的系统平安性。为你的系统选择恰当的平安级别。高级如果你选择了“高级,你的系统就不会承受那些没有被你具体指定的连接 (除了默认设置 外)。只有以下连接是默认允许的:DNS回应DHCP-任何使用 DHCP的网络接口都可以被相应地配置。如果你选择“高级",你的防火 墙将不允许以下连接:1活泼状态FTP在多数客户机中默认使用的被动状态FTP应该能够正常运行。)2.IRCDCC文

2、 件传输。3. RealAudio.4远程X窗口系统客户机。如果你要把系统连接到互联网上, 但是并不打算运行效劳器, 这是最平安的选择。 如果需要 额外的效劳,你可以选择“定制"来具体指定允许通过防火墙的效劳。注记:如果你在安装中选择设置了中级或高级防火墙,网络验证方法(NIS和LDAP将行不通。中级如果你选择了 “中级", 你的防火墙将不准你的系统访问某些资源。 访问以下资源是默认不 允许的:1. 低于 1023 的端口-这些是标准要保存的端口,主要被一些系统效劳所使用,例如:、telnet 、 、和 NIS.2. NFS效劳器端口(2049)-在远程效劳器和本地客户机上

3、,NFS都已被禁用。3. 为远程X客户机设立的本地 X窗口系统显示。4. X字体效劳器端口(xfs不在网络中监听;它在字体效劳器中被默认禁用 )。如果你想准许到 RealAudio 之类资源的访问,但仍要堵塞到普通系统效劳的访问,选择“中 级"。 你可以选择“定制"来允许具体指定的效劳穿过防火墙。注记:如果你在安装中选择设置了中级或高级防火墙,网络验证方法(NIS和LDAP将行不通。无防火墙无防火墙给予完全访问权并不做任何平安检查, 平安检查是对某些效劳的禁用。 建议你只有 在一个可信任的网络 (非互联网 )中运行时,或者你想稍后再进展详细的防火墙配置时才选此 项。选择“定

4、制"来添加信任的设备或允许其它的进入接口。信任的设备 选择“信任的设备"中的任何一个将会允许你的系统承受来自这一设备的全部交通;它不受防火墙规那么的限制。例如,如果你在运行一个局域网,但是通过PPP拨号连接到了互联网上,你可以选择“ eth0 ",而后所有来自你的局域网的交通将会被允许。把“ eth0"选为“信任的意味着所有这个以太网内的交通都是被允许的,但是ppp0 接口仍旧有防火墙限制。如果你想限制某一接口上的交通,不要选择它。建议你不要将连接到互联网之类的公共网络上的设备定为“信任的设备。允许进入 启用这些选项将允许具体指定的效劳穿过防火墙。 注意

5、: 在工作站类型安装中, 大多数这类 效劳在系统内没有被安装。DHCP如果你允许进入的 DHCP查询和回应,你将会允许任何使用 DHCP来判定其IP地址的网络接 口。DHCP通常是启用的。如果 DHCP没有被启用,你的计算机就不能够获取IP地址。SSHSecure(平安)SHell(SSH是用来在远程机器上登录及执行命令的一组工具。如果你打算使用SSH工具通过防火墙来访问你的机器,启用该选项。你需要安装openssh-server软件包以便使用SSH工具来远程访问你的机器。TelnetTelnet 是用来在远程机器上登录的协议。 Telnet 通信是不加密的,几乎没有提供任何防止来 自网络刺探

6、之类的平安措施。 建议你不要允许进入的 Telnet 访问。如果你想允许进入的 Telnet 访问,你需要安装 telnet-server 软件包。“)协议被Apache(以及其它万维网效劳器)用来进展网页效劳。如果你打算向公众开放你的 万维网效劳器, 请启用该选项。 你不需要启用该选项来查看本地网页或开发网页。 如果你打 算提供网页效劳的话,你需要安装d 软件包。启用“)将不会为S翻开一个端口。要启用S,在“其它端口"字段内注明。邮件 (SMTP)如果你需要允许远程主机直接连接到你的机器来发送邮件, 启用该选项。 如果你想从你的 ISP 效劳器中收取POP3或IMAP邮件,或者你使

7、用的是fetchmail之类的工具,不要启用该选项。 请注意,不正确配置的 SMTP效劳器会允许远程机器使用你的效劳器发送垃圾邮件。FTPFTP协议是用于在网络机器间传输文件的协议。如果你打算使你的 FTP效劳器可被公开利用,启用该选项。你需要安装 vsftpd 软件包才能利用该选项。其它端口 你可以允许到这里没有列出的其它端口的访问,方法是在“其它端口字段内把它们列出。 格式为:“端口:协议。例如,如果你想允许 IMAP 通过你的防火墙,你可以指定imap:tcp.你还可以具体指定端口号码,要允许UDP包在端口 1234通过防火墙,输入 1234: udp.要指定多个端口,用逗号将它们隔开。

8、窍门:要在安装完毕后改变你的平安级别配置,使用平安级别配置工具。在shell 提示下键入 redhat-config-securitylevel 命令来启动平安级别配置工具。如果你不是根用户,它会提示 你输入根口令后再继续。二、 linux 系统平安关于分区一个潜在的黑客如果要攻击你的 Linux 效劳器,他首先就会尝试缓冲区溢出。在过去的 几年中, 以缓冲区溢出为类型的平安漏洞是最为常见的一种形式了。更为严重的是, 缓冲区溢出漏洞占了远程网络攻击的绝大多数, 这种攻击可以轻易使得一个匿名的 Internet 用户有 时机获得一台主机的局部或全部的控制权!为了防止此类攻击,我们从安装系统时就应

9、该注意。如果用root 分区纪录数据,如 log文件和email,就可能因为拒绝效劳产生大量日志或垃圾邮件,从而导致系统崩溃。所以建 议为 /var 开辟单独的分区,用来存放日志和邮件,以防止 root 分区被溢出。最好为特殊的 应用程序单独开一个分区, 特别是可以产生大量日志的程序, 还有建议为 /home 单独分一个区,这样他们就不能填满 /分区了,从而就防止了局部针对Linux 分区溢出的恶意攻击。关于 BIOS记着要在BIOS设置中设定一个 BIOS密码,不接收软盘启动。 这样可以阻止不怀好意的 人用专门的启动盘启动你的 Linux系统,并防止别人更改BIOS设置,如更改软盘启动设置或

10、 不弹出密码框直接启动效劳器等等。关于口令口令是系统中认证用户的主要手段,系统安装时默认的口令最小长度通常为5,但为保证口令不易被猜想攻击,可增加口令的最小长度,至少等于8。为此,需修改文件/etc/login.defs中参数PASS_MIN_LE 口令最小长度。同时应限制口令使用时间,保证定 期更换口令,建议修改参数PASS_MIN_DAY 口令使用时间。关于 Ping既然没有人能 ping 通你的机器并收到响应,你可以大大增强你的站点的平安性。你可 以加下面的一行命令到 /etc/rc.d/rc.local ,以使每次启动后自动运行, 这样就可以阻止你的系 统响应任何从外部 /内部来的 p

11、ing 请求。echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all关于 Telnet如果你希望用户用Telnet远程登录到你的效劳器时不要显示操作系统和版本信息可以防止有针对性的漏洞攻击 ,你应该改写 /etc/inetd.conf 中的一行象下面这样:telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h加-h标志在最后使得tel net后台不要显示系统信息,而仅仅显示logi n。关于特权账号制止所有默认的被操作系统本身启动的且不需要的帐号, 当你第一次装上系统时就应该 做此检查

12、, Linux 提供了各种帐号,你可能不需要,如果你不需要这个帐号,就移走它,你 有的帐号越多,就越容易受到攻击。为删除你系统上的用户,用下面的命令: userdel username为删除你系统上的组用户帐号,用下面的命令: groupdel username在终端上打入下面的命令删掉下面的特权用账号:userdel admuserdel lpuserdel syncuserdel shutdownuserdel haltuserdel mail如果你不用 sendmail 效劳器,就删除这几个帐号:userdel newsuserdel uucpuserdel operatoruserde

13、l games如果你不用 X windows 效劳器,就删掉这个帐号。userdel gopher如果你不允许匿名 FTP,就删掉这个用户帐号:userdel ftp关于 su 命令如果你不想任何人能够 su 为 root 的话 ,你应该编辑 /etc/pam.d/su 文件,加下面几行: auth sufficient /lib-/security/pam_rootok-.so debugauth required /lib-/security/pam_wheel-.so group=isd这意味着仅仅 isd 组的用户可以 su 作为 root 。如果你希望用户 admin 能 su 作为

14、 root. 就运行下面的命令:usermod -G10 adminsuid程序也是非常危险的,这些程序被普通用户以euid=O即root丨的身份执行,只能有少量程序被设置为suid。用这个命令列出系统的suid二进制程序:suneagle# find / -perm -4000 -print你可以用 chmod -s 去掉一些不需要程序的 suid 位。关于账户注销如果系统管理员在离开系统时忘了从 root 注销,系统应该能够自动从 shell 中注销。那 么,你就需要设置一个特殊的 Linux 变量“ tmout ,用以设定时间。 同样,如果用户离 开机器时忘记了注销账户,那么可能给系统平

15、安带来隐患。你可以修改/etc/profile 文件,保证账户在一段时间没有操作后,自动从系统注销。编辑文件/etc/profile,在"hist"行的下一行增加如下一行 :tmout=600那么所有用户将在 10 分钟无操作后自动注销。注意:修改了该参数后,必须退出并重 新登录 root ,更改才能生效。关于系统文件对于系统中的某些关键性文件如 passwd、passwd.old 、passwd._、shadow、shadown._ 、 inetd.conf、services和lilo.conf等可修改其属性,防止意外修改和被普通用户查看。如将inetd文件属性改为 60

16、0:# chmod 600 /etc/inetd.conf这样就保证文件的属主为root,然后还可以将其设置为不能改变:# chattr +i /etc/inetd.conf这样,对该文件的任何改变都将被制止。你可能要问:那我自己不是也不能修改了?当然,我们可以设置成只有 root 重新设置复位标志后才能进展修改 :# chattr -i /etc/inetd.conf关于用户资源对你的系统上所有的用户设置资源限制可以防止 DoS 类型攻击,如最大进程数,内存 数量等。例如,对所有用户的限制, 编辑 /etc/security/limits.con 参加以下几行:* hard core 0*

17、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。关于NFS效劳器由于NFS效劳器漏洞比拟多,你一定要小心。如果要使用NFS网络文件系统效劳,那么确保你的 /etc/exports 具有最严格的存取权限设置,不意味着不要使用任何通配符,不允 许 root 写权限, mount 成只读文件系统。你可以编

18、辑文件/etc/exports 并且加:/dir/to/export host1.mydomain (ro,root_squash)/dir/to/export host2.mydomain (ro,root_squash)其中 /dir/to/export 是你想输出的目录, host.mydomain 是登录这个目录的机器名, ro 意味着 mount 成只读系统, root_squash 制止 root 写入该目录。 最后为了让上面的改变生 效,还要运行 /usr/sbin/exportfs -a关于开启的效劳默认的 linux 就是一个强大的系统,运行了很多的效劳。但有许多效劳是不需要

19、的,很 容易引起平安风险。 这个文件就是 /etc/inetd.conf ,它制定了 /usr/sbin/inetd 将要监听的效劳, 你可能只需要其中的两个: telnet 和 ftp ,其它的类如 shell, login, exec, talk, ntalk, imap, pop-2, pop-3, finger, auth, etc. 除非你真的想用它。否那么统统关闭之。你先用下面的命令显示没有被注释掉的效劳:grep -v “ # /etc/inetd.conf这个命令统计面前效劳的总数:ps -eaf|wc -l需要提醒你的是以下三个效劳漏洞很多,强烈建议你关闭它们:S34yppa

20、sswddNIS 效劳器、S35ypserv NIS效劳器和 S60nfs NFS效劳器。我们可以运行 #killall -HUP inetd 来关闭不需要的效劳。当然,你也可以运行#chattr +i /etc/inetd.conf如果你想使 inetd.conf 文件具有不可更改属性,而只有 root 才能解开,敲以下命令#chattr -i /etc/inetd.conf当你关闭一些效劳以后, 重新运行以上命令看看少了多少效劳。 运行的效劳越少, 系统 自然越平安了。我们可以用下面命令观察哪些效劳在运行:netstat -na - ip如果你用的是 Redhat那就方便多了。A_A Re

21、dhat提供一个工具来帮助你关闭效劳,输入/usr/sb in /setup,然后选择"system services",就可以定制系统启动时跑哪些效劳。另外 一个选择是 chkconfig 命令,很多 linux 版本的系统都自带这个工具。脚本名字中的数字是启 动的顺序,以大写的K开头的是杀死进程用的。关于日志所有的日志都在 /var/log 下仅对 linux 系统而言 ,默认情况下 linux 的日志就已经很强 大了, 但除 ftp 外。因此我们可以通过修改 /etc/ 或者 /etc/inetd.conf ,来保证每一个 ftp 连接 日志都能够纪录下来。下面是一个

22、修改 inetd.conf 的例子,假设有下一行:tcp nowait root /usr/sbin/tcpd in.ftpd -l -L -i -o 字串 3注释:-l 每一个 ftp 连接都写到 syslog-L 纪录用户的每一个命令-i 文件 received,纪录至U xferlog-o 文件 transmitted, 记录到 xferlog不过你也不要太相信日志, 因为绝大局部黑客都有“擦脚印"的“好"习惯啰!如果你不放心,最好安装一个 Sniffer 吧。关于 TCP_WRAPPERS默认的, Redhat Linux 允许所有的请求,这是很危险的。三、 lin

23、ux 网络平安 1、1 磁盘分区;2Linux 平安配置步骤简述 一、磁盘分区如果是新安装系统,对磁盘分区应考虑平安性:根目录 / 、用户目录 /home 、临时目录 /tmp 和 /var 目录应分开到不同的suid 属性的程序,所以应以上各目录所在分区的磁盘空间大小应充分考虑,防止因某些原因造成分区空间 用完而导致系统崩溃; 2、对于/tmp和/var目录所在分区,大多数情况下不需要有为这些分区添加 nosuid 属性; 方法一:修改 /etc/fstab 文件,添加 nosuid 属性字。例如: /dev/hda2/tmpext2 exec,dev,nosuid,rw方法二:如果对 /e

24、tc/fstab 文件操作不熟,建议通过 linuxconf 程序来修改。运行 linuxconf 程序;选择""下的"Access local drive" 选择需要修改属性的磁盘分区; 选择 "No setuid programs allowed" 选项; 根据需要选择其它可选项;正常退出。一般会提示重新 mount 该分区 、安装1、对于非测试主机,不应安装过多的软件包。这样可以降低因软件包而导致出现平安 漏洞的可能性。例如 routed 、ypbind2、对于非测试主机, 在选择主机启动效劳时不选择非必需的效劳。 等。三、平安

25、配置与增强内核升级。起码要升级至 2.2.16 以上版本。RPC等GNU libc共享库升级。警告:如果没有经历,不可轻易尝试。可暂缓。 关闭危险的网络效劳。echo、 chargen、 shell、 login、 finger 、 NFS、关闭非必需的网络效劳。 talk、 ntalk、 pop-2 等 常见网络效劳平安配置与升级 确保网络效劳所使用版本为当前最新和最平安的版本。取消匿名FTP访问去除非必需的 suid 程序使用 tcpwrapper使用 ipchains 防火墙 日志系统 syslogd一些细节: 1、操作系统内部的log file是检测是否有网络入侵的重要线索,当然这个假

26、定你的 logfile 不被侵入者所破坏,如果你有台效劳器用专线直接连到 Internet 上,这意味着你的 IP 地址是永久固定的地址,你会发现有很多人对你的系统做 telnet/ftp 登录尝试,试着运行如 下语句去检查。#more /var/log/secure | grep refused2、限制具有 SUID 权限标志的程序数量,具有该权限标志的程序以 root 身份运行, 是一个潜在的平安漏洞,当然,有些程序是必须要具有该标志的,象passwd 程序。 3、BIOS平安。设置BIOS密码且修改引导次序制止从软盘启动系统。4、用户口令。用户口令是Linux 平安的一个最根本的起点,很

27、多人使用的用户口令就是简单的password,这等于给侵入者敞开了大门,虽然从理论上说没有不能确解的用户 口令,只要有足够的时间和资源可以利用。 比拟好的用户口令是那些只有他自己能够容易记 得并理解的一串字符,并且绝对不要在任何地方写出来。 5、/etc/exports文件。如果你使用NFS网络文件系统效劳,那么确保你的/etc/exports具有最严格的存取权限设置,不意味着不要使用任何通配符,不允许root 写权限, mount成只读文件系统。编辑文件 /etc/exports 并且参加例如:/dir/to/export host1.mydomain(ro,root_squash)/dir

28、/to/export host2.mydomain(ro,root_squash)其中 /dir/to/export 是你想输出的目录, host.mydomain 是登录这个目录的机器名, ro 意味着 mount 成只读系统, root_squash 制止 root 写入该目录。为了让上面的改变生效,运行/usr/sb in /exportfs- a 6、确信/etc/inetd.conf的所有者是root,且文件权限设置为600 。rootdeep# chmod 600 /etc/inetd.confENSURE that the owner is root.rootdeep# stat

29、 /etc/inetd.confFile: "/etc/inetd.conf"Size: 2869 : Regular FileMode: (0600/-rw) Uid: ( 0/ root) Gid: ( 0/ root)Device: 8,6 Inode: 18219 Links: 1Access: Wed Sep 22 16:24:16 1999(00000.00:10:44)Modify: Mon Sep 20 10:22:44 1999(00002.06:12:16)Change:Mon Sep 20 10:22:44 1999(00002.06:12:16)编辑

30、 /etc/inetd.conf 制止以下效劳:ftp, telnet, shell, login, exec, talk, ntalk, imap, pop-2, pop-3, finger,auth, etc. 除非你真的想用它。特别是制止那些r命令.如果你用ssh/scp,那么你也可以制止掉telnet/ftp 。为了使改变生效,运行#killall -HUP inetd你也可以运行#chattr +i /etc/inetd.conf使该文件具有不可更改属性。只有 root 才能解开,用命令#chattr -i /etc/inetd.conf7、 TCP_WRAPPERS默认地,Redh

31、at Linux允许所有的请求,用TCP_WRAPPER增强你的站点的平安性是举手 之劳,你可以放入“ALL: ALL到/etc/hosts.deny中制止所有的请求,然后放那些明确允许的请求到/etc/hosts.allow 中,如 :sshd: gate.openarch对 IP 地址 0 和主机名 gate.openarch ,允许通过 ssh 连接。 配置完了之后,用 tcpdchk 检查rootdeep# tcpdchktcpchk 是 TCP_Wrapper 配置检查工具, 它检查你的 tcp wrapper 配置并报告所有发现的潜在 /存在的问题。# 8别名

32、文件 aliases编辑别名文件/etc/aliases也可能是/etc/mail/aliases),移走/注释掉下面的行。# Basic system aliases - these MUST be present.MAILER-DAEMON: postmasterpostmaster: root# General redirections for pseudo accounts.bin: rootdaemon: root#games: root ?remove or comment out.#ingres: root ?remove or comment out.nobody: root#

33、system: root ?remove or comment out.#toor: root ?remove or comment out.#uucp: root ?remove or comment out.# Well-known aliases.#manager: root ?remove or comment out.#dumper: root ?remove or comment out.#operator: root ?remove or comment out.# trap decode to catch security attacks#decode: root# Perso

34、n who should get root's mail#root: marc 最后更新后不要忘记运行 /usr/bin/newaliases ,使改变生效。# 9、阻止你的系统响应任何从外部/内部来的 ping 请求。既然没有人能 ping 通你的机器并收到响应,你可以大大增强你的站点的平安性。你可 以加下面的一行命令到 /etc/rc.d/rc.local ,以使每次启动后自动运行。echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all# 10 、不要显示出操作系统和版本信息。 如果你希望某个人远程登录到你的效劳器时不要显示操作系统和

35、版本信息,你能改变/etc/inetd.conf 中的一行象下面这样:telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h加 -h 标志在最后使得 telnet 后台不要显示系统信息,而仅仅显示 login: 11、The /etc/host.conf file编辑 host.conf 文件 (vi /etc/host.conf) 且加下面的行:# Lookup names via DNS first then fall back to /etc/hosts.order bind,hosts# We don't have

36、machines with multiple IP addresses on the same card(like virtual server,IP Aliasing).multi off# Check for IP address spoofing.nospoof onIP Spoofing: IP-Spoofing is a security exploit that works by tricking computers in a trust relationship that you are someone that you really aren't. 12. The /e

37、tc/securetty file该文件指定了允许 root 登录的 tty 设备, /etc/securetty 被 /bin/login 程序读取 ,它的 格式是一行一个被允许的名字列表,如你可以编辑 /etc/securetty 且注释出下面的行。tty1#tty2#tty3#tty4#tty5#tty6#tty7#tty8-意味着 root 仅仅被允许在 tty1 终端登录。13. 特别的帐号制止所有默认的被操作系统本身启动的且不需要的帐号, 当你第一次装上系统时就应该 做此检查, Linux 提供了各种帐号,你可能不需要,如果你不需要这个帐号,就移走它,你 有的帐号越多,就越容易受到

38、攻击。为删除你系统上的用户,用下面的命令:rootdeep# userdel username 为删除你系统上的组用户帐号,用下面的命令:rootdeep# groupdel username 在终端上打入下面的命令删掉下面的用户。rootdeep# userdel admrootdeep# userdel lprootdeep# userdel syncrootdeep# userdel shutdownrootdeep# userdel haltrootdeep# userdel mail如果你不用 sendmail 效劳器, procmail.mailx, 就删除这个帐号。rootdee

39、p# userdel newsrootdeep# userdel uucprootdeep# userdel operatorrootdeep# userdel games如果你不用 X windows 效劳器,就删掉这个帐号。rootdeep# userdel gopherrootdeep# userdel ftp如果你不允许匿名 FTP,就删掉这个用户帐号。打入下面的命令删除组帐号rootdeep# groupdel admrootdeep# groupdel lprootdeep# groupdel mail如不用 Sendmail 效劳器,删除这个组帐号rootdeep# groupd

40、el newsrootdeep# groupdel uucprootdeep# groupdel games 如你不用 X Windows ,删除这个组帐号rootdeep# groupdel diprootdeep# groupdel pppusersrootdeep# groupdel popusers如果你不用POP效劳器,删除这个组帐号rootdeep# groupdel slipusers 用下面的命令加需要的用户帐号 rootdeep# useradd username 用下面的命令改变用户口令rootdeep# passwd username用 chattr 命令给下面的文件加上

41、不可更改属性。rootdeep# chattr +i /etc/passwdrootdeep# chattr +i /etc/shadowrootdeep# chattr +i /etc/grouprootdeep# chattr +i /etc/gshadow* 14、阻止任何人su作为root.如果你不想任何人能够 su 作为 root, 你能编辑 /etc/pam.d/su 加下面的行: auth sufficient /lib/security/pam_rootok.so debug auth required /lib/security/pam_wheel.so group=isd

42、意味着仅仅 isd 组的用户可以 su 作为 root.然后,如果你希望用户 admin 能 su 作为 root. 就运行下面的命令。rootdeep# usermod -G10 admin15 、资源限制对你的系统上所有的用户设置资源限制可以防止DoS类型攻击denial of service attacks如最大进程数,内存数量等。例如,对所有用户的限制象下面这样:编辑 /etc/security/limits.con 加:* hard core 0* hard rss 5000* hard nproc 20你也必须编辑 /etc/pam.d/login 文件加 /检查这一行的存在。se

43、ssion required /lib/security/pam_limits.so上面的命令制止 core files“core 0,限制进程数为“ nproc 50“,且限制内存使用 为 5M “rss 5000。 16、The /etc/lilo.conf file a Add: restricted加这一行到每一个引导映像下面,就这说明如果你引导时用(linux single),那么需要一个password. b Add: password=some_password当与 restricted 联合用,且正常引导时,需要用户输入密码,你也要确保 lilo.conf 文件不能被不属于 r

44、oot 的用户可读,也免看到密码明文。下面是例子:编辑 /etc/lilo.conf 加:boot=/dev/sdamap=/boot/mapinstall=/boot/boot.bprompttimeout=50Default=linuxrestricted ?add this line.password=some_password ?add this line.label=linuxroot=/dev/sda6read-onlyrootdeep# chmod 600 /etc/lilo.conf ( 不再能被其他用户可读 ).rootdeep# /sbin/lilo -v ( 更新 lil

45、o 配置 ).rootdeep# chattr +i /etc/lilo.conf 阻止该文件被修改 17、制止 Control-Alt-Delete 重启动机器命令rootdeep# vi /etc/inittabca:ctrlaltdel:/sbin/shutdown -t3 -r nowTo#ca:ctrlaltdel:/sbin/shutdown -t3 -r nowrootdeep# /sbin/init q 18、重新设置 /etc/rc.d/init.d/ 目录下所有文件的许可权限rootdeep# chmod -R 700 /etc/rc.d/init.d/*仅仅 root 可

46、以读,写,执行上述所有 script file. 19、 The /etc/rc.d/rc.local file默认地,当你 login 到 linux server 时,它告诉你 linux 版本名,内核版本名和效劳器 主机名。它给了你太多的信息,如果你就希望得到提示 login: ,编辑/etc/rc.d/rc.local 放#在下面的行前面: This will overwrite /etc/issue at every boot. So, make any changes you want to make to /etc/issue here or you will lose them

47、 when you reboot.#echo "" > /etc/issue#echo "$R" >> /etc/issue#echo "Kernel $(uname -r) on $a $(uname -m)" >> /etc/issue#cp -f /etc/issue /etc/#echo >> /etc/issue 然后,做下面的事情 : rootdeep# rm -f /etc/issue rootdeep# rm -f /etc/ rootdeep# touch /etc/issu

48、e rootdeep# touch /etc/ 20、被 root 拥有的程序的位。 移走那些被 root 拥有程序的 s 位标志,当然有些程序需要这个,用命令 chmod a-s' 完成这个。注:前面带 *号的那些程序一般不需要拥有s 位标志。rootdeep# find / -type f ( -perm -04000 -o -perm -02000 ) -exec Is - Ig ; -rwsr-xr-x 1 root root 33120 Mar 21 1999 /usr/bin/at *-rwsr-xr-x 1 root root 30560 Apr 15 20:03 /us

49、r/bin/chage *-rwsr-xr-x 1 root root 29492 Apr 15 20:03 /usr/bin/gpasswd -rwsr-xr-x 1 root root 3208 Mar 22 1999 /usr/bin/disabIe-paste -rwxr-sr-x 1 root man 32320 Apr 9 1999 /usr/bin/man -r-s-x-x 1 root root 10704 Apr 14 17:21 /usr/bin/passwd -rws-x-x 2 root root 517916 Apr 6 1999 /usr/bin/suidperI

50、-rws-x-x 2 root root 517916 Apr 6 1999 /usr/bin/sperI5.00503 -rwxr-sr-x 1 root maiI 11432 Apr 6 1999 /usr/bin/IockfiIe -rwsr-sr-x 1 root maiI 64468 Apr 6 1999 /usr/bin/procmaiI -rwsr-xr-x 1 root root 21848 Aug 27 11:06 /usr/bin/crontab -rwxr-sr-x 1 root sIocate 15032 Apr 19 14:55 /usr/bin/sIocate *-

51、r-xr-sr-x 1 root tty 6212 Apr 17 11:29 /usr/bin/waII *-rws-x-x 1 root root 14088 Apr 17 12:57 /usr/bin/chfn *-rws-x-x 1 root root 13800 Apr 17 12:57 /usr/bin/chsh *-rws-x-x 1 root root 5576 Apr 17 12:57 /usr/bin/newgrp *-rwxr-sr-x 1 root tty 8392 Apr 17 12:57 /usr/bin/write -rwsr-x- 1 root squid 140

52、76 Oct 7 14:48 /usr/Iib/squid/pinger -rwxr-sr-x 1 root utmp 15587 Jun 9 09:30 /usr/sbin/utempter *-rwsr-xr-x 1 root root 5736 Apr 19 15:39 /usr/sbin/usernetctI *-rwsr-xr-x 1 root bin 16488 JuI 6 09:35 /usr/sbin/traceroute -rwsr-sr-x 1 root root 299364 Apr 19 16:38 /usr/sbin/sendmaiI -rwsr-xr-x 1 roo

53、t root 34131 Apr 16 18:49 /usr/Iibexec/pt_chown -rwsr-xr-x 1 root root 13208 Apr 13 14:58 /bin/su *-rwsr-xr-x 1 root root 52788 Apr 17 15:16 /bin/mount *-rwsr-xr-x 1 root root 26508 Apr 17 20:26 /bin/umount *-rwsr-xr-x 1 root root 17652 JuI 6 09:33 /bin/ping -rwsr-xr-x 1 root root 20214 Apr 17 12:57

54、 /bin/Iogin *-rwxr-sr-x 1 root root 3860 Apr 19 15:39 /sbin/netreport -r-sr-xr-x 1 root root 46472 Apr 17 16:26 /sbin/pwdb_chkpwd rootdeep# chmod a-s /usr/bin/chage rootdeep# chmod a-s /usr/bin/gpasswdrootdeep# chmod a-s /usr/bin/wallrootdeep# chmod a-s /usr/bin/chfnrootdeep# chmod a-s /usr/bin/chsh

55、rootdeep# chmod a-s /usr/bin/newgrprootdeep# chmod a-s /usr/bin/writerootdeep# chmod a-s /usr/sbin/usernetctlrootdeep# chmod a-s /usr/sbin/tracerouterootdeep# chmod a-s /bin/mountrootdeep# chmod a-s /bin/umountrootdeep# chmod a-s /bin/pingrootdeep# chmod a-s /sbin/netreport你可以用下面的命令查找所有带 s 位标志的程序:ro

56、otdeep# find / -type f ( -perm -04000 -o -perm -02000 ) -exec ls -lg ;> suid-sgid-results把结果输出到文件 suid-sgid-results 中。为了查找所有可写的文件和目录,用下面的命令:rootdeep# find / -type f ( -perm -2 -o -perm -20 ) -exec ls -lg ; > ww-rootdeep# find / -type d ( -perm -2 -o -perm -20 ) -exec ls -ldg ; > ww-directories-results用下面的命令查找没有拥有者的文件:rootdeep# find / -nouser -o -nogroup > unowed-results 用下面的命令查找所有的 .rhosts 文件:rootdeep# find /home -name .rhosts > rhost-results 四、建议替换的常见网络效劳应用程序WuFTPDWuFTD 从

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论