`
loamy
  • 浏览: 321418 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux安全

阅读更多

 

LILO Security

在“/etc/lilo.conf”文件中加入下面三个参数:time-out,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 

restricted #加入这行

password=<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”任何改变(以外或其他原因)

 

3、删除所有的特殊账户

你应该删除所有不用的缺省用户和组账户(比如lp, sync, shutdown, halt, news, uucp, operator, games, gopher等)。

删除用户:

[root@kapil /]# userdel LP 

删除组:

[root@kapil /]# groupdel LP 

 

4、选择正确的密码

在选择正确密码之前还应作以下修改:

修改密码长度:在你安装linux时默认的密码长度是5个字节。但这并不够,要把它设为8。修改最短密码长度需要编辑login.defs文件(vi /etc/login.defs),把下面这行

PASS_MIN_LEN 5 

改为

PASS_MIN_LEN 8

login.defs文件是login程序的配置文件。

 

5、打开密码的shadow支持功能:

你应该打开密码的shadow功能,来对password加密。使用“/usr/sbin/authconfig”工具打开shadow功能。如果你想把已有的密码和组转变为shadow格式,可以分别使用“pwcov,grpconv”命令。

 

6、root账户

在unix系统中root账户是具有最高特权的。如果系统管理员在离开系统之前忘记注销root账户,系统会自动注销。通过修改账户中“TMOUT”参数,可以实现此功能。TMOUT按秒计算。编辑你的profile文件(vi /etc/profile),在"HISTFILESIZE="后面加入下面这行:

TMOUT=3600

3600,表示60*60=3600秒,也就是1小时。这样,如果系统中登陆的用户在一个小时内都没有动作,那么系统会自动注销这个账户。你可以在个别用户的“.bashrc”文件中添加该值,以便系统对该用户实行特殊的自动注销时间。

改变这项设置后,必须先注销用户,再用该用户登陆才能激活这个功能。

 

7、取消普通用户的控制台访问权限

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

[root@kapil /]# rm -f /etc/security/console.apps/<servicename> 

<servicename>是你要注销的程序名。

 

8、取消并反安装所有不用的服务

取消并反安装所有不用的服务,这样你的担心就会少很多。察看“/etc/inetd.conf”文件,通过注释取消所有你不需要的服务(在该服务项目之前加一个“#”)。然后用“sighup”命令升级“inetd.conf”文件。

第一步:

更改“/etc/inetd.conf”权限为600,只允许root来读写该文件。

[Root@kapil /]# chmod 600 /etc/inetd.conf

第二步:

确定“/etc/inetd.conf”文件所有者为root。

第三步:

编辑 /etc/inetd.conf文件(vi /etc/inetd.conf),取消下列服务(你不需要的):ftp, telnet, shell, login, exec, talk, ntalk, imap, pop-2, pop-3, finger, auth等等。把不需要的服务关闭可以使系统的危险性降低很多。

第四步:

给inetd进程发送一个HUP信号:

[root@kapil /]# killall -HUP inetd 

第五步:

用chattr命令把/ec/inetd.conf文件设为不可修改,这样就没人可以修改它:

[root@kapil /]# chattr +i /etc/inetd.conf 

这样可以防止对inetd.conf的任何修改(以外或其他原因)。唯一可以取消这个属性的人只有root。如果要修改inetd.conf文件,首先要是取消不可修改性质:

[root@kapil /]# chattr -i /etc/inetd.conf

别忘了该后再把它的性质改为不可修改的。

 

9、TCP_WRAPPERS

使用TCP_WRAPPERS可以使你的系统安全面对外部入侵。最好的策略就是阻止所有的主机(在"/etc/hosts.deny" 文件中加入"ALL: ALL@ALL, PARANOID" ),然后再在"/etc/hosts.allow" 文件中加入所有允许访问的主机列表。

第一步:

编辑hosts.deny文件(vi /etc/hosts.deny),加入下面这行

# Deny access to everyone. 

ALL: ALL@ALL, PARANOID

这表明除非该地址包好在允许访问的主机列表中,否则阻塞所有的服务和地址。

第二步:

编辑hosts.allow文件(vi /etc/hosts.allow),加入允许访问的主机列表,比如:

ftp: 202.54.15.99 foo.com

202.54.15.99和 foo.com是允许访问ftp服务的ip地址和主机名称。

第三步:

tcpdchk程序是tepd wrapper设置检查程序。它用来检查你的tcp wrapper设置,并报告发现的潜在的和真实的问题。设置完后,运行下面这个命令:

[Root@kapil /]# tcpdchk 

 

10、禁止系统信息暴露

当有人远程登陆时,禁止显示系统欢迎信息。你可以通过修改“/etc/inetd.conf”文件来达到这个目的。

把/etc/inetd.conf文件下面这行:

telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

修改为:

telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h

在最后加“-h”可以使当有人登陆时只显示一个login:提示,而不显示系统欢迎信息。

 

11、修改“/etc/host.conf”文件

“/etc/host.conf”说明了如何解析地址。编辑“/etc/host.conf”文件(vi /etc/host.conf),加入下面这行:

# Lookup names via DNS first then fall back to /etc/hosts. 

order bind,hosts 

# We have machines with multiple IP addresses. 

multi on 

# Check for IP address spoofing. 

nospoof on 

第一项设置首先通过DNS解析IP地址,然后通过hosts文件解析。第二项设置检测是否“/etc/hosts”文件中的主机是否拥有多个IP地址(比如有多个以太口网卡)。第三项设置说明要注意对本机未经许可的电子欺骗。

 

12、使“/etc/services”文件免疫

使“/etc/services”文件免疫,防止未经许可的删除或添加服务:

[root@kapil /]# chattr +i /etc/services

 

13、不允许从不同的控制台进行root登陆

"/etc/securetty"文件允许你定义root用户可以从那个TTY设备登陆。你可以编辑"/etc/securetty"文件,再不需要登陆的TTY设备前添加“#”标志,来禁止从该TTY设备进行root登陆。

 

14、禁止任何人通过su命令改变为root用户

su(Substitute User替代用户)命令允许你成为系统中其他已存在的用户。如果你不希望任何人通过su命令改变为root用户或对某些用户限制使用su命令,你可以在su配置文件(在"/etc/pam.d/"目录下)的开头添加下面两行:

编辑su文件(vi /etc/pam.d/su),在开头添加下面两行:

auth sufficient /lib/security/pam_rootok.so debug 

auth required /lib/security/Pam_wheel.so group=wheel 

这表明只有"wheel"组的成员可以使用su命令成为root用户。你可以把用户添加到“wheel”组,以使它可以使用su命令成为root用户。

 

15、Shell logging

Bash shell在“~/.bash_history”(“~/”表示用户目录)文件中保存了500条使用过的命令,这样可以使你输入使用过的长命令变得容易。每个在系统中拥有账号的用户在他的目录下都有一个“.bash_history”文件。bash shell应该保存少量的命令,并且在每次用户注销时都把这些历史命令删除。

第一步:

“/etc/profile”文件中的“HISTFILESIZE”和“HISTSIZE”行确定所有用户的“.bash_history”文件中可以保存的旧命令条数。强烈建议把把“/etc/profile”文件中的“HISTFILESIZE”和“HISTSIZE”行的值设为一个较小的数,比如30。编辑profile文件(vi /etc/profile),把下面这行改为:

HISTFILESIZE=30 

HISTSIZE=30 

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

第二步:

在"/etc/skel/.bash_logout" 文件中添加下面这行"rm -f $HOME/.bash_history" 。这样,当用户每次注销时,“.bash_history”文件都会被删除。

编辑.bash_logout文件(vi /etc/skel/.bash_logout) ,添加下面这行:

rm -f $HOME/.bash_history

 

16、禁止Control-Alt-Delete 键盘关闭命令

在"/etc/inittab" 文件中注释掉下面这行(使用#):

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

改为:

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

为了使这项改动起作用,输入下面这个命令:

[root@kapil /]# /sbin/init q

 

17、给"/etc/rc.d/init.d" 下script文件设置权限

给执行或关闭启动时执行的程序的script文件设置权限。

[root@kapil/]# chmod -R 700 /etc/rc.d/init.d/* 

这表示只有root才允许读、写、执行该目录下的script文件。

 

18、隐藏系统信息

在缺省情况下,当你登陆到linux系统,它会告诉你该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 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/issue.net 

#echo >> /etc/issue

第二步:

删除"/etc"目录下的“isue.net”和"issue"文件:

[root@kapil /]# rm -f /etc/issue 

[root@kapil /]# rm -f /etc/issue.net 

 

19、禁止不使用的SUID/SGID程序

如果一个程序被设置成了SUID root,那么普通用户就可以以root身份来运行这个程序。网管应尽可能的少使用SUID/SGID 程序,禁止所有不必要的SUID/SGID程序。

查找root-owned程序中使用's'位的程序:

[root@kapil]# find / -type f \( -perm -04000 -o -perm -02000 \) \-exec ls -lg {} \; 

用下面命令禁止选中的带有's'位的程序:

[root@kapil /]# chmod a-s [program]

 

 

 


 

分享到:
评论

相关推荐

    linux安全配置规范.doc

    Linux 安全配置规范 Linux 安全配置规范是为了确保使用 Linux 操作系统的设备的安全性而制定的。该规范明确了安全配置的基本要求,涵盖了账号管理、安全检查、身份验证、访问控制等多个方面。 账号管理是 Linux ...

    LINUX安全加固手册.pdf

    "LINUX安全加固手册" LINUX操作系统的安全加固是一项复杂的任务,需要从多方面入手,涵盖了密码安全策略、用户帐号安全、网络服务安全等多个方面。以下是LINUX安全加固手册中的一些关键知识点: 一、概述 LINUX...

    Linux安全操作系统的设计与实现.pdf

    "Linux安全操作系统的设计与实现" 本文介绍了一个基于Linux操作系统的安全设计和实现,通过添加SMS/OS管理软件,实现了一个B1级安全的Linux操作系统。该系统的设计和实现主要解决了计算机系统的安全问题,确保了...

    Linux安全加固操作手册

    "Linux 安全加固操作手册" 本文档将详细介绍 Linux 操作系统的安全加固操作手册,涵盖身份鉴别、用户口令安全、口令生存期限制、账号锁定策略等多个方面。 1. 身份鉴别 Linux 操作系统中,身份鉴别是非常重要的...

    Linux安全体系的文件权限管理.doc

    Linux 安全体系的文件权限管理 Linux 操作系统中的文件权限管理是指控制用户或用户组对文件或目录的访问权限。Linux 安全体系的文件权限管理方式主要有两种:自主访问机制(Discretionary Access Control,DAC)和...

    蜕变-从菜鸟到Linux安全专家.高清扫描版

    《蜕变:从菜鸟到linux安全专家》通过实际故事场景对linux安全技术和应用方法进行了全面、深入和系统的分析。分别从黑客攻击的基本技术、linux面临的安全威胁、linux系统安全管理、linux网络服务安全管理、linux核心...

    防线企业Linux安全运维理念和实战_Part2

    防线企业Linux安全运维理念和实战_Part2防线企业Linux安全运维理念和实战_Part2

    linux安全加固.rar

    linux安全加固linux安全加固linux安全加固linux安全加固

    Linux安全操作系统构建方法与技术(第一讲)——构建方法与技术.pdf

    Linux 安全操作系统构建方法与技术 Linux 安全操作系统构建方法与技术是当前信息安全领域中最重要的课题之一。在计算机与网络技术的普及应用中,信息安全问题日益突出,已经提升到关系国家兴亡与国计民生的重要地位...

    Linux安全操作系统的研究与改进.pdf

    在【标题】"Linux安全操作系统的研究与改进.pdf"中,讨论的重点是针对嵌入式系统安全问题的研究和解决方案,主要涉及Linux内核层的改进和强制访问控制(MAC)机制的实施。 【描述】提及的论文深入探讨了如何通过...

    Linux安全技术内幕PDF

    Linux安全技术内幕PDF

    linux安全操作

    近几年来Internet变得更加不安全了。网络的通信量日益加大,越来越多的重要...配置拙劣的安全系统会产生许多问题,本文将为你解释必须掌握的Linux安全知识。 本文讲述了如何通过基本的安全措施,使Linux系统变得可靠。

    Linux 安全最大化

    Linux 安全最大化 Linux 安全最大化 Linux 安全最大化

    Kali Linux安全渗透教程

    Kali Linux安全渗透教程

    Linux安全配置操作规范.docx

    华为Linux安全配置操作规范

    Linux安全配置脚本

    Linux安全配置脚本

    Kali Linux安全渗透教程第二章(内部资料)

    Kali Linux安全渗透教程(内部资料)

    Linux安全人侵防范检测和恢复

    Linux安全人侵防范检测和恢复 Linux安全人侵防范检测和恢复 Linux安全人侵防范检测和恢复 Linux安全人侵防范检测和恢复

    Linux安全分析与系统增强的研究资料一

    Linux安全分析与系统增强的研究资料一

Global site tag (gtag.js) - Google Analytics