Infrastructure security in AWS Transfer Family
As a managed service, AWS Transfer Family is protected by AWS global network security. For information about AWS security services and how AWS protects infrastructure, see AWS Cloud Security
You use AWS published API calls to access AWS Transfer Family through the network. Clients must support the following:
-
Transport Layer Security (TLS). We require TLS 1.2 and recommend TLS 1.3.
-
Cipher suites with perfect forward secrecy (PFS) such as DHE (Ephemeral Diffie-Hellman) or ECDHE (Elliptic Curve Ephemeral Diffie-Hellman). Most modern systems such as Java 7 and later support these modes.
Additionally, requests must be signed by using an access key ID and a secret access key that is associated with an IAM principal. Or you can use the AWS Security Token Service (AWS STS) to generate temporary security credentials to sign requests.
Avoid placing NLBs in front of AWS Transfer Family servers
We've spoken with many customers who have configured a Network Load Balancer (NLB) to route traffic to their AWS Transfer Family server. Usually, they've done this either because they created their server before we offered a way to access it from both inside their VPC and from the internet, or to support FTP on the internet. This not only increases the cost for the customer, it can cause other issues, which we describe in this section.
If you're using this configuration, we encourage you to move to a VPC endpoint and use an Elastic IP. Placing an NLB in front of your AWS Transfer Family server removes your ability to see the source IP of your users, because AWS Transfer Family will see only the IP address of your NLB.
If you are using the FTPS protocol, this not only degrades your ability to audit who is accessing your server, it can also impact performance. AWS Transfer Family uses the source IP to shard your connections across our data plane. In the case of FTPS, this means that instead of being able to have 10,000 simultaneous connections, a Transfer Family server with an NLB in front of it would be limited to only 300 simultaneous connections.
While we recommend avoiding Network Load Balancers in front of AWS Transfer Family servers, if your FTP or FTPS implementation requires an NLB, follow these recommendations:
-
Use port 21 for health checks, rather than ports 8192-8200.
-
Enable TLS session resumption by setting
TlsSessionResumptionMode = ENFORCED
.Note
This is the Recommended mode, as it provides enhanced security:
-
Requires clients to use TLS session resumption for subsequent connections.
-
Provides stronger security guarantees by ensuring consistent encryption parameters.
-
Helps prevent potential downgrade attacks.
-
Maintains compliance with security standards while optimizing performance.
-
-
If possible, migrate away from using an NLB to take full advantage of AWS Transfer Family performance and connection limits.
For additional guidance on NLB alternatives, contact the AWS Transfer Family Product Management team through AWS Support. For more details on improving your security posture, see the blog post Six tips to improve the security of your AWS Transfer Family
server