以下内容均在CentOS 7下进行操作
账号
查看登录日志
/var/run/utmp:记录当前正在登录系统的用户信息,默认由who和w记录当前登录用户的信息,uptime记录系统启动时间; /var/log/wtmp:记录当前正在登录和历史登录系统的用户信息,默认由last命令查看; /var/log/btmp:记录失败的登录尝试信息,默认由lastb命令查看。 |
ROOT用户安全方案
- 禁止ROOT远程登陆(因为没有物理管理的条件,这一条就没有意义)
- 修改ROOT权限,把ROOT修改为普通用户权限,把一个普通用户修改为ROOT权限。
注意:经过比较简单的测试发现修改ROOT的用户名或者权限标记都导致了系统不能正常启动;通过测试的只有修改(ROOT的登录方式为Nologin,再为一个普通用户修改权限标记为0;重启后达到效果ROOT用户名无法登录、被修改的普通用户登录后系统显示为root)
#以下是修改后的内容 root:x:0:0::/root:/sbin/nologin huojun:x: 0:0::/home/huojun:/bin/bash |
使用普通用户操作
#新增普通用户 useradd xcc #设置密码 passwd xcc #新增的用户在/home中有自己对应名称的文件夹 #把普通用户分配到同一个组,以便相同的权限 #修改/etc/passwd huojun:x:1000:1000::/home/huojun:/bin/bash xcc:x:1000:1000::/home/huojun:/bin/bash #修改权限,文件及目录的所有者可以修改 #chmod 777 /home/huojun #给予全部权限 #chmod 770 /home/huojun #只给予所有者和对应组有全部权限
#如果需要普通用户管理应用服务器及项目,需要注意一下 #1.如果想要多人管理同一项目,最好把他们分到同一个组,使其所在目录开通组权限 #2.如果不想不相干的人进入,最好关闭游客权限 #3.如要要正常启动服务,则应用及服务所用到的所有目录都必须让启动则拥有全部权限
#以下例子与上述内容为标准,普通用户只有/home/huojun目录的权限 #以SpringBoot Jar项目为例 #Jar文件必须放在/home/huojun文件中 #Jar项目中涉及到需要操作系统目录及文件的地方也必须在/home/huojun,一般包括日志文件、上传下载的文件
#以Tomcat War项目为例 #Tomcat 及对应的项目必须放在/home/huojun文件中 #项目中涉及到需要操作系统目录及文件的地方也必须在/home/huojun
|
设置密码时间
为普通用户设置密码的最大修改时间,保证所有的普通用户即时更新密码,如果用户长期不用则会被禁止登陆。来达到对普通用户的安全管理
vim /etc/shadow root(用户):$6$Dk1P.79EyYpRW4me$NvmMatdSAsAENx9yxS8/ZYC3d7h4dZni7mcDA69ZQmHGfBBHJuHluZYg2HPJ1jDwRaS5z5QA0YeRFECCKmy3A(加密后的密码)/:15846(最后一次修改密码的时间):0(最小修改密码时间):99999(最大修改密码时间,一般设置为30天):7(提醒密码修改时间)::: 修改普通用户的最大修改密码时间:30天 |
使用固定IP登录
方法一:
vim /etc/ssh/sshd_config 添加一行: allowusers xxx@114.80.100.159 注:xxx为你用来登入服务器的用户名,可以为多个用户添加多个IP地址 |
考虑到大多数的服务器都是已托管的方式放在机房,不具备物理上的管理安全性质,暂不使用
使用SSH秘钥认证登录
考虑到多用户维护成本的问题,暂不使用SSH秘钥认证登录
SSH端口
修改SSH登录端口,可以有效防止非法的尝试登陆
vi /etc/ssh/sshd_config //找到Port 22 修改为自定义的端口 |
注意:记得在防火墙中开放此端口
PING请求
不再响应PING请求,立即生效
echo “1”> /proc/sys/net/ipv4/icmp_echo_ignore_all |
关闭SELinux
这是一个控制安全策略的内核安全机制,因为与现有的应用不兼容所以不使用,再对其深入研究后再使用也不迟
查看SELinux状态:
getenforce |
关闭SELinux:修改SELINUX=enforcing为SELINUX=disabled
vi /etc/sysconfig/selinux |
防火墙
防火墙使用的是Firewall,暂不提供IPtable
firewall-cmd --state ##查看防火墙状态,是否是running firewall-cmd --list-all //查看防火墙规则,可查到你当前开放的端口信息 firewall-cmd --zone=public --add-port=8888/tcp --permanent //为防火墙添加端口 |
注意:使用systemctl重启防火墙