如何设置Linux密码复杂度,让系统更加安全

在Linux系统中,密码安全至关重要。
设置过于简单的密码会给黑客打开方便之门。
现实生活中,123、123456、123abc、1qaz@WSX等常见的弱密码很容易被猜出或被暴力破解。
即使采取了其他系统安全措施,仍然很难防止攻击。
密码复杂性和定期更换对于保证Linux系统的安全至关重要。
一般建议每月或每季度更改一次,以确保密码是最新且安全的。
配置密码复杂性规则在Linux系统中至关重要。
主要是修改/etc/pam.d/system-auth配置文件。
编辑前,请保存原始文件以备不时之需。
使用备份文件时,请选择同一目录保存。
打开密码复杂度配置文件,找到密码开头的pam_pwquality.so行,注释掉,按照具体规则进行更改。
配置设置包括:minlen=10(密码长度最小10个字符)、lcredit=-1(至少一个字母)、ucredit=-1(至少一个大写字母)、dcredit=-1(至少一个数字)、ocredit=-1(至少一个特殊字符)。
force_for_root确保root用户也遵循此策略。
等级保护要求操作系统和数据库系统管理用户身份,使其不能被欺诈使用,并且密码复杂并定期更改。
通过正确设置密码策略并执行它们,Linux系统可以显着提高密码安全性,降低攻击风险,并满足I级保护要求。
通过修改配置文件,使用三个Linux命令:cd、cp和vim。

Linux系统安全配置详细解析

1.为LILO添加开机密码

在/etc/lilo.conf文件中添加一个选项,以便在开始提高系统安全性时LILO需要密码。
具体设置如下:

boot=/dev/hdamap=/boot/mapinstall=/boot/boot.btime-out=60#等待1分钟提示default=linuxpassword=#密码设置image=/boot/vmlinuz-2.2.14-12label=linuxinitrd=/boot/initrd-2.2.14-12.imgroot=/dev/hda6read-only

应该此时请注意,由于密码以明文形式存储在LILO中,因此仍然必须设置lilo.conf的文件属性,以便只有root可以读写。

#chmod600/etc/lilo.conf

当然,您还必须进行以下设置以使对lilo.conf的更改生效。

#/sbin/lilo-v

2输入最小密码长度和最短使用时间

密码在验证系统用户的主要方法是在系统安装时默认最小密码长度通常为5。
但是,为了保证密码不易被猜出和攻击,最小密码长度可以增加到至少8。
为此,您需要更改文件中的参数PASS_MIN_LEN/etc/login.defs。
同时应限制密码的使用时间,确保定期更换密码。
建议更改PASS_MIN_DAYS参数。

3.用户超时退出

如果用户离开时忘记退出,可能会给系统安全带来隐患。
可以修改/etc/profile文件以确保帐户在一段时间不活动后自动从系统注销。

编辑文件/etc/profile并在“HISTFILESIZE=”行下添加以下行:

TMOUT=600

然后所有用户都将处于10闲置几分钟后自动注销。

4.禁止访问重要文件

对于系统中的一些关键文件,如inetd.conf、services、lilo.conf等,可以更改其属性,以防止意外修改。
以及普通用户看到的腐败。

首先将文件属性改为600:

#chmod600/etc/inetd.conf

确保文件所有者为root,然后也可以设置为无法更改:

#chattr+i/etc/inetd.conf

这样对文件的所有更改都将被禁止。

只有在root重置重置标志后才能进行更改:

#chattr-i/etc/inetd.conf

5.允许和拒绝远程访问

在Linux中,/etc/hosts.allow和/etc/hosts.deny这两个文件可以用来允许和拒绝远程主机访问本地服务。
通常的做法是:

(1)编辑hosts.deny文件并添加以下行:

#Denyaccesstoeveryone.ALL:ALL@ALL

Everyoneservices不允许所有远程主机使用,除非hosts.allow文件允许。

(2)编辑hosts.allow文件,添加以下行:

#Justanexample:ftp:202.84.17.11xinhuanet.com

IP将允许地址为202.84.17.11、主机名为xinhuanet.com的机器作为客户端访问FTP服务。

(3)设置完成后,可以使用tcpdchk检查设置是否正确。

6.限制Shell命令记录的大小

默认情况下,bashshell会在文件$HOME/.bash_history中存储最多500条命令记录(根据具体系统,默认记录数不同)。
系统中每个用户的主目录下都有这样一个文件。
作者在此强烈建议限制该文件的大小。

您可以编辑文件/etc/profile并更改选项,如下所示:HISTFILESIZE=30或HISTSIZE=30。

7.注销时删除命令条目

编辑/etc/skel/.bash_logout文件并添加以下行:

rm-f$HOME/.bash_history

这样系统中所有用户登录时都会删除自己的命令记录出去。

如果你只需要为特定用户设置,比如root用户,只需修改用户主目录下的/$HOME/.bash_history文件,添加同样一行即可。

8.禁止不必要的SUID程序

SUID可以让普通用户以root权限运行程序,因此系统中此类程序应严格控制。

查找root所属s位的程序:

#find/-typef/(-perm-04000-o-perm-02000/)-printless

Forbidden停止不必要的程序:

#chmoda-program_name

9查看启动时显示的信息

Linux系统启动时,屏幕将滚动一堆。
启动信息。
如果启动时出现问题,请在系统启动后检查。
您可以输入以下命令:

#dmesgbootmessage

此命令会将引导过程中显示的信息的输出重定向到文件引导消息。

10磁盘空间维护

经常检查磁盘空间对于Linux文件系统的维护是非常有必要的。
Linux中最常用的磁盘空间维护命令是df和du。

十大技巧:

第一点:停止不必要的服务

在Unix的早期版本中,每个不同的网络服务都有一个在后台运行的服务程序,后来版本使用它统一的/etc/inetd服务器程序来承担这一重要任务。
Inetd是Internet守护进程的缩写。
它同时监控多个网络端口。
当它接收到来自外界的连接信息时,它就运行相应的TCP或UDP网络服务。

由于它们都在inetd的统一指挥下,Linux中的大多数TCP或UDP服务都是在/etc/inetd.conf文件中设置的。
因此,停止不必要的服务的第一步是检查/etc/inetd.conf文件,在不必要的服务前添加“#”字符。

一般情况下,除了http、smtp、telnet、ftp之外,其他服务也应该取消,比如简单文件传输协议tftp、网络中用于存储和接收电子邮件的imap/ipop传输协议、search和Gopher来搜索数据和当日时间以及时间同步等。

还有报告系统状态的服务,例如finger、efinger、systat和netstat,虽然它们对于排除系统故障和查找用户非常有用,但它们也为黑客提供了方便之门。
例如,黑客可以利用finger服务查找用户的电话号码、用户目录等重要信息。
因此,很多Linux系统取消了全部或部分这些服务,以提高系统安全性。

除了使用/etc/inetd.conf来指定系统服务元素之外,Inetd还使用/etc/services文件来查找各种服务所使用的端口。
因此,用户必须仔细检查文件中各个端口的设置,以避免出现安全漏洞。

Linux中有两种不同的服务类型:一种是只在需要时运行的服务,例如finger服务,另一种是始终运行且永不停止的服务。
此类服务在系统启动时就开始运行,因此您无法通过更改inetd来停止该服务。
您只能通过更改文件/etc/rc.d/rc[n].d/或使用运行级别编辑器来更改它。
提供文件服务的NFS服务器和提供NNTP新闻服务的新闻服务器都属于此类服务。
如果没有必要,最好取消这些服务。

第二步:限制系统访问

进入Linux系统之前,所有用户都必须登录,即用户必须输入自己的用户帐号和密码,只有他们才能通过系统验证通过后,用户即可进入系统。

与其他Unix操作系统一样,Linux通常会对密码进行加密并将其存储在文件中/etc/passwd.confLinux系统上的任何用户都可以读取文件/etc/passwd,尽管该文件中存储的密码经过加密,但仍然不安全。
因为普通用户可以利用现成的密码破解工具,通过穷举的方法来猜测密码。
更安全的方法是设置影子文件/etc/shadow,只允许有特殊权限的用户读取该文件。

在Linux系统上,如果要使用shadow文件,所有公共程序都必须重新编译以支持shadow文件。
这种方法比较麻烦,比较简单的方法是使用插件认证模块(PAM)。
许多Linux系统都附带Linux实用程序PAM,它是一种身份验证机制,可用于动态更改身份验证方法和要求,而无需重新编译其他实用程序。
这是因为PAM采用闭包方式,将所有与身份验证相关的逻辑隐藏在模块中,因此它是使用影子文件的最佳帮手。

此外,PAM还有很多安全特性:它可以将传统的DES加密方法改写为其他更强的加密方法,保证用户密码不被轻易破译。
限制每个用户使用的计算机资源甚至可以设置用户计算机的时间和位置。

Linux系统管理员只需要花费几个小时来安装和配置PAM,就可以大大提高Linux系统的安全性,阻挡来自系统的许多攻击。

第三步:保持最新的系统内核

由于Linux的发行渠道较多,更新的程序和系统更新频繁出现,因此系统内核需要经常更新以提高性能系统安全。

内核是Linux操作系统的核心,它嵌入在内存中,用于加载操作系统的其他部分,实现操作系统的基本功能。
由于内核控制着计算机和网络的各种功能,因此其安全性对于整个系统的安全至关重要。

早期的内核版本有许多已知的安全漏洞,并且不太稳定。
只有2.0.x以上的版本才比较稳定安全,而且新版本的运行效率也有明显提升。
设置内核功能时,仅选择必要的功能。
切勿按顺序接受所有功能,否则内核将变得非常大,占用系统资源并为黑客提供可乘之机。

最新的安全更新通常可以在Internet上获得,Linux系统管理员应该充分了解情况并经常查看安全新闻组以检查新的更新。

第四步:检查登录密码

设置登录密码是一项非常重要的安全措施。
如果用户的密码输入不正确,很容易被破译,尤其是具有超级用户权限的用户,如果没有好的密码,将会导致系统出现重大安全漏洞。

在多用户系统中,强制每个用户选择一个难以猜测的密码将大大提高系统的安全性。
但是,如果passwd程序无法强制计算机上的所有用户都使用适当的密码,那么要保证密码的安全,就只能依靠密码破解程序了。

实际上,密码破解程序是黑客工具箱中的一个工具。
它使用程序对常用密码或英语词典中所有可以用作密码的单词进行加密,然后。
与Linux系统的/etc/passwd密码文件或/etc/shadow影子文件进行比较。
如果找到匹配的密码,则可以获得清晰的代码。

网上可以找到很多破解密码的程序,比较有名的程序就是crack。
用户可以先自行进行密码破解过程,了解哪些密码容易被黑客破解。
首先修复它们总是比被黑客破解更有利。

第五步:设置用户帐户的安全级别

除了密码之外,用户帐户也有安全级别。
这是因为在Linux上可以为每个帐户分配不同的安全级别。
权限,因此在创建新的用户ID时,系统管理员应根据需要授予该帐户不同的权限,并将其合并到不同的用户组中。

在Linux系统的tcpd中,可以指定允许登入计算机和不允许登入计算机的人员列表。
其中,允许使用计算机的人员列表在/etc/hosts.allow中设置,不允许使用计算机的人员列表在/etc/hosts.deny中设置。
设置完成后,需要重新启动inetd程序才能生效。
此外,Linux会自动记录允许或禁止条目到/rar/log/secure文件的结果,从而允许系统管理员发现可疑条目。

每个账户ID都应该有专人负责。
在公司中,如果负责某个ID的员工离开公司,管理员应立即从系统中删除该账户。
许多入侵是由于使用了长期未使用的帐户造成的。

在用户帐户中,黑客最喜欢具有root权限的帐户。
此类超级用户有权更改或删除各种系统设置,并可以在系统中不受阻碍地运行。
因此,在授予帐户root权限之前,您必须仔细考虑。

Linux系统中的/etc/securetty文件包含一组可以使用root帐户登录的终端名称。
例如,在RedHatLinux系统中,该文件的初始值只允许本地虚拟控制台(rtys)以root权限登录,而不允许远程用户以root权限登录。
最好不要更改这个文件如果需要远程登录获得root权限,最好先用普通帐户登录,然后使用su命令升级到超级用户。

第六步:消除黑客犯罪温床

在Unix系统中,有很多带有r前缀的工具,它们是黑客入侵的武器,非常危险,所以永远不要为这些工具打开root帐户。
既然使用了这些工具。
rhosts文件或hosts.equiv文件已批准进入。
,因此请确保root帐户不包含在这些文件中。

由于r前缀命令是黑客的温床,因此针对此安全漏洞开发了许多安全工具。
例如,PAM工具可用于禁用r工具的功能。
它在/etc/pam.d/rlogin文件中添加了一条必须经过身份验证才能登录的命令,因此系统范围的用户无法使用。
他们自己的家。
.rhosts文件。

第七步:改进安全防护工具

SSH是SecureSocketLayer的缩写,它是一组可以安全地用来替代rlogin、rsh和rcp等工具的程序。
SSH使用公钥技术对网络上两台主机之间的通信信息进行加密,并使用密钥作为身份验证工具。

由于SSH对网络上的信息进行加密,因此可以用来安全地登录远程主机并在两台主机之间安全地传输信息。
事实上,SSH不仅可以保证Linux主机之间的安全通信,Windows用户也可以通过SSH安全地连接到Linux服务器。

第八步:限制超级用户的权力

前面我们提到root是Linux保护的重点,因为它具有无限的权力,最好不要授权超级用户轻易退出。
但是,某些程序的安装和维护必须需要超级用户权限。
在这种情况下,可以使用其他工具来让此类用户拥有部分超级用户权限。
Sudo就是这样的工具之一。

sudo程序允许普通用户在配置设置后使用用户自己的密码重新登录,并获得超级用户权限,但只能执行有限数量的指令。
例如,使用sudo后,管理磁带备份的管理员可以每天准时登录系统,并获得超级用户权限来执行文档备份,但没有权限执行其他只有超级用户才能执行的任务。

sudo不仅限制用户的权限,还会记录每次使用sudo时执行的指令,无论指令执行成功还是失败。
在大型企业中,有时会有很多人同时管理Linux系统的不同部分。
每个管理员都可以使用sudo向某些用户授予超级用户权限,以更改系统的哪些部分。

值得注意的是,sudo并不能限制所有用户行为,尤其是一些简单命令不加限制时,很可能被黑客滥用。
例如,通常用于显示文件内容的/etc/cat命令,如果具有超级用户权限,就可以被黑客用来修改或删除一些重要文件。

第九步:追踪黑客踪迹

在仔细设置了各种Linux相关配置并安装了必要的安全防护工具后,Linux操作系统有了。
安全性确实得到了很大的提高,但并不能保证能够防止技术精湛的大胆网络黑客的入侵。

平时,网络管理人员应时刻保持警惕,随时关注各种可疑情况,及时检查各种系统日志文件,包括一般信息日志、网络连接日志、文件传输日志、和用户等待日志。
检查这些日志时,要注意是否有不合理的时间条目。
例如:

·正常用户半夜登录;

·异常日志条目,例如只记录了一半日志然后被截断,或者整个日志文件被记录已删除;

·用户从未知网站进入系统;

·密码不正确错误或丢弃的用户帐户错误日志条目,尤其是那些重复登录尝试有失败,但存在一定的试错模式;

·非法使用或滥用超级用户权限su命令;

·重新启动计算机或启动各种服务的条目新的。

十大:互防确保安全

从计算机安全角度来看,世界上不存在绝对无懈可击、100%安全的计算机系统,Linux系统也不例外。
虽然采用上述安全规则可以大大提高Linux系统的安全性,防止黑客和电脑游戏玩家轻易闯入,但可能无法阻止那些身怀绝技的武林高手。
企业用户还必须使用其他安全工具如防火墙共同防御黑客入侵,确保系统万无一失。

Linux安全设置注意事项

Linux下用户组安全设置

chmodo-r/etc/passwd//不要让其他用户获取该信息inpasswd

chmodo-r/etc/group//不要让其他用户获取组内的信息

chgrpapache/etc/passwd/etc/group//更改passwd和组到apache组

权限设置

cd/

chmodor-r*

cd/usr

chmodo-r*

cd/var

chmodo-r*

chmodgo-r/etc/httpd/conf

chmodgo-rx/etc/rc.d/init.d

chmodo-r/etc/rc.d/init.d/*//去掉多个目录的列权限

chmodgo-rx/usr/bin/gcc

chmodgo-rx/usr/bin/g++

chmodgo-rx/usr/include//去掉glibc其他用户的权限

Linux中的几种安全防护技术

系统安全对于用户来说至关重要,Linux用户也不例外。
笔者根据自己使用Linux的经验,总结了一些提高Linux安全防护的小技巧,在此介绍给大家。
1.为LILO添加开机密码----在/etc/lilo.conf文件中添加一个选项,让LILO在开始时提示输入密码,以提高系统安全性。
具体设置如下:----boot=/dev/hda----map=/boot/map----install=/boot/boot.b----time-out=60#等待1分钟---提示----default=linux----password=----#设置密码----image=/boot/vmlinuz-2.2.14-12----label=linux----initrd=/boot/initrd-2.2.14-12.img----root=/dev/hda6----只读----此时请注意,由于LILO中密码是以明文形式存储的,因此还必须设置----lilo.conf文件的属性,使得只有root可以读写。
----#chmod600/etc/lilo.conf----当然,还需要进行以下设置才能使对----lilo.conf的更改生效。
----#/sbin/lilo-v2.设置最短密码长度和最短使用时间密码是验证系统用户身份的主要方式。
系统安装时默认的最小密码长度通常为5,但为了保证密码不被猜测攻击,可以增加密码长度。
密码最小长度至少为8。
为此,您需要修改/etc/login.defs文件中的PASS_MIN_LEN参数。
同时应限制密码的使用时间,确保定期更换密码。
建议更改PASS_MIN_DAYS参数。
3、用户注销超时----如果用户在注销时忘记注销账户,可能会给系统安全带来隐患。
可以编辑/etc/profile文件以确保帐户在一段时间不活动后自动从系统注销。
----编辑/etc/profile文件,在“HISTFILESIZE=”行下面添加以下行:----TMOUT=600----那么所有用户在10分钟不活动后将自动注销。
4.禁止访问重要文件-对于一些关键的系统文件,例如inetd.conf、services和lilo.conf,您可以更改其属性,以防止普通用户意外修改和查看。
----首先将文件属性更改为600:----#chmod600/etc/inetd.conf----确保文件所有者是root,然后将其设置为不可编辑:----#chattr+i/etc/inetd.conf----这将防止对该文件进行任何更改。
----重置重置标志后只能更改root:----#chattr-i/etc/inetd.conf5.允许和禁用远程访问:在Linux中,您可以通过/etc/hosts.allow和/etc/hosts.deny这两个文件允许和禁用远程主机对本地服务的访问。
通常的做法是:----(1)编辑host.deny文件,添加以下行:----#Denyaccesstoeveryone.----ALL:ALL@ALL----则禁止访问所有服务所有外部主机,除非host.allow文件允许。
----(2)编辑host.allow文件,添加以下几行:----#Justanexample:----ftp:202.84.17.11xinhuanet.com----则该IP地址将被允许为202.84.17.11而主机名为xinhuanet.com的机器作为客户端访问FTP服务。
----(3)设置完成后,可以使用tcpdchk检查设置是否正确。
6.限制Shell命令记录大小:默认情况下,bashshell最多存储500条记录$HOME/.bash_history文件中的命令数(默认记录数因具体系统而异)。
系统上每个用户的主目录中都有这样一个文件。
作者强烈建议限制该文件的大小。
----您可以编辑/etc/profile文件并更改选项如下:HISTFILESIZE=30或HISTSIZE=307。
注销时删除命令记录----编辑/etc/skel/.bash_logout文件,添加以下行:----rm-f$HOME/.bash_history----这样,系统中的所有用户系统会删除他的命令记录。
----如果您只需要为特定用户设置,例如root用户,您可以编辑用户主目录中的/$HOME/.bash_history文件并添加相同的行。
8、禁止不必要的SUID程序:SUID可以让普通用户以root权限运行程序,因此系统中此类程序应严格控制。
----查找root所属的s位程序:----#find/-typef−perm−04000−o−perm−02000-print|less----禁用不需要的程序:----#chmoda-snome_programma9.控制启动时显示的信息:当你的Linux系统启动时,大量的启动信息会在屏幕上滚动。
如果已通电……系统启动后应检查是否存在问题。
您可以输入以下命令:----#dmesg>bootmessage----该命令将引导时显示的信息的输出重定向到一个bootmessage文件。
10.磁盘空间维护----经常检查磁盘空间对于维护Linux文件系统是非常有必要的。
Linux中最常用的磁盘空间维护命令是df和du。
----df命令主要控制文件系统的使用。
通常的用法是:----#df-k----Filesystem1k-blocksUsedAvailableUse%Mountedon----/dev/hda。
3196715617977866768896%/----du命令检查文件、目录和子目录占用的磁盘空间。
它通常与-s选项一起使用。
仅显示待检查目录占用的磁盘总空间,不显示以下子目录占用的磁盘空间情况。
----%du-s/usr/X11R6/*----34490/usr/X11R6/bin----1/usr/X11R6/doc----3354/usr/X11R6/include