04、安全评估Linux主机加固操作手册
Categories:
3 分钟阅读
编辑后按下esc键退出编辑模式,按下:wq命令来保存文档修改并退出
1)vi的其他保存/退出命令:
:w 保存;
:w filename 另存为filename;
:wq! 保存并强制退出;
:wq! filename 注:以filename为文件名保存后强制退出;
:q! 强制退出;
:x 保存并退出(仅当文件有变化时保存)
2)Vi编辑器
i:进入编辑模式(在光标之前输入)
a:进入编辑模式(在光标之后输入)
o:进入编辑模式(在光标所在位置另起一行输入)
01、用户账户配置
1.1配置说明
root权限:
查看系统中存在的账户:
#cat /etc/passwd
应存在secadm、audadm账户,若不存在使用以下命令创建:
#useradd secadmin
#useradd audadmin
#useradd sysadmin
#passwd secadmin
#passwd audadmin
#passwd sysadmin
系统中mail、news、games、sync、halt账户更改为nologin状态,命令如下:
#usermod -s /sbin/nologin mail
#usermod -s /sbin/nologin games
#usermod -s /sbin/nologin news
#usermod -s /sbin/nologin sync
#usermod -s /sbin/nologin halt
1.2配置操作及参数说明
cat /etc/passwd
–查看用户列表
useradd –添加用户
usermod -s /sbin/nologin
–更改用户状态
02、密码复杂度策略配置
2.1配置说明
配置口令复杂度策略,如以下参数:
ucredit=-1 –最少大写字母1个
dcredit=-1 –最少数字1个
lcredit=-1 –最少小写字母1个
ocredit=-1 –最少特殊字符1个
minlen=8 –最小密码长度8位
retry =5 –尝试次数5次
difok=3 –最少3种不同字符
2.2配置操作及参数说明
1)root权限:
#vi /etc/pam.d/system-auth-ac
找到password requisite pam_cracklib.so字段并在后面(不换行)添加如下字段,并保证该字段未被注释掉:
password requisite pam_cracklib.so minlen=8 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1 retry=5 difok=3
2)编辑后按下esc键退出编辑模式,按下:wq命令来保存文档修改并退出。
03、账户登录失败锁定策略配置
3.1配置说明
配置登录失败处理,如以下参数:
deny=5 –允许错误次数5次
unlocktime=600 –锁定时间600秒
3.2配置操作及参数说明
1)root权限:
#vi /etc/pam.d/system-auth-ac
找到auth requisite pam_tally2.so字段,并字段找到“deny=”、“unlock_time=”两项参数,做出以下配置:
deny=5 unlock_time=600 even_deny_root root_unlock_time=600,
2)编辑后按下esc键退出编辑模式,按下:wq命令来保存文档修改并退出。
04、口令有效期配置
4.1配置说明
配置口令有效期,如以下参数:
PASS_MAX_DAYS=9 –最大有效期90天
PASS_MIN_LEN=8 –最少字符8个
PASS_WARN_AGE=10 –过期前10天提示修改密码
4.2配置操作及参数说明
1)root权限:
#vi /etc/login.defs
找到PASS_MAX_DAYS、PASS_MIN_LEN、PASS_WARN_AGE参数配置,做出以下配置:
PASS_MAX_DAYS=90
PASS_MIN_LEN=8
PASS_WARN_AGE=10
2)编辑后按下esc键退出编辑模式,按下:wq命令来保存文档修改并退出。
05、桌面配置
5.1配置说明
保证业务系统用户登陆后,桌面无非业务系统相关文件
5.2配置操作及参数说明
cd –移动至目录
ls –查看当前目录下文件
rm -rf –删除文件
06、消除无关软件、程序
6.1配置说明
rpm -qa –查询所有已安装的软件包
rpm -ql [package name] –查看rpm包安装位置
rpm -e [package name] –nodeps –忽略依赖关系进行删除
可以通过应用管理器进行卸载
6.2配置操作及参数说明
rpm -qa
rpm -ql [package name]
rpm -e [package name] –nodeps
07、禁用默认路由配置
7.1配置说明
route –查看路由配置
1)route add -net IP地址 netmask 掩码 gw 网关 –添加非永久路由,重启丢失
vi /etc/rc.local –编辑路由配置文件,添加永久路由
2)编辑后按下esc键退出编辑模式,按下:wq命令来保存文档修改并退出。
route del default –删除默认路由
7.2配置操作及参数说明
root权限:
1)#route
#route add -net IP地址 netmask 掩码 gw 网关
#vi /etc/rc.local
在文件未添加路由配置:
route add -net IP地址 netmask 掩码 gw 网关
2)编辑后按下esc键退出编辑模式,按下:wq命令来保存文档修改并退出。
#route del default
08、umask权限
8.1配置说明
umask设置为027
8.2配置操作及参数说明
1)root账户下打开终端命令行输入:vi /etc/profile 末尾添加 umask=027
2)编辑后按下esc键退出编辑模式,按下:wq命令来保存文档修改并退出。
09、安全内核(模块)配置
9.1配置说明
启用SELINUX=permissive –允许用户执行操作,并进行日志记录
9.2配置操作及参数说明
root权限:
1)#vi /etc/selinux/config找到“SELINUX=”字段,更改参数配置:SELINUX=permissive
编辑后按下esc键退出编辑模式,按下:wq命令来保存文档修改并退出。
2)getenforce获取当前selinux当前的运行模式
10、操作系统防火墙配置
2.1配置说明
/etc/rc.d/init.d/iptables save –保存当前策略配置
service iptables status –查看防火墙状态
service iptables restart –重启防火墙服务
iptables-save – 保存当前防火墙策略配置
2.2配置操作及参数说明
root权限:
在防火墙上添加相应策略
#iptables -I INPUT -d 172.16.100.7 -p tcp -dport 80 -j ACCEPT
#iptables -I OUTPUT -s 172.16.100.7 -p tcp -sport -j ACCEPT
#/etc/rc.d/init.d/iptables save
#service iptables status
#service iptables restart
详细操作:https://blog.csdn.net/linux_hua130/article/details/126369619
11、禁用bluetooth
2.1配置说明
lsmod –查看模块挂载状态
uname -r –查看内核版本
service bluetooth stop –停止服务
mv –移除驱动文件
rmmod –卸载模块
2.2配置操作及参数说明
root权限:
#lsmod | grep bluetooth
#uname -r
#service bluetooth stop
#mv /lib/modules/内核版本/kernel/drivers/bluetooth /BAK
#rmmod bluetooth
12、禁用无用服务(禁止无用服务的开机自动启动)
2.1配置说明
chkconfig –list –查看当前开启的服务
service 服务名称 stop –停止不必要的服务
chkconfig –level 2345 服务名称 off –关闭不同视图下服务
2.2配置操作及参数说明
root权限:
#chkconfig –list
#service 服务名称 stop
#chkconfig –level 2345 服务名称 off
#systemctl disable 服务名称.service 关闭开机自启服务或者 #systemctl disable 服务名称.target
systemctl list-unit-files –type=service #查看各级别下服务的启动和禁用情况
13、禁用无用端口
2.1配置说明
netstat -ltunaop –查看监听的网络端口
关闭135、445、137、631、21、23、53、5353、80等高危和无用的网络端口
2.2配置操作及参数说明
root权限:
#netstat -ltunaop, 检查当前正在开放的端口,对出现的高危端口,首先关闭无用服务,随后根据查询出的pid 执行一下命令
#kill -9 pid号 杀死服务进程
pidof 进程名 #获取进程的pid号
kill pid号 #关闭pid号代表的进程
systemctl disable 服务 #禁止服务开机自启
chkconfig 服务 off #禁止服务开机自启
14、禁用大容量存储介质(USB存储设备)
2.1配置说明
lsmod –查看模块挂载状态
uname -r –查看内核版本
mv –移除驱动文件
rmmod –卸载模块
2.2配置操作及参数说明
root权限:
#lsmod | grep usb_storage
#uname -r
#mv /lib/modules/内核版本/kernel/drivers/usb/storage/usb-storage.ko /BAK
#rmmod usb_storage
15、消除多余网络接口
2.1配置说明
网络接口文件路径 /etc/sysconfig/network-scripts/
2.2配置操作及参数说明
route权限:
#service network status
#ifconfig
#ifconfig 接口名称 down
ls /etc/sysconfig/network-scripts 将未使用的网络接口删除
16、禁用cdrom
2.1配置说明
lsmod –查看模块挂载状态
uname -r –查看内核版本
mv –移除驱动文件
rmmod –卸载模块
2.2配置操作及参数说明
root权限
#lsmod | grep sr_mod
#lsmod | grep cdrom
#uname -r
#mv /lib/modules/内核版本/kernel/drivers/scsi/sr_mod.ko /BAK
#mv /lib/modules/内核版本/kernel/drivers/cdrom/cdrom.ko /BAK
#rmmod sr_mod
#rmmod cdrom
17、限制远程管理地址配置
2.1配置说明
vi /etc/hosts.allow –编辑允许访问的配置文件
sshd:IP地址或IP地址段:allow –允许访问的IP地
vi /etc/hosts.deny –编辑拒绝访问的配置文件
sshd:IP地址或IP地址段:deny –拒绝访问的IP地址或地址段
sshd:all:deny –除允许访问地址外,全部拒绝访问
2.2配置操作及参数说明
root权限:
#vi /etc/hosts.allow
在文件末尾添加允许远程访问的地址
sshd:IP地址或IP地址段:allow
例如 sshd:192.161.1.:allow 允许192.161.1.0地址段
sshd:192.161.1.1:allow 允许192.161.1.1地址
编辑后按下esc键退出编辑模式,按下:wq命令来保存文档修改并退出。
#vi /etc/hosts.deny
在文件末尾添加拒绝远程访问的地址
sshd:IP地址或IP地址段:deny
或sshd:all:deny
编辑后按下esc键退出编辑模式,按下:wq命令来保存文档修改并退出。
18、SSH远程管理超时自动退出配置
2.1配置说明
vi /etc/profile –编辑环境变量文件
TMOUT=600 –超时退出时间600秒
2.2配置操作及参数说明
root权限:
#vi /etc/profile
在文件末尾添加如下参数:
TMOUT=600
编辑后按下esc键退出编辑模式,按下:wq命令来保存文档修改并退出。
退出当前远程会话重新登录生效。
19、禁止root用户远程登录
2.1配置说明
vi /etc/ssh/sshd_config –编辑ssh配置文件
PermitRootLogin no –拒绝root用户远程登录
service sshd restart –重启ssh服务
2.2配置操作及参数说明
root权限:
#vi /etc/ssh/sshd_config
找到字段“#PermitRootLogin yes”去掉参数前的“#”符号,并将yes改为no:
PermitRootLogin no
编辑后按下esc键退出编辑模式,按下:wq命令来保存文档修改并退出。
重启ssh服务:
service sshd restart
20、远程用户资源限制配置
2.1配置说明
编辑limits.conf文件,设置用户的资源限制,并把pam_limits.so加入启动文件中以确保配置生效。
2.2配置操作及参数说明
1)# vi /etc/security/limits.conf #编辑limits.conf文件,加入以下内容
用户名 soft nproc 16384
用户名 hard nproc 16384
用户名 soft nofile 10240
用户名 hard nofile 65536
用户名 soft stack 10240
用户名 hard stack 32768
用户名 soft memlock unlimited
用户名 hard memlock unlimited
用户名 soft core unlimited
用户名 hard core unlimited
2)# vi /etc/pam.d/login #编辑login文件,加入以下内容:session required pam_limits.so
21、消除无用日志
2.1配置说明
rm -rf 文件名
linux删除正在被使用的文件的操作方法如下:
01、首先打开Linux系统,创建一个空文件和空文件夹。如图所示:
02、rm 文件名 (功能:删除文件)提示:是否删除文件,输入yes。如图所示:
03、rm * (功能:删除该路径下的所有文件)
04、rm -f 文件名 (功能:删除文件,不再询问是否删除)
05、rm -r 文件夹 (功能:递归删除文件夹)
06、rm -rf 文件或者目录 (功能:删除文件获得递归删除目录,最常用)
2.2配置操作及参数说明
进入/var/log/目录下 将路径下的超1年无价值日志进行删除 /var/log/secure 与安全相关的日志信息 /var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息查看各类事件的日志