Centos6.9系统部分基础优化(更新时间2018/04/19)

系统信息:

[root@nfs01 ~]# uname -r
2.6.32-696.el6.x86_64
[root@nfs01 ~]# uname -m
x86_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.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum makecache

关闭SELinux 

\cp /etc/selinux/config{,.$(date +%F_%T).backup}
sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config
grep 'SELINUX=disable' /etc/selinux/config
setenforce 0
getenforce

关闭iptables 

/etc/init.d/iptables stop
/etc/init.d/iptables stop
chkconfig iptables off

精简开机自启动服务 

export LANG=en
chkconfig --list | egrep "3:on"|egrep -v "crond|network|sshd|rsyslog|sysstat" | awk '{print "chkconfig",$1,"off"}' | bash
chkconfig --list | grep 3:on

提权abc可以sudo 

useradd abc
\cp /etc/sudoers{,.$(date +%F_%T).backup}
echo "abc ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
tail -1 /etc/sudoers
visudo -c

时间同步 

echo '# time sync by odlboy at 2018-2-1' >> /var/spool/cron/root
echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1' >> /var/spool/cron/root
crontab -l

加大文件描述 

\cp /etc/security/limits.conf{,.$(date +%F_%T).backup}
echo '*               -    nofile            65535' >> /etc/security/limits.conf
tail -1 /etc/security/limits.conf 
# 重启生效
ulimit -n

内核优化 

\cp /etc/sysctl.conf{,.$(date +%F_%T).backup}
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
# 以下参数是对iptables防火墙的优化,防火墙不开会提示,可以忽略不理
net.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_tcp_timeout_established = 180
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close-wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
EOF
# 让内核配置文件中的参数生效
sysctl -p  

下载安装系统基础软件

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_config
sed -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 

# 禁止ping
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
# 允许ping
# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

修复部分软件漏洞 

rpm -qa openssh openssl bash
yum 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集群实战》一书

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

如何在安卓移动终端进行一次渗透实验?

下面的实验将通过使用一个虚拟Android系统作为实验主体来进行展示。在这个实验中,通过使用虚拟Android系统,模拟移动终端的操作,来帮助我们逐步实现使用一...

36460
来自专栏云计算教程系列

如何在Ubuntu 14.04上使用Pydio托管文件共享服务器

随着云的采用增加,越来越多的数据被远程存储。从音乐到图片再到个人文档,很多人都将文件上传到他们不管理的服务器上。如果您希望将文件保存在您控制的服务器上,则可以使...

41700
来自专栏美丽应用

树莓派折腾记:部署LNMP环境并实现多站点共存

17240
来自专栏Golang语言社区

HTTP协议漫谈

简介 园子里已经有不少介绍HTTP的的好文章。对HTTP的一些细节介绍的比较好,所以本篇文章不会对HTTP的细节进行深究,而是从够高和更结构化的角度将H...

40060
来自专栏北京马哥教育

HTTP 协议漫谈

简介 网络上已经有不少介绍 HTTP 的好文章,对HTTP的一些细节介绍的比较好,所以本篇文章不会对 HTTP 的细节进行深究,而是从够高和更结构化的角度将 H...

316110
来自专栏编程

Sublime Text的安装与配置

1.下载Sublime Text安装包,双击安装程序进行安装; 2.安装Package Control,Ctrl+~打开控制台,选择相应版本的代码粘贴(如图所示...

26380
来自专栏云知识学习

Windows Server 2008 R2修改远程桌面连接数

计算机---属性---远程设置---勾选"允许运行任意版本远程桌面的计算机连接(较不安全)"……

1.5K130
来自专栏博客园迁移

jenkins自动部署应用到tomcat中,编译后shell脚本的简单示例

1.先配置好jenkins需要用到的其他外部组件  jdk,maven,git/svn

24830
来自专栏乐百川的学习频道

做一个运行Python文件的Atom插件

最近在学习Python,自然也安装了Atom编辑器的一些Python插件。有一个插件名字叫做atom-python-run,作用很简单,就是按F5运行当前Pyt...

30970
来自专栏Golang语言社区

HTTP协议漫谈

简介 园子里已经有不少介绍HTTP的的好文章。对HTTP的一些细节介绍的比较好,所以本篇文章不会对HTTP的细节进行深究,而是从够高和更结构化的角度将H...

375130

扫码关注云+社区

领取腾讯云代金券