文章目录提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
- 一、账号安全控制
- 1.系统账号清理
- 2.密码安全控制
- 3.命令历史限制与自动注销
- 1.减少记录命令的条数:
- 2.终端自动注销
- 二、PAM安全认证
- 1.什么是PAM
- 2.PAM认证原理
- 三、限制使用su命令的用户(pam-wheel认证模块)
- 1.su命令概述
- 2.sudo命令的用途以及用法:
- 3.配置su的授权(加入wheel组)(pam_wheel认证模块:)
- 4.配置/etc/sudoers文件(授权用户较多的时候使用):
- 四、终端以及登录控制
- 1.限制root只在安全终端登录
- 2.网络端口扫描nmapp
- 3.netstat命令
1.将非登录用户的Shell设为/sbin/nologin
usermod -s /sbin/nologin 用户名
2.锁定长期不使用的账号
[root@wy ~]# usermod -L test2 锁定用户账号方法一 [root@wy ~]# passwd -l test3 锁定用户账号方法二 [root@wy ~]# usermod -U test2 解锁用户账号方法一 [root@wy ~]# passwd -u test3 解锁用户账号方法二
查看账户有没有被锁:passwd -S [用户名]
3.删除无用的账号
[root@wy ~]# userdel test1 [root@wy ~]# userdel -r test2
4.锁定账号文件passwd,shadow
[root@wy ~]# chattr +i /etc/passwd /etc/shadow 锁定文件,包括root也无法修改 [root@wy ~]# chattr -i /etc/passwd /etc/shadow 解锁文件 [root@wy ~]# lsattr /etc/passwd /etc/shadow查看文件状态属性2.密码安全控制
1.设置密码有效期
[root@wy ~]# chage -M 60 test3 #这种方法适合修改已经存在的用户1 [root@wy ~]# vim /etc/login.defs #这种适合以后添加新用户 PASS_MAX_DAYS 30
2.要求用户下次登录时改密码
[root@hehe ~]# chage -d 0 [用户名] 强制要求用户下次登陆时修改密码3.命令历史限制与自动注销 1.减少记录命令的条数:
``c
[root@wy ~]# vim /etc/profile 进入配置文件修改限制命令条数。适合新用户
HISTSIZE=200 修改限制命令为200条,系统默认是1000条profile
[root@lwy ~]# source /etc/ 刷新配置文件,使文件立即生效
[root@wy ~]# export HISTSIZE=200 适用于当前(之后)用户
[root@wy ~]# source /etc/profile
[root@wy ~]# source /etc/profile 刷新配置文件,使文件立即生效
闲置600秒后自动注销
[root@wy~]#vim .bash_profile 进入配置文件
export TMOUT=600 全局声明超过60秒闲置后自动注销终端
[root@wy ~]# source .bash_profile
[root@hehe ~]# echo $TMOUT
[root@wy ~]# export TMOUT=600
如果不在配置文件输入这条命令,那么是对当前用户生效
[root@hehe ~]#vim .bash_profile
# export TMOUT=600 注释掉这条命令,就不会自动注销了
二、PAM安全认证
1.什么是PAM
1.PAM(Pluggable Authentication Modules)可插拔式认证模块
2.是一种高效而且灵活便利的用户级别的认证方式;
3.也是当前Linux服务器普遍使用的认证方式。
4.PAM提供了对所有服务进行认证的中央机制,适用于login,远程登陆,su等应用
5.系统管理员通过PAM配置文件来制定不同的应用程序的不同认证策略
2.PAM认证原理1.PAM认证一般遵循的顺序: Service (服务) --> PAM (配置文件) --> pam_*.so;,
2.PAM认证首先要确定哪一项应用服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认 模块(位于/lib64/security/下)进行安全认证。
3.用户访问服务器的时候,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证。不同的应用程序所对应的PAM模块也是不同的。
4.如果想查看某个程序是否支持PAM认证,可以用ls命令进行查看/etc/pam.d/。
PAM的配置文件中的每一行都是一个独立的认证过程,它们按从上往下的顺序依次由PAM模块调用。ls /etc/pam.d/ | grep su
通过su命令可以非常方便切换到另一个用户,但前提条件是必须知道用户登录密码。对于生产环境中的Linux服务器,每多一个人知道特权密码,安全风险就多一分。于是就多了一种折中的办法,使用sudo命令提升执行权限,不过需要由管理员预先进行授权, 指定用户使用某些命令。
2.sudo命令的用途以及用法:用途:以其他用户身份(如root)执行授权命令
用法:sudo 授权命令
进入授权命令: 1.visudo 或者 vim /etc/sudoers 语法格式: 1.用户 主机名=命令程序列表 2.用户 主机名=(用户)命令程序列表 -l: 列出用户在主机上可用的和被禁止的命令;一般配置好/etc/sudoers后,要用这个命令来查看和测试是不是配置正确的; -v:验证用户的时间戳;如果用户运行sudo后,输入用户的密码后,在短时间内可以不用输入口令来直接进行sudo操作;用-v可以跟踪最新的时间戳; -u:指定以以某个用户执行特定操作; -k:删除时间戳,下一个sudo命令要求用求提供密码;4.配置/etc/sudoers文件(授权用户较多的时候使用):
visudo单个授权 visudo 或者 vim /etc/sudoers 记录格式: user MACHINE=COMMANDS 可以使用通配符“ * ”号任意值和“ !”号进行取反操作。 %组名代表一整个组 权限生效后,输入密码后5分钟可以不用重新输入密码。 例如:visudo命令下 user kiro=(root)NOPASSWD:/usr/sbin/useradd,PASSWD:/usr/sbin/usermod ##代表 kiro主机里的user用户,可以无密码使用useradd命令,有密码使用usermod /etc/sudoers多个授权 Host_Alias MYHOST= localhost 主机别名:主机名、IP、网络地址、其他主机别名!取反 Host_Alias MAILSVRS=smtp,pop(主机名) User_Alias MYUSER = kiro,user1,lisi 用户别名:包含用户、用户组(%组名(使用引导))、还可以包含其他其他已经用户的别名 User_Alias OPERATORS=zhangsan,tom,lisi(需要授权的用户) Cmnd_Alias MYCMD = /sbin/*,/usr/bin/passwd 命令路劲、目录(此目录内的所有命令)、其他事先定义过的命令别名 Cmnd_Alias PKGTOOLS=/bin/rpm,/usr/bin/yum(授权) MYUSER MYHOST = NOPASSWD : MYCMDDS 授权格式 sudo -l #查询目前sudo操作 查看sudo操作记录 需启用Defaults logfile 配置默认日志文件: /var/log/sudo sudo -l 查看当前用户获得哪些sudo授权(启动日志文件后,sudo操作过程才会被记录)四、终端以及登录控制 1.限制root只在安全终端登录
限制root只在安全终端登录
禁止普通用户登录当服务圈正在进行备份或调试等维护工作时,可能不希整再有新的用户登录系统。这时候,只需要简单地建立/etc/nologin文件即可,login程序会检查/etc/nologin的文件是否存在,如果存在,则拒绝普通用户登录系统touch /etc/nologin #除root以外的用户不能登录了。
此方法实际上是利用了shutdown 延迟关机的限制机制,只建议在服务器维护期间临时使用。当手动删除/etc/nologin文件或者重新启动主机以后,即可恢复正常
vi /etc/securetty
指定终端id进行登陆
虚拟机内 远程不可 虚拟控制台的选择可以通过按下Ctrl+Alt键和功能键Fn(n=1~6)来实现(tty1-tty6)
tty1图形界面
tty2-6字符界面
tty4
root 就不能登录
一款强大的网络扫描、安全 检测工具;
SY:建立链接
ACK:确认
FIN:结束断开
PSH:传送 0 数据缓存 上层应用协议
RST:重置
URG :紧急
常用格式:
nmap [扫描类型] [选项] <扫描目标>
netstat natp #查看正在运行的使用TCP协议的网络状态信息
netstat -natp | grep httpd #实际操作(httpd换成80也可以)
netstat -naup #查看正在运行的使用UDP协议的网络状态信息
[root@localhost run]#rpm -qa|grep nmap 查看nmap
[root@localhost run]#yum install -y nmap 安装nmap
查看本机开放的TCP端口、UDP端口:
[root@localhost ~]# nmap -sT 127.0.0.1
检测192.168.59.0/24网段有哪些存活主机
[root@localhost ~]# nmap -n -sP 192.168.59.0/24
查看当前操作系统的网络连接状态、路由表、接口统计等信息,它是了解网络状态及排除网络服务故障的有效工具
-n 以数字的形式显示相关的主机地址、端口等信息
-r 显示路由表信息
-a 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-l 显示处于监听(Listening)状态的网络连接及端口信息。
-t 查看TCP (Transmission Control Protocol,传输控制协议)相关的信息。
-u 显示 UDP (User Datagram Protocol,用户数据报协议)协议相关的信息。
-p 显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限)
Proto显示连接使用的协议,
RefCnt表示连接到本套接口上的进程数量,
Types显示套接口的类型,
State显示套接口当前的状态,
Path表示连接到套接口的其它进程使用的路径名
用法:①通常使用“-anpt”组合选项,以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息
②配合管道符grep过滤出特定的记录



