应急响应-windows/Linux主机加固

windows/Linux主机加固

1,账户安全

首先要确保电脑上的账户均为经常使用的账户,要禁止Guest用户,禁用其他无用账户,一段时间后无反馈即可删除,同时要留意是否有隐藏账户存在。

查看本地用户和组:右键此电脑>计算机管理应急响应-windows/Linux主机加固_第1张图片

选择对应账户 双击后可以打开页面执行操作

如何查看隐藏用户

应急响应-windows/Linux主机加固_第2张图片

 如图所示设置后我们就可以通过“计算机管理”中的“事件查看器”准确得知隐藏账户的名称,包括登陆的时间。即使将所有的登陆日志删除,系统还会记录是哪个账户删除了系统日志。这样就可以及时发现是否有隐藏账户登录。

2,密码安全

应急响应-windows/Linux主机加固_第3张图片

 要开启密码复杂度要求,设置密码最长使用期限来定时更换密码,同时要避免将密码存储在设备上。

应急响应-windows/Linux主机加固_第4张图片 

然后再进行账户锁定策略,设置无效登录次数可以有效防止暴力破解。

3,安全选项

应急响应-windows/Linux主机加固_第5张图片应急响应-windows/Linux主机加固_第6张图片应急响应-windows/Linux主机加固_第7张图片

  安全选项如图设置,其中框中的选项比较重要。

4,审核策略

应急响应-windows/Linux主机加固_第8张图片

账户登录

应急响应-windows/Linux主机加固_第9张图片

账户管理

应急响应-windows/Linux主机加固_第10张图片

 详细跟踪

应急响应-windows/Linux主机加固_第11张图片

登录/注销

应急响应-windows/Linux主机加固_第12张图片

 我们可以在日志文件中查看被审核所记录的信息,以便于排查和管理

5,用户授权

我们应对用户的权限进行限制和分配

打开 控制面板 > 管理工具 > 本地安全策略,在 本地策略 > 用户权限分配

应急响应-windows/Linux主机加固_第13张图片

设置允许本地登录的用户组。

应急响应-windows/Linux主机加固_第14张图片

 远程登录权限也只应该分配给相应的用户,比如维护人员。 应急响应-windows/Linux主机加固_第15张图片

 6,安装专业的杀毒软件以及开启windows防火墙。

安装企业版杀毒软件,并且定期扫描。此处应保证防火墙开启 

7修改默认端口

如80端口 3389端口

通过注册表编辑器修改 win+R 输入 regedit打开

具体修改某项服务就找到对应的注册表,通过修改端口可以有效防止黑客入侵

关闭不必要的端口可大大降低风险和漏洞。

Linux主机加固

1,账号管理

和windows一样,减少不必要的账号,及时删除无用账户,可以有效地降低安全风险。要排查空口令账户,以及不明来源的用户和拥有root权限的用户。

使用 cat /etc/shadow 查看用多少用户

应急响应-windows/Linux主机加固_第16张图片

 这里是我的主机上有的用户

分别是 root www test 三个用户

接下来检查是否存在空口令账户

使用命令 awk -F: '($2=="")' /etc/shadow 查看空口令账号。

 Test为空口令用户,可以为其增加密码。 

也可以将其删除

查看拥有root权限用户

使用命令 awk -F: '($3==0)' /etc/passwd 查看UID为零的账号。   //root权限的账户

 用户账号的安全要求应是没有空口令和弱口令用户存在,没有不必要的账户,只有root用户有root权限。

2,口令策略

除了空口令,弱口令也容易被破解,应当使用较为复杂的口令,降低破解的可能性。

使用命令 vi /etc/login.defs 修改配置文件、

类比于windows可以增加账号锁定功能设置连续输错三次密码,账号锁定五分钟。

使用命令 vi /etc/pam.d/common-auth修改配置文件,在配置文件中添加 auth required pam_tally.so onerr=fail deny=3 unlock_time=300 这样可以有效防止暴力破解。

 3限制用户提权。

应限制能够su到root的用户,指定那些组成员可以提权。

使用命令 vi /etc/pam.d/su修改配置文件,在配置文件中添加行。例如,只允许test组用户su到root,则添加 auth required pam_wheel.so group=test。 

应急响应-windows/Linux主机加固_第17张图片

 

4禁止root用户直接登录

限制root用户直接登录。

创建普通权限账号并配置密码,防止无法远程登录;

使用命令 vi /etc/ssh/sshd_config修改配置文件将PermitRootLogin的值改成no,并保存,然后使用service sshd restart重启服务。

 5服务

关闭不需要的服务

使用命令systemctl disable <服务名>设置服务在开机时不自动启动。

chkconfig --list   查看启动服务应急响应-windows/Linux主机加固_第18张图片

 6 SSH服务安全

对于ssh服务的修改通过修改配置文件实现。

vim /etc/ssh/sshd_config

可以在此处修改ssh服务的默认端口

 

通过修改默认端口,可以有效地防止被入侵。

不允许root账号直接登录系统。

设置 PermitRootLogin 的值为 no。

修改SSH使用的协议版本。

设置 Protocol 的版本为 2。

修改允许密码错误次数(默认6次)。

设置 MaxAuthTries 的值为 3。

配置文件修改完成后,重启sshd服务生效。

7文件系统

设置umask值

设置默认的umask值,增强安全性。

操作步骤

使用命令 vi /etc/profile 修改配置文件,添加行 umask 027, 即新创建的文件属主拥有读写执行权限,同组用户拥有读和执行权限,其他用户无权限。 

 

设置登录超时

设置系统登录后,连接超时时间,增强安全性。

操作步骤

使用命令 vi /etc/profile 修改配置文件,将以 TMOUT= 开头的行注释,设置为TMOUT=180,即超时时间为三分钟。

8 syslogd日志

启用日志功能,并配置日志记录。

操作步骤

Linux系统默认启用以下类型日志:

系统日志(默认)/var/log/messages

cron日志(默认)/var/log/cron

安全日志(默认)/var/log/secure

注意:部分系统可能使用syslog-ng日志,配置文件为:/etc/syslog-ng/syslog-ng.conf。

记录所有用户的登录和操作日志

通过脚本代码实现记录所有用户的登录操作日志,防止出现安全事件后无据可查。

操作步骤

运行  vim /etc/profile打开配置文件。

在配置文件中输入以下内容:

    history    

 USER=`whoami`    

 USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`

 if [ "$USER_IP" = "" ]; then    

 USER_IP=`hostname`    

 fi    

 if [ ! -d /var/log/history ]; then    

 mkdir /var/log/history    

 chmod 777 /var/log/history    

 fi    

 if [ ! -d /var/log/history/${LOGNAME} ]; then    

 mkdir /var/log/history/${LOGNAME}

 chmod 300 /var/log/history/${LOGNAME}    

 fi    

 export HISTSIZE=4096    

 DT=`date +"%Y%m%d_%H:%M:%S"`  

 export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT"    

 chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null

运行  source /etc/profile 加载配置生效。

注意: /var/log/history 是记录日志的存放位置,可以自定义。

通过上述步骤,可以在 /var/log/history 目录下以每个用户为名新建一个文件夹,每次用户退出后都会产生以用户名、登录IP、时间的日志文件,包含此用户本次的所有操作(root用户除外)。

应急响应-windows/Linux主机加固_第19张图片

 

9查看系统时间

 

通过校准系统时间可以精确定位日志中事件发生的准确日期,可以及时处理异常。

自我总结:

对于windows主机和Linux主机安全加固都应重点把控账户及密码安全,做到没有弱口令,空口令,对于密码应当按时更换。管理员权限应当限制一般用户登录和使用,应当保证主机上每个用户都有对应业务,按照业务对用户进行分组和权限分割。

对于服务以及端口应当按照具体业务所需进行开放。对于高危端口,应当进行更换或关闭,尽量修改默认端口。

不论是windows还是linux都应当注重日志的记录,确保可以查到何人何时做了何种操作,以便于应急响应和运营维护。

你可能感兴趣的:(红蓝对抗,安全性测试,web安全,安全,windows,linux)