centos系统中安装跳板机

在CentOS系统上设置跳板机(Jump Server)是实现安全远程访问内部网络资源的常见方法。跳板机一般用作一个中介服务器,通过它可以访问内部系统,同时限制了对内网资源的直接访问。以下是一个常见的跳板机搭建过程,假设你已经有一台CentOS系统并且具备管理员权限。

1. 安装 CentOS 操作系统

确保你的CentOS系统已经安装并且处于可用状态。如果没有安装,可以去下载适合你的系统版本的镜像进行安装。

2. 更新系统

首先,确保系统是最新的,更新系统软件包可以保证系统安全和稳定性:

sudo yum update -y

3. 安装 SSH 服务

跳板机的核心功能是通过SSH(安全外壳协议)来进行远程管理。如果你的CentOS系统没有安装SSH服务,可以执行以下命令安装:

sudo yum install -y openssh-server

安装完成后,启动并使SSH服务开机自启动:

sudo systemctl start sshd
sudo systemctl enable sshd

4. 配置防火墙

CentOS 默认使用 firewalld 作为防火墙。如果你的防火墙是启用的,你需要允许 SSH 端口(默认是22端口)访问。可以使用以下命令进行配置:

sudo firewall-cmd --permanent --zone=public --add-service=ssh
sudo firewall-cmd --reload

5. 配置用户和权限

为了安全起见,跳板机通常会创建专门的用户账户,并通过SSH密钥进行身份验证。创建一个新用户并设置密码:

sudo useradd jumpuser
sudo passwd jumpuser

接着,生成 SSH 密钥对(如果没有的话):

ssh-keygen -t rsa -b 2048

将生成的公钥 ~/.ssh/id_rsa.pub 上传到跳板机的 ~/.ssh/authorized_keys 文件中(确保权限设置正确):

sudo mkdir -p /home/jumpuser/.ssh
sudo cp ~/.ssh/id_rsa.pub /home/jumpuser/.ssh/authorized_keys
sudo chown -R jumpuser:jumpuser /home/jumpuser/.ssh
sudo chmod 700 /home/jumpuser/.ssh
sudo chmod 600 /home/jumpuser/.ssh/authorized_keys

6. 配置 SSH 配置文件

编辑 /etc/ssh/sshd_config 配置文件,强化 SSH 服务的安全性,防止弱口令登陆等:

sudo vim /etc/ssh/sshd_config

主要修改如下内容:

  • 禁用密码登录,启用密钥登录:

    PasswordAuthentication no
    
  • 限制特定用户访问(如果只允许 jumpuser 用户访问跳板机):

    AllowUsers jumpuser
    

修改完毕后,重启 SSH 服务:

sudo systemctl restart sshd

7. 安装和配置 fail2ban 防止暴力破解

为了进一步加强安全性,可以安装 fail2ban,这是一款可以防止暴力破解攻击的工具:

sudo yum install -y fail2ban

启动并设置自启动:

sudo systemctl start fail2ban
sudo systemctl enable fail2ban

默认的 fail2ban 配置足以防止常见的 SSH 暴力破解攻击。

8. 通过跳板机进行访问

配置完成后,你可以通过 SSH 客户端从外部访问跳板机。假设跳板机的 IP 地址为 192.168.1.100,使用以下命令进行连接:

ssh [email protected]

如果一切正常,你将成功登录到跳板机,并且可以从跳板机进一步访问内网的其他机器。

9. 使用 SSH 隧道(可选)

为了加强跳板机的功能,你可以使用 SSH 隧道技术将跳板机作为中介来访问内网的其他服务器。例如,使用以下命令通过跳板机连接内网的 MySQL 服务器:

ssh -L 3306:mysql_server_ip:3306 [email protected]

这将把本地的 3306 端口通过跳板机转发到内网的 MySQL 服务器。


总结

通过以上步骤,你可以成功搭建一个 CentOS 跳板机,用来安全地访问内网资源。在生产环境中,可以进一步加强跳板机的安全性,使用 VPN 或多重认证等措施来进一步保护网络安全。

你可能感兴趣的:(centos,linux,运维)