Centos6/7系统基础配置-从零到无
--时间:2019年2月21日
--作者:飞翔的小胖猪
前言
文档基于Centos Linux操作系统作为生产服务器运行环境时所必须满足的条件,包括系统核心、运行库、使用工具、以及作为服务器系统所具有的可扩展性、可用性、适用性、可管理性、安全性以及性能要求等。
文档红字部分均为自定义内容,请维护者根据实际情况填写。Centos 6系统默认使用network程序进行网络配置,在配置时请关闭NetworkManager程序。Centos 7系统网络配置默认使用NetworkManager配置网络,如果需要使用network配置网络,在配置时请关闭NetworkManager程序,然后使用修改配置文件的方式配置网络。蓝色字体部分为文件不需要改动 部分。
文档所有的命令均经过测试可用,在配置时只需要复制相关内容然后根据自己实际情况修改对应红色字体参数即可使用。
系统配置
文档针对于现网实际情况,分别对Centos 6和Centos 7系统配置规范进行了说明。
Centos 6.X系列和Centos 7.X系列操作系统均使用最小化安装操作系统,以保证系统的纯净。业务如需使用到其他软件,请业务方维护人员自行通过yum源进行安装配置。
Centos 8.x系列请参考Centos 7.x系列配置谢谢。
文档作用
文档主要作用是提醒我自己安装系统过后需要确认的一些配置,不喜勿喷,哈哈。
一、Centos 6.X 系列配置
Centos 6.x系列操作系统、使用network对外提供网络服务,所有网络配置均通过文件的形式进行更改。
1.1 主机名
主机名:YWXT-YW-ZJLX-ZJXH(业务系统-业务名-主机类型-主机序号)
例子:
AI智能分析-人脸分析-数据库-001 主机名设置为 AIZNFX-RLFX-SJK-001
配置说明:
系统主机名要准确的表示出业务系统、小业务名、主机类型作用等信息。每个字段均使用中文首字符简写。
配置命令:
[root@oracle_pref ~]# vim /etc/hosts 192.168.111.100 AIZNFX-RLFX-SJK-001 [root@oracle_pref ~]# vim /etc/sysconfig/network NETWORKING=yes HOSTNAME= AIZNFX-RLFX-SJK-001
centos6.x版本需要在/etc/hosts和/etc/sysconfig/network两处文件修改配置。
1.2 DNS
根据实际情况选择dns服务器,处于互联网的主机在设置dns时可选用运营商提供dns解析服务器。对于内网环境下请根据自己环境实际条件设置响应的dns。
互联网常见DNS:
IP地址 |
提供方 |
114.114.114.114 |
114 |
180.76.76.76 |
百度 |
223.5.5.5 |
阿里 |
119.29.29.29 |
DNSPod DNS |
1.2.4.8 |
CNNIC SDNS |
101.226.4.6 |
DNS派 |
208.67.222.222 |
OpenDNS |
8.8.8.8 |
Google DNS |
配置说明:
请系统维护人员根据机器实际所在区域选择设置DNS。内网选择自建的dns或者不设置dns,连接互联网的情况下可指定本地网关或运营商提供的dns地址作为域名解析。
配置命令:
[root@oracle_pref ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 IPADDR=192.168.111.100 NETMASK=255.255.255.0 ONBOOT=yes NAME=eth0 GATEWAY=192.168.111.1 DNS1=192.168.111.1 BOOTPROTO=static
针对于Centos 6.X系列的操作系统,使用修改文件的方式完成DNS及网络的配置。配置修改完成后需要使用命令重启service network restart网络服务生效。
1.3 NTP
根据实际情况为服务器设置ntp时间同步服务器,互联网中随意选择一个,内网环境中根据设置为建的ntp服务器地址。
配置说明:
请系统维护人员根据机器实际所在区域选择设置对应的NTP服务器地址,可使用域名也可以使用ip地址。
配置命令:
[root@oracle_pref ~]# vim /etc/ntp.conf # Use public servers from the pool.ntp.org project. # Please consider joining the pool (http://www.pool.ntp.org/join.html). #server 0.centos.pool.ntp.org iburst #server 1.centos.pool.ntp.org iburst #server 2.centos.pool.ntp.org iburst #server 3.centos.pool.ntp.org iburst server 192.168.111.10 iburst ……………… [root@oracle_pref ~]# chkconfig ntpd on //开机启动ntp服务
Centos 6.x使用ntpd服务提供主机的时间服务,修改过配置文件后需要使用命令service ntpd restart重启服务生效。
1.4 YUM
根据实际情况设置yum原,在互联网的连接情况下选择合适的yum源,内网环境中可以配置自建的yum源服务器,也可以设置本地yum源。
配置说明:
请系统维护人员根据机器实际所在区域选择设置对应的yum源服务器地址。
配置命令:
[root@oracle_pref ~]# vim /etc/yum.repos.d/local.repo [local_repo] name=local_repo enabled=1 gpgcheck=0 baseurl=file:///mnt
文件配置完成后,使用命令yum clean all && yum repolist执行更新yum配置。
1.5 时区
由于ntp服务只能同步时间而无法同步时区,主机需要手动设置时区。国内的服务器统一使用东八区时区。
配置说明:
设置服务器的时区为东八区所在城市。配置完成后需要把设置保存到硬件时间内。Centos 6.x系列操作系统使用Chongqing为时区所在地。
配置命令:
[root@oracle_pref ~]# vim /etc/sysconfig/clock
ZONE="Asia/ Chongqing"
[root@oracle_pref ~]# cp /usr/share/zoneinfo/Asia/Chongqing /etc/localtime -R [root@oracle_pref ~]# hwclock -w [root@oracle_pref ~]# date –R [root@oracle_pref ~]# cat /etc/sysconfig/clock
时区修改后可通过date -R和cat /etc/sysconfig/clock命令查看确认当前时区是否正确。
1.6 系统字符集
生产环境中默认主机系统使用语言为LANG="en_US.UTF-8",如果有特殊需求的应用需要其他字符集,需要业务方自行进行修改。
配置说明:
使用cat /etc/sysconfig/i18n命令查看系统字符集。默认字符集为"en_US.UTF-8",所有模板默认使用该字符集,后期业务方可以自行根据需求修改字符集。主机交付后维护人员不对其进行修改。
配置命令:
[root@oracle_pref ~]# locale -a //查看系统可支持的字符集 [root@oracle_pref ~]# vim /etc/sysconfig/i18n LANG="en_US.UTF-8" SYSFONT="latarcyrheb-sun16" [root@oracle_pref ~]# export LANG= en_US.UTF-8 [root@oracle_pref ~]# echo $LANG [root@oracle_pref ~]# cat /etc/sysconfig/i18n
首先使用locale -a命令查看系统可支持的字符集,选择所需要的字符集在/etc/sysconfig/i18n文件中修改。最后使用命令查看确认字符集设置情况。
1.7 用户
在生产环境中,业务和维护相对分离。在每台服务器中需要按需创建对应功能的账户,提供相应业务方维护使用,同时业务账号和运维账号均开通sudo权限。账号UID和GID从1000开始,每个业务账号UID和GID在任何一台主机均为固定的相同的值,方便后期的管理和权限的设置。
账户名 |
权限 |
密码组合 |
作用 |
sudo |
备注 |
root |
超级管理员 |
8位字母+数字组合 |
系统配置 |
|
|
customer |
普通用户 |
8位字母+数字组合 |
业务搭建 |
是 |
业务方使用账户 |
yw_admin |
普通用户 |
8位字母+数字组合 |
运维管理员 |
是 |
基础平台维护组成员使用账户 |
配置说明:
新建两个账户,同时设置UID和GID,加入sudo权限实现输入自身密码切换到root用户,不以root用户直接登录系统。账号创建后使用echo '密码'|passwd --stdin 用户 命令修改密码。
应用组维护账号: yw_admin UID:1000 GID:1000
配置命令:
新建账户 [root@oracle_pref ~]# useadd -u 1000 yw_yyg [root@oracle_pref ~]# useadd -u 1100 customer [root@oracle_pref ~]# echo '12345678' |passwd --stdin root [root@oracle_pref ~]# echo '12345678' |passwd --stdin yw_admin [root@oracle_pref ~]# echo '12345678' |passwd --stdin customer
配置sudo [root@oracle_pref ~]# # visudo yw_admin ALL=PASSWD:/usr/bin/sudo,/bin/su customer ALL=PASSWD:/usr/bin/sudo,/bin/su [oracle@oracle_pref ~]$ $sudo su - //切换至root用户
visudo操作与vim一致,配置完成后使用sudo su -切换到root用户会提示输入自身用户的密码。密码输入成功后该终端终端保存sudo密码缓存5分钟,可使用sudo -k清除。
1.8 历史命令设置
Centos 6.x系列系统默认保存1000条历史记录,修改保留条数为10000,同时加上时间戳。
配置说明:
在/etc/bashrc最后新增export HISTTIMEFORMAT='%F %T'" "内容,在/etc/profile中找到HISTSIZE项,并修改为10000。最后使用source命令执行文件,生效配置。
配置命令:
[root@oracle_pref ~]# vim /etc/bashrc export HISTTIMEFORMAT='%F %T'" " [root@oracle_pref ~]# vim /etc/profile HISTSIZE=10000 [root@oracle_pref ~]# source /etc/bashrc [root@oracle_pref ~]# source /etc/profile
历史命令参数修改后可使用history确认查看历史命令格式是否正确,使用echo $HISTSIZE查看历史命令最大保留数是否正确。
1.9 ulimit系统资源限制
设置单个用户最大的系统资源,保证系统不会因为单个用户的操作而造成同系统中其他用户无法正常作业。同时也保证了用户因为默认资源使用太小导致的业务无法正常使用故障。
配置说明:
在/etc/security/limits.conf文件中指定每个用户最大使用的关键性资源值,在/etc/security/limits.d/90-nproc.conf中指定单个用户允许打开最大进程数。
nproc:用户打开进程的最大数量
core:内核文件大小
nofile:用户打开文件的最大数目
配置命令:
[root@oracle_pref ~]# vim /etc/security/limits.conf * soft nproc 65533 * hard nproc 65534 * soft core unlimited * hard core unlimited * soft nofile 65533 * hard nofile 65534 [root@oracle_pref ~]# vim /etc/security/limits.d/90-nproc.conf * soft nproc 65534 root soft nproc unlimited [root@oracle_pref ~]# sysctl -p
1.10 TCP/IP网络优化
修改系统中的TIMEOUT时间,避免系统出现大量的TIME_WAIT状态连接。
配置说明:
在/etc/sysctl.conf文件最后添加对内容,然后使用sysctl -p 命令生效配置,具体配置详解如下:
net.ipv4.tcp_syncookies = 1
.标识开启SYN Cookies。当出现SYNC等待队列溢出时,启用cookies来处理,可防范少量SYNC攻击,默认为1,标识关闭。
net.ipv4.tcp_tw_reuse = 1
.表示开启重用。允许将TIME-WAIT sockets 重新用于新的TCP连接,默认为0,表示关闭。
net.ipv4.tcp_tw_recycle = 1
.表示开启TCP连接中TIME-WAIT sockets 的快递回收,默认为0,表示关闭。
net.ipv4.tcp_fin_timeout = 30
.修改系统默认的TIMEOUT时间,默认为60秒
配置命令:
[root@oracle_pref ~]# vim /etc/sysctl.conf net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_fin_timeout = 30 [root@oracle_pref ~]# sysctl -p
使用sysctl -p 生效了配置过后,可使用sysctl -a 查看修改是否成功。
1.11 最大文件句柄限制
file-max决定了当前内核可以打开的最大的文件句柄数,系统所有进程一共可以打开的文件数量。file-max设置过小,系统会提示"不能打开太多的文件"或者"无法打开更多进行"。
配置说明:
file-max值确定了系统可以打开的文件数,最佳值为内存(KB)大小的10%。然后在/etc/sysctl.conf中设置,最后使用sysctl -p 命令生效。cat /proc/sys/fs/file-max命令可查看配置是否生效。
配置命令:
[root@oracle_pref ~]# cat /proc/sys/fs/file-max [root@oracle_pref ~]# grep -r MemTotal /proc/meminfo | awk '{printf("%d",$2/10)}' //获取最佳文件句柄值 [root@oracle_pref ~]# echo "fs.file-max = 1626660" >> /etc/sysctl.conf [root@oracle_pref ~]# sysctl -p
1.12 ssh远程服务
在Linux操作系统中使用sshd协议登录操作系统。为了安全起见系统设置root用户不能远程登陆,系统只能够通过普通用户远程登陆,然后通过sudo权限切换到root账户下进行操作。
配置说明:
在# vim /etc/ssh/sshd_config中把#PermitRootLogin yes修改为PermitRootLogin no最后重启远程服务。
配置命令:
[root@oracle_pref ~]# vim /etc/ssh/sshd_config PermitRootLogin yes UseDNS no # GSSAPI options #GSSAPIAuthentication no GSSAPIAuthentication no #GSSAPICleanupCredentials yes GSSAPICleanupCredentials no #GSSAPIStrictAcceptorCheck yes #GSSAPIKeyExchange no PubkeyAuthentication yes #启用公告秘钥配对认证方式 RSAAuthentication yes #允许RSA秘钥 [root@oracle_pref ~]# service sshd restart
配置不允许root通过sshd直接登录,用户使用root权限需要通过普通用户切换。
1.13 常用软件安装
主机操作中,在不影响业务部署应用的情况下,为了方便对主机系统的管理,所有Centos 6.x系列主机均预装如下工具。
软件名 |
作用 |
net-tools |
网络管理工具 |
lrzsz |
scp上传下载文件 |
gcc* |
软件编译用 |
zip |
解压zip压缩文件 |
gzip |
解压gz压缩文件 |
bzip2 |
解压bz2压缩文件 |
ftp |
访问ftp服务器 |
vim |
文本编辑器 |
dmidecode |
获取服务器硬件信息 |
wget |
linux访问web,下载web数据 |
sshpass |
免密工具 |
配置说明:
在配置了yum源过后直接使用yum工具安装以上软件。
配置命令:
[root@oracle_pref ~]# yum install net-tools -y [root@oracle_pref ~]# yum install lrzsz -y [root@oracle_pref ~]# yum install gcc* -y [root@oracle_pref ~]# yum install zip -y [root@oracle_pref ~]# yum install gzip -y [root@oracle_pref ~]# yum install bzip2 -y [root@oracle_pref ~]# yum install ftp -y [root@oracle_pref ~]# yum install vim -y [root@oracle_pref ~]# yum install dmidecode -y
1.14 主机安全配置
RHEL 6.x系列操作系统默认selinux和iptables为开启状态,业务方可根据需求进行配置修改或直接关闭。基础运维人员不对主机安全配置做任何特殊操作。对于自己使用的机器建议关闭掉selinux,iptables可根据实际情况确定是否开启及具体设置。
1.15 kdump配置
对于业务不是太重要的业务,建议关闭掉kdump功能。
1.1.16 配置登录策略
设置用户登录系统时密码错误输入次数限制,当用户连续输入3次及以上的错误密码时,锁定账户180秒。
配置说明:
linux设置登录策略需要在两个文件中修改。
终端(KVM或直连显示器):/etc/pam.d/system-auth
远程(ssh): /etc/pam.d/sshd
分别在这两个文件正式配置文件第一行,即#%PAM-1.0的下面。添加策略语句。
配置命令:
[root@oracle_pref ~]# vim /etc/pam.d/system-auth #%PAM-1.0 # This file is auto-generated. # User changes will be destroyed the next time authconfig is run. auth required pam_tally2.so onerr=fail deny=3 unlock=180 even_deny_root root_unlock_time=300 [root@oracle_pref ~]# cat /etc/pam.d/sshd #%PAM-1.0 auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=30 onerr=fail
二、Centos 7.x 系列配置
Centos 7.x系列操作系统、使用NetworkManager对外提供网络服务,所有网络配置均通过命令实现永久性更改,无需再次使用文件的形式进行更改。
2.1 主机名
主机名:YWXT-YW-ZJLX-ZJXH(业务系统-业务名-主机类型-主机序号)
例子:
AI智能分析-人脸分析-数据库-001 主机名设置为 AIZNFX-RLFX-SJK-001
配置说明:
系统主机名要准确的表示出业务系统、小业务名、主机类型作用等信息。每个字段均使用中文首字符简写。
配置命令:
[root@oracle_pref ~]# hostnamectl set-hostname AIZNFX-RLFX-SJK-001
Centos 7.x系列系统使用hostnamectl set-hostname命令该主机名后为永久生效,不需要再次到文件中修改配置。
2.2 DNS
根据实际情况选择dns服务器,处于互联网的主机在设置dns时可选用运营商提供dns解析服务器。对于内网环境下请根据自己环境实际条件设置响应的dns。
互联网常见dns地址:
IP地址 |
提供方 |
114.114.114.114 |
114 |
180.76.76.76 |
百度 |
223.5.5.5 |
阿里 |
119.29.29.29 |
DNSPod DNS |
1.2.4.8 |
CNNIC SDNS |
101.226.4.6 |
DNS派 |
208.67.222.222 |
OpenDNS |
8.8.8.8 |
Google DNS |
配置说明:
请系统维护人员根据机器实际所在区域选择设置DNS。内网选择自建的dns或者不设置dns,连接互联网的情况下可指定本地网关或运营商提供的dns地址作为域名解析。
配置命令:
[root@oracle_pref ~]# nmcli conn modify eth0 ipv4.dns "192.168.111.1"; [root@oracle_pref ~]# nmcli conn down eth0;nmcli conn up eth0;
针对于Centos 7.X系列的操作系统,使用命令方式完成DNS及网络的配置。配置修改完成重新读取端口配置。
2.3 NTP
根据实际情况为服务器设置ntp时间同步服务器,互联网中随意选择一个,内网环境中根据设置为建的ntp服务器地址。
配置说明:
请系统维护人员根据机器实际所在区域选择设置对应的NTP服务器地址,可使用域名也可以使用ip地址。
配置命令:
[root@oracle_pref ~]# vim /etc/chrony.conf # Use public servers from the pool.ntp.org project. # Please consider joining the pool (http://www.pool.ntp.org/join.html). #server 0.centos.pool.ntp.org iburst #server 1.centos.pool.ntp.org iburst #server 2.centos.pool.ntp.org iburst #server 3.centos.pool.ntp.org iburst server 192.168.111.10 iburst ……………… [root@oracle_pref ~]# systemctl restart chronyd.service //重启ntp服务 [root@oracle_pref ~]# systemctl enable chronyd.service //开机启动ntp服务
Centos 7.x使用ntpd服务提供主机的时间服务,修改过配置文件后需要使用命令systemctl restart chronyd.service重启服务生效。
2.4 YUM
根据实际情况设置yum原,在互联网的连接情况下选择合适的yum源,内网环境中可以配置自建的yum源服务器,也可以设置本地yum源。
配置说明:
请系统维护人员根据机器实际所在区域选择设置对应的yum源服务器地址。
配置命令:
[root@oracle_pref ~]# vim /etc/yum.repos.d/local.repo [local_repo] name=local_repo enabled=1 gpgcheck=0 baseurl=file:///mnt
文件配置完成后,使用命令yum clean all && yum repolist执行更新yum配置。
2.5 时区
时间同步服务器无法同步时区,针对主机需要手动设置时区。国内的服务器统一使用东八区时区。Centos 7.x系列主机时区设置为上海Asia/Shanghai。
配置说明:
设置服务器的时区为东八区所在城市。配置完成后需要把设置保存到硬件时间内。
配置命令:
[root@oracle_pref ~]# timedatectl set-timezone Asia/Shanghai [root@oracle_pref ~]# hwclock -w [root@oracle_pref ~]# timedatectl
时区修改后可通过timedatectl命令查看确认当前时区是否正确,该命令为永久生效无需再在文件中进行修改。
2.6 系统字符集
生产环境中默认主机系统使用语言为LANG="en_US.UTF-8",如果有特殊需求的应用需要其他字符集,需要业务方自行进行修改。
配置说明:
主机默认字符集为"en_US.UTF-8",所有模板默认使用该字符集,后期业务方可以自行根据需求修改字符集。主机交付后维护人员不对其进行修改。
配置命令:
[root@oracle_pref ~]# echo $LANG //查看当前字符集 [root@oracle_pref ~]# locale -a //查看系统可支持的字符集 [root@oracle_pref ~]# vim /etc/locale.conf LANG="en_US.UTF-8" [root@oracle_pref ~]# export LANG= en_US.UTF-8 [root@oracle_pref ~]# echo $LANG
使用echo $LANG命令查看确认当前字符集是否满足需求,如不满足业务人员请自行修改。
2.7 用户
在生产环境中,业务和维护相对分离。在每台服务器中需要按需创建对应功能的账户,提供相应业务方维护使用,同时业务账号和运维账号均开通sudo权限。账号UID和GID从1000开始,每个业务账号UID和GID在任何一台主机均为固定的相同的值,方便后期的管理和权限的设置。
账户名 |
权限 |
密码组合 |
作用 |
sudo |
备注 |
root |
超级管理员 |
8位字母+数字组合 |
系统配置 |
|
|
customer |
普通用户 |
8位字母+数字组合 |
业务搭建 |
是 |
业务方使用账户 |
yw_admin |
普通用户 |
8位字母+数字组合 |
运维管理员 |
是 |
基础平台维护组成员使用账户 |
配置说明:
新建两个账户,同时设置UID和GID,加入sudo权限实现输入自身密码切换到root用户,不以root用户直接登录系统。账号创建后使用echo '密码'|passwd --stdin 用户 命令修改密码。
应用组维护账号: yw_admin UID:1000 GID:1000
配置命令:
新建账户 [root@oracle_pref ~]# useadd -u 1000 yw_yyg [root@oracle_pref ~]# useadd -u 1100 customer [root@oracle_pref ~]# echo '12345678' |passwd --stdin root [root@oracle_pref ~]# echo '12345678' |passwd --stdin yw_admin [root@oracle_pref ~]# echo '12345678' |passwd --stdin customer
配置sudo [root@oracle_pref ~]# visudo yw_admin ALL=PASSWD:/usr/bin/sudo,/bin/su customer ALL=PASSWD:/usr/bin/sudo,/bin/su [oracle@oracle_pref ~]$ sudo su - //切换至root用户
visudo操作与vim一致,配置完成后使用sudo su -切换到root用户会提示输入自身用户的密码。密码输入成功后该终端终端保存sudo密码缓存5分钟,可使用sudo -k清除。
2.8 历史命令设置
Centos 7.x系列系统默认保存1000条历史记录,修改保留条数为10000,同时在加上时间戳。
配置说明:
在/etc/bashrc最后新增export HISTTIMEFORMAT='%F %T'" "内容,在/etc/profile中找到HISTSIZE项,并修改为10000。最后使用source命令执行文件,生效配置。
配置命令:
[root@oracle_pref ~]# vim /etc/bashrc
export HISTTIMEFORMAT='%F %T'" "
[root@oracle_pref ~]# vim /etc/profile
HISTSIZE=10000
[root@oracle_pref ~]# source /etc/bashrc
[root@oracle_pref ~]# source /etc/profile
历史命令参数修改后可使用history确认查看历史命令格式是否正确,使用echo $HISTSIZE查看历史命令最大保留数是否正确。
2.9 ulimit系统资源限制
设置单个用户最大的系统资源,保证系统不会因为单个用户的操作而造成同系统中其他用户无法正常作业。同时也保证了用户因为默认资源使用太小导致的业务无法正常使用故障。
配置说明:
在/etc/security/limits.conf文件中指定每个用户最大使用的关键性资源值,在/etc/security/limits.d/90-nproc.conf中指定单个用户允许打开最大进程数。
nproc:用户打开进程的最大数量
core:内核文件大小
nofile:用户打开文件的最大数目
配置命令:
[root@oracle_pref ~]# vim /etc/security/limits.conf * soft nproc 65533 * hard nproc 65534 * soft core unlimited * hard core unlimited * soft nofile 65533 * hard nofile 65534 [root@oracle_pref ~]# vim /etc/security/limits.d/20-nproc.conf * soft nproc 65534 root soft nproc unlimited [root@oracle_pref ~]# sysctl -p
2.10 TCP/IP网络优化
修改系统中的TIMEOUT时间,避免系统出现大量的TIME_WAIT状态连接。
配置说明:
在/etc/sysctl.conf文件最后添加对内容,然后使用sysctl -p 命令生效配置,具体配置详解如下:
net.ipv4.tcp_syncookies = 1
.标识开启SYN Cookies。当出现SYNC等待队列溢出时,启用cookies来处理,可防范少量SYNC攻击,默认为1,标识关闭。
net.ipv4.tcp_tw_reuse = 1
.表示开启重用。允许将TIME-WAIT sockets 重新用于新的TCP连接,默认为0,表示关闭。
net.ipv4.tcp_tw_recycle = 1
.表示开启TCP连接中TIME-WAIT sockets 的快递回收,默认为0,表示关闭。
net.ipv4.tcp_fin_timeout = 30
.修改系统默认的TIMEOUT时间,默认为60秒
配置命令:
[root@oracle_pref ~]# vim /etc/sysctl.conf net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_fin_timeout = 30 [root@oracle_pref ~]# sysctl -p
使用sysctl -p 生效了配置过后,可使用sysctl -a 查看修改是否成功。
2.11 最大文件句柄限制
file-max决定了当前内核可以打开的最大的文件句柄数,系统所有进程一共可以打开的文件数量。file-max设置过小,系统会提示"不能打开太多的文件"或者"无法打开更多进行"。
配置说明:
file-max值确定了系统可以打开的文件数,最佳值为内存(KB)大小的10%。然后在/etc/sysctl.conf中设置,最后使用sysctl -p 命令生效。cat /proc/sys/fs/file-max命令可查看配置是否生效。
配置命令:
[root@oracle_pref ~]# cat /proc/sys/fs/file-max [root@oracle_pref ~]# grep -r MemTotal /proc/meminfo | awk '{printf("%d",$2/10)}' //获取最佳文件句柄值 [root@oracle_pref ~]# echo "fs.file-max = 1626660" >> /etc/sysctl.conf [root@oracle_pref ~]# sysctl -p
2.12 ssh远程服务
在Linux操作系统中使用sshd协议登录操作系统。为了安全起见系统设置root用户不能远程登陆,系统只能够通过普通用户远程登陆,然后通过sudo权限切换到root账户下进行操作。
配置说明:
在# vim /etc/ssh/sshd_config中把#PermitRootLogin yes修改为PermitRootLogin no最后重启远程服务。
配置命令:
[root@oracle_pref ~]# vim /etc/ssh/sshd_config PermitRootLogin yes UseDNS no # GSSAPI options #GSSAPIAuthentication no GSSAPIAuthentication no #GSSAPICleanupCredentials yes GSSAPICleanupCredentials no #GSSAPIStrictAcceptorCheck yes #GSSAPIKeyExchange no PubkeyAuthentication yes #启用公告秘钥配对认证方式 [root@oracle_pref ~]# service sshd restart
配置不允许root通过sshd直接登录,用户使用root权限需要通过普通用户切换。
2.13 常用软件安装
主机操作中,在不影响业务部署应用的情况下,为了方便对主机系统的管理,所有Centos 7.x系列主机均预装如下工具。
软件名 |
作用 |
net-tools |
网络管理工具 |
lrzsz |
scp上传下载文件 |
gcc* |
软件编译用 |
zip |
解压zip压缩文件 |
gzip |
解压gz压缩文件 |
bzip2 |
解压bz2压缩文件 |
ftp |
访问ftp服务器 |
bash-completion |
操作系统命令补齐工具 |
vim |
文本编辑器 |
dmidecode |
获取服务器硬件信息 |
wget |
linux访问web,下载web数据 |
sshpass |
免密工具 |
配置说明:
在配置了yum源过后直接使用yum工具安装以上软件。
配置命令:
[root@oracle_pref ~]# yum install net-tools -y [root@oracle_pref ~]# yum install lrzsz -y [root@oracle_pref ~]# yum install gcc* -y [root@oracle_pref ~]# yum install zip -y [root@oracle_pref ~]# yum install gzip -y [root@oracle_pref ~]# yum install bzip2 -y [root@oracle_pref ~]# yum install ftp -y [root@oracle_pref ~]# yum install bash-completion -y [root@oracle_pref ~]# yum install vim –y [root@oracle_pref ~]# yum install dmidecode -y
[root@oracle_pref ~]# source /etc/profile.d/bash_completion.sh #执行脚本使系统命令自动补齐生效
所有软件安装安装完成后建议重启操作系统。
2.14 主机安全配置
RHEL 7.x系列操作系统默认selinux和firewalld为开启状态,业务方可根据需求进行配置修改或直接关闭。基础运维人员不对主机安全配置做任何特殊操作。对于自己使用的机器建议关闭掉selinux,iptables可根据实际情况确定是否开启及具体设置。
2.15 kdump配置
RHEL 7.x系列操作系统默认不开启kdump功能,业务方可根据需求自行配置决定是否开启该功能,在业务比较重要的服务器主机上建议开启kdump尤其是针对于物理机,可以起到很好的故障判断的作用。
2.16 配置登录策略
设置用户登录系统时密码错误输入次数限制,当用户连续输入3次及以上的错误密码时,锁定账户180秒。
配置说明:
linux设置登录策略需要在两个文件中修改。
终端(KVM或直连显示器):/etc/pam.d/system-auth
远程(ssh): /etc/pam.d/sshd
分别在这两个文件正式配置文件第一行,即#%PAM-1.0的下面。添加策略语句。
配置命令:
[root@oracle_pref ~]# vim /etc/pam.d/system-auth #%PAM-1.0 # This file is auto-generated. # User changes will be destroyed the next time authconfig is run. auth required pam_tally2.so onerr=fail deny=3 unlock=180 even_deny_root root_unlock_time=300 [root@oracle_pref ~]# cat /etc/pam.d/sshd #%PAM-1.0 auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=30 onerr=fail
三、配置清单
配置清单为现网环境下基础信息清单资料。按照生产系统的实际情况填入数据。方便业务方或系统维护人员快速的掌握生产网中的基础资源。
3.1 基础资源
基础资源包括dns、ntp、yum源、堡垒机等信息。信息以表格形式展示出来,提供运维人员查看使用。
资源名 |
资源地址 |
资源域名 |
DNS服务器 |
|
|
NTP服务器 |
|
|
YUM源服务器 |
|
|
ftp服务器 |
|
|
3.2 UID/GID信息
UID/GID信息记录表记录每个业务方对应的操作系统账号名及UID和GID号。每个业务组在整个生产环境下有且只有一个用户和唯一的UID。
在一套生产环境中应该为每个系统都设置一些固定的账号,如系统管理员账号、监控系统账号等,使用列表的方式标注出来吗,以方便维护人员对系统进行维护。
用户表:
UID号 |
用户名 |
业务公司 |
sudo |
作用 |
使用人 |
1000 |
yw_admin |
XXX公司 |
是 |
维护系统 |
全基础运维组成员 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
组表:
GID号 |
组名 |
业务公司 |
作用 |
使用人 |
1000 |
yw_admin |
XXX公司 |
维护系统 |
全基础运维组成员 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|