Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

sftp versus SOAP call for file transfer

I have to transfer some files to a third party. We can invent the file format, but want to keep it simple, like CSV. These won't be big files - a few 10s of MB at most and there won't be many - 3 files per night.

Our preference for the protocol is sftp. We've done this lots in the past and we understand it well.

Their preference is to do it via a web service/SOAP/https call.

The reasons they give is reliability, mainly around knowing that they've fully received the file.

I don't buy this as a killer argument. You can easily build something into your file transfer process using sftp to make sure the transfer has completed, e.g. use headers/footers in the files, or move file between directories, etc.

The only other argument I can think of is that over http(s), ports 80/443 will be open, so there might be less firewall work for our infrastructure guys.

Can you think of any other arguments either way on this? Is there a consensus on what would be best practice here?

Thanks in advance.

like image 389
A_M Avatar asked May 31 '11 13:05

A_M


People also ask

What security protocol is best for transferring personal files?

Top secure file transfer protocols include SFTP, FTPS, and AS2. Each of these offers stronger encryption than standard FTP, as well as additional safeguards, including keys, passwords, and certificates to authenticate users or connections.

Is SFTP a push or pull?

The source SFTP client endpoint pushes files to Thru, then the target SFTP client endpoint pulls them.

Which protocol is used for file transfer?

FTP (File Transfer Protocol) is a network protocol for transmitting files between computers over Transmission Control Protocol/Internet Protocol (TCP/IP) connections.

Which protocol transfers a small file faster?

FASP® – which standards for Fast, Adaptive, and Secure Protocol – is the fastest, most secure high-speed file transfer technology available today.


1 Answers

File completeness is a common issue in "managed file transfer". If you went for a compromise "best practice", you'd end up running either AS/2 (a web service-ish way to transfer files that incorporates non-repudiation via signed integrity checks) or AS/3 (same thing over FTP or FTPS).

One of the problems with file integrity and SFTP is that you can't arbitrarily extend the protocol like you can FTP and FTPS. In other words, you can't add an XSHA1 command to your SFTP transfer just because you want to.

Yes, there are other workarounds (like transactional files that contain hashes of files received), but at the end of the day someone's going to have to do some work...but it really shouldn't be this hard.

If the third party you're talking to really doesn't have a non-web service call to accept large files, you might be their guinea pig as they try to navigate a brand new world. (Or, they may have jsut fired all their transmissions folks and are not just realizing that the world doesn't operate on SOAP...yet - seen that happen too.)

Either way, unless they GIVE you the magic code/utility/whatever to do the file-to-SOAP transaction for them (and that happens too), I'd stick to your sftp guns until they find the right guy on their end to talk bulk data transmissions.

like image 127
ftexperts Avatar answered Sep 22 '22 13:09

ftexperts