拓展实训  Linux账户和口令安全
【基本信息】
实验描述: Linux账户和口令安全
实验科目:网络安全
实验分类:操作系统安全实验
难易级别:基础
实验课件: Linux账户和口令安全
【实验目的】
1.了解Linux操作系统的安全的重要性。
2.熟悉Linux环境下的用户管理、口令管理的相关操作命令。
3.掌握Linux操作系统中相关的系统安全配置方法,建立Linux操作系统的基本安全框架【实验环境】
设备名称:主机
软件环境:Ubuntu 14.04桌面版
硬件环境:CPU:1核内存:2G 磁盘:20G
【任务内容】
1.学习Linux操作系统的安全的基本知识。
2.删除或者禁用不必要的用户。
3.设置强壮的用户密码和设置密码策略。
【实验原理】
1.操作系统安全概述
操作系统是信息系统的重要组成部分。首先,操作系统位于软件系统的底层,需要为其上运行的各类应用服务提供支持;其次,操作系统是系统资源的管理者,对所有系统软、硬件资源实施统一管理;此外,作为软硬件的接口,操作系统起到承上启下的作用,应用软件对系统资源的使用与改变都是通
过操作系统来实施。因此,操作系统的安全在整个信息系统的安全性中起到至关重要的作用,没有操作系统的安全,信息系统的安全性将犹如建在沙丘上的城堡一样没有牢固的根基。
当前云计算、大数据、移动互联网、物联网等技术快速发展,互联网使世界范围内的信息共享和业务协同成为可能。随着人们对计算机网络的依赖性增强,计算机安全问题也突出出来。作为计算机网络建设的核心基石之一,操作系统安全建设早已被提上日程。
操作系统需要从用户管理、资源访问行为管理以及数据安全、网络访问安全等各个方面对系统行为进行控制,保证破坏系统安全的行为难以发生。同时,还需要对系统的所有行为进行记录,使攻击等恶意行为一旦发生就会留下痕迹,使安全管理人员有据可查。
用户对系统的不当使用是威胁操作系统安全的最主要因素之一,这里既包括合法用户因为误操作而对系统资源造成的破坏,也包含恶意攻击者冒用合法用户身份对系统的攻击破坏。因此,操作系统安全的首要问题是对系统用户进行管理,确保正常情况下登录用户的合法性,然后才能以此为基础构建整个操作系统安全体系。盒子垂直居中的几个方法
2.Linux账户管理
账户安全是系统安全的第一道屏障,也是系统安全的核心,保障登录账户的安全,在一定程
度上可以提高服务器的安全级别。Linux操作系统是典型的多用户多任务操作系统,即同一时间内,允许由多个用户同时登录同一台计算机,运行各自的一个或多个任务,各个用户之间并不一定能明确的感知到其他用户的登录操作。Linux上存在一个超级用户,就是root,root账户几乎无所不能,可以用来创建和配置非root账户。关于账户管理,有两个概念必须理解,用户(User)和用户组(Group)。linux修改口令的命令
∙用户(User):一台计算机允许程序或人登录并在一定权限范围之内运行任务的账户配置信息。
∙用户组(Group):Linux允许把一类用户(多个)划分到一个组里,这一组的用户拥有相同的操作权限,当然一个用户也可以只对应一个组,同时也支持将一个账户添加到多个组里。
Linux系统对账号与组的管理是通过ID号来实现的,我们在登录系统时,输入用户对应的密码,后台系统会将用户名转化为ID号后再判断该账号是否存在,并对比密码是否匹配。在Linux 中,用户ID号被称为UID,组ID被称为GID。其中UID为0,代表超级管理员,也就是通常说的root账号,1~499之间ID号系统会预留下来。这样我们创建的账号会从500算起。Linux的组有基本组与附加组之分,一个用户只可以加入一个基本组中,但可以同时加入多个附加组。创建用户时,系统默认会自动创建同名的组,并设置用户加入该基本组中。
Linux提供了各种不同角的系统账号,在系统安装完成后,默认会安装很多不必要的用户和用户组,如果不需要某些用户或者组,就要立即删除它,因为账户越多,系统就越不安全,很可能被黑客利用,
进而威胁到服务器的安全。管理员应该定期的去检查/etc/passwd文件,查看主机上的启动用户,对于系统中已经不存在的用户,应及时将清理。
Linux系统中可以删除的默认用户和组大致有如下这些:
可删除的用户如:lp、sync、shutdown、halt、news、uucp、operator、games、gopher等。
可删除的组如:lp、news、uucp、games、dip、pppusers、popusers、slipusers等。
3.Linux密码安全策略
对于过于简单的密码,一些密码破解工具就可以轻松第破解这些薄弱的密码获得用户的访问权限,从而进入系统。另外对于对于没有设置密码的用户,应该删除或者强制进行设置密码。用户密码配置文件及密码安全策略如下:
●密码配置文件:
(1)/etc/passwd 包含系统全部用户的信息,包括用户名,UID,GID,注释信息,用户家目录,用户shell类型。
(2)/etc/shadow包含密码信息,以$为分隔符,$后第一段是密码加密机制,$后第二段为随机数,防止用户密码相同时,密文也是相同的,第三段才是真正的密码。后边分别是密码最近修改的天数,多少天后可以修改密码,密码过期时间,过期前多少天提醒,冻结期。
(3)/etc/group记录系统上所有的组的信息。分别是组名,密码占位符,GID
socket结构体数组怎么接收(4)/etc/gshadow记录系统上组的信息,以此组为附加组的用户的用户名。
●密码安全策略:
(1)密码中包含有字母,数字以及标点符号
(2)密码中同时包含有大写和小写字符
(3)密码长度在8位以上
(4)不要使用自己的个人信息相关的密码,比如生日、电话号码
(5)定期更换密码
Pam_cracklib.so模块可对密码复杂度进行检查,如密码长度、密码类型等。它通过一些参数来检查相
应的强度,如type参数提示输入密码的文本内容,一般是“新的密码”、“重新输入新的密码”;retry参数是用户最多输入几次密码后报错;difork参数是新密码和旧密码不能有几个
字符相同;minlen参数是最小密码长度;minclass是最少密码字符类型。用户可以在/etc/pam.d/common-password文件中设置密码强度。pam_cracklib.so中有很多参数可以选择,具体配置如下:
∙retry=N改变输入密码的次数,默认值是1。就是说,如果用户输入的密码强度不够就退出。可以使用这个选项设置输入的次数,以免一切都从头再来。
∙difok=N默认值为10。这个参数设置允许的新、旧密码相同字符的个数。
∙difignore=N多少个字符的密码应收到difok将被忽略。默认为23
∙minlen=N表示最小密码长度为(N类型数量)。这里的“类型数量”表示不同的字符类型数量。PAM提供4种类型符号作为密码(大写字母、小写字母、数字和标点符号)。如果你的密码同时用上了这4种类型的符号,并且你的minlen设为10,那么最短的密码长度允许是6个字符。
∙dcredit=N限制新密码中至少有多少个数字。
∙ucredit=N限制新密码中至少有多少个大写字符。
∙lcredit=N限制新密码中至少有多少个小写字符。
∙ocredit=N限制新密码中至少有多少个其它的字符。此参数用于强制模块不提示用户的新密码,但以前使用的堆叠模块提供的密码之一。
c语言课程设计题目简单的为了系统安全考虑,用户最好定期更换密码,因为如果长期不换密码,密码容易被入侵者暴力破解或盗用。用户可以自己执行passwd命令定期修改密码,也可采用chage命令修改指定用户的密码周期。
4.合理使用su、sudo命令
su命令:是一个切换用户的工具,经常用于将普通用户切换到超级用户下,当然也可以从超级用户切换到普通用户。为了保证服务器的安全,几乎所有服务器都禁止了超级用户直接登录系统,而是通过普通用户登录系统,然后再通过su命令切换到超级用户下,执行一些需要超级权限的工作。通过su命令能够给系统管理带来一定的方便,但是也存在不安全的因素,例如:系统有10个普通用户,每个用户都需要执行一些有超级权限的操作,就必须把超级用户的密码交给这10个普通用户,如果这10个用户都有超级权限,通过超级权限可以做任何事,那么会在一定程度上对系统的安全造成了威协。
因此su命令在很多人都需要参与的系统管理中,并不是最好的选择,超级用户密码应该掌握在少数人手中,此时sudo命令就派上用场了。
sudo命令:允许系统管理员分配给普通用户一些合理的“权利”,并且不需要普通用户知道超级用户密码,就能让他们执行一些只有超级用户或其他特许用户才能完成的任务。
比如:系统服务重启、编辑系统配置文件等,通过这种方式不但能减少超级用户登录次数和管理时间,也提高了系统安全性。
因此,sudo命令相对于权限无限制性的su来说,还是比较安全的,所以sudo也被称为受限制的su,另外sudo也是需要事先进行授权认证的,所以也被称为授权认证的su。
【实验步骤】
1.管理系统用户账号
步骤1:选择主机1,单击“登录”,打开终端。执行su root命令切换到root用户。
步骤2:执行sudo apt-get install libpam-cracklib安装pam-cracklib.so模块。
步骤3:执行cat /etc/passwd命令,查看账户、口令文件,如下所示。
步骤4:执行userdel lp命令,删除不必要的账号。
说明:对于一些保留的系统伪账户可以删除。
步骤5:执行useradd mytest命令,新建名为mytest的新账户。
步骤6:执行passwd mytest命令,为新建账户添加密码,如123。
步骤7:执行cat /etc/shadow命令,查看系统中的账户列表,如下所示。
步骤8:执行su mytest命令切换到新建的账户。
步骤9:执行cat /etc/shadow命令,检查shadow文件的权限设置是否安全,结果如下所示。
由上可知,mytest用户没有权限访问shadow文件。
2.设置密码安全策略
步骤1:执行su root命令切换到root用户。
步骤2:执行vi /etc/pam.d/common-password命令,设置密码安全策略。
(1)到同时有“password”和“pam_unix.so”字段的那行,添加remember=5,如下所示。
“remember=5”表示禁止使用最近用过的5个密码。
(2)到同时有“password”和“pam_cracklib.so”字段的那行,设置minlen=10,如下所示。
“minlen=10”表示最小密码长度为10。
(3)到同时有“password”和“pam_cracklib.so”字段的那行,设置ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1,如下所示。
“ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1”表示密码必须至少包含一个大写字母(ucredit),两个小写字母(lcredit),一个数字(dcredit)和一个标点符号(ocredit)。
(4)执行wq命令保存退出。
步骤3:执行su mytest命令,切换到mytest账户。
步骤4:执行passwd命令,修改账户密码。
网页素材制作工具
(1)根据提示先输入当前mytest的密码,再设置新密码,这里分别输入新密码123,123456,admin,查看提示信息,如下所示。
由于输入的密码都与上面配置的内容不符,所以都修改失败了。
(2)输入密码Admin1234.,查看修改密码结果。
步骤5:执行su root命令切换到root用户。
步骤6:执行chage -m 5 -M 90 -I 30 -W 7 mytest命令,设置用户密码期限。
其中:
∙-m表示密码可更改的最小天数。为零时代表任何时候都可以更改密码。
∙-M表示密码保持有效的最大天数。
∙-W表示用户密码到期前,提前收到警告信息的天数。
成绩排名rank公式∙-I表示停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
步骤7:执行chage -l mytest命令,列出当前密码设置。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。