2020-02-13 中小规模集群规划与环境准备

1. 网站集群架构搭建规划

1.1 中小规模基础网站集群架构规划

2020-02-13 中小规模集群规划与环境准备_第1张图片
image.png

1.2 网站集群搭建顺序规划

2020-02-13 中小规模集群规划与环境准备_第2张图片
image.png

1.3 主机IP及主机名规划表

2020-02-13 中小规模集群规划与环境准备_第3张图片
image.png

1.4 安装及配置路径等规划

2020-02-13 中小规模集群规划与环境准备_第4张图片
image.png

1.5 集群架构系统基础环境准备

1)安装CentOS7.6系统
2)第一块网卡配置为NAT模式
3)第二块网卡配置为LAN区段模式,网段为172.16.1.0网段

2. 网站集群架构系统优化

2.1 集群节点模板机统一基础优化

2.1.1 规范功能目录

创建存储软件目录和存储脚本目录。

mkdir -p /server/tools
mkdir -p /server/scripts
2.1.2 配置hosts解析信息

设置本地服务主机名称与IP地址映射关系。

cat >/etc/hosts<
2.1.3 修改主机名称
hostnamectl set-hostname backup    ---根据对应主机名称进行设置
2.1.4 更新yum源信息

第一个:就近使用yum源地址,安装软件更快。

curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

第二个:安装RHEL/CentOS官方源不提供的软件包。

curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
2.1.5 优化安全设置
# 1、关闭selinux
sed -i 's#SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config     ---查看修改SELinux的状态
setenforce 0    ---临时关闭SELinux
getenforce    ---查看SELinux状态

# 2、关闭firewalld防火墙服务 
systemctl stop firewalld
systemctl disable firewalld
2.1.6 精简开机启动程序
systemctl list-unit-files |grep enable|egrep -v "sshd.service|crond.service|sysstat|rsyslog|^NetworkManager.service|irqbalance.service"|awk '{print "systemctl disable",$1}'|bash

企业生产最小化原则有以下几个:
1)安装软件包最小化
2)用户权限最小化
3)目录文件权限最小化
4)自启动服务最小化
5)服务运行用户最小化

2.1.7 设置普通用户提权操作(可选优化)

对于系统运维工作中,一些普通用户需要分担超级管理员root的工作压力,因此需要将相应的root权限进行下放,所以要将相应普通用户进行提权。

# 提权oldboy可以利用sudo
useradd oldboy
echo 123456|passwd --stdin oldboy
\cp /etc/sudoers /etc/sudoers.ori
echo "oldboy  ALL=(ALL) NOPASSWD: ALL " >>/etc/sudoers
tail -1 /etc/sudoers
visudo -c
2.1.8 设置系统字符集
[root@oldboyedu ~]# cat /etc/locale.conf
LANG="en_US.UTF-8"

修改命令如下:

cp /etc/locale.conf{,.ori}
localectl set-locale LANG="zh_CN.UTF-8"
cat /etc/locale.conf
2.1.9 时间同步设置
yum install ntpdate -y
/usr/sbin/ntpdate ntp3.aliyun.com
echo '#crond-id-001:time sync by oldboy' >>/var/spool/cron/root
echo "*/5 * * * * /usr/sbin/ntpdate ntp3.aliyun.com >/dev/null 2>&1">>/var/spool/cron/root
crontab -l

设置定时任务,进行每5分钟的时间同步操作。

2.1.10 提升命令行操作安全性(可选优化,测试环境下建议不做)
echo 'export TMOUT=300' >>/etc/profile    ---设置会话超时时间为300秒
echo 'export HISTSIZE=5' >>/etc/profile    ---命令行历史记录保留5个
echo 'export HISTFILESIZE=5' >>/etc/profile    ---历史记录文件保留5个
tail -3 /etc/profile
. /etc/profile
2.1.11 加大文件描述符

一般情况下,一台服务器被访问时会启用很多的程序,而启用每一个程序的进程都会占用文件服务器描述符,因此有需要加大文件描述符的大小,从而不致影响到程序的启动。

echo '*               -       nofile          65535 ' >>/etc/security/limits.conf 
tail -1 /etc/security/limits.conf
ulimit -SHn   65535     ---使用命令临时修改
ulimit -n       ---命令方式查看配置结果
2.1.12 优化系统内核

利用相应内核参数数值的优化,从而影响系统的安全性、稳定性、高效性。

cat >>/etc/sysctl.conf<
2.1.13 安装系统常用软件

CentOS6和CentOS7都要安装的企业运维常用基础工具包如下:

yum install tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs -y

CentOS7要安装的企业运维常用基础工具包如下:

yum install psmisc net-tools bash-completion vim-enhanced -y
2.1.14 优化SSH远程连接效率
cp /etc/ssh/sshd_config{,.ori}
sed -i -e "17s/.*/Port 52113/g" /etc/ssh/sshd_config    ---修改默认远程端口
sed -i -e "19s/.*/ListenAddress 172.16.1.41/g" /etc/ssh/sshd_config    ---修改默认监听IP,默认为0.0.0.0全部监听,可以自定义指定监听内网IP地址
sed -i -e "38s/.*/PermitRootLogin no/g" /etc/ssh/sshd_config    ---关闭SSH登录root用户权限,提升系统安全性
sed -i -e "64s/.*/PermitEmptyPasswords no/g" /etc/ssh/sshd_config    ---禁止空密码用户SSH连接登录系统
# 特别说明:以上采用sed替换方式修改SSH服务配置文件,替换时指定的行号会根据不同版本的系统有变化,最好以工作中常用的系统为主,修改相应行号。
# 如果是CentOS6还要修改SSH配置,防止连接速度慢的优化
即把UseDNS yes改为UseDNS no,把GSSAPIAuthentication yes改为GSSAPIAuthentication no。

这里为了减少集群搭建的难度,只做如下的配置优化:

PermitEmptyPasswords no
UseDNS no
GSSAPIAuthentication no
2.1.15 锁定关键系统文件优化

对关键系统帐号文件和启动文件进行锁定,防止用户篡改。

chattr +i /etc/passwd /etc/shadow /etc/group    ---锁定关键账户文件,防删防改
chattr +i /etc/inittab /etc/fstab /etc/sudoers    ---锁定其他关键文件
lsattr /etc/passwd /etc/shadow /etc/group /etc/inittab /etc/fstab /etc/sudoers    ---查看结果
mv /usr/bin/chattr /opt/oldboy    ---移走关键命令
cp /usr/bin/xargs /usr/bin/chattr    ---用其他命令伪装一下,用户需要妥善保存关键命令
2.1.16 清理系统版本信息
说明:系统对外显示的信息越少越安全
[root@localhost ~]# cat /etc/issue
\S
Kernel \r on an \m

[root@localhost ~]# cat /etc/issue.net 
\S
Kernel \r on an \m
[root@localhost ~]# >/etc/issue.net 
[root@localhost ~]# >/etc/issue
[root@localhost ~]# cat /etc/issue
[root@localhost ~]# cat /etc/issue.net
2.1.17 为GRUB增加密码

默认情况下,用户可以随意进入GRUB引导界面,这样就会存在安全隐患。例如,有人靠近设备就可以破解root密码,为了防止别人进入单用户模式破解密码,可以添加GRUB密码。

[root@localhost ~]# grub2-setpassword 
Enter password: 
Confirm password: 
[root@localhost ~]# cat /boot/grub2/user.cfg 
GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.3BE3BF1C30B4E871CEE0A383A98AF382825E69459067541570CFBA6E53C638C5BD75278CAF2CF15334B7FFED30569791CF6B2D2B97BB2E0716ED7ED38FB1F3F5.48C31EB837FE26E066B1456B979E04AC48B8B65CA820E956F6C5E3C7CE2AC96828E5D6EA921E4114FB4D62B7A5BA560DEE998892C508AC3D6E7183AEDBD3FD53

此时,系统重启后,进入系统GRUB菜单后就会出现输入密码的提示。

2.1.18 禁止用户ping服务器IP地址

禁止用户ping服务器IP地址的目的,也是让黑客用户以为服务器停机或者不可用,或禁止返回有效信息。

[root@localhost ~]# echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf 
[root@localhost ~]# sysctl -p
net.ipv4.icmp_echo_ignore_all = 1

你可能感兴趣的:(2020-02-13 中小规模集群规划与环境准备)