pengembangan-web-mp-pd.com

Port firewall apa yang harus saya buka saat menggunakan FTPS?

Saya perlu mengakses server FTPS (vsftpd) di situs vendor. Vendor memiliki firewall di depan server ftps. Saya memiliki firewall di depan klien FTPS saya.

Saya mengerti bahwa port 990, 991 dan mungkin 989 perlu dibuka untuk mengontrol lalu lintas.

Saya punya beberapa pertanyaan:

  1. Saat melihatnya dari perspektif firewall vendor, haruskah port ini dibuka untuk lalu lintas masuk dan keluar?
  2. Bagaimana dengan port untuk saluran DATA?
  3. Apakah saya harus membuka semua port di atas 1000?
  4. Haruskah saya melakukannya untuk lalu lintas masuk dan keluar?
33
user3293

Pemahaman saya tentang FTP over SSL (ftps) adalah bahwa ia tidak bekerja dengan baik dengan firewall dan NAT. Dalam sesi FTP biasa, informasi tentang koneksi data dibaca, dan untuk NAT dimodifikasi, oleh firewall agar firewall secara dinamis membuka port yang diperlukan. Jika informasi itu diamankan oleh SSL , firewall tidak dapat membacanya atau mengubahnya.

Menggunakan SFTP, atau scp, membuat pekerjaan administrator jaringan jauh lebih mudah - semuanya terjadi pada port 22 server, dan transaksi mengikuti model klien/server normal.

Satu hal yang tidak disebutkan adalah apakah firewall Anda menjalankan NAT dan apakah itu statis NAT atau NAT dinamis. Jika mesin klien Anda memiliki static) alamat atau sedang NATed statis, Anda mungkin tidak perlu membuat perubahan firewall, dengan asumsi Anda mengizinkan semua lalu lintas keluar dan server hanya beroperasi dalam mode Pasif (PASV).

Untuk mengetahui persis port apa yang perlu Anda buka, Anda harus:

a) berbicara dengan vendor untuk mendapatkan spesifik tentang bagaimana sistem mereka telah dikonfigurasi.

b) Gunakan penganalisa protokol, seperti tcpdump atau wireshark, untuk melihat lalu lintas, baik dari luar firewall Anda dan di dalam firewall Anda

Anda perlu mencari tahu port mana yang merupakan Koneksi Kontrol. Anda daftar 3, yang tampaknya aneh bagi saya. Dengan asumsi server hanya berfungsi dalam mode PASV (pasif), Anda perlu mencari tahu bagaimana server dikonfigurasi untuk port DATA yang dialokasikan. Apakah mereka mengunci saluran DATA ke satu port masuk? Apakah mereka mengunci saluran DATA ke rentang kecil atau port?

Dengan jawaban ini, Anda dapat mulai mengkonfigurasi firewall Anda.

19
pcapademic

Saya percaya port sekitar 990 adalah untuk SSL implisit, yang merupakan cara lama non-standar untuk melakukan FTP/SSL. Cara "benar" hari ini adalah SSL eksplisit, yang berarti Anda masih terhubung pada port 21 dan kemudian menegosiasikan SSL sebelum mengirim barang Anda. Untuk mendukung koneksi melalui firewall, Anda perlu menggunakan mode PASV dan mengatur port data yang akan digunakan.

Saya yakin Anda memerlukan setidaknya satu port per koneksi data yang ingin Anda dukung. Jika itu hanya Anda, Anda mungkin baik-baik saja hanya membuka beberapa port tambahan. Khusus untuk saya, saya menggunakan 21000-21010.

Dalam vsftpd.conf, saya memiliki dua baris ini (bersama semua hal lain untuk mendukung SSL):

pasv_min_port=21000

pasv_max_port=21010

Pada firewall saya, saya memiliki IP statis publik dengan satu-ke-satu/statis NAT ke IP internal dan hanya port tcp 21, 21000-21010 terbuka.

29
David

Saya tahu ini adalah utas yang sangat lama, namun ..

Harap dicatat bahwa SFTP sama sekali berbeda dari FTPS. (SSH vs SSL)

FTPS bekerja dalam 2 cara. Eksplisit dan Implisit. Eksplisit kurang aman karena setelah jabat tangan melewatkan enkripsi selama transfer data [jika enkripsi data dikelola dapat dikonfigurasi di sisi server dengan PROT P], sementara Implisit menyimpan enkripsi data setelah jabat tangan juga. Port FTPS Eksplisit default adalah 21. Port implisit default adalah 990 (setelah jabat tangan, port tersebut akan secara otomatis beralih ke 989 untuk transmisi data, jika tidak dikonfigurasi secara berbeda). Sementara port 21 secara umum diterima sebagai EXPLICIT FTPS dan 990 sebagai IMPLICIT FTPS, pada kenyataannya port mana saja yang akan Anda konfigurasi, kecuali 990/989, akan mengarah ke EXPLICIT FTPS sementara HANYA 990/989 akan diterima sebagai FTPL IMPLICIT.

Jadi, untuk menjawab pertanyaan Anda: - tergantung pada konfigurasi Server FTPS, Anda harus membuka port 21 atau 990/989. Namun, hanya untuk memastikan, Anda harus menghubungi admin Server FTPS dan menanyakan arah. Juga, ingatlah bahwa untuk mode pasif, seperti pada setiap perangkat lunak FTP lainnya, Anda harus membuka port tambahan (TCP/UDP) yang biasanya berkisar dari 64000-65000.

11
Marin

Pada dasarnya ftps hampir tidak berguna, karena Anda harus membuat permintaan memalukan kepada admin firewall. Saran untuk membatasi port menjadi 10 adalah baik. Jauh lebih menyedihkan.

sftp jauh lebih baik secara teori. Tetapi Anda membutuhkan server sftp yang layak, mis. yang membatasi klien ke direktori home mereka sendiri.

Bergantung pada aplikasinya, pertimbangkan HTTPS. Upload file sangat sederhana, dan unduhan juga jelas. Jika Anda tetap membuat skrip FTP, mungkin akan lebih mudah untuk membuat skrip upload file HTTPS.

FTP otomatis adalah tanda masalah desain. Saya perhatikan ini ketika berhadapan dengan total sekitar selusin vendor yang 'mengharuskan' tempat saya bekerja untuk melakukan FTP otomatis (untuk SANGAT hal-hal penting), dan ketika membuat lusinan pelanggan melakukannya dengan toko yang sama (kegagalan desain sekitar 20 kegunaan berbeda yang saya saksikan). Mudah meyakinkan sebagian besar orang aplikasi untuk menggunakan HTTPS (biasanya pada saat yang disebutkan, mereka berkata "tunggu, tidak ada alasan kami tidak hanya meminta mereka mendapatkannya dengan HTTPS dari server web kami sudah menyajikan data pada mereka?" ), kecuali beberapa yang memberikan tanggapan seperti "baik, kami sudah memiliki skrip ini yang tampaknya berfungsi, dan tidak ada seorang pun di tim kami yang benar-benar pandai dalam skrip sehingga kami tidak dapat melakukan perubahan" (tim yang terdiri dari 5-10 programmer, pura-pura tidak mengerti bahwa mereka dapat menulisnya dalam bahasa pilihan mereka, karena mereka tidak tahu bagaimana menulis program yang sepele dari awal.).

2
carlito

Vendor mungkin dapat mengonfigurasi kisaran port sempit untuk port koneksi DATA, jika belum. Kemudian Anda dapat membuka rentang yang sama di ujung Anda, untuk host yang membutuhkan akses tersebut. Mode PASV harus digunakan.

1
Chris W. Rea

Port 22 adalah standar karena daemon SSH pada UNIX memiliki modul SFTP yang dapat Anda aktifkan untuk membuat server SFTP eksplisit. Jika Anda ingin menjalankan server FTP implisit dengan Filezilla maka Anda dapat menjalankannya pada port apa pun yang Anda inginkan tetapi ada hambatan: jika Anda menggunakan klien FileZilla Anda perlu menentukan URL situs ftp sebagai ftps: //mysite.com: 8086 daripada menempatkan port di bidang port terpisah yang disediakan klien FileZilla.

Untuk opsi eksplisit, Anda hanya perlu SATU port: 22. Untuk opsi implisit Anda hanya perlu membuka firewall untuk port kontrol: 8086 (yang meneruskan secara internal ke port 21 pada server filezilla Anda).

0
djangofan