Linux 系统优化

关闭SELinux

[[email protected] ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
[[email protected] ~]# setenforce 0
[[email protected] ~]# getenforce

关闭Firewalld防火墙

等业务调试好之后再开启,防止在部署业务期间,防火墙的影响。

[[email protected] ~]# systemctl stop firewalld
[[email protected] ~]# systemctl disable firewalld

修改字符集

根据尝试修改适合的字符集即可,这里该成中文字符集。

[[email protected] ~]# LANG=zh_CN.utf-8
[[email protected] ~]# vi /etc/locale.conf
LANG="zh_CN.UTF-8"

使用阿里云镜像做yum源

[[email protected] ~]# rm -fr /etc/yum.repos.d/*
cd /etc/yum.repos.d/
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-6.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

安装常用软件

yum -y install tree nmap sysstat lrzsz dos2unix telnet bash-completion bash-completion-extras vim nc lsof net-tools rsync ntpdate

更改vim编辑器别名

[[email protected] ~]# alias vi='vim'
[[email protected] ~]# vi /etc/profile.d/vi.sh
alias vi='vim'

时间同步

echo '#Time synchronization time' >>/var/spool/cron/root
echo '0 0 * * * /usr/sbin/ntpdate ntp1.aliyun.com &>/dev/null' >>/var/spool/cron/root
crontab -l

加大文件描述符

echo '* - nofile 65535 ' >>/etc/security/limits.conf
tail -1 /etc/security/limits.conf

PS1变量优化

[[email protected] ~]# vi /etc/profile.d/PS1.sh 
PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\\$ "

内核优化

cat >>/etc/sysctl.conf<<EOF
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
EOF
[[email protected] ~]# sysctl -p

sshd远程连接优化

sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config
grep 'UseDNS no' /etc/ssh/sshd_config
sed -i 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/g' /etc/ssh/sshd_config
grep 'GSSAPIAuthentication no' /etc/ssh/sshd_config
systemctl restart sshd

安全优化

>/etc/issue
>/etc/issue.net
>/etc/motd
# 用户登陆超时
echo 'export TMOUT=900' >> /etc/profile

优化总结

不用root登录管理系统,而以普通用户登录通过sudo授权管理。

更改默认的远程连接SSH服务端口,禁止root用户远程连接,甚至要更改SSH服务只监听内网IP。

定时自动更新服务器的时间,使其和互联网时间同步。

配置yum更新源,从国内更新源下载安装软件包。

关闭SELinux及iptables(在工作场景中,如果有外部IP一般要打开iptables,高并发高流量的服务器可能无法开启)。

调整文件描述符的数量,进程及文件的打开都会消耗文件描述符数量。

定时自动清理邮件临时目录垃圾文件,防止磁盘的inodes数被小文件占满(注意Centos6和Centos5要清除的目录不同)。

精简并保留必要的开机自启动服务(如crond、sshd、network、rsyslog、sysstat)。

Linux内核参数优化/etc/sysctl.conf,执行sysctl -p生效。

更改系统字符集为“zh_CN.UTF-8”,使其支持中文,防止出现乱码问题。

锁定关键系统文件如/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow、/etc/inittab,处理以上内容

后把chattr、lsattr改名为luffy,转移走,这样就安全多了。

清空/etc/issue、/etc/issue.net,去除系统及内核版本登录前的屏幕显示。

清除多余的系统虚拟用户账号。

为grub引导菜单加密码。

禁止主机被ping。

打补丁并升级有已知漏洞的软件。 新系统 yum –y install 已经在线上用的服务器 web服务器能够停止。