系统信息:
[root@nfs01 ~]# uname -r2.6.32-696.el6.x86_64[root@nfs01 ~]# uname -mx86_64[root@nfs01 ~]# cat /etc/redhat-release CentOS release 6.9 (Final)
更改yum源
mv /etc/yum.repos.d/CentOS-Base.repo{,.$(date +%F_%T).backup} wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repowget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repoyum makecache关闭SELinux
\cp /etc/selinux/config{,.$(date +%F_%T).backup}sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/configgrep 'SELINUX=disable' /etc/selinux/configsetenforce 0getenforce关闭iptables
/etc/init.d/iptables stop/etc/init.d/iptables stopchkconfig iptables off精简开机自启动服务
export LANG=enchkconfig --list | egrep "3:on"|egrep -v "crond|network|sshd|rsyslog|sysstat" | awk '{print "chkconfig",$1,"off"}' | bashchkconfig --list | grep 3:on提权abc可以sudo
useradd abc\cp /etc/sudoers{,.$(date +%F_%T).backup}echo "abc ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoerstail -1 /etc/sudoersvisudo -c时间同步
echo '# time sync by odlboy at 2018-2-1' >> /var/spool/cron/rootecho '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1' >> /var/spool/cron/rootcrontab -l加大文件描述
\cp /etc/security/limits.conf{,.$(date +%F_%T).backup}echo '* - nofile 65535' >> /etc/security/limits.conftail -1 /etc/security/limits.conf # 重启生效ulimit -n内核优化
\cp /etc/sysctl.conf{,.$(date +%F_%T).backup}cat >>/etc/sysctl.conf<下载安装系统基础软件
yum -y install tree lrzsz telnet nc nmap dos2unix sysstat htop nload iptraf iftop更改SSH服务器远程登录的配置(选择性修改,自己别登不上了)
\cp /etc/ssh/sshd_config{,.$(date +%F_%T).backup}sed -i 's/#Port 22/Port 52113/g' /etc/ssh/sshd_configsed -i 's/#PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config sed -i 's/#PermitEmptyPasswords no/PermitEmptyPasswords no/g' /etc/ssh/sshd_config sed -i 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/g' /etc/ssh/sshd_config sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config/etc/init.d/sshd reload禁止Linux系统被ping
# 禁止pingecho 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all# 允许ping# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all修复部分软件漏洞
rpm -qa openssh openssl bashyum install -y openssh openssl bash
Linux基础优化与完全重点小结
1)不用root登录管理系统,而以普通用户登录通过sudo授权管理
2)更改默认远程连接ssh服务端口,禁止root用户远程连接,甚至要更改ssh服务只监听内网ip 3)定时自动更新服务器的时间,使其和互联网时间同步 4)配置yum更新源,从国内更新源下载安装软件包 5)关闭SELinux及iptables(在工作场景中,如果有外部ip一般要打开iptables,高并发高流量的服务器可能无法开启) 6)调整文件描述符的数量,进程及文件的打开都会消耗文件描述数量 7)定时自动清理邮件目录垃圾文件,防止磁盘的inodes数被小文件占满(注意CentOS6和Cnetos5要清理的目录不同) 8)精简并保留必要的自启动服务开机(如:crond、shhd、network、rsyslog、sysstat) 9)Linux内核参数优化/etc/sysctl.conf,执行sysctl -p生效 10)更改系统字符集为“zh_CN.UTF-8”,使其支持中文,防止出现乱码问题 11)锁定关键系统文件,如:/etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab,处理以上内容后把chattr、lsattr改名为oldboy,转移走,这样就安全多了 12)清空/etc/issue /etc/issue.net,去除系统及内核版本登录前的屏幕显示 13)清除多余的系统虚拟用户账号 14)为grub引导菜单加密码 15)禁止主机被ping 16)打补丁并升级有已知漏洞的软件
注:此博客仅供参考,读者可根据自己的实际情况进行合理的配置,博客内容参考老男孩书籍《web集群实战》一书