Linux系统安全以及应用

目录

命令历史限制history

终端自动注销 

使用sudo机制提升权限

sudo命令的用途及用法

写入格式:

启用sudo操作日志:

实验:

网络端口扫描-NMAP

nmap命令常用选项

系统账号清理

 密码安全控制

PAM


命令历史限制history

减少记录的命令条数

注销时自动清空历史命令

source /etc/profile或者 ./etc/profile   :刷新

vim ~/.bash_history  :历史命令记录存储在.bash_history里

echo " " > .bash_history   :清空历史命令记录 .bash_history

history -c   :临时删除

环境变量的读取:

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

用户登出–》.bash_logout 运行logout配置文件

Linux系统安全以及应用_第1张图片

其中的HISTSIZE表示保留1000条历史命令记录

终端自动注销 

首先编写/etc/profile,写入export TMOUT=666,表示666秒不进行操作自动注销,wq退出,然后source /.bash_logout 或者 . /etc/profile 刷新

Linux系统安全以及应用_第2张图片 

使用sudo机制提升权限

sudo命令的用途及用法

用途:以其他用户身份(如root)执行授权的命令

用法:sudo 授权命令

sudo  [参数选项]   命令

-l:列出用户在主机上可用的和被禁止的命令;一般配置好/etc/sudoers后,要用这个命令来查看和测试是不是配置正确的;

-v:验证用户的时间戳;如果用户运行sudo后,输入用户的密码后,在短时间内可以不用输入口令来直接进行sudo操作

-v:可以跟踪最新的时间戳;

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

-k删除时间戳,下一个sudo命令要求用求提供密码

visudo或vi /etc/sudoers (此文件的默认权限为440,保存退出时必须执行:"wq!" 命令来强制操作)

写入格式:

用户  主机名=命令程序表

用户  主机名=(用户)命令程序表

用户:直接授权指定的用户名,或采用”组名”的形式(授权一个组的所有用户)。

主机名:使用此规则的主机名。没配置过主机名时可用localhost,有配过主机名则用实际的主机名,ALL则代表所有主机

(用户):用户能够以何种身份来执行命令。此项可省略,缺省时以root用户的身份来运行命

命令程序列表:允许授权的用户通过sudo方式执行的特权命令,需填写命令程序的完整路径多个命令之间以逗号""进行分隔。ALL则代表系统中的所有命令

例如:

zhangsan ALL=/sbin/ifconfig  
lisi localhost=/sbin/*,!/sbin/reboot,!/sbin/poweroff    #通配符"*"表示所有、取反符号"!"表示排除 

wheel ALL=NOPASSWD:ALL
#表示wheel组成员无需验证密码即可使用sudo执行任何命令 

Mike ALL=(root)NOPASSWD:/bin/kill,/usr/bin/killall 
gpasswd-M lisi wheel##李四加入wheel组

启用sudo操作日志:

启用sudo操作日志
visudo
Defaults logfile="/var/log/sudg"

sudo日志记录以备管理员查看,应在/etc/sudoers文件中增加"Defaults logfile"设置如果已经启用sudo日志,则可以从/var/log/sudo文件中看到用户的sudo操作记录。

注:启用日志:Defaults loqfile=/var/log/sudo

另外一个方法是/var/log/secure日志可查看到sudo操作用户步骤

sudo-l#查看当前用户获得哪些sudo授权
 

实验:

W用户没有权限创建新用户,切换到root用户,进入visudo,给W用户添加新增用户和群组的权利,然后切换W用户,用sudo命令即可添加新用户

Linux系统安全以及应用_第3张图片

Linux系统安全以及应用_第4张图片

Linux系统安全以及应用_第5张图片

网络端口扫描-NMAP

rpm -qa |grep nmap 查看

nmap yum install -y nmap 安装nmap

nmap命令常用选项

-p:指定扫描的端口。
 
n:禁用反向DNS解析(以加快扫描速度)

S:TCP的SYN扫描(半开扫描),只向目标发出SYN数据包,如果收到SYN/ACK响应包就认为目标端口正在监听,并立即断开连接;否则认为目标端口并未开放。

-sT:TCP连接扫描,这是完整的TCP扫描方式(默认扫描类型)用来建立一个TCP连接,如果成功则认为目标端口正在监听服务。否则认为目标端口并未开放。

-sF:TCP的FIN扫描,开放的端口会忽略这种数据包,关闭的端口会回应RST数据包。许多防火墙只对sYN数据包进行简单过。而忽略了其他形式的TCP攻击包。这种类型的扫描可间接检测防火墙的健壮性。

-sU:UDP扫描,探测目标主机提供哪此UDP服务,UDP扫描的速度会比较慢。

-sP:ICMP扫描,类似于pina检测,快速判断目标主机是否存活,不做其他扫描。

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

系统账号清理

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

锁定长期不使用的账号

删除无用的账号

锁定账号文件passwd、shadow

chattr +i /etc/passwd   :锁定文件

lsattr /etc/passwd       :查看状态

chattr -i /etc/passwd   :解锁文件

Linux系统安全以及应用_第6张图片

Linux系统安全以及应用_第7张图片

 密码安全控制

设置密码有效期

要求用户下次登录时修改密码

PASS_MAX_DAYS表示密码有效期

Linux系统安全以及应用_第8张图片

 修改用户W密码的最大间隔以及强制用户deno下次登录时更改密码Linux系统安全以及应用_第9张图片

PAM

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

vim /etc/pam.d/sshd

写入auth required pam_tally2.so deny=3 unlock_time=600 even_deny_root_root_unlock_time=1200

代表尝试登录失败超过3次的话,普通用户锁定600秒,root用户锁定1200秒


 

你可能感兴趣的