公司动态
Linux系统安装与安全加固全流程指南
1. Linux系统安装全流程解析作为从业十年的系统管理员我经常需要在新硬件上部署Linux系统。不同于Windows的图形化安装Linux安装过程涉及更多分区规划、引导配置等专业操作。下面以CentOS 7为例详解物理机标准安装流程1.1 安装介质准备推荐使用Ventoy制作多系统启动U盘比Rufus更灵活# 下载Ventoy镜像后执行 sudo dd ifventoy-1.0.88-linux.tar.gz of/dev/sdX bs4M statusprogress注意/dev/sdX需替换为实际U盘设备号操作前务必确认设备编号误操作会导致数据丢失将ISO文件直接拷贝到U盘即可支持同时存放多个发行版镜像。相比传统烧录方式这种方案可以随时更新ISO文件而无需重新制作启动盘。1.2 引导与分区方案服务器推荐采用UEFIGPT组合分区方案如下表挂载点类型建议大小文件系统备注/boot/efiEFI512MBFAT32UEFI引导必需/boot标准1GBXFS内核与引导文件/LVM50GBXFS根分区建议使用逻辑卷/homeLVM剩余空间XFS用户数据独立分区swap交换区内存2倍-休眠功能需要实操心得生产环境建议将/var单独分区20GB以上避免日志写满根分区1.3 安装后必做配置禁用SELinux初期调试建议sudo sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config配置静态IP示例nmcli con mod eth0 ipv4.addresses 192.168.1.100/24 nmcli con mod eth0 ipv4.gateway 192.168.1.1 nmcli con mod eth0 ipv4.dns 8.8.8.8 114.114.114.114 nmcli con mod eth0 ipv4.method manual nmcli con up eth0更新软件源并安装基础工具sudo yum install -y epel-release sudo yum update -y sudo yum install -y vim wget net-tools2. root密码重置实战指南2.1 单用户模式重置法重启系统并在GRUB界面按e进入编辑模式找到linux16行在末尾添加rd.break参数按CtrlX启动后执行mount -o remount,rw /sysroot chroot /sysroot passwd root touch /.autorelabel # 重建SELinux上下文 exit reboot2.2 光盘救援模式当GRUB损坏时可采用此方案使用安装ISO进入救援模式挂载原系统分区mkdir /mnt/sysroot mount /dev/mapper/centos-root /mnt/sysroot mount /dev/sda1 /mnt/sysroot/bootchroot后修改密码chroot /mnt/sysroot passwd root2.3 密钥登录替代方案生产环境更推荐禁用密码登录改用SSH密钥# 生成密钥对 ssh-keygen -t ed25519 -f ~/.ssh/admin_key # 部署公钥 ssh-copy-id -i ~/.ssh/admin_key.pub rootserver # 禁用密码登录 sudo sed -i s/#PasswordAuthentication yes/PasswordAuthentication no/g /etc/ssh/sshd_config sudo systemctl restart sshd3. 安装后安全加固3.1 基础防护措施配置防火墙规则sudo firewall-cmd --permanent --add-servicessh sudo firewall-cmd --permanent --remove-servicedhcpv6-client sudo firewall-cmd --reload创建普通用户并限制sudo权限sudo useradd -m -G wheel opsuser sudo passwd opsuser # 编辑sudoers配置 sudo visudo启用自动安全更新sudo yum install -y yum-cron sudo sed -i s/apply_updates no/apply_updates yes/g /etc/yum/yum-cron.conf sudo systemctl enable --now yum-cron3.2 审计与监控安装审计工具sudo yum install -y audit sudo systemctl enable --now auditd监控关键文件变动sudo auditctl -w /etc/passwd -p wa -k identity sudo auditctl -w /etc/shadow -p wa -k identity查看审计日志sudo ausearch -k identity | aureport -f -i4. 常见问题排查4.1 引导故障处理现象GRUB rescue 提示符解决方案ls # 查看分区结构 set root(hd0,msdos1) set prefix(hd0,msdos1)/boot/grub insmod normal normal进入系统后执行sudo grub2-install /dev/sda sudo grub2-mkconfig -o /boot/grub2/grub.cfg4.2 网络连接问题诊断流程检查物理连接状态ip link show ethtool eth0测试基础连通性ping 127.0.0.1 # 环回测试 ping 网关IP ping 8.8.8.8检查路由与DNSip route show nslookup example.com4.3 磁盘空间告警快速定位大文件sudo du -h --max-depth1 / | sort -hr日志轮转配置示例/etc/logrotate.d/nginx/var/log/nginx/*.log { daily missingok rotate 30 compress delaycompress notifempty create 640 nginx adm sharedscripts postrotate /bin/kill -USR1 cat /run/nginx.pid 2/dev/null 2/dev/null || true endscript }5. 系统优化建议5.1 性能调优参数编辑/etc/sysctl.conf添加# 提升TCP性能 net.ipv4.tcp_tw_reuse 1 net.ipv4.tcp_fin_timeout 30 # 增加文件描述符限制 fs.file-max 65535 # 减少swap使用倾向 vm.swappiness 10生效配置sudo sysctl -p5.2 时间同步配置使用chronyd替代ntpdsudo yum install -y chrony sudo systemctl enable --now chronyd # 检查同步状态 chronyc tracking chronyc sources5.3 日志管理方案推荐使用journalctl进行日志查询# 查看最近错误 journalctl -p err -b # 跟踪服务日志 journalctl -u nginx -f # 按时间筛选 journalctl --since 2023-08-01 --until 2023-08-02对于长期运行的服务器建议配置日志集中管理如ELK Stack避免本地日志堆积影响性能。