账号安全及应用

目录

一、账号安全控制

1.系统账号清理:

①将非登录用户的shell设为/sbin/nologin

②锁定长期不使用的账号

③删除无用的账号

2.锁定账号文件passwd、shadow

①chatter和lsattr

②usermod和passwd

二、密码安全控制

1.设置密码有效期

2.通过pam模块来防止暴力破解ssh

 3.手动解除锁定:

三、历史命令限制

1.减少记录的命令条数

①所有用户:

②单用户:

③环境变量读取顺序:

四、终端自动注销

五、限制su命令

1.在/etc/pam.d/su文件里设置禁止用户使用su命令

2.添加用户到组:

六、PAM

1.pam安全认证

2.pam认证原理

七、sudo机制提升权限

八、终端登录安全控制

1.直接建立一个/etc/nologin

2.限制终端登录

九、扫描端口

1.nmap

2.netstat


一、账号安全控制

1.系统账号清理:

对于不用的账号,应记得及时清理。

①将非登录用户的shell设为/sbin/nologin

②锁定长期不使用的账号

③删除无用的账号

2.锁定账号文件passwd、shadow

①chatter和lsattr

chattr -i /etc/passwd /etc/shadow  -i 解锁 +i 上锁

lsattr /etc/passwd /etc/shadow     查看是否锁定

②usermod和passwd

usermod -L 用户名     锁定账号

usermod -U 用户名     解锁账号

passwd -S 用户名       查看帐号状态

 

passwd -l 用户名         锁定用户账号

passwd -u 用户名        解锁账号

userdel -r 用户名         删除用户

二、密码安全控制

1.设置密码有效期

vi /etc/login.defs   #适用于新建的用户

PASS_MAX_DAYS 30     #设置密码有效期30天,默认99999

PASS_MIN_DAYS 0      #自从上次修改密码以来,最少隔多少天后用户才能再次修改密码,默认值为0

PASS_MIN_LEN  5      #密码最小长度,对root无效

ps:指定密码的最小长度,默认不小于5为,但是现在用户登录时验证已经被pam模块取代,所以这个选项并不生效

PASS_WARN_AGE 7      #指定在密码到期前多少天,系统开始警告,默认为7天

2.通过pam模块来防止暴力破解ssh

vim /etc/pam.d/sshd


在第一行下面添加一行:

尝试登陆失败超过3次,普通用户30s解锁,root用户60s解锁

 

 3.手动解除锁定:

pam_tally2 --user 用户名                 查看某一用户错误登录次数

pam_tally2 --user 用户名 --reset     清空用户错误登录次数

三、历史命令限制

1.减少记录的命令条数

①所有用户:

vim /etc/profile  环境变量文件所有用户终端都生效

添加:

HISTSIZE=次数     限制保留()条历史命令

source /etc/profile 重新加载

②单用户:

~目录下的隐藏文件.bash_profile

.bash_profile      用户登录时执行

.bashrc            用户登录时加载的

.bash_logout           登出时加载

history -c(clean) 清空

(但是家目录下的.bash_history还在)

③环境变量读取顺序:

用户登录 -> 加载~/.bash_profile -> bash_profile中配置了首先是使~/.bashrc生效

注销时自动清空命令历史

vim /etc/skel/.bash_logout

rm -rf $HOME/.bash_history

四、终端自动注销

闲置后终端自动注销

vim ~/.bash_profile 单用户

     /etc/profile   所有用户

export TMOUT=时间   闲置时间后自动注销

 

unset TMOUT             取消TMOUT设置

输入   source /etc/profile       将会再次加载超时设置

五、限制su命令

1.在/etc/pam.d/su文件里设置禁止用户使用su命令

vim /etc/pam.d/su

2 # auth sufficient pam_rootok.so

6 # auth required pam_wheed.so use_uid

1)以上两行都是默认状态(即开启第二行,注释第六行),这种状态下是允许所有用户见使用su命令进行切换

2)两行都注释也是运行所有用户都能使用su命令,但root切换普通用户也需要密码;如果第二行不注释,则root使用su切换普通用户不需要密码

 

3)如果开启第六行,表示只有root用户和wheel组内用户可以使用su

4)如果注释第二行,开启第六行,表示只有wheel组内的用户才可以用su,root也被禁用su

auth sufficient pam.wheel.so trust use_uid      使wheel成员su到root不用密码

auth required pam_wheel.so use_uid              使非wheel成员无法切换到root

2.添加用户到组:

gpasswd -a 用户名 wheel   #添加用户到wheel组

grep wheel /etc/group     #确认wheel成员

六、PAM

1.pam安全认证

是一种高效且灵活的便利的用户级的认证,是现在linux服务器普遍使用的认证方式

2.pam认证原理

①pam认证一般遵循的顺序:service(服务)-pam(配置文件)-pam——*.so

②pam认证首先要确定哪一项应用服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证模块(位于/lib64/security/下)进行安全认证。

③用户访问服务器的时候,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证,不同的应用程序所对应的PAM模块也是不用的。

如果想查看某个程序是否支持PAM认证,可以使用ls查看/etc/pam.d/  PAM的配置文件中的每一行都是一个独立的认证过程,他们按从上往下的顺序依次由PAM模块调用

七、sudo机制提升权限

通过su命令可以非常方便的切换为另一个用户,但前提条件是必须知道目标用户的登陆密码。(为了安全)

etc/sudoers文件的默认权限为440,需使用专门的visudo工具进行编辑,也可以用vi编辑,不过需要":w!"强制执行

sudo  -l  列出用户在主机上可用的和被禁止的命令

          -v  验证用户的时间戳

         -u  指定以某个用户执行特定操作

         -k  删除时间戳

用户名  ALL=(root)NOPASSWD:命令的绝对路径,PASSWD:命令的绝对路径    #前面不需要密码,后面需要密码,中间用','隔开。命令之间空格隔开

 

八、终端登录安全控制

1.直接建立一个/etc/nologin

login程序会检查此文件是否存在。存在则拒绝普通用户登陆系统

2.限制终端登录

vim /etc/securetty

哪个终端不想让登录直接#注释掉

九、扫描端口

1.nmap

nmap  -p                   指定扫描端口

           -n                   禁用反向DNS解析(加快扫描速度)

          -sS                  TCP SYN扫描,只向目标发送SYN数据包,接收到回复则目标端口开放

          -sT                  TCP扫描,建立一个TCP链接

          -sF                  TCP FIN是扫描,开放的端口忽略,关闭的端口回应RST数据包(间接检测防火墙的健壮性)

          -sU                  UDP扫描,探测目标主机提供哪些UDP服务(速度较慢)

          -sP                  ICMP扫描,类似于ping检测

          -P0                  跳过ping检测,认为所有目标主机存活。当对方不响应ICMP请求,可以避免无法ping通而放弃扫描

2.netstat

netstat  -n   以数据形式显示相关的主机地址、端口等信息

             -r   显示路由表信息

             -a   显示主机中所有活动的网络链接信息(包括监听、非监听的服务端口)

             -t   查看TCP相关信息

             -l   显示处于监听状态的网络连接及端口信息

             -u   显示UDP相关信息

             -p   显示与网络连接相关的进程号、进程名称信息(root权限)

通常配合 -anpt 以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息

                管道符grep过滤出特定的记录
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值