Linux系统调整
作者QQ:67065435 QQ群:669756510
本站内容全部为作者原创,转载请注明出处!
CentOS优化yum
修改yum源
# 备份默认源 yum -y --nogpgcheck install epel-release cp /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.bak cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak # 删除弃用源 mv /etc/yum.repos.d/CentOS-SCLo-scl.repo /etc/yum.repos.d/CentOS-SCLo-scl.repo.bak mv /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo.bak # 新增最新源 vi /etc/yum.repos.d/CentOS-SCLo-rh.repo [centos-sclo-rh] name=CentOS-7 - SCLo rh baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo ESC :wq # CentOS 5修改yum源 curl https://mirrors.aliyun.com/repo/epel-5.repo -o /etc/yum.repos.d/epel.repo curl https://mirrors.aliyun.com/repo/Centos-5.repo -o /etc/yum.repos.d/CentOS-Base.repo # CentOS 6修改yum源 curl https://mirrors.aliyun.com/repo/epel-6.repo -o /etc/yum.repos.d/epel.repo curl https://mirrors.aliyun.com/repo/Centos-6.repo -o /etc/yum.repos.d/CentOS-Base.repo # CentOS 7修改yum源 curl https://mirrors.aliyun.com/repo/epel-7.repo -o /etc/yum.repos.d/epel.repo curl https://mirrors.aliyun.com/repo/Centos-7.repo -o /etc/yum.repos.d/CentOS-Base.repo # CentOS 8修改yum源 curl https://mirrors.aliyun.com/repo/epel.repo -o /etc/yum.repos.d/epel.repo curl https://mirrors.aliyun.com/repo/Centos-8.repo -o /etc/yum.repos.d/CentOS-Base.repo # 清除缓存 yum clean all yum makecache升级yum(二选一)
# 升级yum包(推荐) yum -y --nogpgcheck upgrade # 升级yum包+内核 yum -y --nogpgcheck update清理yum相关缓存
# 查找缓存的rpm包 find /root/yum -name '*.rpm' # 清理yum相关缓存(全部) yum clean all # 清理yum相关缓存(指定) yum clean rpmdb yum clean dbcache yum clean headers yum clean plugins yum clean packages yum clean metadata yum clean expire-cache永久保存rpm包 ```
可通过这种方式保留rpm包并保存,实现无网络装机
mkdir /root/yum
vim /etc/yum.conf
[main] cachedir=/root/yum/$basearch/$releasever keepcache=1
ESC :wq
1. 常见漏洞修复
提权漏洞
chmod u-s /usr/bin/chage chmod u-s /usr/bin/gpasswd chmod u-s /usr/bin/chfn chmod u-s /usr/bin/chsh chmod u-s /usr/bin/newgrp chmod u-s /usr/sbin/usernetctl chmod u-s /bin/mount chmod u-s /bin/umount chmod g-s /usr/bin/wall chmod g-s /usr/bin/write chmod g-s /sbin/netreport
CVE-2021-43527
CVE-2023-0767
yum -y --nogpgcheck install nss
CVE-2021-3156
yum -y --nogpgcheck install sudo
CVE-2023-24329
yum -y --nogpgcheck install python
CVE-2020-25692
yum -y --nogpgcheck install openldap
CVE-2020-0543
CVE-2020-0548
CVE-2020-0549
CVE-2020-24489
CVE-2020-24511
CVE-2020-24512
CVE-2020-8695
CVE-2020-8696
CVE-2020-8698
CVE-2020-24489
CVE-2020-24511
CVE-2020-24512
CVE-2020-24513
yum -y --nogpgcheck install microcode_ctl
CVE-2020-8625
CVE-2021-25215
CVE-2022-38177
CVE-2022-38178
CVE-2023-2828
CVE-2023-3341
yum -y --nogpgcheck install bind-export-libs
### CentOS优化ssh
1. CentOS优化ssh
systemctl unmask firewalld systemctl enable firewalld systemctl start firewalld firewall-cmd --permanent --zone=public --add-port=22/tcp firewall-cmd --permanent --zone=public --add-port=666/tcp firewall-cmd --reload
semanage port -l | grep ssh semanage port -a -t ssh_port_t -p tcp 666 semanage port -l | grep ssh
vim /etc/ssh/sshd_config
Port 666
Port 22
ESC :wq
systemctl restart sshd
1. CentOS封禁ssh攻击
获取攻击服务器的IP(YYYYMMDD是具体的数字)
lastb|awk '{print "ALL:" $3 ":deny"}'|grep -E '([0-9]+.){3}[0-9]+'|sort|uniq
将获取到的结果保存到
/etc/hosts.deny
使用systemctl重启sshd
systemctl restart sshd
### CentOS优化memory
1. CentOS优化memory
查看当前内存使用情况
free free -m free -h
当 buff/cache 较高时,可使用以下方法清理内存
/usr/bin/echo 1 > /proc/sys/vm/drop_caches --释放pagecache /usr/bin/echo 2 > /proc/sys/vm/drop_caches --释放dentries、inodes /usr/bin/echo 3 > /proc/sys/vm/drop_caches --释放pagecache、dentries、inodes
注意!!!
echo N > /proc/sys/vm/drop_caches 命令只有在执行时才会实现内存清理,并不是赋值后永久生效
原理
为了提高磁盘读写效率,Linux做了很多设计
1. 对 Dentry 进行缓存(使用VFS加速文件路径名到文件inode的转换);
2. 在内存中对 磁盘dentry 进行记录,增加 磁盘dentry 的读写速度;(使用VFS加速文件路径名到文件inode的转换)
3. 在内存中对 文件inode 进行记录,增加 文件inode 的读写速度;
为了保证内存充足,我们将 pagecache、dentries、inodes 占用的内存释放,从而获得更大的内存空间; 经实测,通过这种方式释放内存后文件读写速度并未产生较大影响,由原来的 1-2毫秒 变成了 2-3毫秒。
### CentOS优化swap
1. CentOS优化swap
8388608=8G
dd if=/dev/zero of=/swap bs=1024 count=8388608 chmod -R 600 /swap mkswap /swap swapon /swap
vim /etc/fstab
/swap swap swap defaults 0 0
ESC :wq
vim /etc/sysctl.conf
vm.swappiness=20
ESC :wq
sysctl -p
free -m
### CentOS优化sysctl
1. CentOS优化sysctl
vim /etc/sysctl.conf
vm.swappiness=20 vm.overcommit_memory=1 vm.max_map_count=65536 net.core.somaxconn=8192
net.ipv4.ip_forward=1 net.ipv4.tcp_tw_reuse=1 net.ipv4.tcp_tw_recycle=1 net.ipv4.tcp_syncookies=1
ESC :wq
sysctl -p
echo 8192 > /proc/sys/net/core/somaxconn echo never > /sys/kernel/mm/transparent_hugepage/enabled
### CentOS优化limits
1. CentOS优化limits
vim /etc/pam.d/login
session required /lib64/security/pam_limits.so
ESC :wq
vim /etc/security/limits.conf
- soft nproc 65535
- hard nproc 65535
- soft nofile 65535
hard nofile 65535
ESC :wq ```
CentOS禁用SELinux
CentOS禁用SELinux
vim /etc/sysconfig/selinux SELINUX=disabled ESC :wq setenforce 0
CentOS优化journalctl
CentOS优化journalctl ``` journalctl --disk-usage
journalctl --vacuum-time=10d journalctl --vacuum-time=10h journalctl --vacuum-time=10s
journalctl --vacuum-size=10M
vim /etc/systemd/journald.conf
[Journal] SystemMaxUse=10M SystemKeepFree=10M SystemMaxFileSize=1M RuntimeMaxUse=10M RuntimeKeepFree=10M RuntimeMaxFileSize=1M MaxRetentionSec=10day MaxFileSec=0 ForwardToSyslog=no ForwardToKMsg=no ForwardToConsole=no ForwardToWall=no
ESC :wq
systemctl restart systemd-journald
### CentOS优化timedate
1. CentOS优化timedate
修改时区(方式1)
tzselect 5、9、1、1(分别按回车键)
修改时区(方式2)
timedatectl set-timezone Asia/Shanghai
联网校对时间
yum -y --nogpgcheck install ntp ntpdate ntp1.aliyun.com
查看当前时间
date -R ```