堡垒机和防火墙综合实验

什么是跳板机?什么是堡垒机?

跳板机和堡垒机其实就是内部的一台服务器,允许外面的机器可以ssh或者web连接进来,然后通过堡垒机或者跳板机再去访问内部的其他的服务器,而且其他的服务器也做上了安全上的限制,只允许跳板机或者堡垒机可以访问,这样做的目的是为了保护内网的服务器的安全。

JumpServer是一个非常好的堡垒机软件,可以帮助企业以更安全的方式管控和登录各种类型的资产,同时也支持事前授权、事中监察、事后审计,满足等保合规要求。

堡垒机实验的步骤:

准备机器环境:三台centos7.9的虚拟机(防火墙服务器、堡垒机、web服务器),2G内存/1核cpu/20Gc磁盘 、iptables、tcp wrappers、httpd、ssh

1.1给防火墙服务器和web服务器、堡垒机配置好ip地址和设置好主机名,内网使用hostonly网卡类型,防火墙的外网卡使用桥接类型

增加一个网卡用作LAN口

关闭firewalld和selinux

永久关闭selinux

1.2配置堡垒机和web服务器的ip地址、主机名、关闭selinux

修改主机名

配置ip地址

刷新网络服务

关闭防火墙同上

1.3配置web服务器ip地址、主机名、关闭防火墙

刷新网络服务同上

关闭防火墙同上

2.在防火墙服务器上配置SNAT和DNAT功能

写实现snat和dnat的脚本 snat_dnat.sh

查看脚本执行的策略

防火强服务器上没有相关的进程去监听9988和80、443端口,防火墙服务器只是检查,然后进行DNAT转发

加固防火墙服务器的ssh服务,修改端口号5566,禁用root用户登录,新建一个专门用户登录防火墙ssh服务的用户fwuser,并设置密码Sctl@123456

Port 5566

PermitRootLogin no

然后刷新ssh服务

开启路由功能

临时开启路由功能

永久开启路由功能

添加下面的配置

让linux内核加载上面的配置:sysctl -p

后面再连接防火墙服务器,请使用用户fwuser,密码是Sctl@123456,连接的端口是5566

设置snat.dnat.sh开机启动

添加bash snat.dnat.sh

授予文件可执行权限

3.加固堡垒机上的ssh服务,启用防火墙功能和web服务器建立免密通道

3.1加固堡垒机上的ssh服务

 

Port 8899

PermitRootLogin no

新建一个普通用户,用于ssh的远程登录

刷新ssh服务

3.2启用防火墙功能,只开放8899端口

设置防火墙的开机启动

3.3和web服务器建立免密通道

生成密钥对

[root@jumpserver ~]# cd /root/.ssh/

[root@jumpserver .ssh]# ls

id_rsa  id_rsa.pub

[root@jumpserver .ssh]#

上传公钥到web服务器

[root@jumpserver .ssh]# ssh-copy-id  -i   id_rsa.pub   root@192.168.5.80

/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "id_rsa.pub"

The authenticity of host '192.168.5.80 (192.168.5.80)' can't be established.

ECDSA key fingerprint is SHA256:CE23O23CKzYi8umeR673VuPVdXQfUL5ytKAYDC81S/4.

ECDSA key fingerprint is MD5:78:ec:59:3c:d2:c3:b8:1f:8f:c1:a4:c1:92:93:f6:a6.

Are you sure you want to continue connecting (yes/no)? yes

/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed

/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys

root@192.168.5.80's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@192.168.5.80'"

and check to make sure that only the key(s) you wanted were added.

[root@jumpserver .ssh]#

测试堡垒机和web服务器之间的免密通道是否创建成功

[root@jumpserver iptables]# ssh   'root@192.168.5.80'

Last login: Tue Dec 19 14:38:50 2023 from 192.168.5.1

[root@web-server ~]#

 4.在web服务器上安装web服务,配置tcp wrappers,ssh服务的加固

    4.1安装web服务

[root@web-server ~]# yum  install  httpd -

启动httpd服务

[root@web-server ~]# service  httpd  restart

Redirecting to /bin/systemctl restart httpd.service

[root@web-server ~]#

[root@web-server ~]# ps aux|grep httpd

root       1662  0.1  0.2 230444  5216 ?        Ss   16:23   0:00 /usr/sbin/httpd -DFOREGROUND

apache     1663  0.0  0.1 230444  2992 ?        S    16:24   0:00 /usr/sbin/httpd -DFOREGROUND

apache     1664  0.0  0.1 230444  2992 ?        S    16:24   0:00 /usr/sbin/httpd -DFOREGROUND

apache     1665  0.0  0.1 230444  2992 ?        S    16:24   0:00 /usr/sbin/httpd -DFOREGROUND

apache     1666  0.0  0.1 230444  2992 ?        S    16:24   0:00 /usr/sbin/httpd -DFOREGROUND

apache     1667  0.0  0.1 230444  2992 ?        S    16:24   0:00 /usr/sbin/httpd -DFOREGROUND

root       1670  0.0  0.0 112824   980 pts/0    R+   16:24   0:00 grep --color=auto httpd

查看端口

[root@web-server ~]# ss -anplut|grep httpd

tcp    LISTEN     0      128    [::]:80                 [::]:*                   users:(("httpd",pid=1667,fd=4),("httpd",pid=1666,fd=4),("httpd",pid=1665,fd=4),("httpd",pid=1664,fd=4),("httpd",pid=1663,fd=4),("httpd",pid=1662,fd=4))

[root@web-server ~]#

在windows机器上进行测试,访问web服务

配置tcp wrappers

[root@web-server ~]# vim   /etc/hosts.allow

sshd:192.168.5.99

[root@web-server ~]# vim   /etc/hosts.deny

sshd:ALL

在防火墙服务器上测试是否可以ssh到web服务器

[root@firewall nat]# ssh   root@192.168.5.80

ssh_exchange_identification: read: Connection reset by peer

[root@firewall nat]#

连接失败,说明tcp wrappers设置成功

4.3  ssh服务的加固,修改端口号为6677,禁止密码登录

[root@web-server ~]# vim /etc/ssh/sshd_config

Port 6677

PasswordAuthentication no

刷新服务

[root@web-server ~]# service sshd restart

Redirecting to /bin/systemctl restart sshd.service

[root@web-server ~]#

5. 验证DNAT功能和堡垒机的功能

5.1验证DNAT功能,发布的web服务器和堡垒机

需要在windows的机器上验证

访问防火墙服务器的WAN口的ip 192.168.1.113的80端口,看能否访问内网的web服务器

以上效果说明DNAT功能发布web服务器成功

验证堡垒机的功能,能否通过堡垒机ssh登录web服务器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值