当前位置: 首页 > news >正文

运维面试情景题:如果有一块新的硬盘要加入机架如何配置;如果新加了一台服务器,如何配置安全措施

要将一块新硬盘配置成虚拟卷并持久挂载到系统,可以按照以下步骤操作。这里以Linux系统为例,假设硬盘设备为 /dev/sdb(具体设备名可通过 lsblk 或 fdisk -l 确认):


​步骤 1:分区(可选)​

如果需要对硬盘分区,可以使用 fdisk 或 parted 工具:

sudo fdisk /dev/sdb
  • 输入 n 创建新分区,按提示设置分区大小(如全盘使用可直接回车跳过)。
  • 输入 w 保存并退出。

​步骤 2:创建物理卷(PV)​

如果使用LVM(逻辑卷管理),将分区或整块磁盘初始化为物理卷:

sudo pvcreate /dev/sdb       # 整盘作为PV
# 或
sudo pvcreate /dev/sdb1      # 分区作为PV

​步骤 3:创建卷组(VG)​

将物理卷加入卷组(可自定义卷组名,如 my_vg):

sudo vgcreate my_vg /dev/sdb

​步骤 4:创建逻辑卷(LV)​

从卷组中划分逻辑卷(如分配全部空间):

sudo lvcreate -l 100%FREE -n my_lv my_vg
  • -l 100%FREE 表示使用所有剩余空间,也可指定大小(如 -L 10G)。

​步骤 5:格式化逻辑卷​

选择文件系统(如ext4、xfs等)并格式化:

sudo mkfs.ext4 /dev/my_vg/my_lv

​步骤 6:创建挂载点并临时挂载​

sudo mkdir /mnt/my_mount
sudo mount /dev/my_vg/my_lv /mnt/my_mount

​步骤 7:配置持久化挂载​

编辑 /etc/fstab 文件,添加一行确保重启后自动挂载:

 
sudo nano /etc/fstab

添加内容(根据实际设备路径调整):

/dev/my_vg/my_lv  /mnt/my_mount  ext4  defaults  0  2
  • 若使用UUID更可靠,可通过 blkid /dev/my_vg/my_lv 获取UUID后替换设备路径。

​验证配置​

  1. 测试挂载是否生效:
     
    sudo mount -a
  2. 检查挂载状态:
     
    df -h | grep my_mount

​替代方案:直接使用设备(非LVM)​

若无需LVM,可直接格式化并挂载:

 
sudo mkfs.ext4 /dev/sdb       # 整盘格式化
sudo mkdir /mnt/my_mount
sudo mount /dev/sdb /mnt/my_mount

然后在 /etc/fstab 中添加:

/dev/sdb  /mnt/my_mount  ext4  defaults  0  2

​注意事项​

  • ​数据备份​​:操作前确保重要数据已备份。
  • ​设备名一致性​​:若系统动态分配设备名(如 /dev/sdb 可能变化),建议使用UUID替代。
  • ​权限设置​​:挂载后可通过 chown 调整目录权限。

通过以上步骤,新硬盘将被配置为虚拟卷(LVM)或直接分区,并实现系统重启后自动挂载。

注意在分区后使用:partprobe 来更新内核分区信息

udevadm settle 确保设备节点就绪​

硬盘分区-》告知内核-》创建文件系统(会输出UUID)-》/etc/fstab挂载-》用df -h检查

新服务器安全配置指南(Linux)​

当新部署一台服务器时,必须立即实施严格的安全措施,以防止未授权访问、数据泄露和恶意攻击。以下是 ​​系统化安全配置流程​​,涵盖从基础加固到高级防护的完整方案。


​1. 初始安全配置(首次登录前)​

​(1) 修改默认密码 & 禁用弱密码​

  • ​修改 root 密码​​(如果通过控制台登录):
     
    passwd
  • ​设置强密码策略​​(通过 /etc/security/pwquality.conf):
     
    minlen = 12          # 最小长度12位
    minclass = 4         # 至少包含大小写字母、数字、特殊字符
    retry = 3            # 密码错误尝试次数

​(2) 禁用 root 远程登录​

  • 编辑 /etc/ssh/sshd_config
     
    PermitRootLogin no
  • 重启 SSH 服务:
     
    systemctl restart sshd

​(3) 创建专用管理用户​

  • 添加新用户并赋予 sudo 权限:
     
    useradd -m -s /bin/bash admin_user
    passwd admin_user
    usermod -aG sudo admin_user
  • 配置 SSH 密钥认证(禁用密码登录):
     
    mkdir -p /home/admin_user/.ssh
    chmod 700 /home/admin_user/.ssh
    echo "ssh-rsa AAAAB3NzaC1yc2E... user@host" > /home/admin_user/.ssh/authorized_keys
    chmod 600 /home/admin_user/.ssh/authorized_keys
    chown -R admin_user:admin_user /home/admin_user/.ssh

​2. 网络层安全加固​

​(1) 配置防火墙(iptables/nftables/firewalld)​

​使用 firewalld(CentOS/RHEL)​
 
# 安装并启动
yum install firewalld -y
systemctl enable --now firewalld# 默认拒绝所有入站流量,仅放行必要端口
firewall-cmd --set-default-zone=drop
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-port=80/tcp   # HTTP
firewall-cmd --permanent --add-port=443/tcp  # HTTPS
firewall-cmd --reload
​使用 iptables(通用方案)​
# 清空现有规则
iptables -F# 默认策略:拒绝所有入站,允许已建立连接
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT# 允许SSH(22端口)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT# 允许本地回环
iptables -A INPUT -i lo -j ACCEPT# 允许已建立的连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT# 保存规则(CentOS 7+)
service iptables save

​(2) 禁用不必要的服务​

  • 查看运行中的服务:
    systemctl list-units --type=service
  • 停止并禁用无用服务(如 Telnet、FTP):
    systemctl stop telnet
    systemctl disable telnet

​3. 系统层安全加固​

​(1) 更新系统 & 安装安全补丁​

# CentOS/RHEL
yum update -y# Ubuntu/Debian
apt update && apt upgrade -y

​(2) 配置 SSH 安全​

编辑 /etc/ssh/sshd_config

Port 2222                # 修改默认SSH端口(可选)
Protocol 2               # 仅使用SSHv2
PermitRootLogin no       # 禁止root登录
PasswordAuthentication no # 禁用密码登录(仅允许密钥)
ClientAliveInterval 300  # 会话超时时间
MaxAuthTries 3           # 最大尝试次数

重启 SSH:

systemctl restart sshd

​(3) 启用 Fail2Ban(防暴力破解)​

# 安装
yum install fail2ban -y   # CentOS
apt install fail2ban -y   # Ubuntu# 配置SSH防护
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sed -i 's/^#$$sshd$$/[sshd]/' /etc/fail2ban/jail.local
sed -i 's/^#enabled = false/enabled = true/' /etc/fail2ban/jail.local# 启动服务
systemctl enable --now fail2ban

​4. 文件系统与权限安全​

​(1) 设置文件系统挂载选项​

编辑 /etc/fstab,添加 noexec,nosuid,nodev 限制:

/dev/vda1 / ext4 defaults,noexec,nosuid,nodev 0 1
  • noexec:禁止执行二进制文件(适用于 /tmp)。
  • nosuid:忽略 SUID/SGID 权限。
  • nodev:禁止设备文件。

​(2) 限制 SUID/SGID 文件​

查找并清理可疑文件:

find / -perm -4000 2>/dev/null   # 查找SUID文件
find / -perm -2000 2>/dev/null   # 查找SGID文件

​(3) 设置磁盘配额​

# 安装quota工具
yum install quota -y# 启用配额(/etc/fstab中添加usrquota,grpquota)
mount -o remount /  # 重新挂载生效# 初始化配额数据库
quotacheck -cug /
quotaon /

​5. 日志与监控​

​(1) 配置集中式日志(rsyslog + ELK)​

# 安装rsyslog
yum install rsyslog -y# 配置远程日志服务器(修改/etc/rsyslog.conf)
*.* @192.168.1.100:514  # 发送到日志服务器# 重启服务
systemctl restart rsyslog

​(2) 启用审计日志(auditd)​

# 安装并启动
yum install audit -y
systemctl enable --now auditd# 监控关键文件(如/etc/passwd)
auditctl -w /etc/passwd -p wa -k passwd_changes

​(3) 设置日志轮转(logrotate)​

编辑 /etc/logrotate.conf 或创建自定义规则:

/var/log/auth.log {dailyrotate 7compressmissingoknotifempty
}

​6. 高级安全措施​

​(1) 配置 SELinux(强制访问控制)​

# 检查状态
getenforce# 临时启用(Enforcing模式)
setenforce 1# 永久启用(修改/etc/selinux/config)
sed -i 's/^SELINUX=.*/SELINUX=enforcing/' /etc/selinux/config

​(2) 使用 AppArmor(Ubuntu)​

# 安装
apt install apparmor apparmor-utils -y# 启用特定服务保护
aa-enforce /usr/sbin/nginx

​(3) 配置入侵检测(OSSEC/Wazuh)​

# 安装OSSEC
wget https://github.com/ossec/ossec-hids/archive/refs/tags/3.9.0.tar.gz
tar -xzf 3.9.0.tar.gz
cd ossec-hids-3.9.0
./install.sh

​7. 安全检查清单​

​类别​​检查项​​工具/命令​
​账户安全​禁用root远程登录grep PermitRootLogin /etc/ssh/sshd_config
密码策略强化grep minlen /etc/security/pwquality.conf
​网络防护​防火墙规则iptables -L -n 或 firewall-cmd --list-all
SSH端口变更ss -tulnp | grep ssh
​系统加固​更新系统yum check-update 或 apt update
安装Fail2Bansystemctl status fail2ban
​日志监控​集中式日志配置grep @ /etc/rsyslog.conf
审计日志启用auditctl -l

​8. 面试回答示例​

"新服务器的安全配置需要从 ​​账户安全、网络防护、系统加固、日志监控​​ 四个维度展开:

  1. ​账户安全​​:禁用root远程登录,创建专用管理用户并配置SSH密钥认证,设置强密码策略。
  2. ​网络防护​​:通过防火墙(iptables/firewalld)限制入站流量,仅开放必要端口,并部署Fail2Ban防暴力破解。
  3. ​系统加固​​:更新系统补丁,禁用不必要的服务,启用SELinux/AppArmor强制访问控制。
  4. ​日志监控​​:配置rsyslog集中日志,启用auditd审计关键文件,设置日志轮转防止磁盘占满。

最终通过 ​​最小权限原则​​ 和 ​​纵深防御​​ 确保服务器安全。"

相关文章:

  • DeepSeek预训练追求极致的训练效率的做法
  • 2025.04.26-淘天春招笔试题-第三题
  • MQL5教程 06 EA开发实战
  • 【OSG学习笔记】Day 11: 文件格式与数据交换
  • Dify中的文本分词处理技术详解
  • 财务管理域——企业风控系统设计
  • Channel如何安全地尝试发送数据
  • win11右键菜单改回win10模式
  • 基于 RAG 的 Text2SQL 全过程的 Python 实现详解,结合 LangChain 框架实现自然语言到 SQL 的转换
  • 20250426在ubuntu20.04.2系统上解决问题mkfs.exfat command not found
  • function,bind,lambda的用法
  • 力扣刷题Day 31:删除链表的倒数第N个结点(19)
  • 数据库原理(1)
  • 贝叶斯算法学习
  • 【LeetCode 热题 100】链表 系列
  • [实战] 卡尔曼滤波:原理、推导与卫星导航应用仿真(完整代码)
  • 深入剖析 TypeScript 基础类型:string、number、boolean 的声明与使用
  • lnmp1.5+centos7版本安装php8
  • ※※惯性时间常数与系统惯量定义、区别、联系
  • 数据结构手撕--【堆】
  • 李干杰走访各民主党派中央和全国工商联机关
  • 央行:全力推进一揽子金融政策加快落地
  • 印方称若巴方决定升级局势,印方已做好反击准备
  • 上海:下调个人住房公积金贷款利率
  • 诺和诺德一季度减重版司美格鲁肽收入增83%,美国市场竞争激烈下调全年业绩预期
  • 詹丹|高考语文阅读题设计和答案拟制的一些缺憾