For IIS FTP, authentication is controlled by the <authentication> element at the site level and must be aligned with matching authorization rules and (for domain logons) valid Windows/domain accounts.
Key concepts and options:
- Supported FTP authentication types
- Anonymous authentication
- Users connect without a local/domain account.
- Typically log on as
ftporanonymous; password is often an email address but not required. - Common for public download-only FTP sites.
- Basic authentication
- Requires a valid local or domain Windows account.
- User name and password are sent in clear text over FTP; therefore, it is recommended to combine Basic with SSL (FTPS) so credentials are encrypted.
- Client Certificate authentication
- Uses client certificates to authenticate FTP clients.
- Custom authentication
- Uses custom providers (e.g., ASP.NET Membership or IIS Manager authentication) so that accounts do not need to exist as Windows/domain accounts.
- Enabling Basic (domain) authentication in IIS FTP To use domain authentication, configure Basic authentication and ensure the domain account has NTFS and FTP authorization permissions:
- Open IIS Manager.
- In the Connections pane, expand the server, expand Sites, and select the FTP site.
- In the site’s Home pane, double‑click FTP Authentication.
- Select Basic Authentication and click Enable in the Actions pane.
- Ensure Anonymous authentication is disabled if only domain logons should be allowed.
To create a new FTP site with Basic authentication and read/write access using the wizard:
- In IIS Manager, start the Add FTP Site wizard.
- Configure binding (IP, port 21 or 990 for implicit FTPS, and SSL options as needed).
- On the Authentication and Authorization page:
- Set Authentication to Basic.
- Under Authorization, choose Specified users and enter the domain or local account(s) that should have access.
- Select Read and Write permissions.
- Finish the wizard.
- SSL considerations for Basic/domain authentication Because FTP transmits credentials in clear text, when using Basic authentication (including domain accounts), configure FTP over SSL:
- In the FTP binding settings, choose one of:
- Allow SSL – clients may use FTPS but are not forced.
- Require SSL – clients must use FTPS; this is preferred for securing credentials.
- Select a valid server certificate in the SSL Certificate drop‑down.
- Common causes of “cannot authenticate” with domain accounts While the context does not list specific error messages, typical issues in IIS FTP domain authentication scenarios include:
- Basic authentication not enabled (or still disabled) for the FTP site.
- Anonymous authentication enabled when only domain access is expected, leading to confusion about which identity is used.
- FTP authorization rules not granting access to the domain user (e.g., using “Anonymous users” instead of “Specified users” or the correct domain group).
- NTFS permissions on the FTP root or virtual directory not granting the domain account read/write access.
- Additional security configuration For more advanced scenarios:
- Configure FTP authorization rules to control which users/groups can access which paths and with what permissions.
- Consider FTP User Isolation if multiple users share a single FTP site but must be restricted to their own folders.
- For environments where Windows/domain accounts should not be created for every FTP user, consider custom authentication providers such as ASP.NET Membership or IIS Manager authentication.
References: