

# Security Hub CSPM controls for Amazon Transfer Family
<a name="transfer-controls"></a>

These Amazon Security Hub CSPM controls evaluate the Amazon Transfer Family service and resources. The controls might not be available in all Amazon Web Services Regions. For more information, see [Availability of controls by Region](securityhub-regions.md#securityhub-regions-control-support).

## [Transfer.1] Amazon Transfer Family workflows should be tagged
<a name="transfer-1"></a>

**Category:** Identify > Inventory > Tagging

**Severity:** Low

**Resource type:** `AWS::Transfer::Workflow`

**Amazon Config rule:** `tagged-transfer-workflow` (custom Security Hub CSPM rule)

**Schedule type:** Change triggered

**Parameters:**


| Parameter | Description | Type | Allowed custom values | Security Hub CSPM default value | 
| --- | --- | --- | --- | --- | 
|  requiredTagKeys  | List of non-system tag keys that the evaluated resource must contain. Tag keys are case sensitive.  | StringList (maximum of 6 items)  | 1–6 tag keys that meet [Amazon requirements](https://docs.amazonaws.cn/tag-editor/latest/userguide/tagging.html#tag-conventions).  |  No default value  | 

This control checks whether an Amazon Transfer Family workflow has tags with the specific keys defined in the parameter `requiredTagKeys`. The control fails if the workflow doesn’t have any tag keys or if it doesn’t have all the keys specified in the parameter `requiredTagKeys`. If the parameter `requiredTagKeys` isn't provided, the control only checks for the existence of a tag key and fails if the workflow isn't tagged with any key. System tags, which are automatically applied and begin with `aws:`, are ignored.

A tag is a label that you assign to an Amazon resource, and it consists of a key and an optional value. You can create tags to categorize resources by purpose, owner, environment, or other criteria. Tags can help you identify, organize, search for, and filter resources. Tagging also helps you track accountable resource owners for actions and notifications. When you use tagging, you can implement attribute-based access control (ABAC) as an authorization strategy, which defines permissions based on tags. You can attach tags to IAM entities (users or roles) and to Amazon resources. You can create a single ABAC policy or a separate set of policies for your IAM principals. You can design these ABAC policies to allow operations when the principal's tag matches the resource tag. For more information, see [What is ABAC for Amazon?](https://docs.amazonaws.cn/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) in the *IAM User Guide*.

**Note**  
Don’t add personally identifiable information (PII) or other confidential or sensitive information in tags. Tags are accessible to many Amazon Web Services services, including Amazon Billing. For more tagging best practices, see [Tagging your Amazon resources](https://docs.amazonaws.cn/tag-editor/latest/userguide/tagging.html#tag-best-practices) in the *Amazon Web Services General Reference*.

### Remediation
<a name="transfer-1-remediation"></a>

**To add tags to a Transfer Family workflow (console)**

1. Open the Amazon Transfer Family console.

1. In the navigation pane, choose **Workflows**. Then, select the workflow that you want to tag.

1. Choose **Manage tags**, and then add the tags.

## [Transfer.2] Transfer Family servers should not use FTP protocol for endpoint connection
<a name="transfer-2"></a>

**Related requirements:** NIST.800-53.r5 CM-7, NIST.800-53.r5 IA-5, NIST.800-53.r5 SC-8, PCI DSS v4.0.1/4.2.1

**Category:** Protect > Data Protection > Encryption of data-in-transit

**Severity:** Medium

**Resource type:** `AWS::Transfer::Server`

**Amazon Config rule:** [https://docs.amazonaws.cn/config/latest/developerguide/transfer-family-server-no-ftp.html](https://docs.amazonaws.cn/config/latest/developerguide/transfer-family-server-no-ftp.html)

**Schedule type:** Periodic

**Parameters:** None

This control checks whether an Amazon Transfer Family server uses a protocol other than FTP for endpoint connection. The control fails if the server uses FTP protocol for a client to connect to the server's endpoint.

FTP (File Transfer Protocol) establishes the endpoint connection through unencrypted channels, leaving data sent over these channels vulnerable to interception. Using SFTP (SSH File Transfer Protocol), FTPS (File Transfer Protocol Secure), or AS2 (Applicability Statement 2) offers an extra layer of security by encrypting your data in transit and can be used to help prevent potential attackers from using person-in-the-middle or similar attacks to eavesdrop on or manipulate network traffic.

### Remediation
<a name="transfer-2-remediation"></a>

To modify the protocol for a Transfer Family server, see [Edit the file transfer protocols](https://docs.amazonaws.cn/transfer/latest/userguide/edit-server-config.html#edit-protocols) in the *Amazon Transfer Family User Guide*.

## [Transfer.3] Transfer Family connectors should have logging enabled
<a name="transfer-3"></a>

**Related requirements:** NIST.800-53.r5 AC-2(12), NIST.800-53.r5 AC-2(4), NIST.800-53.r5 AC-4(26), NIST.800-53.r5 AC-6(9), NIST.800-53.r5 AU-10, NIST.800-53.r5 AU-12, NIST.800-53.r5 AU-2, NIST.800-53.r5 AU-3, NIST.800-53.r5 AU-6(3), NIST.800-53.r5 AU-6(4), NIST.800-53.r5 AU-9(7), NIST.800-53.r5 CA-7, NIST.800-53.r5 SC-7(9), NIST.800-53.r5 SI-3(8), NIST.800-53.r5 SI-4, NIST.800-53.r5 SI-4(20), NIST.800-53.r5 SI-7(8)

**Category:** Identify > Logging

**Severity:** Medium

**Resource type:** `AWS::Transfer::Connector`

**Amazon Config rule:** [https://docs.amazonaws.cn/config/latest/developerguide/transfer-connector-logging-enabled.html](https://docs.amazonaws.cn/config/latest/developerguide/transfer-connector-logging-enabled.html)

**Schedule type:** Change triggered

**Parameters:** None

This control checks whether Amazon CloudWatch logging is enabled for an Amazon Transfer Family connector. The control fails if CloudWatch logging isn't enabled for the connector.

Amazon CloudWatch is a monitoring and observability service that provides visibility into your Amazon resources, including Amazon Transfer Family resources. For Transfer Family, CloudWatch provides consolidated auditing and logging for workflow progress and results. This includes several metrics that Transfer Family defines for workflows. You can configure Transfer Family to automatically log connector events in CloudWatch. To do this, you specify a logging role for the connector. For the logging role, you create an IAM role and a resource-based IAM policy that defines the permissions for the role.

### Remediation
<a name="transfer-3-remediation"></a>

For information about enabling CloudWatch logging for a Transfer Family connector, see [Amazon CloudWatch logging for Amazon Transfer Family servers](https://docs.amazonaws.cn/transfer/latest/userguide/structured-logging.html) in the *Amazon Transfer Family User Guide*.

## [Transfer.4] Transfer Family agreements should be tagged
<a name="transfer-4"></a>

**Category:** Identify > Inventory > Tagging

**Severity:** Low

**Resource type:** `AWS::Transfer::Agreement`

**Amazon Config rule:** [https://docs.amazonaws.cn/config/latest/developerguide/transfer-agreement-tagged.html](https://docs.amazonaws.cn/config/latest/developerguide/transfer-agreement-tagged.html)

**Schedule type:** Change triggered

**Parameters:**


| Parameter | Description | Type | Allowed custom values | Security Hub CSPM default value | 
| --- | --- | --- | --- | --- | 
| requiredKeyTags | A list of non-system tag keys that must be assigned to an evaluated resource. Tag keys are case sensitive. | StringList (maximum of 6 items) | 1–6 tag keys that meet [Amazon requirements](https://docs.amazonaws.cn/tag-editor/latest/userguide/tagging.html#tag-conventions). | No default value | 

This control checks whether an Amazon Transfer Family agreement has the tag keys specified by the `requiredKeyTags` parameter. The control fails if the agreement doesn't have any tag keys, or it doesn't have all the keys specified by the `requiredKeyTags` parameter. If you don't specify any values for the `requiredKeyTags` parameter, the control checks only for the existence of a tag key and fails if the agreement doesn't have any tag keys. The control ignores system tags, which are applied automatically and have the `aws:` prefix.

A tag is a label that you create and assign to an Amazon resource. Each tag consists of a required tag key and an optional tag value. You can use tags to categorize resources by purpose, owner, environment, or other criteria. They can help you identify, organize, search for, and filter resources. They can also help you track resource owners for actions and notifications. You can also use tags to implement attribute-based access control (ABAC) as an authorization strategy. For more information about ABAC strategies, see [Define permissions based on attributes with ABAC authorization](https://docs.amazonaws.cn/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) in the *IAM User Guide*. For more information about tags, see the [Tagging Amazon Resources and Tag Editor User Guide](https://docs.amazonaws.cn/tag-editor/latest/userguide/tagging.html).

**Note**  
Do not store personally identifiable information (PII) or other confidential or sensitive information in tags. Tags are accessible from many Amazon Web Services services. They aren't intended to be used for private or sensitive data.

### Remediation
<a name="transfer-4-remediation"></a>

For information about adding tags to an Amazon Transfer Family agreement, see [Resource tagging methods](https://docs.amazonaws.cn/tag-editor/latest/userguide/tagging.html#intro-tag-methods) in the *Tagging Amazon Resources and Tag Editor User Guide*.

## [Transfer.5] Transfer Family certificates should be tagged
<a name="transfer-5"></a>

**Category:** Identify > Inventory > Tagging

**Severity:** Low

**Resource type:** `AWS::Transfer::Certificate`

**Amazon Config rule:** [https://docs.amazonaws.cn/config/latest/developerguide/transfer-certificate-tagged.html](https://docs.amazonaws.cn/config/latest/developerguide/transfer-certificate-tagged.html)

**Schedule type:** Change triggered

**Parameters:**


| Parameter | Description | Type | Allowed custom values | Security Hub CSPM default value | 
| --- | --- | --- | --- | --- | 
| requiredKeyTags | A list of non-system tag keys that must be assigned to an evaluated resource. Tag keys are case sensitive. | StringList (maximum of 6 items) | 1–6 tag keys that meet [Amazon requirements](https://docs.amazonaws.cn/tag-editor/latest/userguide/tagging.html#tag-conventions). | No default value | 

This control checks whether an Amazon Transfer Family certificate has the tag keys specified by the `requiredKeyTags` parameter. The control fails if the certificate doesn't have any tag keys, or it doesn't have all the keys specified by the `requiredKeyTags` parameter. If you don't specify any values for the `requiredKeyTags` parameter, the control checks only for the existence of a tag key and fails if the certificate doesn't have any tag keys. The control ignores system tags, which are applied automatically and have the `aws:` prefix.

A tag is a label that you create and assign to an Amazon resource. Each tag consists of a required tag key and an optional tag value. You can use tags to categorize resources by purpose, owner, environment, or other criteria. They can help you identify, organize, search for, and filter resources. They can also help you track resource owners for actions and notifications. You can also use tags to implement attribute-based access control (ABAC) as an authorization strategy. For more information about ABAC strategies, see [Define permissions based on attributes with ABAC authorization](https://docs.amazonaws.cn/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) in the *IAM User Guide*. For more information about tags, see the [Tagging Amazon Resources and Tag Editor User Guide](https://docs.amazonaws.cn/tag-editor/latest/userguide/tagging.html).

**Note**  
Do not store personally identifiable information (PII) or other confidential or sensitive information in tags. Tags are accessible from many Amazon Web Services services. They aren't intended to be used for private or sensitive data.

### Remediation
<a name="transfer-5-remediation"></a>

For information about adding tags to an Amazon Transfer Family certificate, see [Resource tagging methods](https://docs.amazonaws.cn/tag-editor/latest/userguide/tagging.html#intro-tag-methods) in the *Tagging Amazon Resources and Tag Editor User Guide*.

## [Transfer.6] Transfer Family connectors should be tagged
<a name="transfer-6"></a>

**Category:** Identify > Inventory > Tagging

**Severity:** Low

**Resource type:** `AWS::Transfer::Connector`

**Amazon Config rule:** [https://docs.amazonaws.cn/config/latest/developerguide/transfer-connector-tagged.html](https://docs.amazonaws.cn/config/latest/developerguide/transfer-connector-tagged.html)

**Schedule type:** Change triggered

**Parameters:**


| Parameter | Description | Type | Allowed custom values | Security Hub CSPM default value | 
| --- | --- | --- | --- | --- | 
| requiredKeyTags | A list of non-system tag keys that must be assigned to an evaluated resource. Tag keys are case sensitive. | StringList (maximum of 6 items) | 1–6 tag keys that meet [Amazon requirements](https://docs.amazonaws.cn/tag-editor/latest/userguide/tagging.html#tag-conventions). | No default value | 

This control checks whether an Amazon Transfer Family connector has the tag keys specified by the `requiredKeyTags` parameter. The control fails if the connector doesn't have any tag keys, or it doesn't have all the keys specified by the `requiredKeyTags` parameter. If you don't specify any values for the `requiredKeyTags` parameter, the control checks only for the existence of a tag key and fails if the connector doesn't have any tag keys. The control ignores system tags, which are applied automatically and have the `aws:` prefix.

A tag is a label that you create and assign to an Amazon resource. Each tag consists of a required tag key and an optional tag value. You can use tags to categorize resources by purpose, owner, environment, or other criteria. They can help you identify, organize, search for, and filter resources. They can also help you track resource owners for actions and notifications. You can also use tags to implement attribute-based access control (ABAC) as an authorization strategy. For more information about ABAC strategies, see [Define permissions based on attributes with ABAC authorization](https://docs.amazonaws.cn/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) in the *IAM User Guide*. For more information about tags, see the [Tagging Amazon Resources and Tag Editor User Guide](https://docs.amazonaws.cn/tag-editor/latest/userguide/tagging.html).

**Note**  
Do not store personally identifiable information (PII) or other confidential or sensitive information in tags. Tags are accessible from many Amazon Web Services services. They aren't intended to be used for private or sensitive data.

### Remediation
<a name="transfer-6-remediation"></a>

For information about adding tags to an Amazon Transfer Family connector, see [Resource tagging methods](https://docs.amazonaws.cn/tag-editor/latest/userguide/tagging.html#intro-tag-methods) in the *Tagging Amazon Resources and Tag Editor User Guide*.

## [Transfer.7] Transfer Family profiles should be tagged
<a name="transfer-7"></a>

**Category:** Identify > Inventory > Tagging

**Severity:** Low

**Resource type:** `AWS::Transfer::Profile`

**Amazon Config rule:** [https://docs.amazonaws.cn/config/latest/developerguide/transfer-profile-tagged.html](https://docs.amazonaws.cn/config/latest/developerguide/transfer-profile-tagged.html)

**Schedule type:** Change triggered

**Parameters:**


| Parameter | Description | Type | Allowed custom values | Security Hub CSPM default value | 
| --- | --- | --- | --- | --- | 
| requiredKeyTags | A list of non-system tag keys that must be assigned to an evaluated resource. Tag keys are case sensitive. | StringList (maximum of 6 items) | 1–6 tag keys that meet [Amazon requirements](https://docs.amazonaws.cn/tag-editor/latest/userguide/tagging.html#tag-conventions). | No default value | 

This control checks whether an Amazon Transfer Family profile has the tag keys specified by the `requiredKeyTags` parameter. The control fails if the profile doesn't have any tag keys, or it doesn't have all the keys specified by the `requiredKeyTags` parameter. If you don't specify any values for the `requiredKeyTags` parameter, the control checks only for the existence of a tag key and fails if the profile doesn't have any tag keys. The control ignores system tags, which are applied automatically and have the `aws:` prefix. The control evaluates local profiles and partner profiles.

A tag is a label that you create and assign to an Amazon resource. Each tag consists of a required tag key and an optional tag value. You can use tags to categorize resources by purpose, owner, environment, or other criteria. They can help you identify, organize, search for, and filter resources. They can also help you track resource owners for actions and notifications. You can also use tags to implement attribute-based access control (ABAC) as an authorization strategy. For more information about ABAC strategies, see [Define permissions based on attributes with ABAC authorization](https://docs.amazonaws.cn/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) in the *IAM User Guide*. For more information about tags, see the [Tagging Amazon Resources and Tag Editor User Guide](https://docs.amazonaws.cn/tag-editor/latest/userguide/tagging.html).

**Note**  
Do not store personally identifiable information (PII) or other confidential or sensitive information in tags. Tags are accessible from many Amazon Web Services services. They aren't intended to be used for private or sensitive data.

### Remediation
<a name="transfer-7-remediation"></a>

For information about adding tags to an Amazon Transfer Family profile, see [Resource tagging methods](https://docs.amazonaws.cn/tag-editor/latest/userguide/tagging.html#intro-tag-methods) in the *Tagging Amazon Resources and Tag Editor User Guide*.