Linux环境下创建跳板机的详细步骤与安全配置方法有哪些?

Linux跳板机(Bastion Host)是网络安全架构中的关键中间层,用于集中管理对内网服务器的访问,避免直接暴露内网资源,创建跳板机需结合系统配置、安全加固和访问控制,以下是详细步骤:

linux 如何创建跳板机

系统选型与基础安装

推荐使用CentOS 7+或Ubuntu 20.04等LTS版本,安装时选择“最小化安装”,减少不必要的软件包,确保系统已更新至最新版本(yum update -yapt update && apt upgrade -y),关闭SELinuxsetenforce 0并修改/etc/selinux/config为disabled)或正确配置策略,避免权限冲突。

网络配置

跳板机需配置双网卡(或虚拟IP),分别连接外网(安全区)和内网(非安全区),假设外网IP为168.1.100(用于运维人员访问),内网IP为0.0.1(用于访问内网服务器),网卡配置如下:

网卡 IP地址 子网掩码 网关 用途
ens33 168.1.100 255.255.0 168.1.1 外网访问入口
ens34 0.0.1 255.255.0 0.0.254 内网服务器通信

配置文件示例(CentOS):

  • 外网网卡/etc/sysconfig/network-scripts/ifcfg-ens33BOOTPROTO=staticIPADDR=192.168.1.100NETMASK=255.255.255.0GATEWAY=192.168.1.1
  • 内网网卡/etc/sysconfig/network-scripts/ifcfg-ens34BOOTPROTO=staticIPADDR=10.0.0.1NETMASK=255.255.255.0

用户与SSH安全配置

  1. 创建专用用户:避免使用root直接登录,创建低权限用户jumpuser
    useradd -m -s /bin/bash jumpuser
    passwd jumpuser  # 设置强密码
  2. SSH密钥认证:禁用密码登录,仅允许密钥认证,提升安全性:
    • 在运维本地机器生成密钥对:ssh-keygen -t rsa -b 4096
    • 将公钥传输至跳板机:ssh-copy-id -i ~/.ssh/id_rsa.pub jumpuser@192.168.1.100
  3. 修改SSH配置:编辑/etc/ssh/sshd_config,关键参数如下:
    PermitRootLogin no          # 禁止root登录
    PasswordAuthentication no   # 禁用密码认证
    Port 2222                    # 修改默认SSH端口(避免默认22端口)
    AllowUsers jumpuser          # 仅允许jumpuser登录

    重启SSH服务:systemctl restart sshd

    linux 如何创建跳板机

安全加固措施

  1. 防火墙规则:仅开放必要端口(如SSH端口2222),其他端口关闭:
    firewall-cmd --permanent --add-port=2222/tcp
    firewall-cmd --permanent --remove-service=ssh  # 关闭默认SSH服务
    firewall-cmd --reload
  2. 禁用不必要服务:关闭telnet、rsh等高风险服务:
    systemctl stop telnet.socket rsh.socket
    systemctl disable telnet rsh
  3. 日志审计:启用rsyslog记录所有SSH操作,配置/etc/rsyslog.d/ssh.conf
    auth,authpriv.*          /var/log/ssh.log

    重启rsyslog:systemctl restart rsyslog,定期备份日志(如使用logrotate)。

内网访问配置

运维人员通过跳板机访问内网服务器时,可通过SSH转发或ProxyCommand实现:

  1. SSH直接转发:在本地终端执行:
    ssh -J jumpuser@192.168.1.100 10.0.0.2  # 通过跳板机访问内网服务器10.0.0.2
  2. 配置SSH ProxyCommand:在本地~/.ssh/config中添加:
    Host 10.0.0.*
      ProxyJump jumpuser@192.168.1.100
      User admin  # 内网服务器用户名

    之后可直接通过ssh 10.0.0.2访问,无需每次输入跳板机信息。

高可用性(可选)

若需提升可用性,可部署双跳板机(主备模式),使用Keepalived实现虚拟IP(如168.1.101)漂移,主节点故障时自动切换至备节点,确保服务连续性。

linux 如何创建跳板机

相关问答FAQs

Q1: 如何限制仅允许特定IP地址访问跳板机?
A1: 通过防火墙(iptables或firewalld)添加IP白名单,仅允许公司内网IP段168.10.0/24访问SSH端口2222:

# CentOS 7 (firewalld)
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.10.0/24" service name="ssh" accept'
firewall-cmd --reload
# 或使用iptables
iptables -A INPUT -p tcp -s 192.168.10.0/24 --dport 2222 -j ACCEPT
iptables -A INPUT -p tcp --dport 2222 -j DROP
service iptables save

Q2: 如何审计跳板机上用户的操作记录?
A2: 可通过script命令记录用户操作会话,或使用auditd系统审计。

  • script记录:在/etc/profile末尾添加script -a /var/log/jumpuser/session.log,用户登录后所有操作将记录至session.log
  • auditd审计:安装auditdyum install auditd -y),配置/etc/audit/auditd.rules添加规则:
    -a always,exit -F arch=b64 -S all -F euid=1000 -k jumpuser_audit  # 监听jumpuser(UID=1000)的所有操作

    审计日志可通过ausearch -k jumpuser_audit查看,确保可追溯用户行为。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/35987.html

(0)
酷番叔酷番叔
上一篇 2025年10月4日 21:45
下一篇 2025年10月4日 22:07

相关推荐

  • 在linux中如何创建文件夹

    在Linux操作系统中,文件夹(称为“目录”)是文件系统的基础结构,用于组织和存储文件,无论是日常办公、软件开发还是系统管理,创建目录都是高频操作,Linux提供了多种创建目录的方式,其中最常用的是通过命令行工具mkdir(make directory)实现,本文将详细介绍在Linux中创建目录的各种方法、参数……

    2025年9月20日
    5600
  • Linux下如何查看文件的后缀名?

    在Linux系统中,文件后缀名(或称为扩展名)通常用于标识文件类型,虽然Linux不像Windows那样强制依赖后缀名关联程序,但用户和脚本常通过后缀名快速判断文件用途(如.sh为脚本、.tar.gz为压缩包),查看文件后缀名的方法多样,可通过命令行或图形界面实现,以下详细介绍几种常用方式,命令行查看文件后缀名……

    2025年10月1日
    3900
  • Linux下如何查看新邮件?

    在Linux系统中查看新邮件有多种方式,涵盖命令行工具、图形界面客户端以及通过网络协议直接访问邮件服务器,用户可根据自身需求和使用习惯选择合适的方法,本文将详细介绍这些方法,包括工具安装、配置及操作步骤,帮助用户高效管理邮件,本地邮件查看:命令行工具Linux系统默认会将用户邮件存储在本地,通常位于/var/m……

    2025年10月4日
    2800
  • 为什么你总是拖到最后一分钟?

    在Linux系统中,Makefile是自动化构建软件项目的核心工具,它通过定义依赖关系和构建规则,显著提升编译效率,以下内容将详细解析Makefile的编写方法,结合最佳实践与专业技巧,Makefile基础结构一个完整的Makefile由规则、变量和指令组成:[TAB]命令1[TAB]命令2目标文件 (Targ……

    2025年6月20日
    7100
  • Linux下如何正确输出反斜线?

    在Linux系统中,反斜线(\)是一个特殊的转义字符,用于改变后续字符的含义(如\n表示换行、\t表示制表符),因此直接输出单个反斜线需要特定的处理方法,本文将详细说明在不同场景下输出反斜线的具体操作,帮助用户掌握这一技巧,Linux中输出反斜线的核心原理反斜线作为转义字符,若要输出其自身,需通过“转义转义字符……

    2025年9月25日
    3000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信