Linux 系统优化-workstation实践
Linux 系统优化
关闭SELinux
[root@workstation ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
[root@workstation ~]# setenforce 0
[root@workstation ~]# getenforce
关闭Firewalld防火墙
等业务调试好之后再开启,防止在部署业务期间,防火墙的影响。
[root@workstation ~]# systemctl stop firewalld
[root@workstation ~]# systemctl disable firewalld
修改字符集
根据尝试修改适合的字符集即可,这里该成中文字符集。
[root@workstation ~]# LANG=zh_CN.utf-8
[root@workstation ~]# vi /etc/locale.conf
LANG="zh_CN.UTF-8"
使用阿里云镜像做yum源
[root@workstation ~]# 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编辑器别名
[root@workstation ~]# alias vi='vim'
[root@workstation ~]# 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变量优化
[root@workstation ~]# 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
[root@workstation ~]# 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服务器能够停止。