隐藏系统版本和内核版本(修改文件的内容)存放用户环境配置文件目录 ls -a /etc/skel/
设置添加用户默认配置的配置文件 /etc/login.defs
存储已有用户的配置文件 /etc/passwd
存放用户密码信息文件 /etc/shadow
用户登录系统之前最后读取的配置文件 /etc/rc.local
文件系统安全/etc/issue 本地登录提示信息
/etc/issue.net 网络连接登录提示信息
把不需要的服务设置为开机不运行 RHEL6 (ntsysv chkconfig )设置记录历史命令的条目数 默认记录最近执行过的1000条。
sed -i ‘45s/1000/500/’ /etc/profile
source /etc/profile
echo $HISTSIZE
cat ~/.bash_history记录操作系统版本 cat /etc/redhat-release
查看系统内容版本 uname -r
规划文件系统chkconfig 服务名 on systemctl enable 服务名
chkconfig 服务名 off systemctl disable 服务名
挂载选项defaults包括哪些参数根分区 / 必须要分的分区 (可以就只分1个根分区就可以)
交换分区 swap
引导分区 /boot
用户家目录 /home (LV)逻辑卷
存放日志文件目录 /var (LV)逻辑卷
访问方式(权限)man mount
nosuid 不允许在挂载目录下使用suid 和 sgid权限
noexec 不允许在挂载目录下执行二进制文件
权限适用对象(归属)读取:r-允许查看内容-read
写入:w-允许修改内容-write
可执行:x-允许运行和切换-execute
所有者:拥有此文件/目录的用户-user
所属组:拥有此文件/目录的组-group
其他用户:除所有者、所属组以外的用户-other
-rw-r--r-- 以 - 开头: 文本文件 以 d 开头: 目录 以 l 开头: 快捷方式设置基本权限 使用 chmod 命令
使用 chown 命令chmod [-R] 归属关系±=权限类别 文档…
[root@server0 ~]# chmod u-w /nsd01
[root@server0 ~]# chmod g+w /nsd01
[root@server0 ~]# chmod u=rwx,g=rx,o=rx /nsd01
附加权限 附加在属组的 x 位上chown [-R] 属主 文档…
chown [-R] :属组 文档…
chown [-R] 属主:属组 文档…
[root@server0 /]# chown zhangsan:stugrp /nsd03/
[root@server0 /]# chown :root /nsd03
属组的权限标识会变为 s
适用于目录,Set GID可以使目录下新增的文档自动设
[root@server0 /]# chmod g+s /nsd12 #设置附加权限SetGID
文档归属的局限性Sticky Bit
附加在其他人的 x 位上
其他人的权限标识会变为 t
适用于开放 w 权限的目录,可以阻止用户滥用 w 写入
权限(禁止操作别人的文档)
[root@server0 /]# chmod o+t /public/
文件权限的有哪些任何人只属于三种角色:属主、属组、其他人
无法实现更精细的控制
acl访问策略
能够对个别用户、个别组设置独立的权限
大多数挂载的EXT3/4、XFS文件系统默认已支持
设置ACL权限 : setfacl -m u:用户:权限 文件路径
设置acl 给某个用户特殊权限
[root@server0 /]# setfacl -m u:zhangsan:rx /nsd20
getfacl 文档…
setfacl [-R] -m u:用户名:权限类别 文档…
setfacl [-R] -m g:组名:权限类别 文档…
setfacl -x u:用户名 文档… #删除指定用户的ACL权限
[root@server0 /]# setfacl -m u:zhangsan:rx /nsd30
[root@server0 /]# setfacl -m u:lisi:rwx /nsd30
[root@server0 /]# setfacl -m u:dc:rx /nsd30
[root@server0 /]# getfacl /nsd30
[root@server0 /]# setfacl -x u:lisi /nsd30 #删除指定的ACL
[root@server0 /]# getfacl /nsd30
[root@server0 /]# setfacl -b /nsd30 #删除所有的ACL
挂载设备的方式?普通权限 rwx
特殊权限 suid sgid sticky(粘滞位)
s s t
4 2 1
facl 文件访问控制列表(单独设置某个用户对文件或目录有访问权限)
给加特殊属性 (系统配置文件 服务配置文件)手动挂载 mount [-t 文件系统 -o 挂载选项 ] 分区名 本机目录名
开机挂载 vim /etc/fstab
/dev/mapper/rhel-root / xfs defaults 0 0
触发挂载 修复autofs服务的配置文件实现自动挂载
su命令 切换用户/etc/passwd /etc/resolv.conf /etc/hostname ifcfg-ethX
chattr +属性 文件名 // 添加属性
chattr -属性 文件名 //删除属性
i属性 文件不可变
a属性 仅可追加
lsattr 文件名 //查看特殊属性
su 用户名
su - 用户名
su - -c “命令” 用户名
su - -c “touch /root/yaya.txt” root
vim /etc/sudoers 用户提权配置文件(提权时要写命令的绝对路径)sudo 用户提权 (系统管理员root 设置系统的普通用登录系统后有管理员的权限)
sudo -l 普通用户查看可以执行的提权命令(提示输入登录系统的密码)
sudo 提权命令 普通用户执行提权命令
NOPASSWD: ALL //执行提权命令不需要输入登录系统密码
which 命令名
which vim
提权格式:
用户名 主机名列表=命令列表 //只给某个用户提权
%用户组名 主机名列表=命令列表 //给用户组提权
vim /etc/sudoers
98 root ALL=(ALL) ALL
#%wheel ALL=(ALL) ALL
yaya110 localhost,host51=/bin/vim /etc/my.cnf,/bin/systemctl * mysqld
使用别名提权?别名名称必须使用大写字母表示 ; 先定义别名 再使用别名提权! 取反
useradd jerry
echo 123456 | passwd --stdin jerry
]#vim /etc/sudoers
jerry localhost,host51=/sbin/* , !/sbin/ifconfig
ssh服务访问控制给用户定义别名 User_Alias 别名名称 = 用户列表
给主机定义别名 Host_Alias 别名名称 = 主机名列表
给命令定义别名 Cmnd_Alias 别名名称 = 命令列表
]#vim /etc/sudoers
Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/ipt ables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool
Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum
%webadmin localhost,host51=/bin/vim /etc/httpd/conf/httpd.conf,/bin/systemctl * httpd,NETWORKING,SOFTWARE ,NOPASSWD: ALL
Defaults logfile="/var/log/sudo" #启用日志记录,记录用户执行过的提权命令
设置服务运行参数? ]# vim /etc/ssh/sshd_config
修改服务监控的端口号 Port 22222
修改接受连接的地址 ListenAddress 192.168.4.52
限制输入口令次数 MaxAuthTries 6
LoginGraceTime 2m 登录限时
UseDNS no 不做dns解析
黑白名单?(默认不限制客户端连接 和 使用哪个账户连接)
黑名单 : 在黑名单列表里的用户或客户端不允许连接
DenyUsers 用户名列表 //控制单个用户
DenyGroups 用户组名列表 //控制多个用户
认证登录方式白名单 : 只允许在白名单列表里的用户或指定客户端连接
AllowUsers 用户名列表 //控制单个用户
AllowGroups 用户组名列表 //控制多个用户
客户端连接ssh服务器口令认证登录 (只要知道登录用户的密码即可登录)
密钥对认证登录(公钥加密 私钥解密)
配置ssh服务运行时只允许使用密钥对认证登录方式 ,验证用户登录 。ssh 192.168.4.55 //使用目标ssh服务器的root用户登录
ssh 用户名@192.168.4.55 //使用指定用户连接目标ssh服务器
ssh -p 端口 用户名@192.168.4.55 //指定连接端口号 默认连接22端口
ssh -X -p 端口 用户名@192.168.4.55 //指定连接端口号 默认连接22端口
//-X 可以使用目标主机的图形
公钥加密 ssh服务器负责加密(加密的是随机生成的密码 )
私钥解密 客户端负责解密 (解密加密的密码)
Linux安全保护模型?]#vim /etc/ssh/sshd_config
79 PasswordAuthentication no //禁用口令认证登录
//密钥对让认证登录
54 #RSAAuthentication yes
55 #PubkeyAuthentication yes
59 AuthorizedKeysFile .ssh/authorized_keys #存放公钥的文件
查看selinux日志文件排错。DAC 自主访问控制 由用户自己管理资源 rwx
MAC 强制访问控制 由管理员管理资源 selinux
selinux的级别 mls 多级安全防护
targeted 只保护常用的服务
查看selinux状态信息 (文件 /etc/selinux/config)
加密算法rpm -qa | grep -i setroubleshoot 提供日志程序的软件包
grep setroubleshoot /var/log/messages | tail -1 过滤最后的报错信息
对称加密算法? DES AES
非称加密算法? RSA DSA
扫描与抓包 、协议分析软件hash散列技术 md5 和 sha (可以验证数据的完整性)
只有校验的内容不发生改变,总是会生成内容相同长度也相同的摘要信息
echo abc | md5sum
md5sum a.txt
tcpdump 抓包nmap 扫描
命令格式 ]#nmap [扫描类型] [选项] <目标主机>
扫描类型 -sS -sT -sU -sP -A
选项 -n -p
]# nmap -n -sP 172.40.58.235
nmap -sT -p 80 172.40.58.235
nmap -n -sS -p 80 172.40.58.235,155,222
nmap -n -sS -p 21,25,80 172.40.58.235
nmap -n -sS -p 20-110,3306,22122 192.168.4.51
Linux监控tcpdump [选项] [过滤条件]
选项
-i 接口名称 默认抓进出eth0接口的ip包
-c 数字
-A
-w 文件名
-r 文件名
tcpdump -i br1
tcpdump -i br1 -c 3
tcpdump -c 3 -A -w /tmp/package.cap
tcpdump -A -r /tmp/package.cap
[过滤条件]
类型 : host net port portrange
主机 网络 端口 端口范围
]#tcpdump -i br1 host 172.40.58.230
]#tcpdump -i br1 net 172.40.58.0/24
方向 src dst
源地址 目标地址
tcpdump -i br1 src 172.40.58.235
协议 tcp udp ip wlan arp
多个条件组合 and 多个条件必须同时成立
or 多个条件某个成立即可
not 取反
tcpdump -i br1 tcp port 21 and host 172.40.58.230
tcpdump -i br1 tcp port 22 and (host 172.40.58.120 or host 172.40.58.222)
监控 : 监控并控制在问题发生之前发现并解决问题。
监控对象: 各种服务器(网站服务器 数据库服务器 )
监控的资源:
网络流量 : 网络接口进出数据流量
硬件使用率: 存储空间 cpu使用率 内存使用率
服务运行状态: 运行 停止
系统运行情况: 进程数量(总进程数量 运行状态进程数量 僵尸 休眠)
用户数量(系统总用户数量 登录系统用户数量)
监控的手段:
使用系统提供的命令做监控 uptime top free -m df -h ping
ps users systemctl statu 服务名



