在CentOS 6.5服务器的部署与管理过程中,管理员需要掌握系统的安装、配置、安全加固及日常运维等关键技能,CentOS 6.5作为基于RHEL 6.5的社区发行版,以其稳定性和兼容性广泛应用于企业级场景,但其默认配置可能存在安全风险,需通过系统化优化以满足生产环境需求,以下从基础配置、安全加固、服务部署及维护四个方面展开详细说明。
基础系统配置
系统初始化与网络配置
安装CentOS 6.5时,建议选择“Minimal”最小化安装,仅安装必要的软件包,减少攻击面,安装完成后,首先通过yum update系统更新所有软件包至最新版本,修复已知漏洞,网络配置是服务器的基础,编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件(以第一块网卡为例),设置静态IP地址:
DEVICE=eth0 TYPE=Ethernet ONBOOT=yes BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=114.114.114.114
重启网络服务service network restart使配置生效,并通过ping命令测试网络连通性。
时区与时间同步
服务器时间准确性对日志审计、证书验证等至关重要,执行tzselect选择亚洲/上海时区,或直接修改/etc/sysconfig/clock文件:
ZONE="Asia/Shanghai" UTC=false ARC=false
安装并配置NTP服务同步时间:
yum install ntp -y service ntpd start chkconfig ntpd on
使用ntpq -p检查NTP服务器状态,确保时间同步正常。
用户与权限管理
避免直接使用root用户操作,创建普通用户并赋予sudo权限:
useradd admin passwd admin echo "admin ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
定期清理闲置用户,通过userdel -r username删除不需要的账户,对于关键操作,启用sudo日志记录,编辑/etc/sudoers文件,添加:
Defaults logfile=/var/log/sudo.log
安全加固措施
防火墙与SELinux配置
CentOS 6.5默认使用iptables防火墙,需开放必要端口并关闭危险服务,编辑/etc/sysconfig/iptables文件:
*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -p tcp --dport 22 -j ACCEPT # 允许SSH -A INPUT -p tcp --dport 80 -j ACCEPT # 允许HTTP -A INPUT -p tcp --dport 443 -j ACCEPT # 允许HTTPS -A INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT
重启防火墙service iptables restart并设置开机启动chkconfig iptables on。
SELinux(安全增强型Linux)需谨慎配置,避免因策略严格导致服务异常,临时关闭SELinux使用setenforce 0,永久修改需编辑/etc/selinux/config,将SELINUX=enforcing改为SELINUX=permissive,或通过semanage工具调整特定策略。
服务最小化与SSH安全
通过ntsysv或chkconfig命令关闭不必要的服务,如telnet、rsh、sendmail等:
chkconfig telnet off chkconfig rsh off chkconfig sendmail off
SSH服务安全加固尤为重要,编辑/etc/ssh/sshd_config文件:
Port 2222 # 修改默认端口22 PermitRootLogin no # 禁止root直接登录 PasswordAuthentication no # 禁用密码,使用密钥认证 AllowUsers admin # 仅允许admin用户登录
重启SSH服务service sshd restart,确保配置生效。
日志与入侵检测
启用系统日志的远程备份,编辑/etc/rsyslog.conf,添加:
*.* @192.168.1.200:514 # 将日志发送至远程日志服务器
安装并配置AIDE(高级入侵检测环境),定期检查文件完整性:
yum install aide -y aide --init cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db aide --check # 每日执行检查
常用服务部署
Web服务(Apache+PHP)
安装Apache和PHP环境:
yum install httpd php php-mysql -y service httpd start chkconfig httpd on
配置虚拟主机,编辑/etc/httpd/conf/httpd.conf,添加:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/html
<Directory /var/www/html>
AllowOverride All
</Directory>
</VirtualHost>
重启Apache服务,测试PHP页面是否正常。
数据库服务(MySQL)
安装MySQL并设置root密码:
yum install mysql-server -y service mysqld start chkconfig mysqld on mysql_secure_installation # 交互式设置密码、删除匿名用户等
创建数据库和用户:
mysql -u root -p CREATE DATABASE testdb; CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL ON testdb.* TO 'testuser'@'localhost'; FLUSH PRIVILEGES;
系统维护与监控
磁盘空间管理
定期检查磁盘使用情况,使用df -h查看分区使用率,du -sh /path定位大文件,清理日志文件,编辑/etc/logrotate.conf,配置日志轮转策略,避免日志占满磁盘。
性能监控
安装sysstat工具监控系统性能:
yum install sysstat -y
通过top、vmstat、iostat命令实时查看CPU、内存、磁盘I/O状态,设置crontab定期收集性能数据,
*/5 * * * * /usr/bin/iostat -x >> /var/log/iostat.log
相关问答FAQs
Q1: CentOS 6.5如何解决Yum源失效问题?
A: CentOS 6.5官方源已停止维护,需替换为第三方镜像源,以阿里云为例,执行以下步骤:
- 备份原Yum源:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup - 下载新源:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo - 清理缓存并生成新缓存:
yum clean all && yum makecache
Q2: CentOS 6.5服务器无法远程连接,如何排查?
A: 按以下步骤排查:
- 检查网络连通性:
ping 服务器IP,确认网络可达; - 检查防火墙规则:
iptables -L,确认SSH端口(如2222)已开放; - 检查SSH服务状态:
service sshd status,确保服务运行; - 检查SSH配置文件:
/etc/ssh/sshd_config,确认PermitRootLogin和PasswordAuthentication设置正确; - 查看系统日志:
tail -f /var/log/secure,定位认证失败原因。
