linux查询安全组命令,Linux服务器安全加固参考
Linux服务器安全加固参考
Linux系统由于其出⾊的性能、稳定性、开放源代码的灵活性和可扩展性,以及较低廉的成本,⽽受到互联⽹业界⼴泛关注和应⽤。这⾥我结合⽹上⼩伙伴的经验和⾃⼰收获总结。对Linux服务器安全、防⽕墙配置和服务器加固⽅案进⾏简单的讲解,防⽌⽹络上的攻击,⽂章主要是分享交流参考,欢迎各位⼤佬指点。
echo "root:wgr1TDs2Mnx0XuAv" | chpasswd
设置密码策略
修改⽂件/etc/login.defs
PASS_MAX_DAYS  99999        密码最长有效期
PASS_MIN_DAYS  0            密码修改之间最⼩的天数
PASS_MIN_LEN    5            密码长度
PASS_WARN_AGE  7            ⼝令失效前多少天开始通知⽤户修改密码
对密码强度进⾏设置
编辑⽂件/etc/pam.d/password-auth
结构体数组传参
password  requisite    pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= difok=1 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1
difok= 定义新密码中必须要有⼏个字符和旧密码不同
minlen=新密码的最⼩长度
ucredit= 新密码中可以包含的⼤写字母的最⼤数⽬。-1 ⾄少⼀个
lcredit=新密码中可以包含的⼩写字母的最⼤数
dcredit=定新密码中可以包含的数字的最⼤数⽬
注:这个密码强度的设定只对"普通⽤户"有限制作⽤,root⽤户⽆论修改⾃⼰的密码还是修改普通⽤户的时候,不符合强度设置依然可以设置成功
对⽤户的登录次数进⾏限制
redis整合springboot做缓存
编辑⽂件 /etc/pam.d/sshd
auth required pam_tally2.so deny=3 unlock_time=150 even_deny_root root_unlock_time300
多次输⼊密码失败后提⽰信息如下
pam_tally2 查看被锁定的⽤户
pam_tally2 --reset -u username 将被锁定的⽤户解锁
禁⽌root⽤户远程登录
禁⽌ROOT⽤户远程登录 。打开 /etc/ssh/sshd_config
#PermitRootLogin  no
注:⽣效要重启sshd进程。
限制能su到root的⽤户
操作⽅法 #使⽤命令  vi /etc/pam.d/su 修改配置⽂件,在配置⽂件中添加⾏。例如:只允许cs组⽤户su到root,则添加 auth required pam_wheel.so group=cs
更改ssh端⼝
vim /etc/ssh/sshd_config ,更改Port或追加Port
注:⽣效要重启sshd进程。
安全组关闭没必要的端⼝
设置系统中英⽂语⾔⽀持
#vi /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
SYSFONT="latarcyrheb-sun16"
设置账户保存历史命令条数,超时时间
打开 /etc/profile ,修改如下
HISTSIZE=1000TMOUT=600 五分钟未动,服务器超时⾃动断开与客户端的链接。
启⽤⽇志功能,定期查看系统⽇志
系统⽇志(默认)/var/log/messages
response怎么记忆
strlen函数源码cron⽇志(默认)/var/log/cron
安全⽇志(默认)/var/log/secure
重要服务器可以将⽇志定向传输到指定服务器进⾏分析。
记录所有⽤户的登录和操作⽇志
通过脚本代码实现记录所有⽤户的登录操作⽇志,防⽌出现安全事件后⽆据可查。
.编辑配置⽂件
[root@root /]# 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
刷新配置⽴即⽣效。
[root@root /]# source /etc/profile
对Linux账户进⾏管理
使⽤命令 userdel -r ⽤户名 删除不必要的账号
使⽤命令 passwd -l ⽤户名 锁定不必要的账号
使⽤命令 passwd -u ⽤户名 解锁必要的账号
使⽤命令 awk -F: '($7=="/bin/bash"){print $1}' /etc/passwd 查看具有登录权限的⽤户
使⽤命令 awk -F: '($3==0)' /etc/passwd 查看UID为0的账号,UID为0的⽤户会⾃动切换到root⽤户,
所以危害很⼤使⽤命令 awk -F: '($2=="")' /etc/shadow 查看空⼝令账号,如果存在空⼝令⽤户的话必须设置密码
使⽤脚本对账户进⾏管理
#! /bin/bash
\# Date:2020-05-31
\# Function: 对系统中的⽤户做检查,加固系统
echo "系统中有登录权限的⽤户有:"
linux修改口令的命令
awk -F: '($7=="/bin/bash"){print $1}' /etc/passwd
echo "********************************************"
echo "系统中UID=0的⽤户有:"
awk -F: '($3=="0"){print $1}' /etc/passwd
echo "********************************************"
N=`awk -F: '($2==""){print $1}' /etc/shadow|wc -l`
echo "系统中空密码⽤户有:$N"
if [ $N -eq 0 ];then
echo "恭喜你,系统中⽆空密码⽤户!!"
echo "********************************************"
else
i=1
while [ $N -gt 0 ]
do
None=`awk -F: '($2==""){print $1}' /etc/shadow|awk 'NR=='$i'{print}'` echo "------------------------"
echo $None
echo "必须为空⽤户设置密码!!"
passwd $None
let N--
done
M=`awk -F: '($2==""){print $1}' /etc/shadow|wc -l`
if [ $M -eq 0 ];then
echo "恭喜,系统中已经没有空密码⽤户了!"
else
echo "系统中还存在空密码⽤户:$M"
fi
fi
对重要的⽂件进⾏锁定,即使ROOT⽤户也⽆法删除
chattr 改变⽂件或⽬录的扩展属性
lsattr 查看⽂件⽬录的扩展属性
chattr +i /etc/passwd /etc/shadow //增加属性
chattr -i /etc/passwd /etc/shadow //移除属性
lsattr /etc/passwd /etc/shadow
使⽤脚本对重要⽂件进⾏锁定
`\`#! /bin/bash``
`\# Date:2020-05-31`
accommodative`\# Function: 锁定创建⽤户和组的⽂件,使之⽆法对⽤户和组进⾏操作!`

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。