1、用户账户配置,建立安全管理账户及审计账户。不使用root账户登录;操作系统中不存在与XX系统无关的账户。
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
2、密码复杂度策略配置,口令长度不小于 8 位;口令是字母、数字和特殊字符组成;口令不得与账户名相同。
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
保存并退出文件编辑。
3、账户登录失败锁定策略配置,配置当用户连续认证失败次数超过5次,锁定该用户使用的账户10分钟:
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
4、口令有效期配置,口令 90 天定期更换,口令过期前 10 天,应提示修改:
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
保存并退出文件编辑。
5、禁用默认路由配置,主机禁止配置默认路由,删除前先根据业务添加上明细路由;提高文件默认权限:
root权限:
route
route add -net IP地址 netmask 掩码 gw 网关
vi /etc/rc.local
在文件未添加路由配置:
route add -net IP地址 netmask 掩码 gw 网关
保存文件并退出编辑。
route del default
root账户下打开终端命令行输入:vi /etc/profile 末尾添加 umask=027并保存
6、安全内核(模块)配置,开启操作系统的安全内核:
root权限:
vi /etc/selinux/config
找到“SELINUX=”字段,更改参数配置:
SELINUX=permissive
保存并退出文件编辑。
7、操作系统防火墙配置,防火墙为开启状态,并根据实际业务需要配置相关规则:
root权限:
iptables -I INPUT -d 172.16.xx.x -p tcp -dport 80 -j ACCEPT
iptables -I OUTPUT -s 172.16.xx.x -p tcp -sport -j ACCEPT
/etc/rc.d/init.d/iptables save
service iptables status
service iptables restart
8、禁用bluetooth,禁用蓝牙模块:
root权限:
lsmod | grep bluetooth
uname -r
service bluetooth stop
mv /lib/modules/内核版本/kernel/drivers/bluetooth /BAK
rmmod bluetooth
9、禁用无用服务,应禁止非必要的服务开启,关闭 vsftp、cups、postfix、samba、telnet、login、SMTP/POP3、netbios、dns、dhcp,SNMPv3、openbsd-inetd、avahi-daemon、exim4、nfs-kernel-server、nfs-common、apache2 以下版本等公共网络服务:
root权限:
systemctl list-unit-files
service 服务名称 stop
chkconfig --level 2345 服务名称 off
systemctl disable 服务名称.service 关闭开机自启服务或者 #systemctl disable 服务名称.target
10、禁用无用端口,关闭135、445、137、631、21、23、53、5353、80等高危和无用的网络端口:
root权限:
netstat -ltunaop, 检查当前正在开放的端口,对出现的高危端口,首先关闭无用服务,随后根据查询出的pid 执行一下命令
kill -9 pid号 杀死服务进程
11、禁用大容量存储介质(USB存储设备),禁用USB存储设备:
root权限:
lsmod | grep usb_storage
uname -r
mv /lib/modules/内核版本/kernel/drivers/usb/storage/usb-storage.ko /BAK
rmmod usb_storage
12、消除多余网络接口,确保除在用的网络接口外都处于关闭状态:
root权限:
service network status
ifconfig
ifconfig 接口名称 down
ls /etc/sysconfig/network-scripts 将未使用的网络接口删除
13、禁用cdrom,禁用光驱设备:
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
14、限制远程管理地址配置,限制指定 IP 地址范围主机的远程登录:
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地址
保存文件并退出编辑。
vi /etc/hosts.deny
在文件末尾添加拒绝远程访问的地址
sshd:IP地址或IP地址段:deny
或sshd:all:deny
保存文件并退出编辑。
15、SSH远程管理超时自动退出配置,600秒内无操作,自动退出:
root权限:
vi /etc/profile
在文件末尾添加如下参数:
TMOUT=600
保存并退出文件编辑。
退出当前远程会话重新登录生效。
16、禁止root用户远程登录:
root权限:
vi /etc/ssh/sshd_config
找到字段“#PermitRootLogin yes”去掉参数前的“#”符号,并将yes改为no:
PermitRootLogin no
保存并退出文件编辑。
重启ssh服务:
service sshd restart
17、远程用户资源限制配置,根据系统运行实际情况,限制用户对系统资源的使用,可以避免拒绝服务:
编辑limits.conf文件,设置用户的资源限制,并把pam_limits.so加入启动文件中以确保配置生效。
配置如下:
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
vi /etc/pam.d/login #编辑login文件,加入以下内容
session required pam_limits.so
18、消除无用日志:
find /var/log/ -mtime +365 -name "*.log"
阅读
47
|
点赞
4
评论已关闭