FTPS - File Transfer Protocol Secure ====================================== .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **What is FTPS?** FTPS stands for File Transfer Protocol Secure. It is an extension of the standard FTP protocol that adds support for SSL/TLS encryption, making file transfers more secure over a network. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **What is the purpose of FTPS?** * Secure uploading and downloading of files between systems. * Protecting sensitive data during transfer (e.g., credentials, documents). * Compliance with security standards (e.g., HIPAA, PCI-DSS). * Encrypted backups to remote servers or cloud storage. * Common in industries where data confidentiality and integrity are critical. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **How does it work?** * Client connects to FTPS server – Using an FTPS-compatible client (e.g., FileZilla, WinSCP). * SSL/TLS handshake – A secure encrypted session is established. * Authentication – Via username/password or certificate. * File operations – Upload, download, rename, delete, or move files securely. * Connection closes – Client disconnects when finished. * Two channels: 1. **Command channel** – Sends commands and responses (encrypted) 2. **Data channel** – Transfers files (can be encrypted depending on config) .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Where is FTPS used?** * Healthcare and finance – For secure transmission of sensitive records. * Enterprise IT – Secure internal and external file transfers. * Government and defense – Where compliance and encryption are mandatory. * Cloud storage providers – Secure uploads and backups. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which OSI Layer does this protocol belong to?** * FTPS operates at the **Application Layer (Layer 7)** of the OSI model. * It uses application-level commands like `AUTH`, `USER`, `PASS`, `RETR`, `STOR`, etc. * It relies on **TCP (Layer 4)** for reliable transmission but protocol logic is in Layer 7. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow Topics in this section, * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`FTPS Version&RFC Details ` * :ref:`FTPS Basic Setup on Ubuntu using IPv4 ` * :ref:`FTPS Basic Setup on Ubuntu using IPv6 ` * :ref:`FTPS Protocol Packet Details ` * :ref:`FTPS Usecases ` * :ref:`FTPS Basic Features ` * :ref:`FTPS Feature : TLS/SSL Encryption ` * :ref:`FTPS Feature : Authentication Support ` * :ref:`FTPS Feature : Explicit and Implicit Modes ` * :ref:`FTPS Feature : Data Integrity ` * :ref:`FTPS Feature : Firewall-Friendly ` * :ref:`FTPS Feature : Backward Compatibility ` * :ref:`FTPS Feature : Granular Access Control ` * :ref:`FTPS Feature : Logging and Auditing ` * :ref:`Reference links ` .. _FTPS_step1: .. tab-set:: .. tab-item:: Learnings in this section * In this section, you are going to learn .. _FTPS_step2: .. tab-set:: .. tab-item:: Terminology * Terminology .. _FTPS_step3: .. tab-set:: .. tab-item:: Version Info * Version Info .. _FTPS_step5: .. tab-set:: .. tab-item:: FTPS Version&RFC Details .. csv-table:: :file: ./FTPS/FTPS_RFC_Details.csv :widths: 1,10,10,10,30 :header-rows: 1 .. _FTPS_step17: .. tab-set:: .. tab-item:: FTPS Basic Setup on Ubuntu using IPv4 * Setup .. _FTPS_step18: .. tab-set:: .. tab-item:: FTPS Basic Setup on Ubuntu using IPv6 * Setup .. _FTPS_step6: .. tab-set:: .. tab-item:: FTPS Protocol Packet Details **AUTH** .. csv-table:: :file: ./FTPS/FTPS_Protocol_Packet_1.csv :widths: 10,20,30,10 :header-rows: 1 **PBSZ** .. csv-table:: :file: ./FTPS/FTPS_Protocol_Packet_2.csv :widths: 10,20,30,10 :header-rows: 1 **PROT** .. csv-table:: :file: ./FTPS/FTPS_Protocol_Packet_3.csv :widths: 10,20,30,10 :header-rows: 1 **USER** .. csv-table:: :file: ./FTPS/FTPS_Protocol_Packet_4.csv :widths: 10,20,30,10 :header-rows: 1 **PASS** .. csv-table:: :file: ./FTPS/FTPS_Protocol_Packet_5.csv :widths: 10,20,30,10 :header-rows: 1 **LIST** .. csv-table:: :file: ./FTPS/FTPS_Protocol_Packet_6.csv :widths: 10,20,30,10 :header-rows: 1 **RETR** .. csv-table:: :file: ./FTPS/FTPS_Protocol_Packet_7.csv :widths: 10,20,30,10 :header-rows: 1 **STOR** .. csv-table:: :file: ./FTPS/FTPS_Protocol_Packet_8.csv :widths: 10,20,30,10 :header-rows: 1 **QUIT** .. csv-table:: :file: ./FTPS/FTPS_Protocol_Packet_9.csv :widths: 10,20,30,10 :header-rows: 1 .. _FTPS_step7: .. tab-set:: .. tab-item:: FTPS Usecases .. csv-table:: :file: ./FTPS/FTPS_Usecases.csv :widths: 10,20,30 :header-rows: 1 .. _FTPS_step8: .. tab-set:: .. tab-item:: FTPS Basic Features .. csv-table:: :file: ./FTPS/FTPS_Features.csv :widths: 10,10,30 :header-rows: 1 .. _FTPS_step9: .. tab-set:: .. tab-item:: FTPS Feature : TLS/SSL Encryption **TLS/SSL Encryption - Testcases** .. csv-table:: :file: ./FTPS/FTPS_Feature_1_TLS_SSL_Encryption_Testcase.csv :widths: 10,10,30,20 :header-rows: 1 .. _FTPS_step10: .. tab-set:: .. tab-item:: FTPS Feature : Authentication Support **Authentication Support - Testcases** .. csv-table:: :file: ./FTPS/FTPS_Feature_2_Authentication_Support_Testcase.csv :widths: 10,10,30,20 :header-rows: 1 .. _FTPS_step11: .. tab-set:: .. tab-item:: FTPS Feature : Explicit and Implicit Modes **Explicit and Implicit Modes - Testcases** .. csv-table:: :file: ./FTPS/FTPS_Feature_3_Explicit_and_Implicit_Modes_Testcase.csv :widths: 10,10,30,20 :header-rows: 1 .. _FTPS_step12: .. tab-set:: .. tab-item:: FTPS Feature : Data Integrity **Data Integrity - Testcases** .. csv-table:: :file: ./FTPS/FTPS_Feature_4_Data_and_Integrity_Testcase.csv :widths: 10,10,30,20 :header-rows: 1 .. _FTPS_step13: .. tab-set:: .. tab-item:: FTPS Feature : Firewall-Friendly **Firewall-Friendly - Testcases** .. csv-table:: :file: ./FTPS/FTPS_Feature_5_Firewall_Friendly_Testcase.csv :widths: 10,10,30,20 :header-rows: 1 .. _FTPS_step14: .. tab-set:: .. tab-item:: FTPS Feature : Backward Compatibility **Backward Compatibility - Testcases** .. csv-table:: :file: ./FTPS/FTPS_Feature_6_Backward_compatibility_Testcase.csv :widths: 10,10,30,20 :header-rows: 1 .. _FTPS_step15: .. tab-set:: .. tab-item:: FTPS Feature : Granular Access Control **Granular Access Control - Testcases** .. csv-table:: :file: ./FTPS/FTPS_Feature_7_Granular_Access_Control_Testcase.csv :widths: 10,10,30,20 :header-rows: 1 .. _FTPS_step16: .. tab-set:: .. tab-item:: FTPS Feature : Logging and Auditing **Logging and Auditing - Testcases** .. csv-table:: :file: ./FTPS/FTPS_Feature_8_Logging_and_Auditing_Testcase.csv :widths: 10,10,30,20 :header-rows: 1 .. _FTPS_step19: .. tab-set:: .. tab-item:: Reference links * Reference links