Linux系统加固要从三个方面来考虑
这个文件定义了/etc/passwd以及/etc/shadow配套的用户限制,这个文件的缺失不会影响系统的使用,但是有些时候,会产生一些情况。(各种提示权限不够)
如果/etc/passwd以及/etc/shadow与/etc/login.defs文件产生了冲突,系统会以/etc/passwd以及/etc/shadow为准,所以这两个文件的优先级较高。
grep -Ev "^#|^$" /etc/login.defs
去掉空格和注释查看该文件。
我们主要修改的就是
1.密码最大有效期 PASS_MAX_DAYS
2.密码两次修改间隔最小时间 PASS_MIN_DAYS
3.密码最小长度 PASS_MIN_LEN
4.密码过期前n天开始提示 PASS_WARN_AGE
userdel 用户名 删除账号
passwd -l 锁定账号
在/etc/pam.d/su中修改
auth required pam_wheel.so group=test
只允许test组用户su
因为黑客或者管理员大部分都是通过ssh登录到系统,对系统进行操作,所以我们可以在这里做文章
/etc/ssh/sshd_config
我们被登录所以作为服务端,在这里进行修改一些配置
可以改为跳板机或者堡垒机的ip地址,就只允许跳板机或者堡垒机进行ssh登录
跳板机和堡垒机的区别就是跳板机是服务,堡垒机有硬件设施。
m是分钟,也就是ssh进行连接输入密码时,超过1min就会自动断开
当ssh连接后输入的密码错误次数超过三次时,会断开ssh的连接,防止对方暴力破解
/etc/hosts.deny 系统登录的黑名单
设置sshd:ALL 禁止所有用户进行ssh登录
/etc/hosts.allow 系统登录的白名单
建议配置
黑名单禁止所有登录,也就是sshd:ALL
白名单配置只允许登录的ip
sshd:ip
1.设置umask值
/etc/bashrc 和 /etc/profile
这两个文件中的umask值需要同时修改,避免出现问题
umask值改为027
文件夹初始的权限为777,文件的初始权限为666
而最终生成文件夹和文件的权限是777或者666减去umask值
当umask值改为027时候,文件夹和文件的权限为750和640
1.文件所有者可读可写可执行7
2.与文件所有者同属一个用户组的其他用户可读可执行5
3.其他用户组无权限0
1.文件所有者可读可写6
2.与文件所有者同属一个用户组的其他用户可读可写4
3.其他用户组无权限0
改完后使生效
source /etc/bashrc
source /etc/profile
一些常用的服务端口可以进行修改,用nmap扫描一下自己系统,看看哪些对外开放,对外开放的端口不使用默认的端口。防止黑客入侵
一般修改的都在服务的配置文件中config
记得开启日志功能
systemctl start rsyslog.service
记录所有用户登录和操作日志
运行vim /etc/profile打开配置文件。
粘贴以下内容
history
USER=`whoami`
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]; then
USER_IP=`hostname`
fi
if [ ! -d /var/log/history ]; then
mkdir /var/log/history
chmod 777 /var/log/history
fi
if [ ! -d /var/log/history/${LOGNAME} ]; then
mkdir /var/log/history/${LOGNAME}
chmod 300 /var/log/history/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date +"%Y%m%d_%H:%M:%S"`
export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT"
chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null
运行source /etc/profile 生效
然后history就可以查看所有用户的操作记录和具体时间
也可以
/var/log/history
进行查看