[Knowledge] SFTP ? FTPS ?
Posted in RiskHedge, knowledge, security on 1 月 17th, 2010 by gnome
2010.02.01 改修
知り合いから相談を受けたのでちょっと・・・
----------
FTP
File Transfer Protocol(ファイル・トランスファー・プロトコル、略称:FTP)
を知らない人はあまり居ないかもしれませんが、そのセキュア転送に関してはIT企業でも混乱している様子ですので・・・
----------
SFTP
SFTPは
SSH File Transfer Protocolの略称で、実はFTPではありません。
例えば、SourceForgeには
Windows用SCP/SFTPクライアント「WinSCP」で安全なファイル転送
最近では、セキュリティ向上のためファイル転送にFTPではなく、SCPやSFTPを推奨しているサイトも多い。
と記述されていますが、ここに大きな陥穽が潜んでいます。
SSHを外部に開くということは、Windows リモートデスクトップを外部に開放するのと同じということを理解していますか?
SFTPは、要するに
SSH -- Secure Shellの仕組みを使ったファイル転送であって、旧
rcpコマンドのセキュア版(別名
scp)です。Portは
TCP/22を使用します。
逆に言えば、SFTP/SCPを使用したいということになれば、DMZからWANにPort22をピアスすることになり、これは
SSH辞書攻撃などに晒されることになります。
もちろん、id_rsa/dsa の鍵+パスフレーズをきちんと管理し、一般のshell modeを許可しない方法で開けるのであれば、セキュリティ的には問題がないレベルですが、往々にしてそうはなっていません。
※SCPの場合、認証鍵の作成の際に no-pty オプションを使用することにより、端末の割り当てを明示的に禁止することが可能・・・・かも
SSHD (8) -- AUTHORIZED_KEYS ファイルの形式(※注1)
また、SSHログインとFTPログインのユーザ情報(Credential)は同じになってしまうため、一部ユーザのためだけに FTP を許可したりすると、そこから SSHで侵入、完全に制御を奪われてしまうというケースが多々あるものと推測されています。
----------
SCPとSFTP 2010.02.01追記
SCP
SSH1でシェルコマンドを使用する(しかない)
SFTP
SSH2のサブシステムとして動作可能
SCPではシェルコマンドを必ず実行しなければならないため実際問題としてはセキュアではないかもしれません。
WinSCPはその名称で SCP しか対応していないと見られがちですが、そうでは無いことを併記しておきます。
参考:
WinSCP : サポートしている転送プロトコル -- 2004.11.03
----------
FTPS (FTP over SSL/TLS) (※TLSは以降省略します)
FTPSは、従来のFTPで送受信するデータを SSLで暗号化するプロトコルで、SSHを使用する SFTP や SCP とは全く別のものです。 制御通信は
Port21を使用し、実際のデータ送受信は、複数のポートをランダムに使用する
PASVモードが一般的です。
FTPSには更に2つのモードがあります。
Explicit
サーバ接続時は非SSLで接続し、ハンドシェイクが完了した後SSL通信に移行
Implicit
最初からクライアントがSSLハンドシェイクを要求する
一見、Implicitのほうがセキュアに思えますが、Implicitの場合は、基本的にサーバ側のプロトコルに完全合致した設定を理解できる FTPS クライアントが必須となります。またTCP/990や989 を使用することもあるため、環境に依存することが多く、大抵すんなりとは動きません。ExplicitでもAUTHハンドシェイク完了後のID/PASS応答はSSLとなるため、どうしてもサーバ情報を秘匿したい場合以外は問題ないと考えています。
尚、PASVでの動作が前提となる場合、PASV用のポートに対してもケアが必要になります(特にNAT越えの場合)
※PORTモード(データ転送 : Port 20) はあまりお奨めしません。
2010.02.01 追記
Explicitモードのことを「明示的なFTPS」と翻訳され、FTPESと表記されることもあります。
Implicitは「暗黙的なFTPS」と翻訳されています。
用語から受ける印象と実際の通信手順に若干のズレがある点に注意してください。
No.6432 explicit, implicitの違い
誤解されているのでしょうか? implicitは、SSLでセッションを張るための仕組みなのでそれ以外有り得ず、選択の余地がありません。
以前はこの部分がネックとなっていたわけですが、逆説的表現を使えば、Port21を塞いでPort990のみを開け、明確にFTPoverSSLのみしか受け入れないほうが良いと考える向きもあるかもしれません。
----------
結論
いずれにせよ、現在FTP で何も考えずにデータ転送をしている環境が大きく変更されることは間違いありません。しかし、インシデントはたった1回で致命傷になります。
今回のGumblar、ガンブラー™の蔓延は、セキュリティを見直す又とないチャンスです。
これを他山の石とし、社内のセキュリティ・ポリシーを再度見直し、クライアントに対してFTP通信の危険性を説き、Web全体のセキュリティの向上を目指す一助になれば、これに勝る幸いはありません。
参考:
FTP, FTPS, SFTP -- 更新日:2005.05.07
FTPの暗号化の種類
FTPサーバ(vsftpd)の構築(RedHat系編)
Fedora/CentOS - FTPサーバの構築(vsFTPD)
※注1
ssh scp sftp の正しい自動実行方法
via:
_ ssh scp sftp の正しい自動実行方法
あと、これも時々目にする勘違いだけど、「no-pty」は仮想端末とれなくなるだけで、シェルが取れなくなるわけじゃないので、仮想端末取らないで「ssh remotehost '/bin/sh' < 悪のスクリプト」とかやるだけの話。
という感じで、実際にはカナリ頭痛のタネ系の問題が多いことも事実です。
------------------------------------------------------------
追記:
ah様より、
restricted shell for scp/sftpってのぢゃだめ?
と、教えていただきました。
ありがとうございます。
rsshは実は使ったことがなかったので、今回勉強のため VMに入れてみます。
特に chroot が可能なのは初めて知りましたので、うまくいけば FTPSよりも楽かもしれません。
が、
相談してきた人は、IIS だったことに気が付いたのは内緒にしておきます(爆)
※正確には、運用中のサーバの中に 2003/IISのものが混じってる
あと、
企業のセキュリティ・ポリシーとして 22番を外向きに開けるのはどうか?と思うぞ?
という意見も頂きました。
ま・・やっぱりそうですよね・・・
------------------------------------------------------------
rssh homepage(日本語訳)
RSSH.CONF
chrootpath
chrootpath=/usr/chroot
は仮想的なファイルシステムのルートを /usr/chroot に変更し、ファイルシステムの /usr/chroot の下以外にユーザがアクセスできないようにし、 /usr/chroot がルートディレクトリとして見えるようにする。 chroot jail を適切に設定するように注意すること。どのようにしたらよいかのヒントについては、rssh ソースとともに配布される CHROOT ファイルを見ること。また
chroot(2) の man ページも参照すること。もし(/etc/password で指定される)ユーザのホームディレクトリが、このキーワードで示されるパス以下であれば、ユーザはホームディレクトリへと chdir される。そうでなければ、chroot jail の / へと chdir される。
rsshによるセキュアなファイル転送----------
個人的な結論 2010.02.01
個人的な意見としてですが・・・・
FTP(21)をファイアウォールルールから抹消したい人は
Implicit FTPS(990/989) を
普通のFTPSなら
Explicit FTPES(21)+PASV を
※LIST → NLST
22番ポートが開いてもかまわないなら
SFTP(22) を
使うのが良いのではないでしょうか?
EoF
レンガが外されて単なる「泥」になってしまって
details yesterday
detailed here
Dec.13 Adobe 0 day CVE-2009-4324 PDF attack of the Day (#2) Interview Request from fureer.angelica@gmail.com Sun, 13 Dec 2009 14:13:46 -- contagio
CVE-2009-4324
PDF Obfuscation using getAnnots()
12/22
シスコ製品のSSL VPN機能とIE 8との互換性問題が明らかに
いわゆるガンブラーに感染してみた4 「あ、感染した。」
[MS08-041] Microsoft Access Snapshot Viewer の ActiveX コントロールの脆弱性により、リモートでコードが実行される (955617)
Wireshark
TCP Monitor Plus
KDDI、ウェブ改ざん検知システムでGumblarを検知可能に
Twitterbuilding.com—Stealing Your Passwords One Tweet at a Time
AS21844
チェックしておきたいぜい弱性情報<2010.01.15>
Zeus Web Server Buffer Overflow Vulnerability
Haitian Earthquake Disaster Email Scams and Search Engine Poisoning Campaigns
Black Hat SEO Causing Malicious Search Results For Recent Haiti Earthquake
ハイチ地震:新たなローグがニュースを悪用
Best advice on avoiding Haitian relief fraud
ビル・ゲイツ、「魔法のスパム解決法」を語る
Spam and Phishing Landscape: January 2010
スパムは10年間で8%から90%に、Symantecが動向報告
CNNICによるドメイン取得ルール変更
今回見送られた
Windows SMB Crash Video
google-analyti
the malware
Pizza delivery man cops to life in DarkMarket
Critical: acroread security and bug fix update
Apple iTunes 8.1.x (daap) Buffer overflow remote exploit (CVE-2009-0950) 
358 bugs
中国に対するあたらしい姿勢
Google、中国事業から撤退か - 大規模サイバー攻撃を報告
Google’s Threat Echoed Everywhere, Except China
Google、中国からの大型サイバー攻撃に中国市場撤退も
Google, Adobe attacked through China
インジェクション -- 2009-07-19
「『ガンブラー』はウイルスの名前ではない」――シマンテックが解説
Pidgin
ebay.comの偽サイト -- Jan.13
rogue, trojan, exploit domains to sinkhole
Yahoo!、Zimbra を VMware に売却で合意
踏み台に注意(オフトピ-10)
[intergenia AG]
bgp
オメガ-8080 ×2個セット
CVE-2008-5353 の Exploit コードで脆弱な JRE が悪用されるのか確認する
「Yahoo!占い」の一部ページが改ざん被害 (Gumblar.x)
NoScriptのWhitelistを見直し
Malware threat reports fail to add up
Industry Connections Security Group (ICSG)
The Game of the Name -- Malware Naming, Shape Shifters and Sympathetic Magic
8.0.2.3 Lotus iNotes (DWA) 229.261 Cumulative Interim Fix
Firefox 3.6 RC1がリリース
なぜ Docomo に来ないの(泣)
メンテナンス・障害情報:www2,www4サーバのメンテナンスのお知らせとお願い(01月11日11時~18時予定)
Web サイト改ざんに関する情報提供のお願い
ビングレ
ウィルス感染サイト報告:さまれぼ!
サイト改ざん(1)「告知せず」で感染拡大の恐れ~負の連鎖を断ち切るために
search : obfuscated iframe
[Security-announce] VMSA-2010-0001 ESX Service Console updates for nss and nspr
768-bit RSA cracked, 1024-bit safe (for now)
ダウンロード違法化、どこまで合法? 福井弁護士に聞く
Backdoor:Win32/Poison.A [Microsoft]
過去暦のあまりないASなので注意が必要です(
Wepawetを使う
新ウイルス Gumblar(ガンブラー/別名 GENO)にご注意ください -- 2010.01.05更新
Critical security update for PowerDNS Recursor
第1回 RDBMSが使えるPowerDNS
Open season on tax-payers
Quicksilver Malware Network -- 2009.09.17
CANVAS
追記
コンピュータウイルス・不正アクセスの届出状況[12月分および2009年年間]について
Firefox 3.5 セキュリティアドバイザリ
Movable Type には、アクセス制限回避が可能な脆弱性が存在します。
[重要] セキュリティアップデート Movable Type 5.01 および 4.27の提供を開始
コア php.ini ディレクティブに関する説明 : register_globals

Apple QuickTime 7.5.6
Firefox 3.6.3
Chrome 4.1.249.1045
Opera 10.51
Thunderbird 3.0.4
O
OOo 3.2
RealPlayer SP1.1.2(12.0.0.641)
Skype 4.2.0.155






BEFORE BURNER
