赞
踩
堡垒机(Jump Server)又称跳楼机,是一种位于内部网络和外部网络之间的服务器,用于管理和控制对内部网络资源的访问。堡垒机在网络中扮演着以下重要角色:
访问控制:堡垒机作为唯一的入口,可以限制用户通过堡垒机来访问内部网络资源,实现了访问控制和权限管理。用户需要经过堡垒机认证后才能进入内部网络。
安全审计:堡垒机可以记录用户的所有操作和活动,包括登录信息、命令操作等,以便进行安全审计和监控。这有助于发现潜在的安全问题和追踪用户行为。
隔离网络:通过堡垒机作为中转站,实现了内外网络的隔离。内部网络不直接暴露在公网上,提高了网络的安全性。
集中管理:堡垒机集中管理了对多个服务器的访问,管理员可以通过堡垒机统一管理和监控各类资产,简化了运维管理的复杂性。
安全防护:堡垒机可以配置严格的访问控制策略、多层认证和防火墙规则,保护内部网络免受恶意攻击和未经授权的访问。
总体而言,堡垒机在网络安全中扮演着重要的角色,可以提高网络安全性、管理效率和审计可追溯性,在企业网络中被广泛应用以加强网络安全防护。
模拟企业或者学校内部环境,构建一个防火墙服务器实现内部网络上网,发布内网的web服务和堡垒机,构建堡垒机帮助企业以更安全的方式管控和登录各种类型的资产,同时给予外网被授予堡垒机登录权限的用户可以实现远程访问内部网络的资源。
如下图所示,为保证实验的真实性和可靠性,端口配置可自定义,IP地址不要发生冲突,web服务器(192.168.110.2)和堡垒机(192.168.110.99)的网络适配器属于仅主机模式,防火墙配俩个网卡,同时LAN口为仅主机模式(192.168.110.254),WAN口配为桥接模式(192.168.1.54)
1.搭建防火墙,堡垒机,web服务器环境,特别注意防火墙需要配置俩块网卡
2.修改网络适配器
点击右下角的网络适配器,再点击设置,将web服务器和堡垒机的网络适配器改为仅主机模式,防火墙网络适配器1改为仅主机模式,网络适配器2改为桥接模式(俩者顺序可以调换,但是建议使用桥接模式)。
3.配置IP地址和主机名
通过ip add命令查看防火墙,堡垒机和web服务器分配的IP地址
ip add
如果要修改IP地址,可以通过编辑网络配置文件,修改IP地址及其网关。(建议修改IP地址时要查看windows的网络连接情况,查看详细信息,了解IP地址所在的网段。因为仅主机模式下,虚拟机是与Vmnet1连接,桥接模式最后药通过路由器与外部网络连接,所以也需要查看路由器的IP地址)郑重声明配置的IP地址不要与其他IP地址出现冲突,特别是网关地址!!!
进入网络配置文件,然后查看配置文件名称,编辑配置文件
- cd /etc/sysconfig/network-scripts/
- ls
- vim ifcfg-ens33
左图为防火墙LAN口网络配置信息,需要注意,LAN口的地址和堡垒机以及web服务器是同一个网段,并且LAN口是此网段中的网关。
左图为防火墙WAN口的网络配置信息,需要注意,WAN口的IP地址是本次实验中需要用到的DNAT技术的地址,同时也是实验中web服务器内网的公共IP地址,网关就是路由器地址
同理将web服务器以及堡垒机的IP地址配好就行,只要注意IP地址不要冲突,同时在同一网段中,网关地址为防火墙LAN口的IP地址
最后配置好IP地址后一定要重启网络服务
service network restart
通过hostnamectl修改主机名
hostnamectl set-hostname newhostname
禁用 SELinux 服务:
检查当前 SELinux 状态: 在终端中运行以下命令来检查当前 SELinux 的状态:
- sestatus
- 或者
- getenforce
临时禁用 SELinux: 如果 SELinux 当前处于启用状态,您可以使用以下命令临时禁用它,之后还可以通过getenforce查看状态:
setenforce 0
永久禁用 SELinux: 若要永久禁用 SELinux,编辑/etc/selinux/config
文件,将SELINUX=enforcing
改为SELINUX=disabled
:
vim /etc/selinux/config
重启系统: 为了使 SELinux 禁用生效,最好重新启动系统。
禁用firewalld服务
service firewalld stop
可以通过xshell连接防火墙,web服务器和堡垒机,方便接下里的实验。
1.在防火墙上编写脚本实现SNAT和DNAT功能,开启路由功能。
- cd /nat
- vim snat_dnat.sh
- #!/bin/bash
- #关闭防火墙
- service firewalld stop
- #开启路由功能 1表示开启路由功能 0表示禁用路由功能
- echo 1 >/proc/sys/net/ipv4/ip_forward
- #清楚原来iptables相关表里的规则
- iptables -F
- iptables -t nat -F
- #添加snat策略
- ##iptables -t nat -A POSTROUTING -s 192.168.110.0/24 -o ens37 -j SNAT --to-source 192.168.1.54
- iptables -t nat -A POSTROUTING -s 192.168.110.0/24 -o ens37 -j MASQUERADE
- #添加DNAT策略
- iptables -t nat -A PREROUTING -d 192.168.1.54 -p tcp --dport 80 -i ens37 -j DNAT --to-destination 192.168.110.2
- #发布堡垒机
- iptables -t nat -A PREROUTING -d 192.168.1.54 -p tcp --dport 2288 -i ens37 -j DNAT --to-destination 192.168.110.99:2299
启动脚本刷新规则链,可以通过iptables查看规则链信息
iptables -t nat -L -n
2.设置开机启动
直接设置计划任务,使用 crontab -e 命令编辑当前用户的 crontab 文件,添加以下行来在系统启动时执行脚本(假设脚本位于/path/to/myscript.sh,一定要用绝对路径!!!):
@reboot /bin/bash /path/to/myscript.sh
保存并退出 crontab。
修改端口号,禁用root用户登录。(如果需要实验更加真实,可以把防火墙也禁用root用户登录,但是xshell会断掉,因为xshell登录过去选的是root,不过要是修改的话,可以在防火墙上新建一个新用户并配好密码,xshell通过用户登录过去即可,不过博主未进行此操作,需要的话可以自行根据堡垒机的禁用操作顺序去禁用防火墙的root用户登录及端口号)
vim /etc/ssh/sshd_config
修改完后,xshell会断掉,不过不用担心,可以在虚拟机中配置一个普通用户来登录,同时这个普通用户也是登录堡垒机的一个授权用户!
先修改allow及iptables中的白名单
vim /etc/hosts.allow
192.168.110.1是为了不和我的windows断了连接
再修改deny及iptables中的黑名单
因为tcp-wrappers先看allow文件再看deny文件,所以除了指定的IP地址可以连接以外,其他都被拒绝,从而满足了只有堡垒机的IP地址可以访问ssh服务,及访问内网里的资源
防火墙,堡垒机和web服务器都需要刷新一下ssh服务
service sshd restart
可以通过查看netstat-网络连接状态,查看是否连接上了sshd服务
netstat -anplut |egrep "sshd"
可以配置第四台设备,或者就用防火墙来模拟外网没有得到web服务器许可的用户登录访问web服务,查看实验是否成功
博主是通过防火墙去直接登录访问web服务器,明显连接失败
最后通过堡垒机连接web服务
1.首先通过xshell作为远程登录的设备
注意!!!主机号是防火墙的WAN口地址,不要直接填写堡垒机的,防火墙会通过DNAT技术将目的地址为192.168.1.54的数据的IP地址修改为堡垒机的IP地址192.168.110.99,端口2288是再防火墙编写脚本的时候自定义的。千万要注意不是直接连接堡垒机,而是通过DNAT技术跳到堡垒机,在通过堡垒机去访问web服务
用户登录不要用root,因为root用户已经被禁止了,可以使用新建的用户去登录
ssh root@ip地址
登陆成功,实验成功
实验中需要注意:
1.如果配完IP地址以后,一直掉线,可能是IP地址冲突了,可以通过另外一台正常的设备去arping一下,查看具体情况,但是要注意IP地址配置一定要符合规定
2.如果加固ssh服务的时候,重启失败可能是因为SElinux没有关闭,可以重新检查关闭SElinux
3.如果堡垒机连不上,可能是sshd服务没有开启成功,或者是firewalld没有关闭,iptables规则链不正确,通过查看iptables规则链情况和防火墙开启DNAT和SNAT服务的脚本,注意端口和协议一定不要出错
4.此实验未设置免密登录,存在一定的缺陷,所以仅供参考,多多指教
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。