CentOS7.X的系统管理、安全设置及系统优化思路

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢

一、系统的安装

1.系统的安装一般采用最小化安装,除非一些特殊需求需要安装图形界面。

2.系统安装之前首先要做好磁盘、分区的规划,需要根据实际需求制定相应的磁盘分区方案。例如:数据库及存储服务器可以单独使用一块磁盘分区之后挂载到指定挂载点。如果使用了LVM对磁盘进行管理,那么可以新建一个VG,这块磁盘的分区创建PV之后加入到该VG来分配使用。这样就与系统的分区独立开了,提高了数据的安全性。

3.对于swap分区,一般设置为物理内存的1.5-2倍。若物理内存大于16GB,可以配置为8-16GB。对于swap空间的扩展,我使用过的有2种方式,之前的文章有介绍。

4.对于boot分区,一般200MB-300MB就行。系统默认为500MB,可以适当减少,我一般设置为300MB。

5.时区、语言、字符集、键盘布局选择正确,主机名、网络配置按实际情况进行设置。

二、系统的调优及安全设置

1.养成能不用root则不用root的良好习惯。每次安装软件、部署应用之前,先做好管理账户、目录的规划。最好是装完系统就新增一个标准用户,visudo给这个账户配置sudo权限,只有这个账户具有root权限。在这一点上必须得赞一下Ubuntu,安装完成之后你是不能直接root用户登录的。

2.启用密码策略。

3.禁止通过telnet等不安全的登录方式。目前的系统默认一般不自带telnet,如果装了telnet那就卸载了。

4.使用ssh2协议,禁止root用户通过ssh登录。设置某些账号可以su到root,大部分标准用户禁止切换到root。

5.设置不活动用户登录超时自动退出登录并断开ssh连接。例如:TMOUT=300

6.设置HISTORYFILESIZE和HISTSIZE。

7.调整文件描述符。文件描述符是有无符号的整数表示的句柄,进程使用它来标识打开的文件,文件描述符包括相关信息的文件对象关联,这些信息被称为文件的上下文文件描述符的有效范围是0到OPEN_MAX。文件描述符的默认大小是1024,可以使用命令ulimit -n进行查看。使用ulimit -n 2048可以临时性的进行设置,退出登录之后失效。可以编辑/etc/security/limits.conf使其永久生效, 在被注释了的内容中,我们基本能够看到每一个配置项的详细说明,按照说明进行配置即可。在这个配置文件最后一行新增:* - nofile 2048,重新登录或重启之后生效。如果并发不大可以不用修改此项。

8.关闭SELinux。将/etc/selinux/config中的SELINUX=enforcing改为:SELINUX=disabled,保存之后重启系统即可生效。

9.如果使用了硬件防火墙及其他相关的网络安全措施,可以将系统自带的防火墙卸载。CentOS6自带的防火墙是iptables,CentOS7自带的防火墙是firewalld,并且从CentOS7.4起,防火墙开机自动启动,这需要特别注意。如果是直接暴露在外网的服务器,那么强烈建议开启防火墙。需要注意的是,iptables和firewalld不能同时存在,只能选择其一,建议使用动态防火墙firewalld。

9.如果确定使用ntp连网来获取时间,CentOS7.X自带了chrony,并且为开机启动,可用通过修改/etc/chrony.conf配置文件来设置同步时间源。一般公司都具有内部NTP服务器,统一指向这些NTP服务器即可。当然,也可以使用连网NTP服务器,例如阿里云的,或者其他稳定、可靠的NTP时间服务器。也可以通过交互式命令chronyc来设置ntp服务。需要注意的是:如果填写了ntp服务器的域名,则需要配置能够正常解析的dns服务器,NTP处于的层级(stratum )也非常重要。其他时间、日期、NTP设定可以使用timedatectl。如果有其他时间同步管理方案,请卸载chronyd。

10.锁定关键系统文件,防止被提权篡改。使用chattr命令来进行操作,需要锁定的文件如:/etc/passwd,/etc/shadow,/etc/group,/etc/gshadow等。

10.清除多余的系统虚拟账号。如:games、lp、ftp等。

11.给grub菜单加密,CentOS7用的是grub2。

12.一些服务器可以设置禁ping。但这也不是最佳方案,因为有时候我们也需要通过ping来检查网络情况。

13.配置内部yum源或者国内yum源。

14.优化Linux内核参数。此部分内容较多,操作也需要十分谨慎,后期会专门针对这一部分进行深入探索。

15.禁止显示内核版本及系统版本信息。此部分本人认为不必太重视,因为在CentOS7中,/etc/redhat-release及/proc/version都会涉及到相关内容的显示,没必要纠结这一项。

三、结语

1.在本文中提到的内容在之前的文章中大多数均有涉及,只是没有综合整理而已。

2.文章的第一部分可以概括为系统的安装注意事项,第二部分基本可以概括为系统的安全设置与优化,这一部分我没有对这些内容按照安全部分与系统优化部分进行区分。

3.有些项未必适合自己的情况,需要根据实际情况进行改进、设计。

4.本文仅仅提及思路,并未进行详细的内容讨论及落地。在后续的文章中会进一步将本文的内容进行落地。

5.本文内容均为本人在实际工作中的一些经验,不妥之处希望诸位多多指教,欢迎多多交流,一起进步。

四、本文扩展成为公司内部资料–《XX公司Linux系统运维操作流程》

4.1安装流程

4.1.1 系统如无特殊要求一律采用小化安装方式进行安装。

4.1.2 安装过程开始之前需要根据实际情况进行CPU数量、磁盘容量、内存分配、文件系统、目录结构、磁盘分区规划、磁盘管理方案进行分析与设计,并按照方案进行系统的安装。

4.1.3 安装过程中,需要按照实际情况设置恰当的主机名、语言、字符集、键盘布局、网络参数。

4.2系统安全设置及优化设置

4.2.1 创建标准账号,授予sudo权限,指定特定账户可以su到root账户。禁止root用户通过ssh远程登录,使用安全性较高的ssh2协议进行登录,卸载telnet(如果已安装)。

4.2.2 启用密码策略。

4.2.3 在应用部署之前需要按要求建好管理账户,做好应用目录的规划与权限设计,使用指定用户启动指定应用。

4.2.4 设置不活动用户登录超时自动退出登录并断开ssh连接。例如:TMOUT=300

4.2.5 设置HISTORYFILESIZE和HISTSIZE。

4.2.6 调整文件描述符。

4.2.7 关闭SELinux。

4.2.8 使用或禁用防火墙。

4.2.9 设置NTP时间同步。

4.2.10 锁定关键系统文件,防止被提权篡改。

4.2.11 清除多余的系统虚拟账号。如:games、lp、ftp等。

4.2.12 给grub菜单加密(可选)。

4.2.13 一些服务器可以设置禁ping(可选)。

4.2.14 配置内部yum源或者国内yum源。

4.2.15 优化Linux内核参数(谨慎操作)。

4.2.16 禁止显示内核版本及系统版本信息(可选)。

针对每一项内容进行细化即可。

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程坑太多

『中级篇』Docker Cloud自动构建 Docker image(55)

PS:自动化构建的build image,是不是感觉很爽,但是这里的Dockfile这是需要基础牢靠。本节也是以后学习的基础。

18650
来自专栏网站漏洞修补

MetInfo最新网站漏洞如何修复以及网站安全防护

metinfo漏洞于2018年10月20号被爆出存在sql注入漏洞,可以直接拿到网站管理员的权限,网站漏洞影响范围较广,包括目前最新的metinfo版本都会受到...

19420
来自专栏FreeBuf

如何开始对Android应用的逆向分析?

本文是我的关于如何开始Android逆向系列文章的第一部分。在文末提供了一个文档,你可以根据该文档说明部署同我一样的实验环境。

10130
来自专栏数据和云

Linux Bug: free cache 导致数据库实例crash

李真旭(Roger) ACOUG 核心专家,Oracle ACE,云和恩墨技术专家 编辑手记:linux 文件系统的cache分为2种:page cache和 ...

32660
来自专栏企鹅号快讯

g4e基础篇#4 了解Git存储库

Git 存储库看上去就是一个文件夹,只是在这个文件夹中不仅仅保存了所有文件的当前版本,也同时保存了所有的历史记录,这些额外的信息都保存在当前文件夹下面的.git...

24660
来自专栏编程微刊

在本地运行查看github上的开源项目

28130
来自专栏小车博客

自建磁力链搜索网站做老司机

3.1K40
来自专栏北京马哥教育

10个方法助你轻松完成Linux系统恢复

在Linux中有一些应用程序可以帮助你保存系统快照。大多数应用程序都是针对于新手的,并不需要高级的Linux操作技巧。我们在这里挑选了10个,你可以从中选择适合...

58450
来自专栏Laoqi's Linux运维专列

SubversionEdge部署研发团队文档管理

15140
来自专栏网站漏洞修补

MetInfo漏洞如何修复以及网站安全防护

metinfo漏洞于2018年10月20号被爆出存在sql注入漏洞,可以直接拿到网站管理员的权限,网站漏洞影响范围较广,包括目前最新的metinfo版本都会受到...

19140

扫码关注云+社区

领取腾讯云代金券