阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

一般生产环境Linux服务器配置

163次阅读
没有评论

共计 2812 个字符,预计需要花费 8 分钟才能阅读完成。

1. 生产环境 Linux 服务器系统版本的选择

选择 CentOS6.5 版本 64 位的 Linux 操作系统

CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是 Linux 发行版之一,它是来自于红帽的 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此和红帽商业版的 RHEL 系统用着同样的高度稳定性。两者的不同,在于 CentOS 并不包含红帽的商业支持和一些 RHEL 商业版隐藏的功能。CentOS 是完全开源和免费的,企业可以在生产环境上自由部署

2. 一般服务器的初始磁盘分区

1)/boot 引导分区,存放引导文件和内核等。分区大小设定 200M。

一般正式环境下,Linux 引导文件及内核全部大小在 100M 以内。

2)swap 交换分区,作为虚拟内存使用,用于当物理内存不足时,调用硬盘的一部分当内存使用。使用虚拟内存,会保障服务器在内存不足的时候不会宕机。

一般生产环境服务器内存较大,交换分区大小与内存相同即可

3)/ 分区根分区,将分完 /boot 和 swap 分区剩下的空间都分给 / 分区

3. 数据库服务器的初始磁盘分区

1)/boot 引导分区,分区大小设定 200M

2)swap 交换分区,交换分区大小与内存相同

3) 逻辑卷建立 LVM 逻辑卷,将逻辑卷挂载到相应的文件路径,后期可以轻松扩充或减小文件系统的大小

4)/ 分区根分区使用逻辑卷,数据库服务器的根分区主要存放系统相关文件、日志、用户信息等,由于不用存放数据文件,并且可以通过逻辑卷随意扩充,大小满足系统运行需要即可。lv 大小设定 200G

5) 数据分区为数据库软件和数据库文件单独划分一个逻辑卷分区,以保证数据的独立性和安全性,如果 Linux 操作系统崩溃,可以格式化 /boot 分区和根分区重新安装系统,而保留数据分区下的数据库软件和数据文件。将所有剩余的卷组空间都分配给数据分区的逻辑卷,Mysql 数据库一般将数据分区挂载在 /usr/local,Oracle 数据库一般将数据分区挂载在 /u02 上

4. 多网卡绑定 bond 配置

生产环境多块物理网卡,需要用 bond 绑定为一块虚拟网卡对外提供服务,配置一个 ip,可以实现网卡的负载均衡和高可用性,规划生产环境用两块网卡 eth0、eth1 绑定为 bond0

1) 虚拟网卡 bond0 配置文件

vim /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0

BOOTPROTO=none

ONBOOT=yes

IPADDR=192.168.10.93

NETMASK=255.255.255.0

GATEWAY=192.168.10.1

2) 物理网卡 eth0 配置文件

vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

3) 物理网卡 eth1 配置文件

vim /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

ONBOOT=yes

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

4) 修改 modprobe 相关设定文件,并加载 bonding 模块

vim /etc/modprobe.d/bonding.conf

alias bond0 bonding

options bond mode=0 miimon=100

mode 模式:0 提供负载均衡和高可用,按顺序轮流把包发给绑定在在 bond 口内的网卡

1 主备策略,提供高可用性,逻辑简单,同时只有一个网卡处于激活状态,一个失败,另外一个自动激活

miimon:监视网络链接的频度,单位是毫秒

5) 加载模块(或重启)

modprobe bonding

6) 查看模块加载情况

lsmod | grep bonding

7) 重启网络

service network restart

8) 确认绑定情况

cat /proc/net/bonding/bond0

ifconfig

 

5. 关闭本地防火墙

iptables -F

iptables –L

service iptables save

 

6. 关闭 NetworkManager 服务

service NetworkManager stop

chkconfig NetworkManager off

 

7. 账户安全权限配置

1) 禁用 root 以外的超级用户

cat /etc/passwd | awk -F ‘:’ ‘{print $1,$3}’ | grep ‘ 0$’ 检测其他超级用户

passwd -l username 锁定用户

2) 删除不必要的账号

awk -F : ‘{print $1}’ /etc/passwd | grep -E ‘adm|lp|sync|shutdown|halt|news|uucp|operator|games|gopher’

userdel username

3) 删除不必要的组

awk -F : ‘{print $1}’ /etc/group | grep -E ‘adm|lp|news|uucp|games|dip|pppusers|popusers|slipusers’

groupdel groupname

4) 设置 root 用户口令

passwd

5) 检查空口令账号,如发现则设置口令

awk -F: ‘($2 == “”) {print $1}’ /etc/shadow

passwd username

6) 口令文件加锁

chattr +i /etc/passwd

chattr +i /etc/shadow

chattr +i /etc/group

chattr +i /etc/gshadow

当需要改密码的时候,要先解锁 shadow 文件:

chattr –i /etc/shadow

7) 设置 root 账户自动注销时限

vim /etc/profile

在 ”HISTFILESIZE=” 后面加入下面

TMOUT=300

8) 限制普通用户通过 su 切换为 root 用户

vim /etc/pam.d/su

auth required pam_wheel.so use_uid

如果需要用户可以 su 成为 root,要将其加入 wheel 组

usermod -G 10 username

9) 限制普通用户无法执行关机、重启、配置网络等敏感操作

rm -rf /etc/security/console.apps/*

10) 禁用 Ctrl+Alt+Delete 组合键重新启动机器命令

vim /etc/inittab

#ca::ctrlaltdel:/sbin/shutdown-t3-rnow

11) 设置开机启动项权限

chmod –R 700 /etc/rc.d/init.d/

12) 避免 login 时显示系统和版本信息

rm -rf /etc/issue

rm -rf /etc/issue.net

13) 删除多余登录终端

vim /etc/securetty

tty1

#tty2

#tty3

#tty4

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计2812字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中