天天看點

如何從開發環境直連線上(IPTables)

假如你在生産環境有一個内網可通路的端口,let’s say: 80,而且有生産機器的應用管理者權限。在這樣的情況下,其實是可以做到從内網直接連接配接到線上環境任意端口的。連結ssh,連結資料庫都不在話下。當然,安全性和便利性永遠是不可調和的一對沖突。為了避免有人用它來幹壞事,我們也至少應當對這種方式有所了解。

假設有生産環境機器10.x.x.1。可在内網通過vip:123.123.123.1通路80端口。

壞蛋擁有線上環境sudo權限,現在希望在生産環境中直接通路任意端口。

root權限或者sudo執行以下指令……

<code>sudo iptables -t nat -a prerouting -p tcp --dport 80 -j redirect --to-port 22</code>

此指令将創立從80端口到22端口的路由轉發。

<code># 在任意一台辦公網的機器</code>

<code>ssh [email protected] -p 80</code>

<code># 清除路由規則</code>

<code>sudo iptables -t nat -f</code>

<code></code>

<code># 将80端口重定向至5432:postgresql</code>

<code>sudo iptables -t nat -a prerouting -p tcp --dport 80 -j redirect --to-port 5432</code>

<code># 将80端口重定向至6379:redis</code>

<code>sudo iptables -t nat -a prerouting -p tcp --dport 80 -j redirect --to-port 6379</code>

臨時的遠端調試,ide開發需求可以短時間内使用這種方法。

但一定要記住,請一定隻轉發至有應用權限驗證的端口。

用完之後必須及時恢複,不然安全會來找你喝茶的。

另外實驗請限于内網端口,不要作死在對公網開放的端口上使用。

上一篇: JSON