标签:linux系统优化
Linux系统优化小结
1)不用root登录管理系统,而以普通用户登录通过sudo授权管理。
例如:
useradd oldboy
id oldboy
echo "oldboy ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
2)更改默认的远程连接SSH服务端口,禁止root用户远程连接,甚至要更改SSH服务只监听内网IP。
[root@lb ~]# vim /etc/ssh/sshd_config
Port 51898 ##监听端口,端口范围(0-65535,最好是大于1024的端口)
ListenAddress 192.168.1.128 ##监听地址,为了安全起见,监听在内网之上
Protocol 2 ##使用协议
PermitEmptyPasswords no ##禁止空密码登录系统,默认是禁止
UseDNS no ##禁止DNS反解析
PermitRootLogin no ##禁止root远程登录
GSSAPIAuthentication no ##加速登录ssh
3)定时自动更新服务器的时间,使其和互联网时间同步。
ntpdate time-a.nist.gov
4)配置yum更新源,从国内更新源下载安装软件包。
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
5)关闭SELinux及iptables(在工作场景中,如果有外部IP一般要打开iptables,高并发高流量的服务器可能无法开启)。
#关闭SElinux
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0
getenforce
#关闭iptables
/etc/init.d/iptables stop
chkconfig iptables off
6)调整文件描述符的数量,进程及文件的打开都会消耗文件描述符数量。
#系统默认1024
ulimit -n
##临时设置
ulimit -SHn 65535
#检查临时设置是否成功
ulimit -n
##永久设置
vim /etc/security/limits.conf
##* soft nofile 65535
##* hard nofile 65535
7)定时自动清理邮件临时目录垃圾文件,防止磁盘的inodes数被小文件占满(注意Centos6和Centos5要清除的目录不同)。
8)精简并保留必要的开机自启动服务(如crond、sshd、network、rsyslog、sysstat)。
方法一:
for name in `chkconfig --list | grep 3:on | awk ‘{print $1}‘ | grep -Ev "sshd|crond|iptables|network|rsyslog|sshd|sysstat"`;do chkconfig $name off;done
方法二:
chkconfig --list | grep 3:on | awk ‘{print $1}‘ | grep -Ev "sshd|crond|iptables|network|rsyslog|sshd|sysstat" | sed -r ‘s#(.*)#chkconfig \1 off#g‘ | bash
方法三:
chkconfig --list | grep 3:on | awk ‘{print $1}‘ | grep -Ev "crond|iptables|network|rsyslog|sshd|sysstat" | awk ‘{print "chkconfig"" "$1" " "off"}‘ | bash
9)Linux内核参数优化/etc/sysctl.conf,执行sysctl -p生效。
vim /etc/sysctl.conf
#net.ipv4.tcp_syn_retries = 1
#net.ipv4.tcp_synack_retries = 1
#net.ipv4.tcp_keepalive_time = 600
#net.ipv4.tcp_keepalive_probes = 3
#net.ipv4.tcp_keepalive_intvl =15
#net.ipv4.tcp_retries2 = 5
#net.ipv4.tcp_fin_timeout = 2
#net.ipv4.tcp_max_tw_buckets = 36000
#net.ipv4.tcp_tw_recycle = 1
#net.ipv4.tcp_tw_reuse = 1
#net.ipv4.tcp_max_orphans = 32768
#net.ipv4.tcp_syncookies = 1
#net.ipv4.tcp_max_syn_backlog = 16384
#net.ipv4.tcp_wmem = 8192 131072 16777216
#net.ipv4.tcp_rmem = 32768 131072 16777216
#net.ipv4.tcp_mem = 786432 1048576 1572864
#net.ipv4.ip_local_port_range = 1024 65000
#net.ipv4.ip_conntrack_max = 65536
#net.ipv4.netfilter.ip_conntrack_max=65536
#net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=180
#net.core.somaxconn = 16384
#net.core.netdev_max_backlog = 16384
##立即生效
sysctl -p
10)更改系统字符集为“zh_CN.UTF-8”,使其支持中文,防止出现乱码问题。
sed -i ‘s#en_US.UTF-8#zh_CN.UTF-8#g‘ /etc/sysconfig/i18n
source /etc/sysconfig/i18n
11)锁定关键系统文件如/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow、/etc/inittab, 处理以上内容后把chattr、lsattr改名为oldboy,转移走,这样就安全多了。
chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow
chattr +i /etc/inittab
chattr +i /etc/passwd
#临时创建别名
alias chattr=‘cha‘
alias lsattr=‘lsa‘
永久创建别名
echo alias chattr=‘cha‘ >>/root/.bashrc
echo alias lsattr=‘lsa‘ >>/root/.bashrc
12)清空/etc/issue、/etc/issue.net,去除系统及内核版本登录前的屏幕显示。
>/etc/issue
>/etc/issue.net
13)清除多余的系统虚拟用户账号。
14)为grub引导菜单加密码。
#执行/sbin/grub-md5-crypt会随机生成一段字符串
/sbin/grub-md5-crypt
将字符串添加在/boot/grub/grub.conf中
echo "passwd --md5 $1$fkb6n$K3EUy32pHkR2MLpN9RJPa0" >>/boot/grub/grub.conf
15)禁止主机被ping。
#修改内核参数
echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf
#立即生效
sysctl -p
16)打补丁并升级有已知漏洞的软件。
本文出自 “11471403” 博客,谢绝转载!
标签:linux系统优化
原文地址:http://11481403.blog.51cto.com/11471403/1772871