转至:https://www.cnblogs.com/Pigs-Will-Fly/p/13855300.html


--时间: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公司

维护系统

全基础运维组成员

 

 

 

 

 

 

 

 
 
分类: Linux相关

 

Centos6/7系统基础配置-从零到无的更多相关文章

  1. Fedora 28 系统基础配置以及常用软件安装方式

    实验说明: 很多人说Linux很难用,很难上手,其实不然,倘若不玩游戏,其实很多发行版Linux都可以成为主力系统,就比如本章要讲的 Fedora 28.本章会从镜像来源.系统安装.基础配置和常用软件 ...

  2. Centos7.X新安装linux系统基础配置

    普通Linux分区方式: /根分区 Linux系统必须要有的,相当于 Windows的C盘,系统程序相关的. /boot分区 存放内核相关程序 是可选的 5 6给200M,7给256M(工作中1-2G ...

  3. CentOS 7 系统基础配置

    系统版本:CentOS 7.2.1511 Minimal 采用最小化系统安装,许多组件默认是不安装的,通过手工安装一些常用工具包,让系统用起来更顺手. 1.修改机器名: [root@centos7-m ...

  4. 虚拟机VMware安装及Linux系统基础配置(CentOS 7)

    PS: 我是 VMware 14 安装 CentOS 7 来配置Linux虚拟机,想要安装 Ubuntu 18.04 的可以自行其他搜或者参考博客:https://blog.csdn.net/gith ...

  5. CentOS 6 系统基础配置

    系统版本:CentOS 6.8 Minimal 采用最小化系统安装,许多组件默认是不安装的,通过手工安装一些常用工具包,让系统用起来更顺手. 1.设置机器名: # echo "NETWORK ...

  6. 在已有Windows系统基础上安装ubuntu后无Windows启动项

    1. 原系统为windows 2. 清出一个不用的分区给linux,使用windows磁盘管理器将该分区重新划分为两个分区,分别用于root和swap 3. 安装过程中ubuntu提示原系统为非UEF ...

  7. Linux(CentOs6.3)网络配置

    新装好的虚拟机往往还无法连接网络,本文描述了如何在CentOs6.3系统上配置网络信息 1.windows系统下快捷键windows+r,输入cmd并确定,打开黑窗口 2.黑窗口中输入ipconfig ...

  8. 完整的WindowsServer服务器系统初始化配置、安全策略加固和基线检查脚本等保2.0适用

    转载自:https://www.bilibili.com/read/cv14326780?spm_id_from=333.999.0.0 0x00 前言简述 最近单位在做等保测评,由于本人从事安全运维 ...

  9. CentOS6.6系统中安装配置Samba的教程

    Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通 ...

随机推荐

  1. 巧用 Base62 解决字段太短的问题

    最近银联一纸 259 号改造通知,所有支付机构开始改造支付交易,上传终端信息. 不知道其他支付机构的小伙伴针对这次改造是否开始了? 由于这次银联给的时间非常少,我们这边改动涉及到相关上游一起改造,所以 ...

  2. golang中字符串、数值、2进制、8进制、16进制、10进制、日期和字符串之间的转换

    package main import ( "fmt" "reflect" "strconv" "time" ) fun ...

  3. 不难懂-----Mock基本使用

    一.mock解决的问题 开发时,后端还没完成数据输出,前端只好写静态模拟数据.数据太长了,将数据写在js文件里,完成后挨个改url.某些逻辑复杂的代码,加入或去除模拟数据时得小心翼翼.想要尽可能还原真 ...

  4. 『无为则无心』Python基础 — 41、Python中文件的读写操作(一)

    目录 1.文件操作步骤 2.文件的读写操作 (1)文件的打开 (2)打开文件模式 (3)获取一个文件对象 (4)关于文件路径 1.文件操作步骤 当我们要读取或者写入文件时,我们需要打开文件,在操作完毕 ...

  5. windows下使用LTP分词,安装pyltp

    1.LTP介绍 ltp是哈工大出品的自然语言处理工具箱, 提供包括中文分词.词性标注.命名实体识别.依存句法分析.语义角色标注等丰富. 高效.精准的自然语言处理技术.pyltp是python下对ltp ...

  6. Redis 中如何保证数据的不丢失,Redis 中的持久化是如何进行

    Redis 中数据的持久化 前言 AOF 持久化 什么是 AOF 持久化 为什么要后记录日志呢 AOF 的潜在风险 AOF 文件的写入和同步 AOF 文件重写机制 AOF 的数据还原 RDB 持久化 ...

  7. js-小知识点

    强类型定义语言和弱类型定义语言1)强类型定义语言: 强制数据类型定义的语言.也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了.举个例子:如果你定义了一个整型 ...

  8. Vuex 状态管理的工作原理

    Vuex 状态管理的工作原理 为什么要使用 Vuex 当我们使用 Vue.js 来开发一个单页应用时,经常会遇到一些组件间共享的数据或状态,或是需要通过 props 深层传递的一些数据.在应用规模较小 ...

  9. python中一个经典的参数错误

    直接上代码 class Company: def __init__(self, name, staffs=[]): self.name = name self.staffs = staffs def ...

  10. 转载_最值得阅读学习的10个C语言开源项目代码

    "源代码面前,了无秘密",阅读优秀代码无疑是开发人员得以窥见软件堂奥而登堂入室的捷径.本文选取10个C语言优秀开源项目的代码作为范本,分别给予点评,免去东搜西罗之苦,点赞!那么问题 ...