国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ システムチュートリアル Linux SFTPポート転送:抑制された機(jī)能を有効にします

SFTPポート転送:抑制された機(jī)能を有効にします

Mar 17, 2025 am 09:43 AM

SFTPポート転送:抑制された機(jī)能を有効にします

導(dǎo)入

SSHプロトコルは、3つの主要なカテゴリのリモートサーバーアクティビティをサポートしています。a)コマンド実行(ログインシェルを含む)、b)ネットワーク転送と操作、およびc)ファイル転送。

OpenSSHメンテナーは、SFTPとSCPにはポート転送の法的目的がないことを決定しました(-Lおよび-Rオプションを介して)。これらのユーティリティを使用したファイル転送中、これらの機(jī)能を明示的に無(wú)効にするフラグは、Child SSH実行可能ファイルに無(wú)條件に渡されます。

一部のユーザーは、実際にこれらの機(jī)能を必要とする場(chǎng)合があります。明らかなサブセットは、この機(jī)能がパブリックSFTPサーバーで明示的に無(wú)効になっていることを確認(rèn)することをタスクである侵入テスターです。

SFTPバイナリ自體の文字列を変更するか、コマンドラインを簡(jiǎn)単に編集できるシェルをリダイレクトすることにより、これらの抑制された機(jī)能を有効にする2つの手法を次に示します。プラットフォームの機(jī)能に応じて、この目標(biāo)を達(dá)成するためにいずれかのテクノロジーが必要になる場(chǎng)合があります。

詳細(xì)を抑制します

まず、関心のある実行プロセスを見(jiàn)つけることが重要です。以下のシェル関數(shù)は、シェルパターンに一致するPIDを表示します(これは正規(guī)表現(xiàn)ではないことに注意してください)。これは、Debian Dash(および他のほとんどの一般的なシェル)の下で実行され、BSDのPSオプションに依存しています。

 <code>pps () { local a= b= c= IFS=$'\r'; ps ax | while read -ra do [ "$b" ] || c=1; for b; do case "$a" in *"$b"*) c=1;; esac; done; [ "$c" ] && printf '%s\n' "$a" && c=; done; }</code>

従來(lái)のSFTPセッションを開(kāi)始して、それに関連するプロセスを確認(rèn)してください。

 <code>$ id uid=1001(aturing) gid=1001(aturing) groups=1001(aturing)... $ sftp aturing@sftp.victimandum.com aturing@sftp.victimandum.com's password: Connected to sftp.victimandum.com. sftp></code>

上記のローカルU(xiǎn)NIXユーザーは、リモートSFTPサーバーで同じユーザー名アカウントを持っていると想定しています。

セッションが実行された後、ユーザー名のローカルプロセス検索でSFTPによって生成された子SSHプロセスが表示されます。

 <code>$ pps aturing PID TTY STAT TIME COMMAND 9666 pts/0 S 0:00 sftp aturing@sftp.victimandum.com 9667 pts/0 S 0:00 /usr/bin/ssh -oForwardX11 no -oPermitLocalCommand no -oClearAllForwardings yes -oForwardAgent no -l aturing -s -- sftp.victimandum.com sftp</code>

clearallforwardings yes parameter上記のパラメーターは、それを破るための行動(dòng)を取ることなく、転送の試みを抑制します。

-lおよび-rポート転送フラグは、SFTPコマンドラインの有効なオプションとして存在しませんが、-sオプションを使用してそれらを明示的にトリガーしてカスタムSSHハンドラー、この場(chǎng)合はメールサーバーを指定できます。

 <code>$ cat portssh #!/bin/sh exec ssh -L2525:smtp.victimandum.com:25 "$@"</code>

転送抑制が整っていない場(chǎng)合、このSFTP呼び出しは転送接続を確立するのに十分です。

 <code>$ sftp -S ./portssh -oClearAllForwardings\ no aturing@sftp.victimandum.com aturing@sftp.victimandum.com's password: Connected to sftp.victimandum.com. sftp></code>

これで、子供のSSHプロセスで転送の試みを見(jiàn)ることができます。

 <code>$ pps aturing PID TTY STAT TIME COMMAND 9897 pts/0 S 0:00 sftp -S ./portssh -oClearAllForwardings no aturing@sftp.victimandum.com 9898 pts/0 S 0:00 ssh -L2525:smtp.victimandum.com:25 -oForwardX11 no -oPermitLocalCommand no -oClearAllForwardings yes -o ClearAllForwardings no -oForwardAgent no -l aturing -s -- sftp.victimandum.com sftp</code>

ただし、ローカル転送ポートを介してリモートメールサーバーに連絡(luò)しようとすると、明示的なオーバーライドのために失敗しました。

 <code>$ nc localhost 2525 $</code>

この無(wú)條件の抑制は、ソースコードで表示されます。

 <code>$ sed -n /X11/,/Forwardings/p openssh-8.7p1/sftp.c addargs(&args, "-oForwardX11 no"); addargs(&args, "-oPermitLocalCommand no"); addargs(&args, "-oClearAllForwardings yes");</code>

これらの靜的文字列は、コンパイルされたバイナリファイルにも表示されます。

 <code>$ strings /usr/bin/sftp | grep [-]o[CFP] -oForwardX11 no -oPermitLocalCommand no -oClearAllForwardings yes -oForwardAgent no -oPort %d</code>

最後に、文書(shū)は、この抑制は意図的であり、合理的な理由を示していることを明確に示しています。

 <code>$ man ssh_config | sed -n /ClearAllForwardings/,/default/p ClearAllForwardings Specifies that all local, remote, and dynamic port forwardings specified in the configuration files or on the command line be cleared. This option is primarily useful when used from the ssh(1) command line to clear port forwardings set in configura‐ tion files, and is automatically set by scp(1) and sftp(1). The argument must be yes or no (the default).</code>

コンパイルされた文字列を変更します

デフォルトのClearAllForwardings Yes Configurationを無(wú)効にしたい場(chǎng)合は、SEDを使用してSFTPバイナリの文字列を直接編集することです(プラットフォームのSEDがバイナリセーフであると仮定):

 <code>$ sed 's/AllForwardings yes/AllForwardings no /' sftp.noclearforward</code>

この直接的な変更は、新しいバイナリファイルをコンパイルするよりもはるかに簡(jiǎn)単です。

文字列が正常に変更されたことを確認(rèn)できます。

 <code>$ strings ./sftp.noclearforward | grep [-]o[CFP] -oForwardX11 no -oPermitLocalCommand no -oClearAllForwardings no -oForwardAgent no -oPort %d</code>

修正されたSFTPのコンテンツとチェックサムは異なりますが、既存のLinux BuildID SHA1は同じままです(ただし、編集されたSFTPを使用する場(chǎng)合はサポートチケットを送信しません):

 <code>$ file /usr/bin/sftp ./sftp.noclearforward /usr/bin/sftp: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d7e77e24d5fac0fdc89e62a4c9c656091f2c4a33, for GNU/Linux 3.2.0, stripped ./sftp.noclearforward: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d7e77e24d5fac0fdc89e62a4c9c656091f2c4a33, for GNU/Linux 3.2.0, stripped $ sha1sum /usr/bin/sftp ./sftp.noclearforward d8bdaf0b4642b9c324f9c2e0aeee2d9578fbe383 /usr/bin/sftp b12dda8ecfd7bd2847919b5531aea7c03364c123 ./sftp.noclearforward $ sha256sum /usr/bin/sftp ./sftp.noclearforward 986eecdfc654c9b3ff3fd0dce59690d47cf56be96a4b98a04a3682aef95d3f52 /usr/bin/sftp c8f99ce33fc129250c11dc6dbb8a01112e01124e470a92d0acefb955fd17d670 ./sftp.noclearforward</code>

変更されたSFTPバイナリを呼び出して、ポート転送を有効にすることができます。

 <code>$ chmod 755 sftp.noclearforward $ ./sftp.noclearforward -S ./portssh aturing@sftp.victimandum.com aturing@sftp.victimandum.com's password: Connected to sftp.victimandum.com. sftp></code>

これで、子プロセスで変更された設(shè)定を確認(rèn)できます。

 <code>$ pps aturing PID TTY STAT TIME COMMAND 9991 pts/0 S 0:00 ./sftp.noclearforward -S ./portssh aturing@sftp.victimandum.com 9992 pts/0 S 0:00 ssh -L2525:smtp.victimandum.com:25 -oForwardX11 no -oPermitLocalCommand no -oClearAllForwardings no -oForwardAgent no -l aturing -s -- sftp.victimandum.com sftp</code>

この機(jī)能は有効になり、リモートサーバーで実行され、別のシェルで接続を確認(rèn)できます。

 <code>$ nc localhost 2525 220 smtp.victimandum.com Microsoft ESMTP MAIL Service, Version: 1.2.3456.78901 ready at Sun, 1 Jan 2023 01:23:45 -0100 ^C</code>

サーバーで転送が無(wú)効になっている場(chǎng)合、接続が試行されたときにこのステータスを示す通知を受け取ります。

 <code>channel 3: open failed: administratively prohibited: open failed</code>

信頼されていないアカウントを割り當(dāng)てたSFTP管理者は、サーバー構(gòu)成が転送とコマンドの実行を明示的に無(wú)効にすることを確認(rèn)する可能性が高いはずです。

Posixシェルを超えて

Dash and Posix標(biāo)準(zhǔn)はセットを提供しますが、コマンドラインパラメーターをリセットする方法として、より高度な機(jī)能がBashとKSH93で提供されています。

 <code>$ cat ynargs #!/bin/bash echo "${@//yes/no}"</code>

クイックテストにより、編集が成功することが確認(rèn)されます。

 <code>$ ./ynargs -oForwardX11 no -oPermitLocalCommand yes -oClearAllForwardings yes -oForwardAgent no -oForwardX11 no -oPermitLocalCommand no -oClearAllForwardings no -oForwardAgent no</code>

上記の$ {@// .../...}は有効なPOSIXではなく、PDKSHから派生したダッシュまたはシェル(MKSH、OKSH)で実行できないことに注意してください。多くのプラットフォームは、この機(jī)能を使用してシェルをバンドルしません(AndroidやOpenBSDなど、制限されたプラットフォームの場(chǎng)合、バイナリ編集手法は代替シェルをインストールするよりも直接的です。

強(qiáng)力なシェルでこの機(jī)能を活用するために、ディレクトリを作成し、その中にSSHラッパーを作成して問(wèn)題設(shè)定をクリアします。

 <code>$ cat ~/switcharoo/ssh #!/bin/bash exec /usr/bin/ssh "${@//yes/no}"</code>

次に、システムSSHの前にディレクトリを$パスで設(shè)定します。

 <code>$ export PATH=~/switcharoo:$PATH $ which ssh ~/switcharoo/ssh</code>

次に、この変更された環(huán)境でシステムSFTPを呼び出します。

 <code>$ /usr/bin/sftp -S ./portssh aturing@sftp.victimandum.com aturing@sftp.victimandum.com's password: Connected to sftp.victimandum.com. sftp></code>

シェルが問(wèn)題のパラメーターをリセットすることを観察しました。

 <code>$ pps aturing PID TTY STAT TIME COMMAND 10058 pts/0 S 0:00 /usr/bin/sftp -S ./portssh aturing@sftp.victimandum.com 10059 pts/0 S 0:00 /usr/bin/ssh -L2525:smtp.victimandum.com:25 -oForwardX11 no -oPermitLocalCommand no -oClearAllForwardings no -oForwardAgent no -l aturing -s -- sftp.victimandum.com sftp</code>

転送ポートへのローカル接続を再確認(rèn)しました。

 <code>$ nc localhost 2525 220 smtp.victimandum.com Microsoft ESMTP MAIL Service, Version: 1.2.3456.78901 ready at Sun, 1 Jan 2023 01:23:45 -0100 ^C</code>

最終的なデモとして、次のスクリプトを使用して完全なSMTP交換を?qū)g行できます。

 <code>$ cat awkmail #!/bin/gawk -f BEGIN { smtp="/inet/tcp/0/localhost/2525"; ORS="\r\n"; r=ARGV[1]; s=ARGV[2]; sbj=ARGV[3]; # /bin/awkmail to from subj 0) print |& smtp print "." |& smtp; smtp |& getline j; print j print "quit" |& smtp; smtp |& getline j; print j close(smtp) } # /inet/protocol/local-port/remote-host/remote-port</code>

このスクリプトを使用して、ターゲットSMTPサーバーがアクセスできるリモートの受信者に獨(dú)自のメールを送信できます。

 <code>$ ./awkmail jatanasoff@victimandum.com aturning@localhost awkmail Queued mail for delivery</code>

高度に制御された環(huán)境では、これらの機(jī)能の存在は最適ではありません。

サーバーの制限

SFTP管理者は、ユーザーがサーバーの助けを借りて任意のTCP接続を行うことを許可しないことを理解できます。このアクティビティを制限することは、慎重なセキュリティ設(shè)定です。

一般的な制限構(gòu)成は、信頼できないSFTPユーザーをグループに追加し、SSHD_CONFIGでこのグループのアクティビティを制約することです。

 <code>Match Group sftponly ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no</code>

この推奨される構(gòu)成は、通常、すべての転送の試みを防ぐのに十分です。

disableforwardingを追加することをお?jiǎng)幛幛筏蓼梗?/p>

 <code>$ man sshd_config | sed -n /DisableForwarding/,/configurations/p DisableForwarding Disables all forwarding features, including X11, ssh-agent(1), TCP and StreamLocal. This option overrides all other forwarding- related options and may simplify restricted configurations.</code>

これは、練習(xí)のために管理者に任されています。

結(jié)論は

SFTPクライアントの設(shè)定が厳しすぎると、サーバー管理の失明がある程度つながる可能性があります。 SFTPクライアントの制限は、さまざまな方法で簡(jiǎn)単に回避できます。

SFTPサーバー管理者の場(chǎng)合、それらが制限されている場(chǎng)所と制限されている場(chǎng)所を知ることが重要であり、任意のTCP制御からサーバーを保護(hù)するためにクライアントに依存しないことが重要です。クライアントはユーザーによって制御され、構(gòu)成が間違っている場(chǎng)合、サーバーにTCPコマンドを?qū)g裝することは困難です。ユーザーssh_configでの広範(fàn)な転送なしでテストを行う必要があります。ドキュメントの警告に注意してください。

この機(jī)能には考えられる法的目的があるかもしれませんが、虐待はまれです。

これらの問(wèn)題は、サイトExecのバリエーションが數(shù)十年にわたってPlantext FTPに存在しているため、新しいものではありません。 SFTPは、プレーンテキストファイル転送の単純な代替手段ではなく、使いやすい機(jī)能も多くあります。

管理者は、これらの方法を使用して、不意を突かれないようにサーバーのセキュリティを検証できることを願(yuàn)っています。

以上がSFTPポート転送:抑制された機(jī)能を有効にしますの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫(xiě)真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫(xiě)真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類(lèi)リムーバー

Video Face Swap

Video Face Swap

完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

RHEL、ROCKY、ALMALINUXにLXC(Linuxコンテナ)をインストールします RHEL、ROCKY、ALMALINUXにLXC(Linuxコンテナ)をインストールします Jul 05, 2025 am 09:25 AM

LXDは、コンテナ內(nèi)または仮想マシンとして実行されるLinuxシステムに沒(méi)入型を提供する次世代コンテナおよび仮想マシンマネージャーとして説明されています。 サポートを備えた膨大な數(shù)のLinuxディストリビューションの畫(huà)像を提供します

LinuxマシンでのDNSの問(wèn)題のトラブルシューティング方法は? LinuxマシンでのDNSの問(wèn)題のトラブルシューティング方法は? Jul 07, 2025 am 12:35 AM

DNSの問(wèn)題に遭遇したときに、最初に/etc/resolv.confファイルを確認(rèn)して、正しい名前サーバーが構(gòu)成されているかどうかを確認(rèn)します。第二に、テストのために8.8.8.8などの公共DNSを手動(dòng)で追加できます。次に、NSLookupとDIGコマンドを使用して、DNS解像度が正常かどうかを確認(rèn)します。これらのツールがインストールされていない場(chǎng)合は、最初にdnsutilsまたはbind-utilsパッケージをインストールできます。次に、SystemD-Resolved Service Status and Configuration File /etc/systemd/Resolved.confを確認(rèn)し、必要に応じてDNSとFallBackDNSを設(shè)定してサービスを再起動(dòng)します。最後に、ネットワークインターフェイスのステータスとファイアウォールルールを確認(rèn)し、ポート53がそうでないことを確認(rèn)してください

メモリの使用量が遅い、または高いサーバーをどのようにデバッグしますか? メモリの使用量が遅い、または高いサーバーをどのようにデバッグしますか? Jul 06, 2025 am 12:02 AM

サーバーがゆっくりと実行されているか、メモリの使用量が高すぎることがわかった場(chǎng)合は、操作する前に原因を確認(rèn)する必要があります。まず、システムリソースの使用量を確認(rèn)し、TOP、HTOP、Free-H、IOSTAT、SS-ANTP、およびその他のコマンドを使用して、CPU、メモリ、ディスクI/O、ネットワーク接続を確認(rèn)する必要があります。第二に、特定のプロセスの問(wèn)題を分析し、PS、JSTack、Straceなどのツールを介して高占有プロセスの動(dòng)作を追跡します。次に、ログと監(jiān)視データを確認(rèn)し、OOMレコード、例外リクエスト、スロークエリ、その他の手がかりを表示します。最後に、ターゲット処理は、メモリリーク、接続プールの使い果たし、キャッシュ障害ストーム、タイミングタスクの競(jìng)合などの一般的な理由に基づいて実行され、コードロジックの最適化、タイムアウト再試行メカニズムの設(shè)定、現(xiàn)在の制限ヒューズの追加、定期的に圧力測(cè)定と評(píng)価リソースがあります。

ubuntuにリモートLinux/Windowsアクセス用のワカモレをインストールします ubuntuにリモートLinux/Windowsアクセス用のワカモレをインストールします Jul 08, 2025 am 09:58 AM

システム管理者として、WindowsとLinuxが共存する環(huán)境で(今日または將來(lái)的に)自分自身(今日または將來(lái))が働いていることに気付くかもしれません。 一部の大企業(yè)は、Windowsボックスで生産サービスの一部を好む(または必要な)秘密ではありません。

Braseroを使用してLinuxでCD/DVDを燃やす方法 Braseroを使用してLinuxでCD/DVDを燃やす方法 Jul 05, 2025 am 09:26 AM

率直に言って、CD/DVDドライブを備えたPCを最後に使用したときのことを思い出せません。これは、光學(xué)ディスクがUSBドライブに置き換えられ、より多くのストレージを提供する他の小規(guī)模でコンパクトなストレージメディアに置き換えられている進(jìn)化し続けるハイテク業(yè)界のおかげです

Linuxで私のプライベートおよびパブリックIPアドレスを見(jiàn)つける方法は? Linuxで私のプライベートおよびパブリックIPアドレスを見(jiàn)つける方法は? Jul 09, 2025 am 12:37 AM

Linux Systemsでは、1。IPAまたはHOSTNAME-Iコマンドを使用してプライベートIPを表示します。 2。CurlifConfig.meまたはcurlipinfo.io/ipを使用して、パブリックIPを取得します。 3.デスクトップバージョンは、システム設(shè)定を介してプライベートIPを表示でき、ブラウザは特定のWebサイトにアクセスしてパブリックIPを表示できます。 4.一般的なコマンドは、クイックコールのためにエイリアスとして設(shè)定できます。これらの方法はシンプルで実用的で、さまざまなシナリオでのIP表示のニーズに適しています。

Rocky Linux 8にnodejs 14/16とnpmをインストールする方法 Rocky Linux 8にnodejs 14/16とnpmをインストールする方法 Jul 13, 2025 am 09:09 AM

ChromeのV8エンジンの上に構(gòu)築されたNode.jsは、スケーラブルなアプリケーションとバックエンドAPIを構(gòu)築するために作成されたオープンソースのイベント駆動(dòng)型JavaScriptランタイム環(huán)境です。 nodejsは、非ブロッキングI/Oモデルのために軽量で効率的であることが知られています。

Rhel、Rocky、Almalinuxでmysqlレプリケーションをセットアップする方法 Rhel、Rocky、Almalinuxでmysqlレプリケーションをセットアップする方法 Jul 05, 2025 am 09:27 AM

データレプリケーションは、データの可用性を向上させ、アプリケーションの信頼性とパフォーマンスを向上させるために、複數(shù)のサーバーでデータをコピーするプロセスです。 MySQLレプリケーションでは、マスターサーバーからOTまでのデータベースからデータがコピーされます

See all articles