Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Gambaran Umum
Elemen <ssl>
menentukan pengaturan FTP melalui Secure Sockets Layer (SSL) untuk layanan FTP; FTP melalui SSL pertama kali diperkenalkan untuk IIS 7 di FTP 7.0.
Tidak seperti menggunakan HTTP melalui SSL, yang memerlukan port dan koneksi terpisah untuk komunikasi yang aman (HTTPS), komunikasi FTP aman terjadi pada port yang sama dengan komunikasi yang tidak aman. FTP 7 mendukung dua bentuk FTP yang berbeda melalui SSL:
- FTPS eksplisit: Secara default, situs dan klien FTP menggunakan port 21 untuk saluran kontrol, dan server dan klien akan menegosiasikan port sekunder untuk koneksi saluran data. Dalam permintaan FTP yang khas, klien FTP akan terhubung ke situs FTP melalui saluran kontrol, dan kemudian klien dapat menegosiasikan SSL/TLS dengan server untuk saluran kontrol atau saluran data. Ketika Anda menggunakan FTP 7, Anda menggunakan SSL Eksplisit jika Anda mengaktifkan FTPS dan Anda menetapkan situs FTP ke port apa pun selain port 990.
- FTPS Implisit: FTPS implisit adalah bentuk FTP yang lebih lama melalui SSL yang masih didukung oleh FTP 7. Dengan FTPS Implisit, jabat tangan SSL harus dinegosiasikan sebelum perintah FTP dapat dikirim oleh klien. Selain itu, meskipun FTPS Eksplisit memungkinkan klien untuk secara sewenang-wenang memutuskan apakah akan menggunakan SSL, FTPS Implisit mengharuskan seluruh sesi FTP harus dienkripsi. Ketika Anda menggunakan FTP 7, Anda menggunakan SSL Implisit jika Anda mengaktifkan FTPS dan Anda menetapkan situs FTP ke port 990.
Bergantung pada opsi keamanan yang Anda konfigurasi di controlChannelPolicy
atribut dan dataChannelPolicy
, klien FTP dapat beralih antara aman dan tidak aman beberapa kali dalam satu sesi FTPS Eksplisit. Ada beberapa cara agar ini dapat diterapkan tergantung pada kebutuhan bisnis Anda:
controlChannelPolicy | dataChannelPolicy | Catatan |
---|---|---|
SslAllow |
SslAllow |
Konfigurasi ini memungkinkan klien untuk memutuskan apakah ada bagian dari sesi FTP yang harus dienkripsi. |
SslRequireCredentialsOnly |
SslAllow |
Konfigurasi ini melindungi kredensial klien FTP Anda dari penyadapan elektronik, dan memungkinkan klien untuk memutuskan apakah transfer data harus dienkripsi. |
SslRequireCredentialsOnly |
SslRequire |
Konfigurasi ini mengharuskan kredensial klien harus aman, dan kemudian memungkinkan klien untuk memutuskan apakah perintah FTP harus dienkripsi. Namun, semua transfer data harus dienkripsi. |
SslRequire |
SslRequire |
Konfigurasi ini adalah yang paling aman - klien harus menegosiasikan SSL dengan menggunakan perintah terkait FTPS sebelum perintah FTP lainnya diizinkan, dan semua transfer data harus dienkripsi. |
Kompatibilitas
Versi | Catatan |
---|---|
IIS 10.0 | Elemen <ssl> tidak dimodifikasi di IIS 10.0. |
IIS 8.5 | Elemen <ssl> tidak dimodifikasi di IIS 8.5. |
IIS 8.0 | Elemen <ssl> tidak dimodifikasi di IIS 8.0. |
IIS 7.5 | Elemen <ssl> <security> dari elemen dikirim sebagai fitur IIS 7.5. |
IIS 7.0 | Elemen <ssl> <security> elemen diperkenalkan dalam FTP 7.0, yang merupakan unduhan terpisah untuk IIS 7.0. |
IIS 6.0 | Layanan FTP di IIS 6.0 tidak mendukung FTP melalui SSL. |
Catatan
Layanan FTP 7.0 dan FTP 7.5 dikirim ke luar band untuk IIS 7.0, yang memerlukan pengunduhan dan penginstalan modul dari URL berikut:
Dengan Windows 7 dan Windows Server 2008 R2, layanan FTP 7.5 dikirim sebagai fitur untuk IIS 7.5, sehingga mengunduh layanan FTP tidak lagi diperlukan.
Siapkan
Untuk mendukung penerbitan FTP untuk server Web, Anda harus menginstal layanan FTP. Untuk melakukannya, gunakan langkah-langkah berikut.
Windows Server 2012 atau Windows Server 2012 R2
Pada taskbar, klik Manajer Server.
Di Manajer Server, klik menu Kelola , lalu klik Tambahkan Peran dan Fitur.
Di wizard Tambahkan Peran dan Fitur , klik Berikutnya. Pilih jenis penginstalan dan klik Berikutnya. Pilih server tujuan dan klik Berikutnya.
Pada halaman Peran Server , perluas Server Web (IIS), lalu pilih Server FTP.
Klik Berikutnya, lalu pada halaman Pilih fitur , klik Berikutnya lagi.
Pada halaman Konfirmasi pilihan instalasi, klik Instal.
Pada halaman Hasil , klik Tutup.
Windows 8 atau Windows 8.1
Pada layar Mulai, pindahkan penunjuk ke sudut kiri bawah, klik kanan tombol Mulai, lalu klik Panel Kontrol.
Di Panel Kontrol, klik Program dan Fitur, lalu klik Aktifkan atau nonaktifkan fitur Windows.
Perluas Layanan Informasi Internet, lalu pilih Server FTP.
Klik OK.
Klik Tutup.
Windows Server 2008 R2
Pada taskbar, klik Mulai, arahkan ke Alat Administratif, lalu klik Manajer Server.
Di panel hierarki Manajer Server , perluas Peran, lalu klik Server Web (IIS).
Di panel Server Web (IIS), gulir ke bagian Layanan Peran , lalu klik Tambahkan Layanan Peran.
Pada halaman Pilih Layanan Peran dari Wizard Tambahkan Layanan Peran, perluas Server FTP.
Pilih Layanan FTP.
Klik Berikutnya.
Pada halaman Konfirmasi Pilihan Penginstalan , klik Instal.
Pada halaman Hasil , klik Tutup.
Windows 7
Pada taskbar, klik Mulai, lalu klik Panel Kontrol.
Di Panel Kontrol, klik Program dan Fitur, lalu klik Aktifkan atau nonaktifkan Fitur Windows.
Perluas Layanan Informasi Internet, lalu Server FTP.
Pilih Layanan FTP.
Klik OK.
Windows Server 2008 atau Windows Vista
Unduh paket penginstalan dari URL berikut:
Ikuti instruksi dalam panduan berikut untuk menginstal layanan FTP:
Bagaimana Caranya
Cara mengonfigurasi opsi SSL default untuk server FTP
Buka Manajer Layanan Informasi Internet (IIS):
Jika Anda menggunakan Windows Server 2012 atau Windows Server 2012 R2:
- Pada bilah tugas, klik Manajer Server, klik Alat, lalu klik Manajer Layanan Informasi Internet (IIS).
Jika Anda menggunakan Windows 8 atau Windows 8.1:
- Tahan tombol Windows, tekan huruf X, lalu klik Panel Kontrol.
- Klik Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
Jika Anda menggunakan Windows Server 2008 atau Windows Server 2008 R2:
- Pada taskbar, klik Mulai, arahkan ke Alat Administratif, lalu klik Manajer Layanan Informasi Internet (IIS).
Jika Anda menggunakan Windows Vista atau Windows 7:
- Pada taskbar, klik Mulai, lalu klik Panel Kontrol.
- Klik dua kali Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
Di panel Koneksi , klik nama server.
Di panel Beranda server, klik dua kali fitur Pengaturan SSL FTP .
Dari daftar Sertifikat SSL , pilih sertifikat yang ingin Anda gunakan untuk koneksi ke server FTP.
Di bawah Kebijakan SSL, pilih salah satu opsi berikut:
Izinkan koneksi SSL: Memungkinkan server FTP mendukung koneksi non-SSL dan SSL dengan klien.
Memerlukan koneksi SSL: Memerlukan enkripsi SSL untuk komunikasi antara server FTP dan klien.
Kustom: Memungkinkan Anda mengonfigurasi kebijakan enkripsi SSL yang berbeda untuk saluran kontrol dan saluran data. Jika Anda memilih opsi ini, klik tombol Tingkat Lanjut... . Saat kotak dialog Kebijakan SSL Tingkat Lanjut terbuka, pilih opsi berikut:
Di bawah Saluran Kontrol pilih salah satu opsi berikut untuk enkripsi SSL melalui saluran kontrol:
- Izinkan: Menentukan bahwa SSL diizinkan untuk saluran kontrol; klien FTP dapat menggunakan SSL untuk saluran kontrol, tetapi tidak diperlukan.
- Perlu: Menentukan bahwa SSL diperlukan untuk saluran kontrol; klien FTP mungkin tidak beralih ke mode komunikasi yang tidak aman untuk saluran kontrol.
- Hanya memerlukan kredensial: Menentukan bahwa hanya kredensial pengguna yang harus dikirim melalui sesi SSL; klien FTP harus menggunakan SSL untuk nama pengguna dan kata sandi mereka, tetapi klien tidak diharuskan menggunakan SSL untuk saluran kontrol setelah mereka masuk.
Di bawah Saluran Data, pilih salah satu opsi berikut untuk enkripsi SSL melalui saluran data:
- Izinkan: SSL diizinkan untuk saluran data; klien FTP dapat menggunakan SSL untuk saluran data, tetapi tidak diperlukan.
- Wajib: SSL diperlukan untuk saluran data; klien FTP mungkin tidak beralih ke mode komunikasi yang tidak aman untuk saluran data.
- Tolak: SSL ditolak untuk saluran data; klien FTP mungkin tidak menggunakan SSL untuk saluran data.
Klik OK untuk menutup kotak dialog Kebijakan SSL Tingkat Lanjut .
Di panel Tindakan , klik Terapkan.
Konfigurasi
Atribut
Atribut | Deskripsi | ||||||||
---|---|---|---|---|---|---|---|---|---|
controlChannelPolicy |
Atribut enum opsional. Menentukan kebijakan SSL untuk saluran kontrol FTP. Catatan: Tidak ada nilai enum yang menolak SSL untuk saluran perintah; untuk menolak SSL, jangan mengikat sertifikat SSL ke situs FTP dengan menentukan hash sertifikat dalam serverCertHash atribut .
SslRequire . |
||||||||
dataChannelPolicy |
Atribut enum opsional. Menentukan kebijakan SSL untuk saluran data FTP.
SslRequire . |
||||||||
serverCertHash |
Atribut string opsional. Menentukan hash thumbprint untuk sertifikat sisi server yang akan digunakan untuk koneksi SSL. Tidak ada nilai default. |
||||||||
serverCertStoreName |
Atribut string opsional. Menentukan penyimpanan sertifikat untuk sertifikat SSL server. Nilai defaultnya adalah MY . |
||||||||
ssl128 |
Atribut Boolean opsional. Menentukan apakah SSL 128-bit diperlukan. Nilai defaultnya adalah false . |
Elemen Anak
Tidak ada.
Sampel Konfigurasi
Sampel konfigurasi berikut mendemosikan cara mengaktifkan akses SSL pada saluran kontrol dan saluran data layanan FTP secara default.
Contoh konfigurasi SSL (temp desc).
<siteDefaults>
<ftpServer>
<security>
<ssl controlChannelPolicy="SslAllow" dataChannelPolicy="SslAllow" serverCertHash="57686f6120447564652c2049495320526f636b73"/>
</security>
</ftpServer>
</siteDefaults>
Kode Sampel
Sampel berikut mendemosrasi cara mengaktifkan akses SSL pada saluran kontrol dan saluran data layanan FTP secara default.
AppCmd.exe
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.ftpServer.security.ssl.controlChannelPolicy:"SslAllow" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.ftpServer.security.ssl.dataChannelPolicy:"SslAllow" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.ftpServer.security.ssl.serverCertHash:"57686f6120447564652c2049495320526f636b73" /commit:apphost
Catatan
Anda harus memastikan untuk mengatur parameter penerapan ke apphost
saat Anda menggunakan AppCmd.exe untuk mengonfigurasi pengaturan ini. Ini menerapkan pengaturan konfigurasi ke bagian lokasi yang sesuai dalam file ApplicationHost.config.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection sitesSection = config.GetSection("system.applicationHost/sites");
ConfigurationElement siteDefaultsElement = sitesSection.GetChildElement("siteDefaults");
ConfigurationElement ftpServerElement = siteDefaultsElement.GetChildElement("ftpServer");
ConfigurationElement securityElement = ftpServerElement.GetChildElement("security");
ConfigurationElement sslElement = securityElement.GetChildElement("ssl");
sslElement["controlChannelPolicy"] = @"SslAllow";
sslElement["dataChannelPolicy"] = @"SslAllow";
sslElement["serverCertHash"] = "57686f6120447564652c2049495320526f636b73";
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim sitesSection As ConfigurationSection = config.GetSection("system.applicationHost/sites")
Dim siteDefaultsElement As ConfigurationElement = sitesSection.GetChildElement("siteDefaults")
Dim ftpServerElement As ConfigurationElement = siteDefaultsElement.GetChildElement("ftpServer")
Dim securityElement As ConfigurationElement = ftpServerElement.GetChildElement("security")
Dim sslElement As ConfigurationElement = securityElement.GetChildElement("ssl")
sslElement("controlChannelPolicy") = "SslAllow"
sslElement("dataChannelPolicy") = "SslAllow"
sslElement("serverCertHash") = "57686f6120447564652c2049495320526f636b73"
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST");
var siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults");
var ftpServerElement = siteDefaultsElement.ChildElements.Item("ftpServer");
var securityElement = ftpServerElement.ChildElements.Item("security");
var sslElement = securityElement.ChildElements.Item("ssl");
sslElement.Properties.Item("controlChannelPolicy").Value = "SslAllow";
sslElement.Properties.Item("dataChannelPolicy").Value = "SslAllow";
sslElement.Properties.Item("serverCertHash").Value = "57686f6120447564652c2049495320526f636b73";
adminManager.CommitChanges();
Vbscript
Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST")
Set siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults")
Set ftpServerElement = siteDefaultsElement.ChildElements.Item("ftpServer")
Set securityElement = ftpServerElement.ChildElements.Item("security")
Set sslElement = securityElement.ChildElements.Item("ssl")
sslElement.Properties.Item("controlChannelPolicy").Value = "SslAllow"
sslElement.Properties.Item("dataChannelPolicy").Value = "SslAllow"
sslElement.Properties.Item("serverCertHash").Value = "57686f6120447564652c2049495320526f636b73"
adminManager.CommitChanges()