linux安全加固.
要求:修改口令策略,要满足复杂性和长度在8位数以上要求,口令里面宝行大写字母、小写字母、数字、特殊字符,每种字符至少一个
方法authconfig -- passminlen=8 --update
authconfig --passminclass=4 –-update
(2)口令生存周期
要求:限制口令的使用期限最长为九十天,口令的最短使用期限是三天,口令到期前十五天发出提醒
方法:
vi /etc/login.defs——>修改配置文件内容
在配置文件里面修改如下内容:
PASS_MAX_DAYS 90 PASS_MIN_DAYS 3 PASS_WARN_AGE 15
保存退出(按“esc”键+冒号+wq)
修改前
修改后
(3)设置登录失败锁定
要求:用户远程登录验证连续超过5次失败,锁定账户30分钟
方法:
Vim /etc/pam.d/sshd 修改配置文件,在#%PAM-1.0的下面一行,添加如下内容
auth required pam_tally2.so deny=5 unlock_time=1800 even_deny_root root_unlock_time=1800
保存退出(按“esc”键+冒号+wq)
创建一个用户swn,并且设置密码为123456
可尝试输错3次(我没有输错3次)但是效果图如下
上图为引用
(4)处理弱口令用户
要求:当某个用户的口令为弱口令时,要修改该用户的口令,让其符合限制口令长度和复杂度的要求
方法:passwd swn // 为用户设置强口令
(5)处理与系统运行维护无关的用户
要求:系统存在于运行、维护工作无关的用户,名为test,并锁定它
方法:usermod -L test ----锁定用户
2.防服务漏洞
(1)更改SSH服务端口
要求:将ssh的监听端口全部改为2222
方法:vi /etc/ssh/sshd_config 修改配置文件,取消Port行的注释,将Port行的值改为2222
修改后保存退出(按“esc”键+冒号+x)
Systemctl restart sshd 重启ssh服务
修改前
修改后
(2)限制SSH连接的源地址范围
要求:只允许192.168.26.0/24网段访问ssh
方法:vi /etc/hosts.deny 编辑配置文件,在最后一行加入sshd:ALL
保存退出(按“esc”键+冒号+wq)(添加的内容前面没有#,不然就不生效)
修改配置文件前的内容:
修改配置文件后的内容:
vi /etc/hosts.allow 编辑配置文件,在末尾加入:sshd:
192.168.26.0/255.255.255.0:allow 保存退出(按“esc”键+冒号+wq)
(3)禁用不必要的服务
要求:停止且禁用不需要的服务,如cups,使得系统的攻击面变小
方法:systemctl stop cups 停止服务
Systemctl disable cups 禁用服务
截图:
(4)启用审计服务
要求:开启auditd服务,并且修改为开机自动运行
方法:systemctl start auditd 手动启动服务
Systemctl enable auditd 设置开机自动运行
Systemctl status auditd 查看auditd服务真正开启了没
截图:
3.防权限提升
(1)启用sudo日志
要求:启用sudo日志
方法:
1.创建一个sudo.log文件。用命令touch /var/log/sudo.log 创建日志文件
2.修改rsyslog配置文件。用命令vi /etc/reslog.conf 进入配置文件添加local2.debug(注意:在空白处不能用空格键,必须用tab键,保存退出(按“esc”键+冒号+wq))用命令systemctl restart rsyslog 重启resyslog服务
3.修改sudo配置文件。visudo编辑配置文件sudo,加入如下几行:
Defaults logfile=/var/log/sudo.log
Defaults loglinelen=0
Defaults !syslog
保存退出(按“esc”键+冒号+wq)
(2)限制su的使用
要求:除了swn用户之外,禁止其他用户使用su命令
方法:1.vi /etc/pam.d/su ->修改配置文件
取消如下的注释:auth required pam_wheel.so use_uid 把这句话前面的#删除(按i键进入编辑模式)
保存退出(按“esc”键+冒号+wq)
2. vi /etc/group->修改配置文件
把swn加入wheel组->wheel:x:10:swn
保存退出(按“esc”键+冒号+wq)
vi
(3)管理suid/sgid文件
要求:系统里面存在设置suid的vim程序(/usr/bin/vim),存在提权风险,必须修改vim程序的suid权限
方法:改变权限即: chmod u-s /usr/bin/vim
(4)设置严格的umask
要求:将用户默认的umask值修改为027
方法:1.进入配置文件—>vi /etc/bashrc 把umask值修改为027,保存退出(按“esc”键+冒号+wq)
(5)注销时清除历史命令
要求:用户注销时清除该用户的历史命令
方法:1.修改配置文件——>vi /root/.bash_profile,在文章末尾加入下面一行:echo> /root/.bash_history. 保存退出(按“esc”键+冒号+wq)//清除root用户的历史命令
2.修改配置文件——>vi /home/swn/.bash_profile,在文章末尾加入下面一行:echo> /home/swn/.bash_history. 保存退出(按“esc”键+冒号+wq)//清除swn用户的历史命令
(6)禁用coredump
要求:禁用系统的coredump
方法:1.vi /etc/security/limits.conf ——>进入配置文件修改
*hard core 0 ——.>文件末尾加入,然后保存退出(按“esc”键+冒号+wq)
2. vi /etc/sysctl.conf ——>进入配置文件修改
fs.suid_dumpable=0 ——.>文件中加入,然后保存退出(按“esc”键+冒号+wq),
使用命令sysctl -w fs.suid_dumpable=0重启参数,参数立即生效(用sysctl -a |grep fs.suid_dumpable查看)
4.防木马后门
(1)开启网络防火墙firewalld
要求:开启网络防火墙,只允许远程主机访问本地的特定端口,如22和80
方法:systemctl firewalld ——>启动firewalld服务
systemctl firewalld——>设置服务开机自启
firewalld-cmd --add-service=http——>允许访问http
firewalld-cmd --add-service=http --permanent——>持久化(写入配置文件)
firewalld-cmd --add-service=ssh——>
firewalld-cmd --add-service=ssh --permanent——>
firewalld-cmd --remove-service=dhcpv6-cllient——>删除不需要的服务
firewalld-cmd --remove-service=dhcpv6-cllient –permanent
firewalld-cmd --list-service——>查看firewalld允许的服务
firewalld-cmd --list-service --permanent——>查看配置文件允许的服务
要求:禁止除了root以外的用户以crontab方式运行计划任务
方法:创建并编辑文件cron.allowtouch /etc/cron.allow&vi /etc/cron.allow并且在文件第一行写入root,然后保存退出(按“esc”键+冒号+wq)
加入swn用户输入crontab -e
5.防痕迹清除
(1)启用rsyslog服务
要求:启动rsyslog服务并设置为开机自动运行
方法:自动启动服务——>systemctl enable rsyslog
手动启动服务——>systemctl start rsyslog
(2)配置远程日志服务器
要求:配置远程rsyslog日志服务器
方法:1.修改配置文件——> vi /etc/rsyslog.conf,在配置文件/etc/rsyslog.conf末尾加入:*.*@192.168.26.137——>将全部日志转发到192.168.26.137的UDP514端口,保存退出(按“esc”键+冒号+wq)
要求:设置严格的权限给auidit日志文件,防止日志信息被恶意操作
方法:chmod 700 /var/log/audit
Chmod 600 /var/log/audit/audit.log
搜索:Kali与编程,学习更多技术干货!