学无先后,达者为师

网站首页 编程语言 正文

linux系统安全和应用

作者:花生味花生米 更新时间: 2022-07-18 编程语言

目录

一.账户安全控制

二.密码安全控制

三.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      (调试)程序或系统调试信息

原文链接:https://blog.csdn.net/qq_59161414/article/details/125830692

栏目分类
最近更新