如何从开发环境直连线上(IPTables)

简介:

假如你在生产环境有一个内网可访问的端口,Let’s say: 80,而且有生产机器的应用管理员权限。在这样的情况下,其实是可以做到从内网直接连接到线上环境任意端口的。链接SSH,链接数据库都不在话下。当然,安全性和便利性永远是不可调和的一对矛盾。为了避免有人用它来干坏事,我们也至少应当对这种方式有所了解。

x00 环境描述

假设有生产环境机器10.x.x.1。可在内网通过VIP:123.123.123.1访问80端口。
坏蛋拥有线上环境sudo权限,现在希望在生产环境中直接访问任意端口。

x01 访问SSH

root权限或者sudo执行以下命令……

 
  1. sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 22

此命令将创立从80端口到22端口的路由转发。

 
  1. # 在任意一台办公网的机器
  2. ssh xxx@123.123.123.1 -p 80

x02 访问数据库

 
  1. # 清除路由规则
  2. sudo iptables -t nat -F
  3. # 将80端口重定向至5432:PostgreSQL
  4. sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 5432
  5. # 将80端口重定向至6379:Redis
  6. sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 6379

x03 结语

临时的远程调试,IDE开发需求可以短时间内使用这种方法。
但一定要记住,请一定只转发至有应用权限验证的端口。
用完之后必须及时恢复,不然安全会来找你喝茶的。
另外实验请限于内网端口,不要作死在对公网开放的端口上使用。

目录
相关文章
|
5月前
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
261 73
|
9月前
|
存储 网络协议 网络安全
iptables速查
iptables速查
86 0
|
网络协议 文件存储
Iptables详解---扩展模块速成
本篇文章是 Iptables 系列的第二篇,主要介绍Iptables的扩展模块及相关使用旨在帮助大家更好的了解和使用 iptables。 我们知道,httpd服务的默认端口为80,当我们使用curl或者浏览器访问主机时,默认会连接服务端的80端口,假设,我们现在想要使用iptables设置一条规则,拒绝来自192.168.1.100的访问请求,我们就可以拒绝100上的报文能够发往本机的80号端口,这个时候,就需要用到”目标端口”选项。
707 0
Iptables详解---扩展模块速成
|
网络协议 Linux Shell