FTP 7'de kullanıcı sınırlandırma (izolasyon)

5 Temmuz 2010 12:32

Uzun bir süredir ara verdiğim FTP ile ilgili yazılara nihayet bir yenisini ekliyorum. Daha önceki yazılarımızda FTP kurulumundanFTP sitesi oluşturmaktankullanıcı yetkilendirmeden, passive port ayarlarındanFTP için firewall ayarlarından bahsetmiştik.

Bu yazıda FTP için tanımladığımız kullanıcıları nasıl izole edeceğimizden, nasıl birbirlerinin klasörlerine erişmelerini engelleyeceğimizden ve nasıl sadece kendilerine ait olan klasörlere erişmelerine izin vereceğimizden bahsedeceğiz.

Kullanıcıları izole edebilmek için öncelikle yapmamız gereken bu işlem için gerekli ayarlamayı yapmak. Bu ayarı yapabilmek için IIS Manager'da FTP için oluşturduğumuz web sitesine tıklayıp, orta bölümde görüntülenen seçeneklerden FTP User Isolation'a tıklıyoruz.

FTP User Isolation

Görüntülenecek olan FTP User Isolation başlıklı bölümde nasıl bir izolasyon yapmak istiyorsak seçiyoruz.

Kullanıcı izole etme

Do not isolate users. Start users in: ayarını seçecek olursak kullanıcıların FTP'ye bağlandıklarında herhangi bir kısıtlama olmadan dolaşabilmelerine izin vermiş oluyoruz. Buradaki seçeneklerden FTP root directory seçeneği işaretlenirse tüm kullanıcılar FTP'ye bağlandıklarında FTP'nin ana klasörünü görebilecekler, sonrasında da istedikleri alt klasöre gidebileceklerdir. Eğer User name directory işaretlenecek olursa da kullanıcı FTP'ye bağlandığında kendisine ait olan klasörü görecek; ancak, üst klasöre çıkıp istediği gibi diğer klasörlere de gitme şansına sahip olacaktır.

Isolate users. Restrict users to the floowing directory: ayarını seçecek olursak kullanıcılar işaretlenecek olan seçeneğe göre sadece kendi klasörleri içerisinde dolaşma hakkına sahip olacaklardır.

User name directory (disable global virtual directories) seçeneği çoğunlukla tercih edeceğimiz seçenek olacak. Bu seçeneği işaretlediğimizde kullanıcının FTP kullanabilmesi için aşağıda ayrıntılarını ele alacağımız bazı tanımlamalar yapmak gerekecek. Ancak bir klasöre birden fazla kişinin erişebilmesi veya bir kullanıcının birden fazla klasöre erişebilmesi gibi sağladığı kolaylıklar nedeniyle  bu tanımlamaları sorun etmeyeceğiz :)

User name physical directory (enable global virtual directories) seçeneğinin işaretlenebilmesi için FTP'ye bağlanacak olan kullanıcıların adları ile bağlandıkları klasörün adının aynı olması gerekmektedir. Bu seçeneğin işaretlenmesi kullanıcı adları ile klasör adları aynı olduğu sürece her kullanıcı için ayrıca tanımlama yapılmasını gerektirmediği için kolaylık sağlayacaktır. Ancak, aynı klasöre birden fazla kullanıcının ulaşması gereken durumlarda işe yaramayacaktır. Ayrıca bir kullanıcının birden fazla farklı klasöre erişme durumunda da benzer şekilde işe yaramayacaktır.

FTP home directory configured in Active Directory seçeneği ile Active Directory üzerinden tanımlanmış FTP ayarlarını kullanmamız mümkün olabilmekte. Set butonuna tıklayıp yetkili bir Active Directory kullanıcısının bilgilerini girerek bu ayarları aktif hale getirebiliriz.

Custom seçeneği ile FTP 7 ile gelen ASP.NET Membership Authentication özelliğini kullanarak SQL Server gibi bir yerde sakladığımız kullanıcı bilgileri ile yetkilendirme yapabiliyoruz. 

Yukarıdaki seçeneklerden User name directory (disable global virtual directories) seçeneği ile devam ettiğimizi varsaydığımızda yapmamız gereken birkaç ayarımız olduğundan bahsetmiştik. Şimdi bu ayarlar nelerdir onlara bir bakalım:

Öncelikli olarak FTP sitesi için belirlediğimiz ana klasör içerisinde LocalUser isminde bir alt klasör oluşturuyoruz. User name directory seçeneği ile çalışmak için bu klasöre ihtiyacımız var. Tanımları bu klasörün altında oluşturacağız.

LocalUser klasörünü oluşturduktan sonra IIS Manager'da FTP sitesinde bu klasörü bulup sağ tıklayıp Add Virtual Directory'e basıyoruz.

Kullanıcı tanımlama

Görüntülenecek olan Add Virtual Directory başlıklı pencerede erişim tanımlayacağımız kullanıcının adını ve bağlanacağı klasöre ait bilgileri girip OK'e basıyoruz.

FTP kullanıcı bilgilerini giriyoruz

Artık kullanıcımız ilgili klasöre erişebilecek şekilde tanımlandı ve kullanıcı listesinde de yerini aldı.

Kullanıcı tanımlaması tamamlandı

Bu aşamadan sonrasında kullanıcının erişeceği başka klasörler var ise onları da kullanıcı adının altında Virtual Directory (sanal klasör) olarak ekleyip erişimi sağlayabiliriz. Aynı klasöre farklı bir kullanıcı da bağlanacak ise o kullanıcıyı da ismi ile tanımlarken aynı klasörü göstererek erişimini sağlayabiliriz.

Bir kullanıcıya birden fazla alt klasör tanımladığımızda FTP ile erişimde bu klasörlerin görünmemesi sorunu ile karşı karşıya kalacağız. Bu sorunu ortadan kaldırmak için yapmamız gereken bir ayar var. Bu ayarı yapabilmek için IIS Manager'da ilgili FTP sitesini işaretleyip orta bölümdeki FTP Directory Browsing'e tıklıyoruz.

FTP Directory Browsing ayarları

Görüntülenecek olan FTP Directory Browsing başlıklı ekranda Directory Listing Options altında yeralan Virtual Directories bölümünü işaretliyoruz. Böylece artık kullanıcıya eklediğimiz tüm klasörler FTP bağlantısı gerçekleştiriğinde görüntülenecek.

Sanal klasör görüntüleme

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

FTP 7.0, FTP 7.5
, , , , ,


FTP 7 için Windows firewall ayarları

9 Şubat 2009 18:06

FTP 7'de passive port kullanımı başlıklı yazıda FTP 7.0'da passive port ayarlarının nasıl yapılacağından bahsetmiştik. Bu yazıda ise Windows Server 2008 üzerinde FTP 7.0 ile ilgili ayarların nasıl yapılacağından bahsedeceğiz.

Windows Server 2008, IIS 7.0 ve FTP 7.0 kurulu sunucumuz bir firewall arkasında yer almıyor ve Windows Server 2008'in kendi firewall'unu kullanmak istiyorsak FTP ile ilgili ayarları nasıl yapacağız?

Windows Server 2008'de firewall'da ayarları birden fazla yol ile yapabiliriz : Komut satırı, Windows XP ve Windows Vista'dan alışık olduğumuz, Control Panel'deki Windows Firewall linki ile ve Windows Server 2008 ile gelen ve Start menüsündeki Administrative Tools altında yeralan Windows Firewall with Advanced Security linki ile.

Firewall ile ilgili ayarları yaparken Windows Firewall with Advanced Security linkini tercih ediyorum çünkü bu şekilde firewall ile ilgili ayarları tıpkı diğer firewall'larda olduğu gibi daha kapsamlı yapma şansım oluyor.



FTP 7.0 ayarlarını yapmak için sol bölümden Inbound Rule'a ve sağ bölümden de New Rule linkine tıklıyoruz. Açılan Rule Type başlıklı pencerede Port'u seçip Next'e tıklıyoruz.



Protocol and Ports başlıklı pencerede Does this rule apply to TCP or UDP başlıklı kısımda TCP'yi seçiyoruz. Does this rule apply to all local ports or specific local ports başlıklı kısımda ise Specific local ports'u seçip FTP için kullanmak istediğimiz portu girip Next'e tıklayarak devam ediyoruz.



Action başlıklı pencerede Allow the connection seçeneğini işaretleyip Next'e tıklıyoruz.



Profile başlıklı pencerede uygulayacağımız kuralın hangi bağlantı türlerinde geçerli olacağını seçiyoruz : Corporate, private, public. Bu bağlantı türleri ne anlama geliyor, kısaca özetlersek :

- Corporate : Sunucunun bağlı olduğu domainden gelecek bağlantılar için geçerlidir.
- Private : Sunucunun bağlı olduğu domaindeki bir client'ın Internet üzerinden erişiminde geçerlidir.
- Public : Internet üzerinden gelecek herhangi bir client için geçerlidir. Genel olarak FTP client'ların bağlantısı için bu bağlantı türünün seçilmesi yeterlidir.



Name başlıklı pencerede Name kısmında kural için bir isim veriyoruz. Description kısmına da istersek bir açıklama girerek Finish'e tıklıyoruz. Böylece kuralımızı tanımlamayı bitiriyoruz, artık kuralımız çalışır halde.

Passive port ile bağlantı yapmayı denediğimizde bağlantının gerçekleşmediğini göreceğiz :) Çünkü yapmamız gereken son bir işlem daha var. Passive port ile bağlantının çalışabilmesi için aşağıdaki komutu komut satırından çalıştırmamız gerekiyor :

netsh advfirewall set global StatefulFtp enable

Böylece FTP ile ilgili yapacağımız tüm tanımları tamamladık. Umarım faydalı olmuştur.

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

FTP 7.0, FTP 7.5, IIS 7.0, Windows Server 2008
, , , , , ,


FTP 7'de passive port kullanımı

7 Şubat 2009 17:19

FTP 7.0 ile ilgili önceki yazılarımızda FTP 7.0 kurulumundan, bir FTP sitesinin nasıl oluşturulacağından ve kullanıcı yetkilendirmesinden bahsetmiştik. Bu yazımızda ise FTP 7.0'da passive (pasif) portların nasıl ayarlanacağından bahsedeceğiz.

FTP 7.0 sunucumuzda kullanıcı yetkilendirmelerini yaptıktan sonra kullanıcılar FTP client programları veya Internet Explorer ile bağlanmak istediklerinde bağlantı problemi yaşayabilirler. Bunun sebebi FTP 7.0 üzerinde passive port ayarlarının yapılmamış olmasıdır. Çünkü FTP client programları varsayılan olarak bağlantıları passive modda gerçekleştirmek üzere yapılandırılmıştır.

FTP 7.0 üzerinde passive portlar kullanabilir miyiz? Evet, kullanabiliriz. Passive portları kullanabilmek için birkaç ayar yapmamız gerekecek. İlk olarak kullanacağımız passive portları ayarlamakla başlıyoruz. IIS Manager'da sol bölümden sunucumuzun adına ve orta bölümden FTP Firewall Support linkine tıklıyoruz.



Açılan pencerede Data Channel Port Range başlıklı bölümde kullanmak istediğimiz port aralığını belirtiyoruz. Burada 1025'den başlayıp 65535'e kadar istediğimiz kadar portu kullanım için tanımlayabiliriz, aralığın büyüklüğünü sunucudaki FTP kullanım yoğunluğuna göre belirleyebiliriz. Port aralığını girdikten sonra Apply'a tıklıyoruz.

Not : 1-1024 arası portlar sistem kullanımı için rezerve edilmiştir. Ayrıca SQL Server gibi programlar daha yüksek (1433) port numaralarını kullanabilmektedir. Bu nedenlerle tavsiyem mümkün olduğunca yüksek port numaraları (40000 veya 60000 sonrası gibi) kullanılmasıdır.



Apply'a tıkladığımızda aşağıdaki uyarı mesajı görüntülenecek. Mesajdan da anlaşılabileceği gibi firewall üzerinde ilgili ayarları yapmamız öneriliyor. Eğer sunucumuz bir firewall arkasında değilse ve Windows Server 2008'in kendi firewall'unu kullanacaksak yapılacak ayarları  FTP 7.0 için Windows firewall ayarları başlıklı yazıda bulabilirsiniz.



Eğer FTP sunucusunda her bir FTP sitesi için ayrı IP adresleri kullanılmayacaksa External IP Address of Firewall kısmına FTP sunucusu için geçerli olacak IP adresini girebiliriz. Her FTP sitesi için ayrı IP adresi kullanılacaksa IIS Manager'da sol bölümden ilgili FTP sitesine ve orta bölümden FTP Firewall Support linkine tıklıyoruz.



Açılan pencerede External IP Address of Firewall kısmına ilgili FTP sitesi için kullanmak istediğimiz IP adresini yazıp Apply'a tıklıyoruz.



Böylece FTP 7.0'da passive port kullanımı için gerekli ayarları tamamladık. Windows Server 2008 firewall üzerinde FTP 7.0 ile ilgili yapılması gereken ayarları FTP 7.0 için Windows firewall ayarları başlıklı yazıda bulabilirsiniz.

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

FTP 7.0, FTP 7.5, IIS 7.0, Windows Server 2008
, , , ,