ssh は私が最も頻繁に使用する 2 つのコマンドライン ツールのうちの 1 つです (もう 1 つは vim です)。 ssh を使用すると、現場に直接出向くことなく、さまざまな問題をリモートで処理できます。 昨今、TeamViewer のハッキングが大きな影響を与えているため、リモートコントロールからのイントラネット侵入を考え、当然 SSH ポート フォワーディングでもイントラネット侵入が実現できると考えました。よく考えてみると、SSH トンネル、つまりポート転送は、実際には、フォワード プロキシ、リバース プロキシ、イントラネット侵入という、よく使われる 3 つのネットワーク機能を実現していることがわかりました。その強力な機能と使い勝手の良さに、私はさらに感銘を受けました。 ssh には 3 つのポート転送モードがあり、この記事では簡単に紹介します。 ローカル転送 ローカル ポート フォワーディングは、ローカル ホスト上のポートのトラフィックをリモート ホスト上の指定されたポートに転送します。コマンドライン構文は、-L [bind_address]:localport:[remote_host]:remote_port です。 「-L」は「local」の頭文字です。同様に、リモート転送の「-R」は「remote」の頭文字、動的転送の「-D」は「dynamic」の頭文字です。覚えやすいですね。 ローカル転送の使用シナリオを説明するために例を見てみましょう。 記事「CentOS 7 インストール GUI インターフェイスとリモート接続」では、vnc サービスのインストールとポート アクセスの有効化について説明します。実際には、公開されている 59xx ポートは、毎日、自動化されたスクリプトによって継続的に攻撃されています。 vnc およびログイン ユーザーが弱いパスワードまたは辞書パスワードを使用すると、ホストのセキュリティが大幅に脅かされます。このような状況で自分を守るにはどうすればいいでしょうか? シンプルで安全な保護方法は、iptables/firewalld を使用してポートの外部アクセスを閉じ、接続が必要なときに ssh トンネルを使用してポートを転送することです。 ssh -L5901:5901 ユーザー名@ホスト このコマンドは、SSH トンネルを介してローカル ポート 5901 をリモート ホストのポート 5901 に転送します。リモートで接続する場合は、localhost または 127.0.0.1 とポート 5901 を入力して、リモート ホストのポート 5901 に接続します。 iptables と ssh のローカル転送により、他人が接続できず、自分だけがアクセスできるという目標を達成できます。 「-L」オプションの「リモート ホスト」は、接続されたマシンを具体的に参照するものではなく (デフォルトは接続されたマシン)、任意のホストである可能性があることに注意してください。たとえば、ローカル マシンのポート 8080 のトラフィックを facebook.com のポート 80 に転送できます。 ssh -L8080:facebook.com:80 ユーザー名@ホスト リモート転送 リモート ポート フォワーディングは、リモート ホスト上のポートをリモート ホスト上の指定されたポートに転送することです。コマンドライン構文は -R [bind_address]:port:[local_host]:local_port です。 リモート転送で最もよく使用される機能は、イントラネットへの侵入です。パブリック IP を持つホストがある場合は、SSH トンネルのリモート転送を利用してイントラネットに侵入し、外部ネットワークからイントラネット リソースにアクセスすることが可能になります。 SSH リモート転送は、デフォルトではリモート ホストのローカル アドレス (127.0.0.1) にのみバインドできることに注意してください。他のホストからの接続を監視する場合は、リモート ホストの SSH 設定を変更し、「GatewayPorts」を「yes」に変更して、SSH を再起動して有効にする必要があります。 リモート ポート 8080 トラフィックをローカル ポート 80web に転送する例: ssh -R0.0.0.0:8080:80 ユーザー名@ホスト リモート転送により、パブリック IP ホストのポート 8080 にアクセスすることは、イントラネット Web ホストのポート 80 にアクセスするのと同じになり、イントラネットへの侵入が実現します。 動的転送 ローカル転送でもリモート転送でも、ローカル ホストとリモート ホストのポートを指定する必要があります。ダイナミック ポート フォワーディングではこの制限がなくなり、ローカル ポートのみがバインドされます。リモート ホストとポートは、開始された要求によって決定されます。動的転送の構文は「-D bind_address:port」です。転送の例は次のとおりです。 ssh -D 8080 ユーザー名@ホスト このコマンドにより、ssh はローカル ポート 8080 をリッスンできるようになります。ポート 8080 を通過するすべてのトラフィックは、ssh トンネルを介してリモート サーバーによって要求され、ブロックされたリソースを取得し、実際の ID を隠すという目的が達成されます。 動的転送は、実際に転送プロキシ機能を実現するため、科学的にインターネットにアクセスするために使用できます。ローカル転送はフォワードプロキシとしても使用できますが、リクエストごとにホストとポートを転送するのは面倒なので、実際には使用されません。 他の
以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: 雨滴効果を実現する JavaScript キャンバス
>>: MySQL ALTERコマンドの知識ポイントのまとめ
この記事では、Webオンラインチャットを実装するためのVueの具体的なコードを参考までに紹介します。...
目次1. キャラクター文法パラメータ索引戻り値2. 連結文法パラメータ文字列2 [, …文字列N]戻...
この記事では、例を使用して MySQL トリガーの簡単な使用方法を説明します。ご参考までに、詳細は以...
タイトルを左に、日付を右に揃えたいのですが、日付の範囲に float:right を直接追加すると、...
序文この記事では、vue に付属している vue-router.js ルーティングを使用してページン...
1. Prometheusテレメトリデータを有効にするデフォルトでは、テレメトリは次のように無効にな...
カーネル 2.6 の時代には、アクセス制御セキュリティ ポリシーのメカニズムを提供するために新しいセ...
Vue foreach配列を記述し、jsで配列をトラバースする方法シナリオVueでAxiosを使用し...
序文基本的なデータ構造として、配列とオブジェクトはさまざまなプログラミング言語で重要な役割を果たしま...
この記事では、jsとjQueryテクノロジーを使用して告白弾幕を実現する方法を紹介します。具体的な内...
1. 基本コンポーネントをインストールするまず、 yumコマンドを実行して、コードpullために必要...
MySQL は、コミュニティ エディション (コミュニティ サーバー) とエンタープライズ エディシ...
<br />英語アドレス: http://developer.yahoo.com/per...
この記事では、ショッピングサイトの商品の拡大鏡効果を実現するためのjsの具体的なコードを紹介します。...
新しいウィンドウが開きます。 利点: ユーザーがリンクをクリックしても、現在閲覧しているコンテンツは...