Welcome to the EFT Best Practices page. We are currently assembling a collection of best practice topics based on interactions with our customers. Our goal is to share as much helpful information as possible to ensure you get the most out of your EFT platform. Stay tuned for more detailed best practices related to Event Rules, Active-Active High Availability, Upgrading, Auditing/Reporting and more.

Current Topics:

Viewing Connecting Client Encryption Levels

When it comes to troubleshooting, there are several challenges, including the pressure to meet strict security policies and comply with regulations. These efforts are further complicated by a lack of visibility into how users are connecting with your systems. If clients are using deprecated or outdated ciphers, algorithms, or protocols, then problems can occur and your data security could be at risk.

BEST PRACTICE

Understand how users are connecting with your EFT platform. Disable deprecated or weaker cryptography whenever possible to help maintain strong system security.

Many EFT customers have asked us if it is possible to gain insight into the SFTP and SSL/TLS cryptography details that their connected clients are using when connecting to EFT. The simple answer is, yes. Having this information is useful not only for troubleshooting, but for proactive/preventive measures as well. To gain this level of visibility into your EFT log files, you will need to enable verbose logging when troubleshooting or debugging.

How To Enable EFT Verbose Logging

Log levels in EFT all default to the TRACE or INFO setting, which is standard or typical logging. If you need more details in your logs, change the logging configuration to extended or verbose log level in logging.cfg to DEBUG. This will give you an extended level of detail in your logs to help you pinpoint where the trouble lies.

For example, with the SSL logging level set to DEBUG, you would see whether the connection was accepted, and which protocol version, cipher, and key length were used in the connection:

DEBUG SSL <> - SSL connection accepted; protocol version = TLSv1.2, cipher = ECDHERSA-AES128-GCM-SHA256, key length = 128

Please note: it is recommended that you only use verbose logging during debugging or troubleshooting. It will produce a large amount of data and quickly use up your processing speed and drive space.

Advanced Configuration for Verbose Logging:

Use the following example to set up a separate file appender for verbose logs, which should make data capture and analysis a bit more manageable.

Instead of SFTP = TRACE or SSL = TRACE, specify the following settings in the logging.cfg file:

  • log4cplus.appender.SFTPFileAppender=log4cplus::RollingFileAppender
  • log4cplus.appender.SFTPFileAppender.File=${AppDataPath}\EFT-SFTP-${COMPUTERNAME}.log
  • log4cplus.appender.SFTPFileAppender.MaxFileSize=20MB
  • log4cplus.appender.SFTPFileAppender.MaxBackupIndex=5
  • log4cplus.appender.SFTPFileAppender.layout=log4cplus::TTCCLayout
  • log4cplus.appender.SFTPFileAppender.layout.DateFormat=%m-%d-%y %H:%M:%S,%q
  • log4cplus.logger.SFTP=TRACE, SFTPFileAppender
  • log4cplus.additivity.SFTP=false
  • log4cplus.appender.SFTPFileAppender.filters.1=log4cplus::spi::StringMatchFilter
  • log4cplus.appender.SFTPFileAppender.filters.1.StringToMatch=Received SSH_MSG_KEXINIT
  • log4cplus.appender.SFTPFileAppender.filters.1.AcceptOnMatch=true
  • log4cplus.appender.SFTPFileAppender.filters.2=log4cplus::spi::StringMatchFilter
  • log4cplus.appender.SFTPFileAppender.filters.2.StringToMatch=Handling SSH_MSG_USERAUTH_REQUEST for user
  • log4cplus.appender.SFTPFileAppender.filters.2.AcceptOnMatch=true
  • log4cplus.appender.SFTPFileAppender.filters.3=log4cplus::spi::DenyAllFilter

After using verbose logging for few days (or however long is needed), copy the EFT-SFTP-*.log files to a new folder for processing. (You have to copy the log files to a separate folder for analysis because the PowerShell cannot open files that EFT is holding open.)

Run this PowerShell script (specific to this SFTP example) against those log files in that separate folder to generate a CSV file with the results. Be sure to change the path in the script to the location in which you have created a new folder.

Reminder: Your security efforts will be most effective if you use the latest version of EFT. Periodically check the Globalscape support site for the latest version and upgrade accordingly. Learn more.

Tell us what you think


Optimal Configuration and Encryption

Globalscape’s Enhanced File Transfer (EFT) platform offers many security options for your SSL connections and SFTP connections. Choosing the right combination of protocol versions, key ciphers, MACs, and key exchange algorithms can be challenging. We’ve put together some tested* recommendations to help guide you in this process.

BEST PRACTICE #1

Use the recommendations below for SSL/TLS communications, which cover the FTPS and HTTPS protocols. These can be used as a starting point, and you can always add (or remove) options based on your unique needs or the needs of your business partners.

Protocol Suite Ideal Acceptable Avoid
  TLS 1.2 TLS  1.1 TLS 1.0, SSLv3
Encryption Cipher AESGCM(256)
AES(256)
All 128 bit ciphers All others
3DES (unless required)
Message Authentication Code AEAD
SHA384
SHA256
SHA1 (susceptible to collisions) MD5
Key Exchange ECDH
ECDH/RSA
ECDH/ECDSA
RSA
All others  
Authentication cipher ECDSA
ECDH
RSA
DH
DSS
“None”

*The above configurations were confirmed and tested using SSL Labs, which rated them grade “A” in terms of both security and performance.

Other recommendations:

  • Cipher suite 1.2 or above is recommended.
  • Don’t use export ciphers unless that is necessary.
  • When creating an SSL certificate, choose a 2048 bit key or higher.
  • Ensure that your certificate used strong signature algorithms such as SHA256. Do not use SHA1, which is considered insecure.
  • Ideally have your key signed by a reliable Certificate Authority (CA).

BEST PRACTICE #2

Use the following for SSH communications, which covers the SFTP protocol:

Each in priority order      
  Ideal Acceptable Avoid
Allowed ciphers All 256 bit ciphers All 128 bit ciphers All others
Allowed MACs 256 and 512 bit MACs All 128 or 96 bit MACs All others
Allowed KEXs 256 and 512 bit KEXs All 128 bit KEXs All others

With SSH, the receiving server usually dictates which algorithms are accepted. Newer clients such as CuteFTP 9 support strong algorithms, helping to ensure higher data security.

Other recommendations:

  • When creating an SSH key, choose a 2048 bit key or higher.
  • When creating an SSH key, choose OpenSSH format for greatest compatibility.

With these security options in place, you should be at a good starting point for ensuring both high security and broad compatibility. You can always “dial up” or “dial down” the security levels to either increase security or accommodate more business partner communications.

Reminder: Your security efforts will be most effective if you use the latest version of EFT. Periodically check the Globalscape support site for the latest version and upgrade accordingly. Learn more.

Tell us what you think