Linux系统安全配置

以下内容均在CentOS 7下进行操作

账号

查看登录日志

/var/run/utmp:记录当前正在登录系统的用户信息,默认由whow记录当前登录用户的信息,uptime记录系统启动时间;

/var/log/wtmp:记录当前正在登录和历史登录系统的用户信息,默认由last命令查看;

/var/log/btmp:记录失败的登录尝试信息,默认由lastb命令查看。

 

ROOT用户安全方案

  1. 禁止ROOT远程登陆(因为没有物理管理的条件,这一条就没有意义)
  2. 修改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 [email protected]

注: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重启防火墙

你可能感兴趣的:(Linux)