Linux之系统安全及应用

账号安全

系统账号清理

  • 将非登陆用户的Shell设为/sbin/nologin
[root@localhost ~]#cat /etc/passwd #查看系统有哪些用户
[root@localhost ~]#usermod -s /sbin/nologin 用户名 #将用户设置为不能登陆
  • 锁定长期不适用的账号
[root@localhost ~]#passwd  -l #锁定用户
[root@localhost ~]#usermod -L #锁定用户

[root@localhost ~]#passwd  -u #解锁用户
[root@localhost ~]#usermod -U #解锁用户

[root@localhost ~]#passwd  -S #查看用户状态
  • 删除无用的账号
[root@localhost ~]#userdel 用户    #删除用户
[root@localhost ~]#userdel -r 用户 #将宿主目录一起删除
  • 锁定账号文件passwd用户、shadow密码

[root@localhost ~]#chattr +i /etc/passwd
[root@localhost ~]#chattr +i /etc/shadow
#锁定文件


[root@localhost ~]#chattr -i /etc/passwd
[root@localhost ~]#chattr -i /etc/shadow
#解锁文件


[root@localhost ~]#lsattr /etc/passwd
[root@localhost ~]#lsattr /etc/shadow
#查看文件状态属性


#####例子
[root@localhost ~]#chattr +i /etc/passwd
[root@localhost ~]#lsattr /etc/passwd
----i----------- /etc/passwd
[root@localhost ~]#chattr -i /etc/passwd
[root@localhost ~]#lsattr /etc/passwd
---------------- /etc/passwd


[root@localhost ~]#chattr +i /etc/shadow
[root@localhost ~]#lsattr /etc/shadow
----i----------- /etc/shadow
[root@localhost ~]#chattr -i /etc/shadow
[root@localhost ~]#lsattr /etc/shadow
---------------- /etc/shadow

密码安全控制

  • 设置密码有效期
[root@localhost ~]#chage -M 30 用户 #设置密码有效期30天 适用于已有用户

[root@localhost ~]#vim /etc/login.defs  #适用于添加新用户
PASS_MAX_DAYS   99999  #可以把时间设置为30天

  • 要求用户下次登陆时修改密码
[root@localhost ~]#chage -d 0 用户  #下次登陆必须修改密码

命令历史限制

  • 减少记录的命令条数
  • 注销时自动清空命令历史
[root@localhost ~]#vim /etc/profile  #进入配置文件修改历史命令条数
HISTSIZE=10
[root@localhost ~]#. /etc/profile  #刷新配置文件,使文件立即生效


[root@localhost ~]#export HISTSIZE=200
[root@localhost ~]#. /etc/profile  #刷新配置文件,使文件立即生效

[root@localhost ~]#history -c  #临时清理

[root@localhost ~]#vim ~/.bashrc
echo "">.bash_history #写入.bash_logout   #注销时自动清理命令

终端自动注销

[root@localhost ~]#vim /etc/profile  #对所有用户生效
export TMOUT=10
[root@localhost ~]#. /etc/profile  #刷新配置文件,使文件立即生效
[root@localhost ~]#source /etc/profile  #刷新配置文件,使文件立即生效

使用su命令切换用户

root切换普通用户不用密码验证
普通用户切换其他用户需要密码验证

su - 用户
#加 - 是完全切换  自立门户
#不加 - 是不完全切换  继承师尊遗产 会残留上一个用户的一些设置

[root@localhost ~]#su mtwm   #切换到mtwm用户,从root用户切换不用密码
[mtwm@localhost root]$ su ww   #从普通用户mtwm切换到普通用户ww,需要密码
密码:
[ww@localhost root]$ exit   #按exit退出用户
exit
[mtwm@localhost root]$ exit
exit
[root@localhost ~]#whoami   #whoami可以查看当前用户
root


[root@localhost ~]#vim /etc/pam.d/su
  2 auth            sufficient      pam_rootok.so
  6 #auth           required        pam_wheel.so use_uid
#默认情况下,使用root切换不需要密码,注释两行,所有账号都可以使用,但是root切换时需要密码

PAM安全认证模块

  • 用户来访问我
    首先确定用什么来访问 确定service类型 (用户名 密码 密钥 短信验证码)
    根据配置文件确定是否放行
    如果调用的相关的模块

  • 配置文件:
    主配置:/etc/security 只有功能强大的pam模块才会有主配置文件
    次配置文件:/etc/pam.d 虽然他是次配置 他优先

  • 模块文件:/usr/lib64/security

  • 默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root) 的登录密码,带来安全风险;
    为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换。

sudo

sudo  用户   #可以使用户临时以root执行命令

#####配置sudo授权
[root@localhost ~]#visudo   #自带语法检查
visudo: /etc/sudoers.tmp 未更改

[root@localhost ~]#vim /etc/sudoers   #不带语法检查

root    ALL=(ALL)       ALL
用户     主机列表         命令列表

###例子
mtwm    ALL=(ALL)       /usr/bin/mount    /dev/cdrom    /mnt
#命令尽量用绝对路径
#多条命令使用时用,分割
#支持使用* !等通配符
#NOPASSWD可以不需要密码验证
#权限生效之后,五分钟可以不用在输密码



#配置/etc/sudoers文件,可以授权用户较多的时使用
Host_Alias MYHOST= localhost  #主机名
User_Alias MYUSER = yxp,zhangsan,lisi   #需要授权的用户   
Cmnd_Alias MYCMD = /sbin/*,/usr/bin/passwd  #授权
MYUSER  MYHOST = NOPASSWD : MYCMD  #授权格式

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

暴力破解密码

#把下载好的安装包用过rz命令下到目录opy下(sz可以把linux系统中的文件传到自己的windows系统中):
[root@localhost ~]#cd /opt
[root@localhost ~]#rz   
[root@localhost opt]#ls
john-1.8.0.tar.gz
​
#解压
[root@localhost opt]#tar zxvf john-1.8.0.tar.gz 
​
#安装软件编译工具
[root@localhost src]#yum install gcc gcc-c++ make -y
​
#进行编译安装
[root@localhost src]#make clean linux-x86-64
​
#准备待破解的密码文件
[root@localhost src]#cd ..   #切换至上级目录
[root@localhost src]#cp /etc/shadow /opt/shadow.txt  #准备密码文件
 
#执行暴力破解
[root@localhost src]#cd /opt/john-1.8.0/run/
[root@localhost run]#./john /opt/shadow.txt 
​
#查看已经破解出的密码
[root@localhost run]#./john --show /opt/shadow.txt

nmap扫描

nmap    [扫描类型]    [选项]      <扫描目标>

nmap命令常用的选项和描类型
-p:   指定扫描的端口。
-n:   禁用反向DNS解析(以加快扫描速度) ip转换成 域名  12222 2www.baidu.com       
-sS:  TCP的SYN扫描 (半开扫描),只向目标发出SYN数据包,如果收到SYN/ACK响应包就认为目标端口正在监听,并立即
断开连接;否则认为目标端口并未开放。
-sT:  TCP连接扫描,这是完整的TCP扫描方式(默认扫描类型),用来建立一个TCP连接,如果成功则认为目标端口正在监
听服务,否则认为目标端口并未开放。
-sF:  TCP的FIN扫描,开放的端口会忽略这种数据包,关闭的端口会回应RST数据包。许多防火墙只对sYN数据包进行简单
过滤,而忽略了其他形式的TCP攻击包。这种类型的扫描可间接检测防火墙的健壮性。
-sU:  UDP扫描,探测目标主机提供哪些UDP服务,UDP扫描的速度会比较慢。
-sP:  ICMP 扫描,类似于ping检测,快速判断目标主机是否存活,不做其他扫描。
-P0:  跳过ping检测, 这种方式认为所有的目标主机是存活的,当对方不响应ICMP请求时,使用这种方式可以避免因无法
ping通而放弃扫描。

服务 端口号
HTTP 80
HTTPS 443
Telnet 23
FTP 21
SSH(安全登录)、SCP(文件传输)、端口重定向 22
SMTP 25
POP3 110
WebLogic 7001
TOMCAT 8080
WIN2003远程登录 3389
Oracle数据库 1521
MS SQL* SEVER数据库sever 1433
MySQL 数据库sever 3306
posted @ 2023-07-30 00:55  德国南部之星  阅读(17)  评论(0编辑  收藏  举报