How Transfer Family can help you build a secure, compliant managed file transfer solution
Building and maintaining a secure, compliant managed file transfer (MFT) solution to securely send and receive files inside and outside of your organization can be challenging. Working with a competent, vigilant, and diligent MFT vendor to help you protect the security of your file transfers can help you address this challenge. In this blog post, I will share how AWS Transfer Family can help you in that process, and I’ll cover five ways to use the security features of Transfer Family to get the most out of this service. AWS Transfer Family is a fully managed service for file transfers over SFTP, AS2, FTPS, and FTP for Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS).
<h2>Benefits of building your MFT on top of Transfer Family</h2>
<p>As outlined in the <a href="https://aws.amazon.com/compliance/shared-responsibility-model/" target="_blank" rel="noopener">AWS Shared Responsibility Model</a>, security and compliance are a shared responsibility between you and Transfer Family. This shared model can help relieve your operational burden because AWS operates, manages, and controls the components from the application, host operating system, and virtualization layer down to the physical security of the facilities in which the service operates. You are responsible for the management and configuration of your Transfer Family server and the associated applications outside of Transfer Family.</p>
<p>AWS follows industry best practices, such as automated patch management and continuous third-party penetration testing, to enhance the security of Transfer Family. This third-party validation and the compliance of Transfer Family with various regulatory regimes (such as <a href="https://docs.aws.amazon.com/transfer/latest/userguide/transfer-compliance.html" target="_blank" rel="noopener">SOC, PCI, HIPAA</a>, and <a href="https://aws.amazon.com/compliance/services-in-scope/FedRAMP/" target="_blank" rel="noopener">FedRAMP</a>) integrates with your organization’s larger secure, compliant architecture.</p>
<p>One example of a customer who benefited from using Transfer Family is <a href="https://www.regeneron.com/" target="_blank" rel="noopener">Regeneron</a>. Due to their needs for regulatory compliance and security, and their desire for a scalable architecture, they moved their file transfer solution to Transfer Family. Through this move, they achieved their goal of a secure, compliant architecture and lowered their overall costs by 90%. They were also able to automate their malware scanning process for the intake of files. For more information on their success story, see <a href="https://aws.amazon.com/blogs/storage/how-regeneron-built-a-secure-and-scalable-file-transfer-service-using-aws-transfer-family/" target="_blank" rel="noopener">How Regeneron built a secure and scalable file transfer service using AWS Transfer Family</a>. There are many other documented success stories from customers, including <a href="https://aws.amazon.com/blogs/storage/how-liberty-mutual-uses-aws-transfer-family-to-manage-financial-data/" target="_blank" rel="noopener">Liberty Mutual</a>, <a href="https://aws.amazon.com/blogs/storage/how-discover-financial-secures-file-transfers-with-aws-transfer-family/" target="_blank" rel="noopener">Discover</a>, and <a href="https://aws.amazon.com/blogs/storage/opengamma-improves-security-and-reduces-overhead-using-aws-transfer-family/" target="_blank" rel="noopener">OpenGamma</a>.</p>
<h2>Steps you can take to improve your security posture with Transfer Family</h2>
<p>Although many of the security improvements that Transfer Family makes don’t require action on your part to use, you do need to take action on a few for compatibility reasons. In this section, I share five steps that you should take to adopt a secure, compliant architecture on Transfer Family.</p>
<ul>
<li><strong>Use strong encryption for data in transit —</strong> The first step in building a secure, compliant MFT service is to use strong encryption for data in transit. To help with this, Transfer Family now offers a strong set of available ciphers, including post-quantum ciphers that have been designed to resist decryption from future, fault-tolerant quantum computers that are still several years from production. Transfer Family will offer this capability by default for newly created servers after January 31, 2024. Existing customers can select this capability today by choosing the latest Transfer Family <a href="https://docs.aws.amazon.com/transfer/latest/userguide/security-policies.html" target="_blank" rel="noopener">security policy</a>. We review the choice of the default security policy for Transfer Family periodically to help ensure the best security posture for customers. For information about how to check what security policy you’re using and how to update it, see <a href="https://docs.aws.amazon.com/transfer/latest/userguide/security-policies.html" target="_blank" rel="noopener">Security policies for AWS Transfer Family</a>.</li>
<li><strong>Duplicate your server’s host key —</strong> You need to make sure that a threat actor can’t impersonate your server by duplicating your server’s host key. Your server’s host key is a vital component of your secure, compliant architecture to help prevent man-in-the-middle style events where a threat actor can impersonate your server and convince your users to provide sensitive login information and data. To help prevent this possibility, we recommend that Transfer Family SFTP servers use at least a 4,096-bit RSA, ED25519, or ECDSA host key. As part of our shared responsibility model to help you build a secure global infrastructure, Transfer Family will increase its default host key size to 4,096 bits for newly created servers after January 31, 2024. To make key rotation as simple as possible for those with weaker keys, Transfer Family supports the use of multiple host keys of multiple types on a single server. However, you should deprecate the weaker keys as soon as possible because your server is only as secure as its weakest key. To learn what keys you’re using and how to rotate them, see <a href="https://docs.aws.amazon.com/transfer/latest/userguide/key-management.html" target="_blank" rel="noopener">Key management</a>.</li>
</ul>
<p>The next three steps apply if you use the custom authentication option in Transfer Family, which helps you use your existing identity providers to lift and shift workflows onto Transfer Family.</p>
<ul>
<li><strong>Require both a password and a key —</strong> To increase your security posture, you can require the use of both a password and key to help protect your clients from password scanners and a threat actor that might have stolen their key. For details on how to view and configure this, see <a href="https://docs.aws.amazon.com/transfer/latest/userguide/create-server-sftp.html" target="_blank" rel="noopener">Create an SFTP-enabled server</a>.</li>
<li><strong>Use Base64 encoding for passwords —</strong> The next step to improve your security posture is to use or update your custom authentication templates to use Base64 encoding for your passwords. This allows for a wider variety of characters and makes it possible to create more complex passwords. In this way, you can be more inclusive of a global audience that might prefer to use different character sets for their passwords. A more diverse character set for your passwords also makes your passwords more difficult for a threat actor to guess and compromise. The <a href="https://docs.aws.amazon.com/transfer/latest/userguide/authentication-api-gateway.html#authentication-custom-ip" target="_blank" rel="noopener">example templates</a> for Transfer Family make use of Base64 encoding for passwords. For more details on how to check and update your templates to password encoding to use Base64, see <a href="https://docs.aws.amazon.com/transfer/latest/userguide/authentication-api-gateway.html#authentication-custom-ip" target="_blank" rel="noopener">Authenticating using an API Gateway method</a>.</li>
<li><strong>Set your API Gateway method’s authorizationType property to AWS_IAM —</strong> The final recommended step is to make sure that you set your API Gateway method’s <span>authorizationType</span> property to <span>AWS_IAM</span> to require that the caller submit the user’s credentials to be authenticated. With IAM authorization, you sign your requests with a signing key derived from your secret access key, instead of your secret access key itself, helping to ensure that authorization requests to your identity provider use <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html" target="_blank" rel="noopener">AWS Signature Version 4</a>. This provides an extra layer of protection for your secret access key. For details on how to set up <span>AWS_IAM</span> authorization, see <a href="https://docs.aws.amazon.com/apigateway/latest/developerguide/permissions.html" target="_blank" rel="noopener">Control access to an API with IAM permissions</a>.</li>
</ul>
<h2>Conclusion</h2>
<p>Transfer Family offers many benefits to help you build a secure, compliant MFT solution. By following the steps in this post, you can get the most out of Transfer Family to help protect your file transfers. As the requirements for a secure, compliant architecture for file transfers evolve and threats become more sophisticated, Transfer Family will continue to offer optimized solutions and provide actionable advice on how you can use them. For more information, see <a href="https://docs.aws.amazon.com/transfer/latest/userguide/security.html" target="_blank" rel="noopener">Security in AWS Transfer Family</a>.</p>
<p> <br>If you have feedback about this post, submit comments in the<strong> Comments</strong> section below. If you have questions about this post, <a href="https://console.aws.amazon.com/support/home" target="_blank" rel="noopener noreferrer">contact AWS Support</a>.</p>
<p><strong>Want more AWS Security news? Follow us on <a title="Twitter" href="https://twitter.com/AWSsecurityinfo" target="_blank" rel="noopener noreferrer">Twitter</a>.</strong></p>
<!-- '"` -->