转至: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. gin框架中的路由拆分与注册

    基本的路由注册 下面最基础的gin路由注册方式,适用于路由条目比较少的简单项目或者项目demo. package main import ( "net/http" "gi ...

  2. MySQL数据库本地事务原理

    在经典的数据库理论里,本地事务具备四大特征: 原子性 事务中的所有操作都是以原子的方式执行的,要么全部成功,要么全部失败: 一致性 事务执行前后,所有的数据都应该处于一致性状态---即要满足数据库表的 ...

  3. zabbix_proxy3.4安装

    server ip:172.16.2.116 proxy ip:172.16.2.241 1.创建proxy数据库,proxy用户 mysql> create database zabbix_p ...

  4. Ansible架构

  5. find直接copy大于某一个时间小于某一个时间的文件

    find ./ -type f -newermt '2000-01-04 10:30:00' ! -newermt '2019-10-28 10:57:00' -exec cp -a {} /var/ ...

  6. [源码解析] 分布式训练Megatron (1) --- 论文 & 基础

    [源码解析] 分布式训练Megatron (1) --- 论文 & 基础 目录 [源码解析] 分布式训练Megatron (1) --- 论文 & 基础 0x00 摘要 0x01 In ...

  7. python 小兵(2)

    while 条件: 结构体 if=条件: 等于 while 条件: 结构体 else: print(int(Ture))    1 print(int(False))   0 切片顾头不顾尾 prin ...

  8. Java 高效编程(Effective Java)中文第三版(补档)

    来源:sjsdfg/effective-java-3rd-chinese <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过, ...

  9. 在终端或idea编译工具中的terminal中运行mvn install 失败

    原因是因为操作系统的差异导致,把所有参数加上引号即可. 如下所示: mvn install:install-file "-Dfile=cobra.jar" "-Dgrou ...

  10. iOS中处理时间的类

      登录|注册     sakulafly的专栏       目录视图 摘要视图 订阅 Markdown博文大赛清新开启    天天爱答题 一大波C币袭来    中国云计算大会演讲议题公布     大 ...