Linux系统基础优化

一个执着于技术的公众号

刚安装好系统之后,如何对服务器进行基础优化:

1、使用阿里云的yum源

默认国外的yum源速度很慢,所以换成国内的。

2、安装必要的软件包

yum -y install tree nmap sysstat gcc gcc-c++ make telnet

3、关闭SElinux功能

SELinux(Security-Enhanced Linux)是美国国家安全局(NSA)对于强制访问控制的实现,这个功能让系统管理员又爱又恨,这里我们还是把它关闭了吧,至于安全问题,后面通过其他手段来解决,这也是大多数生产环境的做法。关闭方式如下:

  • 修改配置文件,使关闭SElinux永久生效:

  • 临时关闭SElinux,可在命令行执行如下命令:

setenforce 0

提示:修改配置SElinux后,要想使生效,必须要重启系统。因此,可配合使用setenforce 0这个临时关闭的命令,这样在重启前后都可以使得SElinux关闭生效了,也就是说无需立刻重启服务器了,在生产环境下Linux机器是不能随意重启的。

4、关闭防火墙

关闭防火墙的目的是为了让初学者学习更方便,将来在学了iptables技术后可再统一开启。在企业环境中,一般只有配置外网IP的linux服务器才需要开启防火墙,但即使是有外网IP,对于高并发高流量的业务服务器仍是不能开的,因为会有较大性能损失,导致网站访问很慢,这种情况下只能在前端加更好的硬件防火墙了。

[root@qll251 ~]# iptables -F
[root@qll251 ~]# /etc/init.d/iptables stop
iptables:将链设置为政策 ACCEPT:filter                    [确定]
iptables:清除防火墙规则:[确定]
iptables:正在卸载模块:[确定]
[root@qll251 ~]# chkconfig iptables off
[root@qll251 ~]# service iptables stop

5、精简开机系统启动的服务

Linux服务器在运行过程中,会有很多默认的服务在运行,而且这些服务通常是没用的,这些服务占用了系统资源,存在安全隐患,因此关闭这些没用的服务

系统必须开启的5个服务

1)sshd

远程连接服务,需要开启,要不然无法远程连接Linux

2)crond

一次性计划任务:at

周期计划任务:crontab

3)rsyslog

是操作系统中提供的一种机制,系统的守护程序通常会使用rsyslog 将各种信息写到系统日志文件中

4)sysstat

该服务包括监控系统性能及效率的一组工具。这些工具对于收集系统的性能数据很有帮助:核心工具包:

iostat : cpu使用率及硬盘吞吐效率工具

mpstat:提供单个或者多个处理器的数据

sar 负责收集,报告并存储系统活跃的信息

5)network

系统启动时,若想关闭或者激活各个网络接口,就必须启动该服务

验证以上5个服务是否开机自启:

一条命令关闭其他所有不必要的服务:

6、最小化原则安装

最小化原则对Linux系统安全来说极其重要:即多一事不如少一事。具体包括如下几个基本方面:

  • 安装Linux系统最小化,即选包最小化,yum安装软件包也要最小化,无用的包不装

  • 开机自启动服务最小化,即无用的服务不开启。

  • 操作命令最小化。例如:能用“rm -f test.txt” 就不用“rm -fr test.txt”.

  • 登陆linux用户最小化。平台没有特殊需求不登陆root,用普通用户登录即可。

  • 普通用户授权权限最小化,即只给用户必须的管理系统的命令,不能啥都可以干。

  • Linux 系统文件及目录的权限设置最小化,禁止随意创建,更改,删除文件

  • 程序服务运行最小化,即程序服务运行应尽量不用root身份运行。

7、更改SSH服务端远程登录的配置

1) 端口不要使用22

2) UseDNS no 是否使用DNS,设置为no之后登录速度会快

3)#PermitRootLogin no //设置不允许root登录

4)GSSAPIAuthentication no //解决ssh链接慢的问题

5) PasswordAuthentication yes //密码验证是必须的,默认yes

6)PermitEmptyPasswords no //空密码是否允许登录

7)#LoginGraceTime 2m //当使用者连接上ssh server的时候,会出现输入密码的画面,在这个画面中,多久没有成功连接上就强迫断线

8、设置Linux服务器的时间同步

echo '*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1' >>/var/spool/cron/root

9、加大服务器文件描述符

最简单的说,在 unix/liux 里面,你的服务只要开启一个进程,就要占用文件描述符的。liunx 默认 是 1024,如果描述符少了,访问量多了,你的服务器支撑不了,所以要把描述符加大。

[root@qll251 ~]# vim /etc/security/limits.conf
[root@qll251 ~]# ulimit -n
65535

10、禁止ping

echo 'net.ipv4.icmp_echo_ignore_all = 1' >>/etc/sysctl.conf
sysctl -p

参考文章:

https://www.cnblogs.com/chensiqiqi/p/6228006.html

https://mp.weixin.qq.com/s/9q_VfozH6EUbdCitzUnfyA


  往期精彩  

◆  手把手教你搭建一套OpenStack云平台

◆  利用expect批量修改Linux服务器密码

◆  Linux运维工程师面试问答录

◆  干货 | Linux平台搭建网关服务器

◆  干货 | 理解正向代理与反向代理的区别

◆  硬核科普服务器硬盘组成与基本原理

◆  一文带你速懂虚拟化KVM和XEN

◆  实战 | Hadoo大数据集群搭建

◆  运维工程师心法:6大技能让你告别背锅

如有收获,点个在看,诚挚感谢
posted @ 2020-04-16 08:00  开源Linux  阅读(243)  评论(0编辑  收藏  举报