Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1

TOPIC:

FTP ve Güvenlik Duvarları 10 years 2 months ago #125

  • quantum50
  • quantum50's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 480
  • Karma: 4
  • Thank you received: 6
FTP, sık kullanılan protokoller(HTTP, SMTP, DNS vs) arasında en sorunlu protokoldür. Diğer protokoller tek bir TCP/UDP portu üzerinden çalışırken FTP birden fazla ve dinamik portlarla çalışır. (IRC’deki veri transferi ve iletişim portu gibi). Bu portlardan biri Command port diğeri DATA port olarak adlandırılır.

Command port üzerinden FTP iletişimine ait gerekli temel bilgiler aktarılır. Temel bilgiler; FTP sunucuya gönderilecek kullanıcı adı ve parola bilgileri, FTP sunucuya hangi porttan bağlanılacağı, hangi FTP çeşidinin kullanılacağı gibi bilgiler olabilir.

Data portu ise veri transferi amaçlı kullanılır.

FTP Çeşitleri
FTP iki çeşittir: pasif ve aktif FTP. Her ikisininde farklı amaçlı kullanımları mevcuttur. Hangi FTP çeşidinin kullanılacağı FTP istemcisi tarafından belirlenir.

Aktif FTP

Bu FTP çeşidinde istemci aktif rol alır. Bilinenin aksine orjinal ftp aktif FTP'dir fakat günümüz İnternet altyapısında çeşitli sorunlara yol açtığı için pasif FTP daha fazla tercih edilmektedir. Aktif FTP'de çıkan sorunlar pasif FTP'nin geliştirilmesini sağlamıştır.

Adım adım Aktif FTP:

aktifaktif.png
İstemci FTP sunucuya Command portundan (21) bağlanır.

FTP sunucu gerekli karşılama mesajı ve kullanıcı adı sorgulamasını gönderir.

İstemci gerekli erişim bilgilerini girer.

Sunucu erişim bilgilerini kontrol ederek istemciye yanıt döner.

Eğer erişim bilgileri doğru ise istemciye FTP komut satırı açılır.

Burada istemci veri transferi yapmak istediğinde (ls komutunun çalıştırılması da veri transferi gerçekleştirir) 3. adıma geçilir.

3. İstemci kendi tarafında 1024’den büyük bir port açar ve bunu PORT komutu ile FTP sunucuya bildirir.

FTP sunucusu , istemcinin bildirdiği port numarasından bağlantı kurar ve gerekli aktarım işlemleri başlar.

İstemci Onay mesaji gönderir.

Örnek Aktif FTP bağlantısı:

# FTP -A -d 192.168.100.27
Connected to 192.168.100.27.
220 (vsFTPd 2.0.3)
Name (192.168.100.27:root): huzeyfe
---> USER huzeyfe
331 Please specify the password.
Password:
---> PASS XXXX
230 Login successful.
---> SYST
215 UNIX Type: L8
Remote system type is UNIX.
Using binary mode to transfer files.
FTP> ls
---> EPRT |1|192.168.100.27|58518|
200 EPRT command successful. Consider using EPSV.
---> LIST
150 Here comes the directory listing.
Aktif FTP Bağlantısının Sniffer (Wireshark) çıktısı.

wireshark.png
Pasif FTP

Pasif FTP, günümüz İnternet dünyasında kullanılan güvenlik duvarı, NAT cihazları gibi trafikte değişiklik yapan sistemlerden kaynaklanan FTP problemlerini sunucu tarafında halledebilmek için çıkarılmış FTP çeşididir. Pasif FTP de istemci pasif roldedir, sunucu aktif roldedir.

pasifftp.png
Adım adım Pasif FTP:

İstemci FTP sunucuya Command portundan (21) bağlanır.

FTP sunucu gerekli karşılama mesajı ve kullanıcı adı sorgulamasını gönderir.

İstemci gerekli erişim bilgilerini girer.

Sunucu erişimi bilgilerini kontrol ederek istemciye yanıt döner. Eğer erişim bilgileri doğru ise;

FTP istemcisi PASV komutu aracılığı ile sunucudan ek port açmasını bekler. Sunucu yapılandırma dosyasında belirtilen port aralığından bir port açarak bunu istemciye belirtir.

FTP istemcisi , sunucudan gelen bu porta bağlanarak veri alışverişini başlatır.

İstemci onay mesajı yollar.

Örnek Pasif FTP bağlantısı.

# FTP -d 192.168.100.27
Connected to 192.168.100.27.
220 (vsFTPd 2.0.3)
Name (192.168.100.27:root): huzeyfe
---> USER huzeyfe
331 Please specify the password.
Password:
---> PASS XXXX
230 Login successful.
---> SYST
215 UNIX Type: L8
Remote system type is UNIX.
Using binary mode to transfer files.
FTP> ls
---> EPSV
229 Entering Extended Passive Mode (|||35330|)
---> LIST
150 Here comes the directory listing.
Pasif FTP bağlantısının Sniffer(Wireshark) çıktısı.

pasifwireshark.png
Güvenlik Duvarlarında Yaşanabilecek FTP Sorunları
Zaman zaman arkadaşlarınızın FTP ye bağlanıyorum ama ls çektiğimde bağlantı kopuyor ya da öylesine bekliyor dediğine şahit olmuşsunuzdur. Bu gibi istenmeyen durumlar FTP’nin karmaşık yapısı ve Firewall (Güvenlik Duvarı) ların protokolden anlamamasından kaynaklanır.

Bir Güvenlik Duvarında HTTP bağlantısını açmak için sadece 80. portu açmanız yeterlidir fakat FTP için 21. portu açmak yetmez.

Bunun sebebi FTP’nin komutların gidip geldiği ve verinin aktığı port olmak üzere iki farklı port üzerinden çalışmasıdır. İlk port sabit ve bellidir: 21. port fakat veri bağlantısının gerçekleştiği port olan diğer port kullanılacak FTP çeşidine (Aktif FTP veya Pasif FTP ) göre değişir ve eğer Güvenlik Duvarı FTP protokolünden anlamıyorsa genelde sorun yaşanır.

Yeni nesil Güvenlik Duvarılarında bu sıkıntı büyük ölçüde giderilmiş olsa da ara ara eksik yapılandırmalardan aynı hataların yaşandığını görüyoruz.

Linux Iptables’da FTP problemini aşmak için mod ip_conntrack_FTP modülünün sisteme yüklenmesi gerekir. OpenBSD Packet Filter ise bu tip aykırı protokoller için en uygun yapı olan proxy mantığını kullanır. FTP için FTP-proxy, upnp için upnp proxy, sip için sip-proxy vs.

Aktif FTP ve Güvenlik Duvarı

FTP istemcinin önünde bir Güvenlik Duvarı varsa istemci kendi tarafında port açsa bile bu porta izin Güvenlik Duvarı tarafından verilmeyeceği için problem yaşanacaktır.

aktifgd.png
İnternet Explorer varsayılan durumda Aktif FTP yapmaya çalışır. Pasif FTP yapmaya zorlamak için aşağıdaki adımlar takip edilmelidir;

aktifgd2.png
İnternet Explorer'ı Pasif FTP yapmaya zorlamak
Pasif FTP ve Güvenlik Duvarı

Pasif FTP de FTP sunucu ek port açsa bile önünde bir Güvenlik Duvarı varsa Güvenlik Duvarıdan o porta erişim izni verilmesi gerekir.

pasifftpgd.png

Please Log in or Create an account to join the conversation.

  • Page:
  • 1
Time to create page: 0.152 seconds

NDK Hoş Geldin