FTPS kullanırken hangi güvenlik duvarı bağlantı noktalarını açmam gerekir?


33

Bir satıcının sitesinde bir FTPS sunucusuna (vsftpd) erişmem gerekiyor. Satıcı, ftps sunucusunun önünde bir güvenlik duvarına sahiptir. FTPS istemcimin önünde bir güvenlik duvarım var.

Kontrol trafiği için 990, 991 ve belki 989 bağlantı noktalarının açılması gerektiğini biliyorum.

Birkaç sorum var:

  1. Satıcıya firewall perspektifinden bakıldığında, bu portlar hem gelen hem de giden trafik için açılmalı mı?
  2. DATA kanalı için bağlantı noktaları ne durumda?
  3. 1000'in üzerindeki tüm bağlantı noktalarını açmak zorunda mıyım?
  4. Hem gelen hem de giden trafik için mi yapmalıyım?

Yanıtlar:


19

SSL üzerinden FTP (ftps) ile ilgili anlayışım, güvenlik duvarları ve NAT ile iyi çalışmadığıdır. Normal bir FTP oturumunda, güvenlik duvarının gerekli bağlantı noktalarını dinamik olarak açabilmesi için veri bağlantıları hakkındaki bilgiler güvenlik duvarı tarafından okunur ve NAT tarafından değiştirilir. Bu bilgi SSL ile korunuyorsa, güvenlik duvarı okuyamaz veya değiştiremez.

SFTP veya scp kullanmak, ağ yöneticisinin işini çok daha kolaylaştırır - her şey sunucunun 22 numaralı bağlantı noktasında olur ve işlem normal istemci / sunucu modelini izler.

Bahsetmediğim bir şey, güvenlik duvarınızın NAT gerçekleştirip göstermediği ve statik NAT veya dinamik NAT olup olmadığıdır. İstemci makineniz statik bir adrese sahipse veya statik olarak NATlandıysa, tüm giden trafiğe izin verdiğinizi ve sunucunun yalnızca Pasif modunda (PASV) çalıştığını varsayarak herhangi bir güvenlik duvarı değişikliği yapmanız gerekmeyebilir.

Hangi portları açmanız gerektiğini tam olarak bilmek için şunlardan birine ihtiyacınız olacak:

a) sistemlerinin nasıl yapılandırıldığına dair ayrıntılı bilgi almak için satıcıyla görüşün.

b) Hem güvenlik duvarınızın dışından hem de güvenlik duvarınızın içinden trafiğe bakmak için tcpdump veya wireshark gibi bir protokol analizörü kullanın

Hangi bağlantı noktasının Denetim Bağlantısı olduğunu bulmanız gerekir. Bana tuhaf görünen 3'ü sen listele. Sunucunun yalnızca PASV (pasif) modunda çalıştığını varsayarsak, sunucunun tahsis edilmiş DATA bağlantı noktalarına nasıl yapılandırıldığını bulmanız gerekir. DATA kanalını tek bir gelen bağlantı noktasına kilitlediler mi? DATA kanalını küçük bir menzile veya portlara kilitlediler mi?

Bu cevaplarla, güvenlik duvarınızı yapılandırmaya başlayabilirsiniz.


3
pasif mod FTPS, 1024 numaralı bağlantı noktası üzerinden bir kontrol portu kullanır ve böylece bir güvenlik duvarı ile pasif olmayandan daha iyi çalışır. istemci, 21 numaralı bağlantı noktasına hangi üst sınır bağlantı noktasının açılacağını söyler ve böylece istemciyi "denetimin 2000 veya 2001 numaralı bağlantı noktasında olduğunu" belirtecek şekilde yapılandırabilirsiniz ve ardından sunucu giden 2000 veya 2001 numaralı bağlantı noktasını açar. Çoğu FTP istemcisi belirli bir aralık tanımlamayı destekler "kontrol" ün açık olması ve güvenlik duvarı tanımlarını kolaylaştırması için bağlantı noktalarının listesi.
djangofan

27

990 civarında bağlantı noktalarının standart olmayan FTP / SSL yöntemlerinden biri olan gizli SSL için olduğuna inanıyorum. Bugünlerde "doğru" yol, açık SSL'dir; bu, 21 numaralı bağlantı noktasına hala bağlandığınız ve ardından hedeflerinizi göndermeden önce SSL ile pazarlık yaptığınız anlamına gelir. Bir güvenlik duvarı üzerinden bağlantıları desteklemek için, PASV modunu kullanmanız ve kullanılacak veri portlarını ayarlamanız gerekir.

Desteklemek istediğiniz veri bağlantısı başına en az bir bağlantı noktasına ihtiyacınız olduğuna inanıyorum. Sadece sizseniz, muhtemelen sadece birkaç ekstra port daha açabilirsiniz. Özellikle benim için 21000-21010 kullanıyorum.

Vsftpd.conf'da şu iki satır var (SSL'yi desteklemek için diğer tüm öğelerle birlikte):

pasv_min_port=21000

pasv_max_port=21010

Güvenlik duvarımda, dahili IP'ye bire bir / statik NAT olan ve yalnızca 21, 21000-21010 açık tcp bağlantı noktalarına sahip genel bir statik IP var.


10

Ancak bunun çok eski bir konu olduğunu biliyorum.

SFTP'nin FTPS'den tamamen farklı olduğunu lütfen unutmayın. (SSH ile SSL)

FTPS 2 şekilde çalışıyor. Açık ve Kapalı. İlk el sıkışma veri transferleri sırasında şifrelemeyi atladıktan sonra [veri şifrelemesi korunuyorsa, PROT P ile sunucu tarafında yapılandırılabilirse], örtük de verilerin şifrelenmesini saklar. Varsayılan Explicit FTPS portu 21'dir. Varsayılan Implicit portu 990'dır (el sıkışmasından sonra, farklı şekilde yapılandırılmamışsa veri iletimi için otomatik olarak 989'a geçecektir). Bağlantı noktası 21, genel olarak MÜKEMMEL FTPS ve 990, IMPLICIT FTPS olarak kabul edilirken, gerçekte 990/989 hariç, hangi bağlantı noktasını yapılandıracağınız, SADECE 990/989, IMPLICIT FTPS olarak kabul edilecektir.

Bu nedenle sorunuzu yanıtlamak için: - FTPS Sunucusu yapılandırmasına bağlı olarak, 21 veya 990/989 numaralı bağlantı noktasını açmanız gerekir. Ancak, emin olmak için FTPS Sunucusu yöneticisine başvurmalı ve yol tarifini istemelisiniz. Ayrıca, pasif mod için, diğer tüm FTP yazılımlarında olduğu gibi, genellikle 64000-65000 aralığında bir ek bağlantı noktası (TCP / UDP) açmak zorunda kalacağınızı unutmayın.


2

Temelde ftps neredeyse işe yaramaz çünkü güvenlik duvarı yöneticilerine utanç verici istekler yapmanız gerekiyor. Bağlantı noktalarını 10 ile sınırlama önerisi iyidir. Çok daha fazlası, acıklı olur.

sftp teoride çok daha iyidir. Ancak uygun bir sftp sunucusuna ihtiyacınız var, örneğin müşterileri kendi ana dizinleriyle sınırlayan bir sunucu.

Uygulamaya bağlı olarak, HTTPS'yi düşünün. Bir dosya yükleme işlemi gerçekten basittir ve bir indirme işlemi de açıktır. Yine de FTP'yi komut dosyası olarak kullanıyorsanız, HTTPS dosya yüklemesini kodlamak muhtemelen daha kolay olacaktır.

Otomatik FTP, bir tasarım sorununun işaretidir. Bunu, otomatik FTP yapmak için çalıştığım bir yere 'gereken' bir yere ihtiyaç duyan toplam yaklaşık bir düzine satıcıyla uğraşırken ve onlarca müşteriyi aynı dükkanda (yaklaşık olarak bir tasarım hatası yaptığında) fark ettim. Tanık olduğum 20 farklı kullanım). Çoğu uygulama görevlisini HTTPS kullanmaya ikna etmek kolaydı (genellikle sözde, "bekle, onlara henüz hizmet verdiğimiz web sunucusundan HTTPS ile birlikte olmalarını sağlamanın bir nedeni yok mu?" Dediler. ), "iyi, zaten işe yarayan bu senaryolara sahibiz, ve ekibimizde hiç kimse komut dosyasıyla gerçekten iyi değil, bu yüzden gerçekten herhangi bir değişiklik yapamayız" (5-10 programcının bir ekibi,


1

Satıcı, henüz vermediyse, DATA bağlantı bağlantı noktaları için dar bir bağlantı noktası aralığı yapılandırabilir. Ardından, bu tür erişime ihtiyaç duyan ana bilgisayarlar için aynı aralığı ucunuzda açabilirsiniz. PASV modu kullanılmalıdır.


-1

Bağlantı noktası 22, UNIX'teki SSH arka planında açık bir SFTP sunucusu oluşturmak için etkinleştirebileceğiniz bir SFTP modülüne sahip olduğundan standart olarak bulunur. Filezilla ile gizli bir FTP sunucusu çalıştırmak istiyorsanız, istediğiniz herhangi bir bağlantı noktasında çalıştırabilirsiniz ancak bir catch var: FileZilla istemcisi kullanıyorsanız ftp sitesi URL'sini ftps: //mysite.com: 8086 olarak belirtmeniz gerekir portZilla istemcisinin sağladığı ayrı port alanına portu koymak yerine.

Açık seçenek için yalnızca BİR bağlantı noktasına ihtiyacınız vardır: 22. Açık seçenek için, güvenlik duvarını yalnızca kontrol bağlantı noktası için açmanız gerekir: 8086 (dahili olarak filezilla sunucunuzdaki 21 numaralı bağlantı noktasına yönlendirir).


6
Soru FTPS hakkında değil SFTP hakkında sordu.
Michael Lang

-7

ftps sftp ile aynıysa , yalnızca satıcının sitesindeki 22 numaralı bağlantı noktasına erişebilmeniz gerekir.

Sonunda güvenlik duvarınızı 22 numaralı bağlantı noktasının giden ve ilgili gelen trafiğe izin verecek şekilde yapılandırmanız gerekir . Bu, 22 numaralı bağlantı noktasındaki ilk giden bağlantıyla ilgili olarak gelen tüm bağlantı noktalarında iletişimi sağlar .


11
SFTP, ftps ile aynı değildir ( codeguru.com/csharp/.net/net_general/internet/article.php/… ). SFTP, SSH ile kullanılan dosya aktarım protokolüdür. FTPS SSL’li FTP’dir, FTPS yeni bir rastgele bağlantı noktasında yeni bir DATA bağlantısı başlatır, bu da güvenlik duvarlarının arkasına konuşlandırılmasını zorlaştırır, ancak bu durumda güvenlik duvarını kaldıramıyorum.

2
Öyleyse özür dilerim. Yine de, diğerlerinin de kafasını karıştırması durumunda, bu görevden ayrılacağım.
Brent,

Oldukça yaygın bir karışıklıktır. Güvenlik duvarı tarafında, sftp, oturum açma erişimi için tasarlanan bir protokol üzerine kurulu olması dışında izin vermek çok daha kolaydır. Bağımsız güvenlik gruplarının önemli bağımsız onaylamalara izin vermemeleri ihmal eder. Sistem yöneticilerinin güvenilmeyen istemciler için makul bir sftp sunucusu bulması / yapılandırması zor. Sftp veya ftps ile ilgili herhangi bir tartışma diğer protokolden bahsettiğinden dolayı karışıklık SO ortaktır.
carlito
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.