0350.html 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <!DOCTYPE html>
  2. <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>Creating and Applying SSL Certificate to FileZilla FTP Server</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6. <meta charset="UTF-8">
  7. <meta name="keywords" content="How To Setup Secure FTP Server,How To Setup SSL On FileZilla Server,How To Setup SSL On FTP Server,How To Generate SSL Certificates For FTP Server,How To Generate SSL Certificates For FileZilla,Encryption,FTP,FTPS,File Transfer Protocol,FileZilla,FileZilla Server,FileZilla Server Setup,FTP Server,PKI,Public Key Infrastructure,SSL,Install Guide,Self-Hosted,Home Lab,X Certificate Key Manager,XCA,Secure FTP Server,Encrypted FTP Transfers,How To,Tutorial,i12bretro">
  8. <meta name="author" content="i12bretro">
  9. <meta name="description" content="Creating and Applying SSL Certificate to FileZilla FTP Server">
  10. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  11. <meta name="revised" content="10/24/2022 10:52:19 AM" />
  12. <link rel="icon" type="image/x-icon" href="includes/favicon.ico">
  13. <script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
  14. <script type="text/javascript" src="includes/js/steps.js"></script>
  15. <link href="css/steps.css" rel="stylesheet" type="text/css" />
  16. </head>
  17. <body>
  18. <div id="gridContainer">
  19. <div class="topMargin"></div>
  20. <div id="listName" class="topMargin">
  21. <h1>Creating and Applying SSL Certificate to FileZilla FTP Server</h1>
  22. </div>
  23. <div></div>
  24. <div id="content">
  25. <h2>Prerequisites</h2>
  26. <ul>
  27. <li class="noCheckbox">A XCA PKI database <a href="https://youtu.be/ezzj3x207lQ" target="_blank">https://youtu.be/ezzj3x207lQ</a></li>
  28. </ul>
  29. <h2>DNS Setup</h2>
  30. <ol>
  31. <li>For Windows DNS, go to Start &gt; Windows Administrative Tools &gt; DNS</li>
  32. <li>Expand the DNS server and domain name</li>
  33. <li>Right Click &gt; New Host (A or AAAA)</li>
  34. <li>Type ftp as the hostname and the target IP address &gt; Click OK</li>
  35. </ol>
  36. <h2>Create Your SSL Certificate</h2>
  37. <ol>
  38. <li>Launch XCA</li>
  39. <li>Open the PKI database if it is not already (File &gt; Open DataBase), enter password</li>
  40. <li>Click on the Certificates tab, right click on your Intermediate CA certificate</li>
  41. <li>Select New</li>
  42. <li>On the Source tab, make sure Use this Certificate for signing is selected</li>
  43. <li>Verify your Intermediate CA certificate is selected from the drop down</li>
  44. <li>Click the Subject tab</li>
  45. <li>Complete the Distinguished Name section
  46. <p>internalName: ftp.i12bretro.local<br />
  47. countryName: US<br />
  48. stateOrProvinceName: Virginia<br />
  49. localityName: Northern<br />
  50. organizationName: i12bretro<br />
  51. organizationUnitName: i12bretro Certificate Authority<br />
  52. commonName: ftp.i12bretro.local</p>
  53. </li>
  54. <li>Click the Generate a New Key button</li>
  55. <li>Enter a name and set the key size to at least 2048</li>
  56. <li>Click Create</li>
  57. <li>Click on the Extensions tab</li>
  58. <li>Select End Entity from the type list</li>
  59. <li>Click Edit next to Subject Alternative Name</li>
  60. <li>Add any DNS or IP addresses that the certificate will identify</li>
  61. <li>Update the validity dates to fit your needs</li>
  62. <li>Click the Key Usage tab</li>
  63. <li>Under Key Usage select Digital Signature, Key Encipherment</li>
  64. <li>Under Extended Key Usage select Web Server and Web Client Authentication</li>
  65. <li>Click the Netscape tab</li>
  66. <li>Select SSL Server</li>
  67. <li>Click OK to create the certificate</li>
  68. </ol>
  69. <h2>Exporting Required Files</h2>
  70. <ol>
  71. <li>In XCA, click on the Certificates tab</li>
  72. <li>Right click the SSL certificate &gt; Export &gt; File</li>
  73. <li>Set the file name to ftp.crt verify the export format is PEM (*.crt)</li>
  74. <li>Click OK</li>
  75. <li>Click the Private Keys tab</li>
  76. <li>Right click the private key generated for the SSL certificate &gt; Export &gt; File</li>
  77. <li>Set the file name to ftp.key and verify the export format is PEM Private (*.pem)</li>
  78. <li>Click OK</li>
  79. <li>Copy the two exported files to the FileZilla Server installation directory, typically C:\Program Files\FileZilla</li>
  80. </ol>
  81. <h2>Installing FileZilla Server</h2>
  82. <ol>
  83. <li>Download FileZilla Server <a href="https://filezilla-project.org/download.php?show_all=1&amp;type=server" target="_blank">Download</a></li>
  84. <li>Install Filezilla Server</li>
  85. <li>Launch FileZilla Server Administration</li>
  86. <li>Select Edit &gt; Users from the top navigation</li>
  87. <li>Click the Add button under Users on the right side of the screen</li>
  88. <li>Enter a username &gt; Click OK</li>
  89. <li>Enable the Password field by checking the box &gt; Enter a password for the new user</li>
  90. <li>Click the Shared folders option in the left navigation menu</li>
  91. <li>Click the Add button in the middle of the page</li>
  92. <li>Browse to a local directory on the server to grant access to this FTP user</li>
  93. <li>On the right side of the Shared folders pane, set the access level that the user will have on this directory</li>
  94. <li>Click OK to close the Users dialog</li>
  95. <li>Select Edit &gt; Settings from the top navigation</li>
  96. <li>Click FTP over TLS settings from the left navigation</li>
  97. <li>Check the Enable FTP over TLS support box</li>
  98. <li>Click the browse button next to Private key file and browse to the exported .key file</li>
  99. <li>Click the browse button next to Certificate file and browse to the exported .crt file</li>
  100. <li>To force all connections to use SSL, check the Disallow plain unencrypted FTP box</li>
  101. <li>Change the SSL/TLS listen port to 990</li>
  102. <li>Click OK</li>
  103. <li>The FTP server should restart and apply the new settings</li>
  104. </ol>
  105. <h2>Testing FTPS Connectivity</h2>
  106. <ol>
  107. <li>Download FileZilla Client <a href="https://filezilla-project.org/download.php?show_all=1" target="_blank">Download</a></li>
  108. <li>Extract the downloaded .zip file</li>
  109. <li>Run Filezilla.exe</li>
  110. <li>Complete the quickconnect fields as follows
  111. <p>Host: ftps://ftp.i12bretro.local<br />
  112. Username: i12bretro<br />
  113. Password: &lt;#ftp password#&gt;<br />
  114. Port: 990</p>
  115. </li>
  116. <li>On the Unknown Certificate popup, check the Always trust this certificate in future sessions checkbox &gt; Click OK</li>
  117. </ol> </div>
  118. </div>
  119. </body>
  120. </html>