服务安全与监控01

一、linux 基本防护

用户账户安全
设置账户有效期
  • 使用change工具
    —— -d 0,强制修改密码
    —— -e yyyy–mm–dd,指定失效日期(-1取消)
    [root@52 ~]# chage -d tom
    账户的锁定/解锁
  • 使用passwd命令
    —— -l 锁定 、 -u解锁 、 -S 看状态

[root@52 ~]# echo 123456 | passwd --stdin tom
[root@52 ~]# passwd -l tom
锁定用户 tom 的密码 。
passwd: 操作成功
[root@52 ~]# passwd -u tom
解锁用户 tom 的密码。
passwd: 操作成功
[root@52 ~]# passwd -S tom
tom PS 2019-05-27 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)

强制定期修改密码
  • 配置文件 /etc/login.defs
    ——对新建的用户有效
  • 主要控制属性
    ——PASS_MAX_DAYS //密码最长有效期
    ——PASS_MIN_DAYS //密码最小有效期
    ——PASS_WARN_AGE //过期之前提示
伪装登陆提示
  • 配置文件/etc/issue 、 /etc/issue.net
    ——分别适用于本地、远程登陆
    ——默认会提示内核、系统版本信息

二、用户切换与提权

禁用非必要的系统服务
——适用systemctl、chkconfig工具

RHEL7 ]#systemctl enable httpd
RHEL7 ]#systemctl disable httpd
RHEL7 ]# systemctl start httpd
RHEL7 ]# systemctl stop httpd
RHEL6 ]#chkconfig httpd off
RHEL6 ]#chkconfig httpd on
RHEL6 ]#service httpd start
RHEL6 ]#service httpd stop

  • EXT3/EXT4的文件属性控制
    ——chattr、lsattr

  • +、-、= 控制方式
    ——属性 i :不可变(immutable)
    ——属性 a : 仅可追加(append only)
    [root@52 ~]# chattr +i /etc/hosts
    [root@52 ~]# chattr +i /etc/hosts
    [root@52 ~]# echo 123 >> /etc/hosts
    -bash: /etc/hosts: 权限不够

  • 用户切换 su
    ——普通用户执行时,需验证目标用户的口令
    ——root执行时,无需验证口令

  • 命令格式

  • 用法一:su [ - ] [ 目标用户 ]

  • 用法二:su [ - ] -c “命令” [ 目标用户 ]
    不指明目标用户时,默认视为root

  • 用户提权
    ——管理员预先为用户设置执行许可
    ——被授权用户有权执行授权命令,验证自己的口令
    1、作用:配置系统的普通用户可以执行root用户的命令
    2、主配置文件:/etc/sudoers
    3、修改配置文件
    vim /etc/sudoers
    或 visudo
    4、提权配置格式
    普通用户名 主机名=命令列表(绝对路径)
    %用户组名 主机名=命令列表(绝对路径)
    5、普通用户执行提权命令 sudo 提权命令
    6、普通用户查看可以使用的提权命令
    查看自己的授权 ——sudo -l
    ——whell组的用户无需验证可执行所有的命令
    [root@52 ~]# vim /etc/sudoers
    %wheel ALL=(ALL) ALL
    示例1

[root@52 ~]# vim /etc/sudoers
dachui localhost,host52=/usr/bin/systemctl * httpd , /usr/bin/vim /etc/httpd/conf/httpd.conf
tiechui locathost,52=/usr/bin/systemctl * mysqld,/usr/bin/vim /etc/my.cnf
nb      localhost,52=/usr/bin/systemctl * mysqld,/usr/bin/vim /etc/my.cnf ,/usr/bin/systemctl * httpd , /usr/bin/vim /etc/httpd/conf/httpd.conf ,/sbin/* , !/sbin/ifconfig eth0

别名设置(给多个值 ,启一个名字)
主要用途
——提高可重用性、易读性
——简化配置、使记录更有条理
别名名称必须大写
命令别名 Cmnd_Alias 名字=命令列表
主机别名 Host_Alias 名字=主机名列表
用户别名 User_Alias 名字=用户名列表

[root@52 ~]# vim /etc/sudoers
Cmnd_Alias MGMWEB=/usr/bin/systemctl * httpd , /usr/bin/vim /etc/httpd/conf/httpd.conf
Cmnd_Alias MGMDB=/usr/bin/systemctl * mysqld,/usr/bin/vim /etc/my.cnf
Cmnd_Alias MGMSOFT=/usr/bin/rpm , /usr/bin/yum
Host_Alias MYSER=localhost,52
dachui  MYSER=MGMWEB , MGMSOFT
tiechui MYSER=MGMDB , MGMSOFT
nb      MYSER=MGMWEB , MGMDB , MGMSOFT

启用日志
作用:记录普通用户执行过的提权命令
[root@52 ~]# vim /etc/sudoers
Defaults logfile="/var/log/sudo.log"

三、ssh访问控制

SSH 防护概述

  • 存在的安全隐患
    ——密码嗅探、键盘记录
    ——暴力枚举帐号、猜解密码
  • 常见的防护措施
    ——用户限制、黑白名单
    ——更改验证方式(密码——>密钥对)
    ——防火墙
    sshd 基本安全配置
    配置文件 /etc/ssh/sshd_config
  • port 3389 //改用非标准端口
  • protocol 2 //启用SSH V2版协议
  • listenAddress 192.168.4.254
  • permitRootLogin no //禁止root登陆
  • UseDNS no //不解析客户机地址
  • LoginGraceTime 1m //登陆限时
  • MaxAuthTries 3 //每次连接最多认证次数
    -白名单/黑名单配置(限制客户端连接时使用的用户及客户端地址)
    白名单 : 仅允许使用列表里的用户连接
    AllowUsers 用户列表
    ]# vim /etc/ssh/sshd_config
    AllowUsers nb root@192.168.4.254
    :wq
    ]# systemctl restart sshd

黑名单 : 仅不允许使用列表里的用户连接
DenyUsers 用户列表
]# vim /etc/ssh/sshd_config
#AllowUsers nb root@192.168.4.254
DenyUsers nb root@192.168.4.254
:wq
]# systemctl restart sshd
认证登陆方式(默认都开启)
密钥对认证登陆(公钥加密 私钥解密)
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys //存放授权客户机的公钥文本
PasswordAuthentication no/yes
配置密钥对认证登陆步骤
1 创建密钥对 ssh-keygen 可以手动指定加密算法,若不指定,默认采用RSA加密
2 把公钥传给目标主机ssh-copy-id root@192.168.4.52
提高SSH服务安全
1、基本安全策略(禁止root、禁止空口令)
2、为SSH访问配置“仅允许”策略
3、分别实现密钥验证登陆,免密登陆
4、禁止密码验证

四、SElinux安全防护

什么是selinux?——一套千华linux安全的扩展模块
selinux 模式控制
方法一 :修改kernel启动参数
-添加selinux=0 以禁用
-添加enforcing=0 设置selinux 为允许模式
方法二:修改配置文件/etc/selinux/config
-设置SELINUX=disabled以禁用
-设置ELINUX=permissive宽松/允许模式
-设置ELINUX=enforcing 强制模式
查看安全上下文
为文件/目录/设备标记访问控制属性
属性构成
文件 ls -lZ 文件名
目录 ls -ldZ 目录名
进程 ps aux -Z | grep -i 进程名
]# ls -lZ /etc/passwd
]# ls -ldZ /etc/
]# ps aux -Z | grep -i httpd
用户:角色:访问类型:选项…
system_u:object_r:passwd_file_t:s0
system_u:object_r:etc_t:s0
system_u:system_r:mysqld_t:s0
system_u:system_r:httpd_t:s0

修改安全上下文
使用chcon工具
-t,指定访问类型
-r,递归修改
一般操作规律
mv 移动的文件,原有的上下文属性不变
cp 复制的文件,自动继承目标位置的上下文
]# chcon -R -t httpd_sys_content_t /var/www/html
]# chcon -t httpd_sys_content_t /var/www/html/a4.html
重置安全上下文
使用restorecon工具
-恢复为所在位置的默认上下文属性
-R递归修改
/.autorelabel 文件
]# restorecon -R /var/www/html
]# restorecon /var/www/html/a5.html
SElinux布尔值
使用getsebool查看
-a,可以列出所有布尔值
使用setsebool设置
-P ,永久配置
[root@50 ~]# yum -y install ftp
[root@53 ~]# yum -y install vsftpd

[root@53 ~]# mkdir /var/ftp/share
[root@53 ~]# chmod 0+w /var/ftp/share
[root@53 ~]# vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES
anon_mkdir_write_enable=YES
[root@53 ~]# setsebool -P ftpd_anon_write on
[root@53 ~]# setsebool -P ftpd_full_access=1
[root@50 ~]# ftp 192.168.4.53
Connected to 192.168.4.53 (192.168.4.53).
220 (vsFTPd 3.0.2)
Name (192.168.4.53:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值