系统安全

  系统安全

  安装系统

  1,选择稳定版操作系统

  2,最小化安装

  3,不要安装gcc,make

  4,安装完以后更新系统

yum -y update

   文件(目录)权限

  1 ,基本权限rwx

  对于目录,默认权限=777-umask

  对于文件,默认权限=666-umask

  umask默认为022 即参加目录默认权限是755 文件默认权限为644

  修改umask

#vim /etc/bashrc
   umask 002 #普通用户
    else
       umask 022 #超级用户
    fi

#vim /etc/profile
   umask 002 #普通用户
    else
       umask 022 #超级用户
    fi

   注意:保持默认即可,无需修改

  2,特殊权限suid  sgid sticky

  suid冒险位,执行二进制文件与文件所有人有关,与谁来执行无关。例如使用root用户可以less查看文件

less /etc/shadow

   新建普通用户无法使用less查看

[root@node1 ~]# useradd jack
[root@node1 ~]# su - jack
[jack@node1 ~]$ less /etc/shadow
/etc/shadow: 权限不够

   查看命令less的权限为755

[root@node1 ~]# ll /usr/bin/less
-rwxr-xr-x. 1 root root 158240 7月  31 2015 /usr/bin/less

   增加冒险位

chmod 4755 /usr/bin/less

   切换到新创建的jack用户就可以使用less查看文件/etc/shadow了

  注意:一般不增加冒险位

  改回来

 chmod 755 /usr/bin/less

   sgid强制位,对目录生效,在此目录中创建文件自动归入目录所在组

  sticky 粘制位,目录中的文件只能被文件拥有者删除
  

  3,文件ACL  

#ls -l如果权限后面带有+号则表示有ACL权限

   查看ACL权限

[root@node1 ~]# getfacl test
# file: test
# owner: root
# group: root
user::rw-
group::r--
other::r--

   设定ACL权限

setfacl -m u:jack:rw test.tt 

   查看

[root@node1 ~]# getfacl test.tt 
# file: test.tt
# owner: root
# group: root
user::rw-
user:jack:rw-
group::r--
mask::rw-
other::r--

   注意:设置ACL使用较少

  

  4,文件属性

   chattr lsattr +a -a +i -i -d

#chattr +a test.txt 
#只能给文件添加内容,但是删除不了,属于追加
#echo "123">>test.txt
#无法删除
# rm -rf test.txt
rm: 无法删除"test.txt": 不允许的操作

   例如修改/etc/passwd则可以防止删除并且不影响添加新用户

  该参数也适用于日志文件

# chattr +i test.txt #文件不能删除,不能更改,不能移动

   查看文件属性权限

 lsattr test.txt 

   案例,给系统重要文件加权限避免删除及误用

 find /bin /sbin /usr/sbin /usr/bin /etc/shadow /etc/passwd /etc/pam.d -type f|xargs chattr +i

   5 ,mask umask

[root@local]# umask 
0022
[root@local]# umask  -S
u=rwx,g=rx,o=rx

   6,mount权限 -o

  sync async

  此选项的默认模式为异步模式。在同步模式下,内存的任何修改都会实时的同步到硬盘当中,这种模式的 安全性基本属于最高,但是因为内存的数据基本一直都在变化,所以这种模式会使得程序运行变得缓慢, 影响效率。而在异步模式下,虽然同步没有实时,但是现在考虑到日志文件系统的存在,所以安全性基本 不用考虑,而异步模式的效率会更高,随意目前普遍使用异步模式为默认
  

   用户授权

  由超级用户切换为普通用户,仅切换用户,环境变量不切换,如若为普通用户,会导致命令不可用

[root@node1 ~]# su jack
[jack@node1 root]$ touch 123
touch: 无法创建"123": 权限不够

   由超级用户切换为普通用户,切换用户至家目录,环境变量会发生改变

 su - jack

   加参数-切换目录为用户家目录,有权限创建文件等

  由普通用户切换为root用户

[jack@node1 ~]$ su - root
密码:需要输入密码

   

  sudo命令

  使用sudo提升(赋予)权限普通用户的权限

  修改方式

  a 编辑文档

[root@node1 ~]# vim /etc/sudoers

   b 使用visudo编辑/etc/sudoers(推荐,会检查语法)

#visudo 

   给jack用户授权所有权限,添加一行如下

jack    ALL=(ALL)       ALL

   案例1:对用户

#赋予用户jack以下3个命令的权限
jack ALL=/sbin/ip,/sbin/fdisk,/bin/less
#服务器owen用户一个命令的权限,切换时不需要密码
owen ALL=NOPASSWD: /bin/less

   验证

[jack@node1 ~]$ less /etc/shadow
/etc/shadow: 权限不够
[jack@node1 ~]$ sudo less /etc/shadow

   不使用sudo没有权限执行,使用sudo有权限执行,需要输入密码验证,设置NOPASSWD则无需输入密码

  sudo日志
  确认验证已经添加入日志

[root@node1 ~]# grep '^authpriv' /etc/rsyslog.conf 
authpriv.*                                              /var/log/secure

   查看日志

 tail -f /var/log/secure 

 

 

 






  

  

  

posted @ 2020-08-05 14:30  minseo  阅读(387)  评论(0编辑  收藏  举报