Forum Discussion
Filip_Verlaeckt
Mar 31, 2011Historic F5 Account
Automated secure file transfer
Hello
I am trying to solve the following problem:
What are the possibilities to organise file transfers initiated from a remote client to an internal server behind LTM?
Requirements are as follows:
- file must be encrypted in transit (SCP, FTPS, SFTP,....)
- user (or script) must authenticate
- destination file server must be selected by LTM based on information in the upload command (e.g. filename or destination host/directory)
Not sure how to read the filename or directory name with LTM eg. from below command.
pscp -pw xxxxx file.doc user@ftp_vip_on_ltm:/dir/file.doc
Any help much appreciated.
- HamishCirrocumulusAhh... Offloaded scp?
- Joel_MosesNimbostratusYou can forget about SCP or SFTP. There's no real way to offload for those on LTM without writing something to specifically handle the protocol; no way is that an easy task. SSH (the transport for SCP/SFTP) does not use SSL/TLS -- it negotiates its own secure channel using Diffie-Hellman and a suite of stream encryption types. It may still be _possible_ to do this with an iRule has the prerequisites are there: AES-128, gzip compression, and HMAC-md5 are all available in LTM iRules (although the supplied AES is CBC mode and probably not directly usable in a stream protocol).
- Colin_Walker_12Historic F5 AccountGood call Joel, I was thinking the exact same thing when I saw this request the first time. I wandered off to knock out a couple other things and came back to you answering the question already. I wonder if it always works that way. ;)
- hooleylistCirrostratusThe main disadvantage to HTTPS for file uploads/downloads is that it doesn't (easily?) support resumption for broken transfers. FTP/S offloading could potentially be done in an iRule, but when I tested, it was really hard to get it working. And trying to support multiple client types blew it up.
- Colin_Walker_12Historic F5 AccountAgreed, this is definitely a pros vs. cons case and there may be a requirement that doesn't allow for HTTPS transfers. If they're doable, though, they're definitely easier to implement.
- Joel_MosesNimbostratusHTTP/1.1 supports Content-Range on PUT requests; and it's client-specific as to whether this is supported by the uploading program... but it's possible to do resumable uploads over HTTP using this.
PUT /blah%2Etxt HTTP/1.1 Content-Range: bytes -1-/2352 User-Agent: curl/7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zl ib/1.2.3 libidn/0.6.5 Host: localhost:8800 Accept: */* Content-Length: 2352 Expect: 100-continue
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects