CentOS服务器配置详解
CentOS作为一个强大的Linux发行版,越来越多地被应用于企业级服务器中,本文将详细介绍如何进行CentOS服务器的配置,从基本的安全设置到网络优化等方面,帮助大家打造一台坚不可摧的服务器。
一、账户安全与权限管理
1. 禁用非必要的超级用户:
通过查看/etc/passwd文件,我们可以检测到具有超级用户权限的账户(user_ID=0),使用以下命令备份并锁定这些账户:
cat /etc/passwd | awk -F ':' '{print$1,$3}' | grep ' 0$' # 检测命令 cp -p /etc/passwd /etc/passwd_bak # 备份方法 passwd -l <用户名> # 锁定账户 passwd -u <用户名> # 解锁账户
2. 删除不必要的账户:
为了减少系统受攻击的风险,我们应该删除所有不必要的默认账户,如adm, lp, sync等,使用以下命令可以删除这些账户:
userdel username groupdel groupname
3. 强化用户口令:
用户口令是系统安全的基础,我们应该设置复杂的口令,包含大写字母、小写字母、数字和特殊字符,并且长度大于十位,我们可以通过修改/etc/login.defs文件来强制执行这些要求:
PASS_MIN_LEN 10
4. 检查并强化空口令账户:
如果发现有空口令账户,应立即强制设置符合规格的口令,使用以下命令检查空口令账户:
awk -F ":" '($2 == "") {print $1}' /etc/shadow
5. 保护口令文件:
使用chattr命令给/etc/passwd, /etc/shadow, /etc/group, 和/etc/gshadow文件加上不可更改属性,以防止未授权访问:
chattr +i /etc/passwd chattr +i /etc/shadow chattr +i /etc/group chattr +i /etc/gshadow
6. 设置root账户自动注销时限:
通过修改/etc/profile文件中的TMOUT参数,我们可以设置root账户的自动注销时限,以减少未授权访问的风险:
vi /etc/profile TMOUT=300
7. 限制su命令:
我们可以通过编辑/etc/pam.d/su文件,限制只有特定组的用户才能使用su命令切换为root:
usermod –G wheel username
8. 限制普通用户的敏感操作:
为了防止普通用户执行关机、重启等敏感操作,我们可以删除或修改/etc/security/console.apps下的相应程序的访问控制文件。
rm –rf /etc/security/console.apps/
9. 禁用ctrl+alt+delete重启命令:
通过修改/etc/inittab文件,我们可以禁用ctrl+alt+delete组合键重启机器的命令。
ca::ctrlaltdel:/sbin/shutdown-t3-rnow
10. 设置开机启动服务权限:
为了确保系统的启动服务安全,我们应该设置/etc/rc.d/init.d/目录下所有文件的权限,以确保只有root用户可以操作这些服务。
二、防火墙配置
1. 安装firewalld:
yum install firewalld -y systemctl start firewalld systemctl enable firewalld
2. 配置防火墙规则:
允许SSH连接 firewall-cmd --permanent --add-service=ssh 允许HTTP连接 firewall-cmd --permanent --add-service=http 允许HTTPS连接 firewall-cmd --permanent --add-service=https 重新加载防火墙配置 firewall-cmd --reload
三、网络时间协议同步
1. 安装NTP服务:
yum install ntp -y
2. 启动并使能NTP服务:
systemctl start ntpd systemctl enable ntpd
四、日志与监控
1. 配置rsyslog服务:
CentOS自带的rsyslog服务可以帮助系统管理员记录所有系统活动,定期检查这些日志,尤其是失败的登录尝试和系统异常,是发现潜在安全漏洞的有效方式。
2. 使用Auditd增强审计功能:
Auditd工具可以帮助IT人员及时发现非授权访问,增强数据的安全性。
yum install auditd -y systemctl start auditd systemctl enable auditd
五、软件更新与补丁管理
1. 定期更新系统:
使用yum命令进行系统更新,定期检查并应用所有可用的安全更新。
yum update -y
2. 审查自启服务:
运动掉不必要的服务同样重要,可以通过systemctl管理服务的状态,禁用那些不需要的服务,进一步减少潜在的攻击面。
systemctl disable <服务名>
六、高级防护措施
1. 启用SELinux:
考虑启用SELinux(安全增强Linux)来增加对系统的额外保护层,专业用户可以根据具体业务需求,对SELinux进行配置,强化不同应用的安全策略。
yum install policycoreutils-python -y sestatus # 检查SELinux状态 setenforce 1 # 设置为强制模式
2. TCP增值设置:
考虑使用tcp_syn_cookies等TCP增值设置,可以防御SYN洪水攻击等网络层攻击,通过调整系统内核参数,控制连接的最大数量和响应策略,从而提高系统的抗攻击能力。
vi /etc/sysctl.conf 添加以下内容: tcp_max_syn_backlog = 2048 tcp_syncookies = 1 net.ipv4.tcp_max_syn_backlog = 4096
然后运行以下命令使其生效:
sysctl -p
七、FAQs
Q1:如何更改CentOS服务器的主机名?
A1:要更改CentOS服务器的主机名,可以使用以下步骤:
hostnamectl set-hostname 新的主机名
然后编辑/etc/hosts
文件,将旧的主机名替换为新的主机名,最后重启系统或网络服务使更改生效。
reboot #或者 systemctl restart network.service
Q2:如何为CentOS服务器配置静态IP地址?
A2:为CentOS服务器配置静态IP地址,需要编辑网卡配置文件,假设你的网卡名称是eth0,使用以下命令:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
添加或修改以下内容:
TYPE=Ethernet BOOTPROTO=static NAME=eth0 DEVICE=eth0 ONBOOT=yes IPADDR0=192.168.1.100 # 你的IP地址 NETMASK=255.255.255.0 # 子网掩码 GATEWAY=192.168.1.1 # 网关地址 DNS1=8.8.8.8 # DNS服务器地址 DNS2=8.8.4.4 # 备用DNS服务器地址 ```保存后重启网络服务或系统使配置生效。