IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 系统安全加固之一:Linux环境 -> 正文阅读

[系统运维]系统安全加固之一:Linux环境

1. 账号与密码加固

1.1 禁用或删除无用账号

减少系统无用账号,降低安全风险。

操作步骤

userdel <用户名> //删除不必要的账号。
passwd -l <用户名> //锁定不必要的账号。
passwd -u <用户名> //解锁必要的账号。

1.2 检查特殊账号

检查是否存在空口令和root权限的账号。

操作步骤

1、检查
awk -F: '($2"")' /etc/shadow //查看空口令账号。
awk -F: '($30)' /etc/passwd //查看UID为零的账号。
awk -F: '($2 == "") { print $1 }' /etc/shadow //查看空口令/弱口令帐户
2、修复
passwd <用户名> //为空口令账号设定密码。
确认UID为零的账号只有root账号。

1.3 设置密码策略

加强口令的复杂度等,降低被猜解的可能性。

操作步骤

1、vim /etc/login.defs 修改配置文件。
PASS_MAX_DAYS 90 #新建用户的密码最长使用天数
PASS_MIN_DAYS 0 #新建用户的密码最短使用天数
PASS_WARN_AGE 7 #新建用户的密码到期提前提醒天数
PASS_MIN_LEN 8 #设定最小用户密码长度为8位

2、使用chage命令修改用户设置。(针对已创建用户)
例如,chage -m 0 -M 90 -I 5 -W 7 <用户名>
表示将此用户的密码最长使用天数设为90,最短使用天数设为0,密码过期后5天之后账户失效,过期前7天警告用户。

3、设置连续输错五次密码,账号锁定十分钟。(普通账户)
vim /etc/pam.d/system-auth(redhat、centos)

auth required pam_tally.so onerr=fail deny=5 unlock_time=600(redhat6、centos6及以下版本)
auth required pam_tally2.so onerr=fail deny=5 unlock_time=600  vim /etc/pam.d/sshd (redhat、centos)(ssh登录)
auth required pam_tally.so onerr=fail deny=5 unlock_time=600(redhat6、centos6及以下版本)
auth required pam_tally2.so onerr=fail deny=5 unlock_time=600

4、设置密码复杂度
vim /etc/pam.d/system-auth
password requisite pam_cracklib.so ucredit=-1 lcredit=-1 dcredit=-1(redhat6、centos6)
password requisite pam_pwquality.so minlen=8 ucredit=-2 lcredit=-1 dcredit=-4 ocredit=-1(redhat7、 centos7)
#至少8个字符,最少2个大写字母,最少1小写字母,最少4个数字,至少1个特殊字符

5、设置密码重复使用次数限制
vim /etc/pam.d/system-auth
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=5

1.4 限制用户su操作

限制普通用户能su到root的用户

操作步骤

vim /etc/pam.d/su
例如,只允许wheel组用户su到root,则添加

auth sufficient /lib/security/pam_rootok.so
auth required /lib/security/pam_wheel.so group=wheel

2. 服务加固

2.1 关闭不必要的服务

关闭不必要的服务(如普通服务和xinetd服务),降低风险。

操作步骤

#停止服务
systemctl stop <服务名>

#设置服务在开机时不自动启动。
systemctl disable <服务名>

2.2 SSH服务安全

对SSH服务进行安全加固,防止容易被暴力破解成功。

操作步骤

vim /etc/ssh/sshd_config

不允许root账号直接登录系统。
设置 PermitRootLogin 的值为 no。
修改SSH使用的协议版本。
设置 Protocol 的版本为 2(centos7默认第一版本已拒绝)
密码错误超过次数断开连接(默认6次)。
设置 MaxAuthTries 的值为 3。
修改默认端口
设置Port的值为非22。
配置文件修改完成后,重启sshd服务生效。

3. 环境加固

3.1 PROFILE加固

文件权限、历史命令、超时注销等安全加固

操作步骤

# 设置默认的umask值,增强安全性
echo "umask 077" >> /etc/profile
# 系统保留1000条历史命令
echo "HISTSIZE=1000" >> /etc/profile
# 如果系统中登录的用户在300秒内没有任何操作,系统将自动注销,从而实现帐户保护。
echo "TMOUT=300" >> /etc/profile
# 将值设置为readonly 防止用户更改
echo "readonly TMOUT" >> /etc/profile
# 配置立刻生效
source /etc/profile

3.2 删除潜在危险文件

.rhosts,.netrc,hosts.equiv等文件都具有潜在的危险,如果没有应用,应该删除

操作步骤

# 搜索文件
find / -name .rhosts  
find / -name .netrc
find / -name hosts.equiv
# 备份文件
mv .rhost .rhost.bak  
mv .netr .netr.bak  
mv hosts.equiv hosts.equiv.bak

3.3 设置重要目录或文件权限

针对重要的目录设置正确的权限加固系统安全

操作命令

chmod <权限> <目录或文件>
参考加固:
chmod 750 /etc/
chmod 750 /tmp/
chmod 644 /etc/passwd
chmod 644 /etc/group
chmod 644 /etc/services
chmod 400 /etc/shadow
chmod 600 /etc/security

4. 日志加固

4.1 syslogd日志

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

Linux系统默认启用以下类型日志:
系统日志(默认)/var/log/messages
cron日志(默认)/var/log/cron
安全日志(默认)/var/log/secure

操作步骤

# /etc/log 系统日志默认保留4周,由
vim /etc/logrotate.conf
rotate 25

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

通过脚本代码实现记录所有用户的登录操作日志,防止出现安全事件后无据可查。
每次用户退出后都会产生以用户名、登录IP、时间的日志文件,日记记录到/var/log/history/路径

操作步骤

1. 日志记录
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 733 /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}/* 2>/dev/null

2. 命令时间记录
vim /etc/bashrc

HISTTIMEFORMAT="%F %T  "
export HISTTIMEFORMAT

4.3 中间件日志保留设置

操作步骤

# tomcat-logrotate脚本
vim /opt/scripts/tomcat-logrotate.sh
#!/bin/bash
logs_path="/opt/tomcat/apache-tomcat-7.0.75/logs"
find $logs_path -mtime +180 -name "localhost.*.log" -exec rm -rf {} \;
find $logs_path -mtime +180 -name "localhost_access_log.*.txt" -exec rm -rf {} \;
find $logs_path -mtime +180 -name "catalina.*.log" -exec rm -rf {} \;
find $logs_path -mtime +180 -name "manager.*.log" -exec rm -rf {} \;
find $logs_path -mtime +180 -name "host-manager.*.log" -exec rm -rf {} \;
>$logs_path/catalina.out;

# tomcat-logrotate权限
chmod 755 /opt/scripts/tomcat-logrotate.sh

# tomcat-logrotate计划任务(每日凌晨2点执行)
crontab -e
0 2 * * * sh /opt/scripts/tomcat-logrotate.sh
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-01 14:51:53  更:2021-08-01 14:52:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 17:23:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码