目录
一.账户安全控制
二.密码安全控制
三.pam的作用
四.history的用法
五.环境变量的读取顺序
六.终端自动注销
七.限制用户命令
八.pam(centos认证方式)
九.sudo(机制提升权限)
十.网络扫描
十二.日志文件的分类
十三.日志级别
一.账户安全控制
锁定和解锁文件(防止系统中某个关键文件被修改)
chattr +i /etc/passwd /etc/shadow

chattr -i /etc/passwd /etc/shadow

查看为锁定的状态
lsattr /etc/passwd /etc/shadow
二.密码安全控制
vi /etc/login.defs 适用于新建用户
PASS_MAX_DAYS 20 设置密码有效期为20天,默认99999
PASS_MIN_DAYS 0 表示自上次修改密码以来,最少多少天后才能再次修改密码,默认为0
PASS_MIN_LEN 5 设置密码长度,对root无效(默认不小于5位)
PASS_WARN_AGE 7 指定多少天,系统开始提醒用户密码到期,默认为7天
三.pam的作用
pam模块用来防止暴力破坏ssh
vim /etc/pam.d/sshd
在第一行下面添加一行:
表示尝试登录失败超过3次后,普通用户600秒解锁,root用户1200秒解锁
auth required pam_tally2.so deny=3 unlock_time=600 even_deny_root root_unlock_time=1200
手动解除锁定
查看某一用户登录次数
pam_tally2 --lisi
查看work用户的错误登录次数
pam_tally2 --lisi root
清空所有用户错误登录次数
pam_tally2 --lisi --reset
清空work用户的错误登录次数
pam_tally2 --lisi root --reset
四.history的用法
history(查看输入命令历史)

history -c(清空历史记录)

五.环境变量的读取顺序
vim .bashrc
echo " " > .bash_history
用户登录 ->> 加载-/.bash_profile --> bash_profile配置了首先是使~/.bashrc生效
.bash_profile 文件中的命令将在该用户每次登录时执行
.bashrc 文件中的命令会在每次加载/bin/bash(shell编辑器)
.bash_logout 再退出shell时被读取
其他办法
如果需要每个用户登出时都清除输入的命令记录,可以在/etc/skel/.bash_logout文件中添加下面
这行rm -f $HOME/.bash_history.这样,当用户每次注销时.bash_history文件会被删除。
六.终端自动注销
闲置600秒自动注销
vi /etc/profile 适合于新登录用户
export TMOUT=600 适用于当前用户
除此之外,还可以修改用户宿主目录中的~/.bash_logout文件,添加清空历史的操作语句,这样
当用户退出已登录bash环境之后,所记录的历史命令将自动清空
vi ~/.bash_logout
history -c
clear
七.限制用户命令
默认情况下,任何用户都允许使用su命令,从而有机会反复尝试其他用户(如 root)的登录密码,这
样带来了安全风险。为了加强 su命令的使用控制,可以借助于su。
禁止登录用户使用su命令
在 /etc/pam.d/su
2 #auth sufficient pam rootok.so
6 #auth required pam_wheel.so use_uid
使用户wheel成员su到root不用密码
quth sufficent pam_wheel.so trust use_uid
使得非wheel用户无法登录root
auth required pam_wheel.so use_uid
添加授权用户zhangsan正在将用户“zhangsan加入到 “wheel"组中
[root@localhost~]#gpasswd -a zhangsan wheel
查看确认wheel组成员
[rootPlocalhost ~]#grep wheel /etc/group
wheel:c10.zhangsan
[root@localhost~]#vim /etc/pam.d/su
PAM-1.0
auth sufficient pam_rootok.so
auth required pam_wheel.so use_uid 去掉此行开头的#号
启用pam_wheel认证以后,未加入到wheel组内的其他用户将无法使用su命令,尝试进行切
换时将提示“拒绝权限”,从而将切换用户的权限控制在最小范围内。
普通用户切换登录测试验证
使用su命令切换用户的操作将会记录到安全日志/var/log/secure文件中,可以根据需要进行查看。
八.pam(centos认证方式)
pam认证原理
1.PAM认证一般遵循的顺序: Service(服务)-->PAM(配置文件)--> pam_*.so;
2.PAM认证首先要确定哪一项应用服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最
后调用认证模块(位于/lib64/security/下)进行安全认证。
3.用户访问服务器的时候,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证。不同
的应用程序所对应的PAM模块也是不同的。
如果想查看某个程序是否支持PAM认证,可以用ls命令进行查看/etc/pam.d/
PAM的配置文件中的每一行都是一个独立的认证过程,它们按从上往下的顺序依次由PAM模块调用
ls /etc/pam.d
九.sudo(机制提升权限)
sudo机制介绍:
通过su如命令可以非常方便地切换为另一个用户,但前提条件是必须知道目标用户的登录密码。列加
若要从zhangsan切换为root,用户,必须和道root的密码。对于生产环境中的服务器,每多一个人知
道特权密码,安全性就降低。
etc/fudoes文件的默认权限受为440,要使用专门的visudo工具进行编辑。虽然也可以用vi进行编辑,
但保存的时必须执行w
zhangsan localhost=/usr/bin/ifdownwhich ifdown
sudo[参数选项]命令
-1列出用户在主机上可用的和被禁止的命令;一般配置好/etc/sudoers后,要用这个命令来查看和测
试是不是配置正确的;
-v验证用户的时间戳;如果用户运行sudo后,输入用户的密码后,在短时间内可以不用输入口令来直
最新的时间戳。
-u指定以以某个用户执行特定操作;
-k删除时间戳,下一个sudo命令要求用求提供密码
用户组设置sudo提权
用户(user):直接授权指定的用户名,或采用“%组名”的形式(授权一个组的所有用户)。
主机(MACHINE):使用此配置文件的主机名称。此部分主要是方便在多个主机间共用同一份sudoers文件,
一般设为localhost或者实际的主机名即可。
命令(COMMANDS)∶允许授权的用户通过sudo方式执行的特权命令,需填写命令程序的完整路径,
多个命令之间以逗号“”进行分隔。
十.网络扫描
yum -y install nmap
nmap -sT (tcp连接扫描)127.0.0.1
-sU (udp扫描)
-sP (icmp扫描)
-sS (tcp syn扫描)
-sF (tcp fin扫描)
-p (指定端口扫描)21,22(扫多个用逗号隔开)

十一.netstat命令
查看当前操作系统的网络连接状态、路由表、接口统计等信息,它是了解网络状态及排除网络服务故障的有效工具
-n 以数字的形成显示相关的主机地址,端口等信息。
-r 显示路由表信息
-a 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-l 显示处于监听(Listening)状态的网络连接及端口信息。
-t 查看TCP相关的信息
-u 查看UDP相关的信息
-p 显示与网络连接相关的进程号,进程 名称信息(该选项需要root权限)
Proto 显示连接使用的协议
RefCnt 表示连接到本套接口上的进程数量
Types 显示套接口的类型
State 显示套接口当前的状态
Path 表示连接到套接口的其他进程使用的路径名
十二.日志文件的分类
/var/log/message 记录linux内核信息及各种应用程序的公共日志信息
/var/log/cron 记录crond计划任务产生的事件信息
/var/log/maillog 记录进入或发出的电子邮件信息
/var/log/secure 记录用户认证相关的安全事件信息
十三.日志级别
EMERG (紧急)会导致主机系统不可用情况
ALERT (警告)必须马上采取措施解决问题
CRIT (严重)比较严重情况
ERR (错误)运行出现错误
WARNING (提醒)可能影响系统功能,需要提醒用户的重要事件
NOTICE (注意)不影响正常功能,要注意事件
INFO (信息)一般信息
DEBUG (调试)程序或系统调试信息