栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

系统安全与应用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

系统安全与应用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录
  • 一、账号安全控制
        • 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.系统账号清理

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 刷新配置文件,使文件立即生效

2.终端自动注销

闲置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命令的用户(pam-wheel认证模块) 1.su命令概述

通过su命令可以非常方便切换到另一个用户,但前提条件是必须知道用户登录密码。对于生产环境中的Linux服务器,每多一个人知道特权密码,安全风险就多一分。于是就多了一种折中的办法,使用sudo命令提升执行权限,不过需要由管理员预先进行授权, 指定用户使用某些命令。

2.sudo命令的用途以及用法:

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

3.配置su的授权(加入wheel组)(pam_wheel认证模块:)
进入授权命令:
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 就不能登录

2.网络端口扫描nmapp

一款强大的网络扫描、安全 检测工具;

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

3.netstat命令

查看当前操作系统的网络连接状态、路由表、接口统计等信息,它是了解网络状态及排除网络服务故障的有效工具
-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过滤出特定的记录

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1016893.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号