安全

1.分类

1)物理安全(防止人为破坏或自然灾害)

2)系统安全(用户、权限、访问控制等)

3)网络安全(VLAN、Qos、端口、×××)

4)数据安全(RAID、加密、令牌等)

二、系统安全

1.用户管理

1)删除长时间不使用的用户

userdel [-r] 用户名

选项

-r:删除指定用户家目录

2)设置程序用户Shell为不允许登陆系统

usermod -s /sbin/nologin 用户

3)临时使用用户(设置用户的最长使用期限)

chage -E 日期 用户

chage -l 用户

4)锁定文件,该文件不能被删除(粘指位)

chattr +i /etc/passwd && chattr +i /etc/shadow //指定文件将不能删除

chattr -i /etc/passwd && chattr -i /etc/shadow //移除指定文件的粘滞位

lsattr 文件 //查看指定用户是否设置粘滞位

chmod o+t 目录/文件 //给指定目录/文件设置粘滞位

chmod o-t 目录/文件 //给指定目录/文件取消粘滞位

ls -ld 目录 //查看目录的粘滞位设置情况(t权限位)

注:所有者及root用户不受限制

Linux特权权限

SUID(对二进制文件生效,使普通用户以所有者的权限执行文件)、SGID(对目录生效,保持原目录的所有组)、Stickybit(防止用户删除文件/目录)

SUID:chmod u+s | u-s 文件

SGID:chmod g+s | g-s 目录

Stickybit:chmod o+t | o-t 文件/目录

八进制:SUID=4、SGID=2、Stickybit=1

chmod 4755 //设置文件或目录拥有SUID及所有者拥有完全权限,所有组拥有读取、执行权限,其它用户拥有读取、执行权限

5)设置密码有效期

已存在用户

passwd -S 用户

passwd -x 天数 用户

新建用户

vim /etc/login.defs

25 PASS_MAX_DAYS 天数

三、su、sudo

1.su:切换指定用户

su [-] 用户

vim /etc/pam.d/su

6 auth required pam_wheel.so use_uid //PAM模块认证,只有属于wheel组用户可切换到root

tail -f /var/log/secure //查看安全认证日志文件

注:需配合远程控制,设置root用户禁止远程登陆

2.sudo:临时提权,普通用户临时以root身份执行命令

vim /etc/sudoers或visudo //编辑sudo配置文件,默认不能直接使用

用户名 主机 命令

例:

u01 ALL=(ALL) ALL //允许u01用户使用sudo以root身份执行所有命令

u01 ALL=(ALL) ALL,!/sbin/reboot //允许u01用户使用sudo以root身份执行所有命令,除了reboot

Cmnd_Alias 别名(大写)=命令 //定义命令别名

User_Alias 别名(大写)=用户名 //定义用户别名

Host_Alias 别名(大写)=网段,IP地址 //定义主机别名

注:命令可取反,如!/bin/(除/bin/目录外)

mnd_Alias CMD=ALL,!/sbin/reboot

User_Alias USER=u01,u02

Host_Alias HOST=192.168.10.44

USER HOST=CMD //允许USER别名(u01、u02用户)在HOST别名(192.168.10.44)执行CMD别名(ALL,!/sbin/reboot)

2)日志记录

1.vim /etc/sudoers

Defaults logfile=/var/log/sudo //定义日志记录并指定存储位置

2.tail -f /var/log/sudo

3.sudo -l //查看当前用户所有sudo能执行的命令

注:默认用户使用sudo后,保留5分钟时间,5分钟内用户不需再次输入当前用户密码

2.系统管理

1)自动清空历史命令

vim ~/.bashrc //用户登陆时自动清空历史命令

echo "" >~/.bash_history

history -c //清楚当前用户登陆终端历史命令(再次登陆依然存在)

vim /etc/profile

HISTSIZE=0 //更改历史命令记录数量

2)终端超过闲置时间后自动注销

vim /etc/profile //全局变量定义文件(所有用户生效)

TMOUT=秒数 //指定终端超时时间

vim ~/.bash_profile //只对当前用户生效

TMOUT=秒数 //指定终端超时时间

3.开关机安全控制

1)禁用热键

vim /etc/init/control-alt-delete.conf

注释掉最后一行(加#)

2)GRUB菜单限制

明文

vim /boot/grub/grub.conf

password 密码 //title之前

密文

grub-md5-crypt //将输入的字符串使用md5方式转换

vim /boot/grub/grub.conf

password --md5 加密字符串 //title之前

3)减少tty终端数量

vim /etc/sysconfig/init

ACTION_CONSOLES=/dev/tty[1-6] //改动tty[1-6]数值可实现控制

例:

ACTION_CONSOLES=/dev/tty[1-3] //开启tty1、tty2、tty3

ACTION_CONSOLES=/dev/tty[1,3,6] //开启tty1、tty3、tty6

ACTION_CONSOLES=/dev/tty[1-1,3-3,6-6] //开启tty1、tty3、tty6

4)禁止普通用户登录

touch /etc/nologin

rm -rf /etc/nologin //解锁,普通可登录

5)扫描

nmap -A -O -PO -vv 网段/IP/域名 //扫描指定主机的OS、端口、MAC等信息

推荐扫描类型:

-PO:主机禁止ping时,可强制扫描

-sU:扫描UDP

-sT:扫描TCP

-p:扫描指定端口