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コマンドの知識ポイントのまとめ
1. MySQL にログインし、SHOW VARIABLES LIKE 'character...
1. リテラルとローカル変数へのアクセスは最も高速ですが、配列要素とオブジェクト メンバーへのアクセ...
Tomcatをインストールする前に、まずJDK環境をインストールしてくださいLinux サーバー上で...
プロジェクトでは、何らかの不可逆的な理由により、テーブルに保存されたデータがページの表示要件を満たす...
質問前回のクロスドメイン リソース共有に関する記事では、ドメイン間で Cookie を送信する場合、...
今日も私のページが文字化けしていたので、インターネットで関連する問題を検索しました。この方法はかなり...
1. Dockerをインストールします。参考URL: Docker 入門インストールチュートリアル ...
まず、メモリ解放の例を見てみましょう。 <スクリプト言語="JavaScript&q...
参考までに、vueを使用してクリックフリップエフェクトを簡単に実装します。具体的な内容は次のとおりで...
MySQL による CPU 負荷の上昇今日の午後、MySQL によってサーバーの負荷が高くなる問題を...
問題を見つける今日、Docker コンテナ内のファイルを変更しようとしたところ、コンテナ内に vim...
目次1. EclipseがTomcatを構成する2. Tomcat の無効なポートの解決方法方法1:...
前提条件: Percona 5.6 バージョン、トランザクション分離レベルは RR mysql>...
この関数の効果はvue的provide/injectに似ています。 contextを通じて反応できる...
この記事では、簡単なポップアップウィンドウ効果を実現するためのjQueryの具体的なコードを参考まで...