分享

系统安全与PAM认证与端口扫描

 夜猫速读 2022-05-08 发布于湖北省
第十章:系统安全与PAM认证与端口扫描
一、系统账号安全;
二、用户提权和切换;
三、系统引导和登陆控制;
四、PAM认证;
五、NMAP端口扫描;

一、系统账号的安全:
1.清理系统中无用的账号:userdel -r
  锁定长期不用的账号:usermod -L 用户名
  解锁账号:usermod -U 用户名
  查询账号状态:passwd -S 用户名
  查询可登陆系统的账号数量:grep bash$ /etc/passwd |wc -l
2.修改用户的登陆shell:chsh -s /bin/bash 用户名
3.锁定账号文件:chattr +i /etc/{passwd,shadow}(注:锁定状态下无法对文件进行更改,也无法创建删除用户)
  查看账号文件的状态:lsattr /etc/passwd
  解锁账号文件:chattr -i /etc/passwd
4.修改账号的密码策略:
  语法:chage [选项] 时间 用户名                (注:以天为单位)
  选项:-m  ##修改密码最短使用时间
           -M  ##修改最长使用时间
           -d 0  ##设置用户登录时必须修改密码
           -W   ##修改密码过期提醒时间
5.历史命令的管理:
  概述:本次登陆的历史命令会保存在内存中,在注销时,历史命令会保存到文件中;
  管理:history       ##查看内存中的历史命令,退出时会保存到用户家目录中的.bash_history文件中;
           history -c          ##清除内存中的历史命令,不清除历史命令文件
           cat .bash_history                ##查看家目录下的历史命令保存的文件
           :>.bash_history                ##清除保存的历史命令的文件
6.终端自动注销:
  echo "export TMOUT=600" >>/etc/profile
  source /etc/profile
二、用户提权和切换;
1.su切换用户:
  概述:普通用户与管理员之间的相互切换;
  语法:su - 用户名
  选项:-代表切换用户后,使用其shell环境;
  禁止普通用户使用su切换:
       sed -i '6s/^#//g' /etc/pam.d/su              ##开启pam.wheel.so模块
       gpasswd -a 用户 wheel                            ##将用户添加到wheel组内
       grep wheel /etc/group                            ##只有wheel组内成员才可以使用su命令
2.sudo提权命令:
  概述:管理员授权命令给普通用户,执行命令时不需要root密码,便于精确控制普通用户使用命令;
  语法:visudo                        ##root设置可以使用sudo命令的用户,设置哪个用户在哪台主机使用哪个命令,ALL代表所有主机,NOPASSWD:ALL代表不需要密码执行所有命令;
                用户名 主机或ip地址=命令的绝对路径
           :wq
           sudo 命令                        ##普通用户执行命令
           sudo -l                                ##普通用户查看自己可以执行的命令列表
三、系统引导和登陆控制;
1.禁用Ctrl+alt+del热键:
  sed -i '11s/^/#/g' /etc/init/control-alt-delete.conf                        ##注释掉文件中的第十一行
2.为GRUB菜单设置密码;
  grub-md5-crypt                ##生成加密字符串
  在/boot/grub/grub.conf配置文件中,在hiddenmenu行和title行中间添加
  password --md5 $1$hAVRJ/$pZC65twFnqQZpwFhZs.J70                ##设置加密字符串密码
  password=123123                        ##设置明文密码
3.控制tty终端启动的数量:
  vi /etc/sysconfig/init
    ACTIVE_CONSOLES=/dev/tty[345]
  vi /etc/init/start-ttys.conf
    env ACTIVE_CONSOLES=/dev/tty[345]
4.禁用root登陆的tty终端:
  vi /etc/securetty                ##禁用tty5登陆root用户,文件中vc为虚拟终端;
    #tty5
5.禁用普通用户登录系统;
  touch /etc/nologin                        ##创建此文件则普通用户无法登陆系统
四、PAM认证;
1.概述:Linux-PAM(linux可插拔认证模块):一种高效并且灵活便利的用户级别认证方式,是当前linux服务器普遍使用的认证方式。提供对所有服务进行认证的中央机制,适用于login,远程登录(telnet、ftp等)、su等应用程序。
2.系统处理请求流程;
3.PAM认证的构成;
4.PAM认证类型;
  auth:认证管理,接收用户名密码等信息,认证该密码是否正确;
  account:账户管理,检查账户是否被禁用、是否允许登录系统、是否过期、是否有限制等;
  session:会话管理,在用户登录前和用户退出后的会话进行管理和记账;
  password:密码管理,主要用来修改用户的密码;
5.PAM控制类型;
  required:验证失败时仍然继续,但返回fail;
  requisite:验证失败时则立即结束整个验证过程,返回fail;
  sufficient:验证成功则立即返回,不再继续,否则忽略结果则继续验证;
  optional:不用于验证,只是显示信息(通常用于session会话类型);
6.案例:
a.优化密码复杂性要求
[root@lwh ~]# useradd u01
[root@lwh ~]# passwd u01
[root@lwh ~]# vi  /etc/pam.d/system-auth
14  password    requisite     pam_cracklib.so try_first_pass retry=3 type=  minlen=8 dcredit=-2 ucredit=-1 lcredit=-1 ocredit=-1       ##长度最小值8,至少有2个数字,至少有1个大写、小写、特殊字符
15 password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok remember=3   ##密码历史
:wq
[root@lwh ~]# su  - u01  ##进入u01
[root@lwh ~]# passwd   #修改密码验证

b.设置登录失败次数锁定账号;
[root@lwh ~]# vi  /etc/pam.d/system-auth                ##本地登录
第5行添加:
auth   required    pam_tally2.so  deny=5 unlock_time=180  quiet
第11行添加:
account    required   pam_tally2.so
:wq
[root@lwh ~]# vi   /etc/pam.d/password-auth                ##远程登录
第5行添加:
auth    required   pam_tally2.so   deny=3  unlock_time=180  quiet
第11行添加:
account   required   pam_tally2.so  
:wq
使用虚拟机登录u01账号,连续输入错误密码5次,第六次输入正确密码,发现也登录失败;
使用root账号为普通用户u01解锁;
[root@lwh ~]# pam_tally2  -u  u01                         ##查看登陆失败记录
[root@lwh ~]# pam_tally2  --reset  -u  u01                ##重置状态
再次使用虚拟机尝试登录u01账户,发现没问题;

五、NMAP端口扫描;
1.概述:NMap是一个强大的端口扫描类安全评测工具;
2.语法:nmap 选项 扫描类型  目标
        推荐扫描类型:-P0  ##主机禁止ping也能扫描                        -sU                  ##UDP扫描
                                -sT   ##TCP扫描                                        -sO                  ##IP协议扫描
        选项:-p指定端口
        目标:有域名、ip、网段
3.案例:
[root@lwh ~]# nmap -sU 127.0.0.1                        ##检测主机开放的udp端口
[root@lwh ~]# nmap -sT 127.0.0.1                                ##检测主机开放的tcp端口
[root@lwh ~]# nmap -sT www.bdqn.com                ##可以扫描京东、淘宝的网站
[root@lwh ~]# nmap -sT 192.168.13.251 |grep ftp
[root@lwh ~]# nmap -sT 192.168.13.251
[root@lwh ~]# nmap -sO 192.168.100.100                ##扫描IP协议的开放端口
[root@lwh ~]# nmap -A -O www.bdqn.com
[root@lwh ~]# nmap  -vv  www.baidu.com          ##显示扫描过程
[root@lwh ~]# nmap  -A  -O  192.168.3.5           ##扫描OS,端口,MAC能信息
[root@lwh ~]# nmap  -p  21,22,23,139,445,80,25,110  192.168.100.0/24       ##扫描整个192.168.100网段是否开放这些端口
[root@lwh ~]# nmap -sP 192.168.100.0/24                                ##对一个网段的主机进行ping检测,查看存活主机

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多