1、物理安全
硬件服务器,关闭从CD/DVD等这些方面的软启动方式。同时也可以设置BIOS密码,并且要有限制访问的策略与各类流程管控。
还可以禁用USB设备来达到安全的目的:
centos7x 安装dconf-editor,搜索automount,将automount及automount open值设为false
或者使用下面的命令将USB的驱动程序删除
mv /lib/modules/3.10.0-862.el7.x86_64/kernel/drivers/usb/storage/usb-storage.ko.xz
2、保证系统最新
保证系统无其它漏洞存在,比如:已经有的漏洞要及时的修复。保证系统包含了最新版本的补丁、安全修复和可用内核
yum updates
yum check-update
经常关注国内外关于、系统最新漏洞以及补丁发布的信息了
3、最小化处理原则
安装系统,还是常用的软件,都必须遵守这个原则:最小化安装,同时也是减少漏洞存在的可能性。
对于系统一些不必要的服务、端口,建议关闭。
chkconfig --list |grep “3:on”
systemctl stop services
- 登录与连接
第一步:就是除了非必要情况,杜绝使用root用户登录,可以使用sudo来进行提权操作,然后利用系统命令将/etc/sudoers文件锁定(除root用户之外的用户无权限修改)。
第二步:建议修改SSH配置文件,比如默认端口号22,禁止root密码登录(有些自有机房的还可以直接禁用root用户通过SSH协议登录)等
[root@congcong ~]# vim /etc/ssh/sshd_config
#Port 22
可修改成其它端口号,常用IP+22混合使用
#PermitRootLogin yes
将yes改成No
#PermitEmptyPasswords no
打开注释即可
#AllowUsers username
指定特定的用户通过SSH协议进行远程连接
5、用户管理
Linux是一个可多用户并行操作的系统,所以,系统也对用户进行了划分:超级用户与普通用户。两者权限不同,因此,能干的事也有所不同
设置用户密码:
这个可以通过系统命令passwd来进行设置,一般建议使用强度比较复杂的密码,且各个系统中相同的用户使用不同的密码(日常可以使用管理器来管理)。
临时用户管理:
对于这种需要的临时用户管理,一般是使用过后可以删除,也可以在一段时间后将其锁定不让其再登录,在下次需要登录时再次开启权限。
删除用户很简单,可以使用系统命令userdel -r username 进行删除。
锁定用户其实就是修改用户的属性:
usermod -L mingongge #锁定用户
usermod -U mingongge #解锁用户
6、文件管理
文件管理指的是存储用户信息的重要文件:/etc/passwd、/etc/shadow这两个文件。
将此两个文件锁定除了root用户之外的用户无权限修改与访问。
7、启用防火墙
8、软件包的管理
系统安装的软件,我们使用RPM包管理器来管理,对于使用yum命令列出来的软件,在对其进行删除、卸载时
yum -y remove software-package-name
rpm -e software-package-name 对于有依赖的加上参数 --nodeps
9、禁用Crtl+Alt+Del 重启
按下Crtl+Alt+Del组合键后,都会使用服务器重启,对于线上服务器来说是绝对不友好的一个安全因素,必须禁止
centos 7.x
cat /etc/inittab
vim /usr/lib/systemd/system/ctrl-alt-del.target
上面文件中的配置注释掉之后,reboot命令会不生效了:
ctrl-alt-del.target这是reboot.target的软链接。最终的方法是:移动掉这个文件到其它目录,然后重载配置文件使用其它生效,如果再需要这个功能就只需要重新添加这个软件链接即可
10、监控用户行为
安装sa和ac命令: yum install psacct -y
ac 统计用户连接时间
ac #显示所有用户连接总时间
ac -p #显示每个用户连接时间
ac -d #显示每天所有用户连接总时间
ac silence #显示指定用户连接时间
ac -d silence #显示指定用户每天连接时间
sa 输出用户活动信息
sa #显示所有用户执行命令情况
sa -u #按用户显示执行命令情况
sa -m #按进程显示执行命令情况
sa -p #按使用率显示执行命令情况
lastcomm 输出最近执行命令信息
lastcomm #显示所有执行命令
lastcomm silence #显示指定用户执行命令
lastcomm ls #显示指定命令执行情况
其他
last #查看最近用户登录成功列表
last -x #显示系统关机、重新开启等信息
last -a #将IP显示在最后一列
last -d #对IP进行域名解析
last -R #不显示IP列
last -n 3 #显示最近3条
lastb #查看最近用户登录失败的列表
11、定期检查日志
将系统及其重要的日志保存在本服务器之外的专业日志服务器上,从而避免黑客通过分析日志来入侵系统及应用,以下是常见的日志文件:
/var/log/message --记录系统日志或当前活动日志
/var/log/auth.log --身份认证日志
/var/log/kern.log --内核日志
/var/log/cron.log --Crond日志(crontab定时任务日志)
/var/log/maillog --邮件服务日志
/var/log/boot.log --系统启动日志
/var/log/mysqld.log --Mysql数据库日志
/var/log/secure --认证日志
/var/log/utmp or /var/log/wtmp --登录日志
/var/log/yum.log --yum日志
12、数据备份
重要的生产数据,必须本地、异地、不同介质备份及保存,同时还需要定期检查数据的完整性、可用性。
13、安全工具
对于系统来说,常用的安全扫描工具是必备的,比如:扫描开放端口nmap。对于系统中的WEB应用等来说,可以使用一些开源的工具:IBM AppScan、SQL Map等,同样这类的商用产品也很多。
对于文件有文件加密工具,对于系统还有一些入侵检测、漏洞扫描工具,无论是开源还是商业,都是可以根据实际需求与企业成本来决定使用哪一款工具。