访问控制,口令加密
访问控制模型
权限管理----RBAC模型
Role-Based Access Control—基于角色的访问控制 把许可权(Permissions)与角色(Role)或用户组联系在一起,用户通过充当合适的角色而获得该角色的许可权。
RBAC是一种非自主型的访问控制模式,在大多数信息管理系统中,角色由系统管理员创建﹑删除﹑修改和定义权利·用户被分配为某个角色后,就被赋予了该角色所拥有的权利与责任,这种授权方式是强制性的,用户只能被动地接受,不能自主地决定为角色增加或减少权利,也不能把自己角色的权利转授给其他用户。
弱口令爆破工具
弱口令可分为默认密码和简单的弱密码,其中默认密码,随便一个渗透者,都会去尝试的,比如说,当我们拿到一个需要测试的 web 后,我们会先找见它的后台,然后尝试默认密码,然后就会使用爆破工具,去尝试可能是哪个弱密码。
一般的网站管理员,他的默认账号有可能是 admin 或者 test ,等等这些常见的管理意思的单词。密码也一样,常见的默认的密码 admin , admin123 , password 等等这些默认密码。
当然还有一些社工式密码,社工式密码,就是收集一些管理员个人信息,然后把管理员的信息,进行组合,凑成一本字典,然后用这个字典去爆破账号,因为人,都比较懒,所以会把自己的密码设置成和自己信息有关的,所以社工式密码,很大几率的就会爆破出你的密码。
密码策略和账户锁定策略
1、以管理员账户登录,创建普通用户benet。
2、设置本地安全策略中的账户策略
1)以管理员账户Administrator登录。
2)单击“开始”→“控制面板”→“系统和安全”→“管理工具”,然后双击“本地安全策略”,打开本地安全策略。(或者直接输入命令secpol.msc直接进入该控制面板)
3)选择“账户策略”→“密码策略”,设置密码长度最小值为7,启用密码必须符合复杂性要求,密码使用最长期限为30天。
4)选择“账户策略”→“账户锁定策略”,设置账户锁定阈值为3。
5)运行gpupdate命令刷新策略。
3、验证密码策略的配置结果
1)管理员Administrator在“计算机管理”中展开“本地用户和组”→“用户”,右击用户账户benet,选择“设置密码”,输入新密码和确认密码“123”,单击“确定”按钮,查看有什么提示信息。,发现报错了,证明策略是有生效的
2)输入新密码和确认密码“[email protected]”,单击“确定”按钮,查看有什么提示信息,满足了复杂性要求所有成功设置
3)注销Administrator,以账户benet在该计算机上登录。
4)同时按下“Ctrl+Alt+Insert”(相当于真实机的Ctrl+Alt+Delete),单击提示框中的“更改密码”按钮。
5)输入旧密码“[email protected]”,输入新密码和确认新密码“123”,单击“确定”按钮,验证有什么提示信息,可以看到受策略限制无法正常设置这种不满足复杂性要求的密码
4、验证账户锁定策略的配置结果
1)以用户账户benet在计算机上登录,故意输错密码,检查输错三次后有什么提示信息,可以看到会被
2)以管理员账户Administrator登录计算机,故意输错密码,检查输错三次后是否有与UserA同样的提示信息,我们可以看到不会被锁定。
5、对账户benet解锁
1)以管理员账户Administrator登录计算机,在“计算机管理”中展开“本地用户和组” →“用户”,右击账户benet,选择“属性”→“常规”,清除“账户已锁定”复选框。
2)以账户benet在该计算机上登录,输入正确的密码,验证能否登录。
口令强度判断
代码
#include<stdio.h>
int main(){
char s[100];
while(true){
int i,sum=0;
int a=0,b=0,c=0,d=0;//小写,大写,数字,符号
printf("请输入你的口令:\n");
gets(s);
for(i=0;;i++){
if(s[i]=='\0')
break;
if(s[i]>='a' && s[i]<='z')
a=1;
if(s[i]>='A' && s[i]<='Z')
b=1;
if(s[i]>= '0' && s[i]<= '9' )
c=1;
else
d=1;
}
sum=a+b+c+d;
if(sum==1)
printf("你的口令强度较弱\n");
if(sum==2)
printf("你的口令强度中等\n");
else if(sum==3)
printf("你的口令强度较强\n");
else if(sum==4)
printf("你的口令强度完美\n");
}
return 0;
}
执行结果