centos7简单优化
以下是经过改善的技术文章,内容更加工整、规范且易于理解,适用于 CentOS 7 环境。
1. 简单优化
1.1 关闭 SELinux
# 修改 SELinux 配置
sed -i 's#SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0
getenforce
1.2 时间同步
# 安装 ntpdate
yum install ntpdate -y
/usr/sbin/ntpdate ntp3.aliyun.com
# 设置定时任务每5分钟同步一次时间
echo "*/5 * * * * /usr/sbin/ntpdate ntp3.aliyun.com >/dev/null 2>&1" >> /var/spool/cron/root
crontab -l
2. 常用软件安装
# 安装常用工具
yum install -y tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs psmisc net-tools bash-completion vim-enhanced
3. 精简开机服务
# 禁用不必要的开机服务
systemctl list-unit-files | grep enabled | egrep -v "sshd.service|crond.service|sysstat|rsyslog|^NetworkManager.service|irqbalance.service" | awk '{print "systemctl disable", $1}' | bash
systemctl list-unit-files | grep enabled
4. 替换阿里源
# 使用阿里云镜像替换 Yum 源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
5. 安全优化
5.1 登录超时与历史命令设置
# 设置登录超时和历史命令数
echo 'export TMOUT=350' >> /etc/profile
echo 'export HISTSIZE=5' >> /etc/profile
echo 'export HISTFILESIZE=5' >> /etc/profile
5.2 创建用户并设置 sudo 权限
# 创建用户 abc 并设置密码
useradd abc
echo 123456 | passwd --stdin abc
# 备份 sudoers 文件并添加用户权限
cp /etc/sudoers /etc/sudoers.ori
echo "abc ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
# 检查 sudoers 文件
visudo -c
5.3 防止暴力破解
# 配置 PAM 以防止暴力破解
echo "auth required pam_tally2.so deny=5 unlock_time=600 root_unlock_time=1200 even_deny_root" >> /etc/pam.d/system-auth
参数解释:
even_deny_root: 也限制 root 用户deny: 连续错误登录的最大次数,超过则锁定该用户unlock_time: 普通用户解锁时间(秒)root_unlock_time: root 用户解锁时间(秒)
6. 虚拟内存(Swap)
6.1 创建 Swap
# 检查当前 Swap 状态
free -h
# 创建 5G 的 Swap 文件
dd if=/dev/zero of=/var/swap bs=1M count=5120
mkswap /var/swap
swapon /var/swap
# 添加到开机自动挂载
echo "/var/swap swap swap defaults 0 0" >> /etc/fstab
6.2 取消 Swap
# 查看当前 Swap 状态
swapon -s
# 取消 Swap 并删除文件
swapoff /var/swap
rm -rf /var/swap
# 检查 Swap 状态
free -h
6.3 调整 Swappiness 值
# 查看当前 Swappiness 值
cat /proc/sys/vm/swappiness
# 临时修改 Swappiness 值
sysctl vm.swappiness=15
# 永久修改 Swappiness 值
echo "vm.swappiness = 15" >> /etc/sysctl.conf
sysctl -p
7. 邮箱告警
7.1 开启 QQ 邮箱 SMTP 服务
- 登录 QQ 邮箱,开启 SMTP 服务并获取授权码。
7.2 安装邮件服务
# 安装 mailx
yum install -y mailx
7.3 创建告警脚本
# 配置邮件发送设置
vim /etc/mail.rc
# 添加以下内容
set from=1294039385@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=1294039385@qq.com
set smtp-auth-password=你的授权码
set smtp-auth=login
7.4 测试邮件发送
echo "hello,小白,这是一个基于 CentOS 7 系统配置的邮件发送端,用于服务器告警信息的通知,现在正在测试邮箱发送的可靠性" | mail -s "邮箱发送的测试" 1294039385@qq.com
以上是 CentOS 7 系统的优化指南,按照步骤进行配置可以提高系统的安全性和性能。