ProFTPD kurulumu ve yapılandırılması: Revizyonlar arasındaki fark

Ubuntu Türkiye Wiki sitesinden
Gezinti kısmına atla Arama kısmına atla
kDeğişiklik özeti yok
 
(Aynı kullanıcının aradaki diğer 6 değişikliği gösterilmiyor)
1. satır: 1. satır:
== '''{{mavi|Tanıtım  }} ''' ==
== ProFTPD nedir? ==


'''ProFTPD''', GPL lisansı ile dağıtılan''' bir FTP sunucusudur'''. Genel yapı dizaynı olarak Apache web sunucusunun dizaynı örnek alınmıştır.
'''ProFTPD''', [[GPL|GNU Genel Kamu Lisansı]] lisansı ile dağıtılan''' bir FTP sunucusudur'''. Genel yapı dizaynı olarak [[v:Apache HTTP Sunucusu|Apache]] web sunucusunun dizaynı örnek alınmıştır.
ProFTPD'nin temel özellikleri şu şekilde sıralanabilir:


# Tek bir yapılandırma dosyası bulunmaktadır. Debian tabanlı sistemlerde  genelde /etc/proftpd/proftpd.conf yolunda bulunur. Dosya içerisinde direktifler ve direktif grupları bulunur.
# Her dizine isteğe bağlı olarak koyulan .ftpaccess dosyası tıpkı Apache deki .htaccess dosyası gibidir.
# Standalone (Tekbaşına) ya da inetd (sistem hizmeti) şeklinde çalıştırılabilir.
# Anonim FTP erişiminde kök dizinler ayrı bir dizin yapısı şeklinde yapılandırılmaya gerek duymaz.
# Unix / Linux biçimli erişim yetkilendirmelerine (chmod) izin verir
# Günlük tutma özelliği vardır. Ve kayıt edilecek bilgilerin genişletilme seçeneği mevcuttur.
# Shadow Password  (Gölge Parolama) desteği vardır.


== '''{{mavi| Temel Özellikleri  }}  ''' ==
== Kurulumu ==
<br>
*1- Tek bir yapılandırma dosyası bulunmaktadır. Debian tabanlı sistemlerde  genelde /etc/proftpd/proftpd.conf yolunda bulunur. Dosya içerisinde direktifler ve direktif grupları bulunur.
*2- Her dizine isteğe bağlı olarak koyulan .ftpaccess dosyası tıpkı Apache deki .htaccess dosyası gibidir.
*3- Standalone (Tekbaşına) ya da inetd (sistem hizmeti) şeklinde çalıştırılabilir.
*4- Anonim FTP erişiminde kök dizinler ayrı bir dizin yapısı şeklinde yapılandırılmaya gerek duymaz.
*5- Unix / Linux biçimli erişim yetkilendirmelerine (chmod) izin verir
*6- Günlük tutma özelliği vardır. Ve kayıt edilecek bilgilerin genişletilme seçeneği mevcuttur.
*7- Shadow Password  (Gölge Parolama) desteği vardır.
 
 
 
 
 
== '''{{kırmızı|Kurulum }}  ''' ==
<br>
Debian tabanlı sistemlerde (Ubuntu , Kubuntu , Xubuntu , Lubuntu, Mint ,  ...vb)
Debian tabanlı sistemlerde (Ubuntu , Kubuntu , Xubuntu , Lubuntu, Mint ,  ...vb)


{{uçbirim|sudo apt-get install proftpd}}
{{kod||<nowiki>sudo apt-get install proftpd </nowiki>}} <br>
komutu verilir ve kuruluma başlanır.
komutu verilir ve kuruluma başlanır.
Yükleme esnasında size aşağıdaki gibi soru soracaktır.
Yükleme esnasında size aşağıdaki gibi soru soracaktır.


[[Dosya:Proftpd1.png]]<br>
[[Dosya:Proftpd1.png|none]]
 


Bu soruda size açıklamasında da belirtildiği gibi Kendibaşına (Standalone) ya da inetd den (Sistem servisi) olarak çalışma modlarından hangisini kullanmak istediğinizi seçmenizi isteyecektir.
Bu soruda size açıklamasında da belirtildiği gibi Kendibaşına (Standalone) ya da inetd den (Sistem servisi) olarak çalışma modlarından hangisini kullanmak istediğinizi seçmenizi isteyecektir.
Açıklamada da belirtildiği gibi eğer yüksek trafiğe sahip bir ftp sunucunuz olacak ise, yani aynı anda bağlanacak kullanıcı sayınız fazla ise. Sunucuyu kendi başına (standalone) olarak çalıştırmanız önerilir. Hem böylelikle herhangi bir saldırgan sunucunuza bağlandığında sunucu üzerinde yazılım çalıştırmak isterse hiçbir şekilde sisteme erişemediğinden başarısız olacaktır.
Açıklamada da belirtildiği gibi eğer yüksek trafiğe sahip bir ftp sunucunuz olacak ise, yani aynı anda bağlanacak kullanıcı sayınız fazla ise. Sunucuyu kendi başına (standalone) olarak çalıştırmanız önerilir. Hem böylelikle herhangi bir saldırgan sunucunuza bağlandığında sunucu üzerinde yazılım çalıştırmak isterse hiçbir şekilde sisteme erişemediğinden başarısız olacaktır.


=='''{{mavi| Yapılandırma  }}''' ==
== Yapılandırma  ==


Sunucunuzu ilk kurduğunuzda varsayılan olarak tüm bağlantılara kapalı bir şekilde yapılandırılmış olacaktır.
Sunucunuzu ilk kurduğunuzda varsayılan olarak tüm bağlantılara kapalı bir şekilde yapılandırılmış olacaktır.


{{uçbirim|sudo gedit /etc/proftpd/proftpd.conf}}
komutunu vererek yapılandırma dosyamızı açıyoruz.


{{kod||<nowiki>sudo gedit /etc/proftpd/proftpd.conf </nowiki>}} <br>
'''Dosyada kullanılan/kullanılabilecek yönergelerden bazıları :'''
komutu vererek yapılandırma dosyamızı açıyoruz.
 
'''Dosyada Kullanılan/Kullanılabilecek yönergelerden bazıları :'''


*1-    ServerName      --->  FTP sunucunuzun adı
# ServerName      --->  FTP sunucunuzun adı
*2-  ServerType      --->  FTP sunucunuzun çalışma modu
# ServerType      --->  FTP sunucunuzun çalışma modu
*3-  DeferWelcome      --->  Kullanıcı yetkilendirilmeden önce Hoş geldin mesajı görünsünmü?
# DeferWelcome      --->  Kullanıcı yetkilendirilmeden önce Hoş geldin mesajı görünsünmü?
*4-  MultilineRFC2228  --->  Çoklu satır kullanarak ecvap verme modu
# MultilineRFC2228  --->  Çoklu satır kullanarak ecvap verme modu
*5-  DefaultServer      --->  Varsayılan FTP sunucusu olsunmu
# DefaultServer      --->  Varsayılan FTP sunucusu olsunmu
*6-  ShowSymlinks      --->  Sembolik linkler görünsünmü
# ShowSymlinks      --->  Sembolik linkler görünsünmü
*7-  TimeoutNoTransfer  --->  Transfer işlemi olmadan bağlantı zaman aşımı
# TimeoutNoTransfer  --->  Transfer işlemi olmadan bağlantı zaman aşımı
*8-  TimeoutStalled      --->  Transfer durduktan sonraki zmaan aşımı
# TimeoutStalled      --->  Transfer durduktan sonraki zmaan aşımı
*9-  TimeoutIdle      --->  Boş bağlantı zaman aşımı
# TimeoutIdle      --->  Boş bağlantı zaman aşımı
*10-  DisplayLogin      --->  Giriş yapıldığında Hoş geldin mesajı olarak gösterilecek dosya
# DisplayLogin      --->  Giriş yapıldığında Hoş geldin mesajı olarak gösterilecek dosya
*11-  DisplayChdir      --->  Dizine girildiğinde gösterilecek mesaj dosyası
# DisplayChdir      --->  Dizine girildiğinde gösterilecek mesaj dosyası
*12-  ListOptions      --->  Dizin listelenirken kullanılacak seçenekler
# ListOptions      --->  Dizin listelenirken kullanılacak seçenekler
*13-  DenyFilter      --->  Düzenli ifade (Regular expression) ile komutlarda filtreleme
# DenyFilter      --->  Düzenli ifade (Regular expression) ile komutlarda filtreleme
*14-  Port        --->  FTP sunucunuzun kullanacağı port numarası
# Port        --->  FTP sunucunuzun kullanacağı port numarası
*15-  MaxInstances      --->  Maksimum işlem sınırı
# MaxInstances      --->  Maksimum işlem sınırı
*16-  AllowOverwrite      --->  Dosyalar üzerine yazılabilir olsunmu
# AllowOverwrite      --->  Dosyalar üzerine yazılabilir olsunmu
*17-  TransferLog      --->  Transfer işlemlerinin kayıt altına alınacağı dosya
# TransferLog      --->  Transfer işlemlerinin kayıt altına alınacağı dosya
*18-  SystemLog      --->  Sunucuyla yapılan bağlantıların kayıt altına alınacağı dosya
# SystemLog      --->  Sunucuyla yapılan bağlantıların kayıt altına alınacağı dosya
*19-  RequireValidShell  --->  Bağlanacak kullanıcılar geçerli bir komut sistemine sahipmi kontrolü
# RequireValidShell  --->  Bağlanacak kullanıcılar geçerli bir komut sistemine sahipmi kontrolü
*20-  RootLogin      --->  Sistem yöneticisi (root) giriş yapabilsinmi
# RootLogin      --->  Sistem yöneticisi (root) giriş yapabilsinmi
*21-  UseFtpUsers      --->  Bağlantısı bloke edilecek kullanıcıların listesi kullanılsınmı /etc/ftpusers
# UseFtpUsers      --->  Bağlantısı bloke edilecek kullanıcıların listesi kullanılsınmı /etc/ftpusers
*22-  DefaultRoot      --->  Bağlanacak kullanıcılar için kök dizini
# DefaultRoot      --->  Bağlanacak kullanıcılar için kök dizini
*23-  <Limit parametre>  --->  Verilen parametrelere göre filtre belirlenmesi
# <Limit parametre>  --->  Verilen parametrelere göre filtre belirlenmesi
*24-  <Directory dizin_yolu>  --->  Belirtilen dizine ait özelliklerin belirtilmesi
# <Directory dizin_yolu>  --->  Belirtilen dizine ait özelliklerin belirtilmesi
*25-  <Anonymous ~ftp>  --->  Anonim bağlantıların ayarlarının yapılması
# <Anonymous ~ftp>  --->  Anonim bağlantıların ayarlarının yapılması
*26-  MaxClients      --->  Bağlantı yapabilecek maksimum istemci sayısı
# MaxClients      --->  Bağlantı yapabilecek maksimum istemci sayısı


== Örnekler ==


== '''{{mavi|Örnekler }}''' ==
'''Senaryo 1:'''   Kurduğum FTP sunucusuna yalnızca Anonim bağlantı yapılmasını aktif etmek istiyorum


Senaryo 1:    Kurduğum FTP sunucusuna yalnızca Anonim bağlantı yapılmasını aktif etmek istiyorum
'''Cevap :'''  <br>
{{mavi|Cevap : }}  <br>
Yapılandırma dosyası içerisine aşağıdaki şekilde yönergeler yazılır, kaydedilir ve sunucu yeniden başlatılır
Yapılandırma dosyası içerisine aşağıdaki şekilde yönergeler yazılır, kaydedilir ve sunucu yeniden başlatılır


97. satır: 87. satır:
&nbsp;</Anonymous<nowiki>></nowiki><br>
&nbsp;</Anonymous<nowiki>></nowiki><br>
}}
}}
'''{{mavi|Senaryo 2: }}  <br>'''  Kurduğum FTP sunucusuna belirlediğim sistem kullanıcılarının bağlanmasını istiyorum fakat hiçbir kullanıcı diğer kullanıcıların dosyalarına erişemesin


{{mavi|Cevap :}}  <br>
'''Senaryo 2:''' Kurduğum FTP sunucusuna belirlediğim sistem kullanıcılarının bağlanmasını istiyorum fakat hiçbir kullanıcı diğer kullanıcıların dosyalarına erişemesin
yapılandırma dosyası içerisinde
 
'''Cevap :''' Yapılandırma dosyası içerisinde


{{uçbirim|DefaultRoot  ~}}
{{kod||<nowiki>DefaultRoot  ~ </nowiki>}} <br>
olarak belirtmek ve ayrıca eğer oluşturulan kullanıcılar '''/bin/false ''' gibi bir komut kabuğunu kullanacak şekilde ayarlanmış ise
olarak belirtmek ve ayrıca eğer oluşturulan kullanıcılar '''/bin/false ''' gibi bir komut kabuğunu kullanacak şekilde ayarlanmış ise
   
   
{{kod||<nowiki>RequireValidShell      off </nowiki>}} <br>
{{uçbirim|RequireValidShell      off}}
olarak ayarlanması ve kaydedilip sunucunun yeniden başlatılması yeterlidir.
olarak ayarlanması ve kaydedilip sunucunun yeniden başlatılması yeterlidir.
==Kaynak==
 
http://forum.ubuntu-tr.net/index.php/topic,20654.msg249455.html#msg249455
== Kaynakça ==
[[kategori:Sunucu Uygulamaları]]
* Ubuntu-tr forumunda "andirinli" kullanıcısının  [http://forum.ubuntu-tr.net/index.php/topic,20654.msg249455.html#msg249455 ProFTPD kurulum ve yapılandırılması] yazısı
 
[[Kategori:Sunucular]]

22.33, 7 Kasım 2017 itibarı ile sayfanın şu anki hâli

ProFTPD nedir?

ProFTPD, GNU Genel Kamu Lisansı lisansı ile dağıtılan bir FTP sunucusudur. Genel yapı dizaynı olarak Apache web sunucusunun dizaynı örnek alınmıştır. ProFTPD'nin temel özellikleri şu şekilde sıralanabilir:

  1. Tek bir yapılandırma dosyası bulunmaktadır. Debian tabanlı sistemlerde genelde /etc/proftpd/proftpd.conf yolunda bulunur. Dosya içerisinde direktifler ve direktif grupları bulunur.
  2. Her dizine isteğe bağlı olarak koyulan .ftpaccess dosyası tıpkı Apache deki .htaccess dosyası gibidir.
  3. Standalone (Tekbaşına) ya da inetd (sistem hizmeti) şeklinde çalıştırılabilir.
  4. Anonim FTP erişiminde kök dizinler ayrı bir dizin yapısı şeklinde yapılandırılmaya gerek duymaz.
  5. Unix / Linux biçimli erişim yetkilendirmelerine (chmod) izin verir
  6. Günlük tutma özelliği vardır. Ve kayıt edilecek bilgilerin genişletilme seçeneği mevcuttur.
  7. Shadow Password (Gölge Parolama) desteği vardır.

Kurulumu

Debian tabanlı sistemlerde (Ubuntu , Kubuntu , Xubuntu , Lubuntu, Mint , ...vb)

sudo apt-get install proftpd

komutu verilir ve kuruluma başlanır. Yükleme esnasında size aşağıdaki gibi soru soracaktır.

Proftpd1.png

Bu soruda size açıklamasında da belirtildiği gibi Kendibaşına (Standalone) ya da inetd den (Sistem servisi) olarak çalışma modlarından hangisini kullanmak istediğinizi seçmenizi isteyecektir. Açıklamada da belirtildiği gibi eğer yüksek trafiğe sahip bir ftp sunucunuz olacak ise, yani aynı anda bağlanacak kullanıcı sayınız fazla ise. Sunucuyu kendi başına (standalone) olarak çalıştırmanız önerilir. Hem böylelikle herhangi bir saldırgan sunucunuza bağlandığında sunucu üzerinde yazılım çalıştırmak isterse hiçbir şekilde sisteme erişemediğinden başarısız olacaktır.

Yapılandırma

Sunucunuzu ilk kurduğunuzda varsayılan olarak tüm bağlantılara kapalı bir şekilde yapılandırılmış olacaktır.

sudo gedit /etc/proftpd/proftpd.conf

komutunu vererek yapılandırma dosyamızı açıyoruz.

Dosyada kullanılan/kullanılabilecek yönergelerden bazıları :

  1. ServerName ---> FTP sunucunuzun adı
  2. ServerType ---> FTP sunucunuzun çalışma modu
  3. DeferWelcome ---> Kullanıcı yetkilendirilmeden önce Hoş geldin mesajı görünsünmü?
  4. MultilineRFC2228 ---> Çoklu satır kullanarak ecvap verme modu
  5. DefaultServer ---> Varsayılan FTP sunucusu olsunmu
  6. ShowSymlinks ---> Sembolik linkler görünsünmü
  7. TimeoutNoTransfer ---> Transfer işlemi olmadan bağlantı zaman aşımı
  8. TimeoutStalled ---> Transfer durduktan sonraki zmaan aşımı
  9. TimeoutIdle ---> Boş bağlantı zaman aşımı
  10. DisplayLogin ---> Giriş yapıldığında Hoş geldin mesajı olarak gösterilecek dosya
  11. DisplayChdir ---> Dizine girildiğinde gösterilecek mesaj dosyası
  12. ListOptions ---> Dizin listelenirken kullanılacak seçenekler
  13. DenyFilter ---> Düzenli ifade (Regular expression) ile komutlarda filtreleme
  14. Port ---> FTP sunucunuzun kullanacağı port numarası
  15. MaxInstances ---> Maksimum işlem sınırı
  16. AllowOverwrite ---> Dosyalar üzerine yazılabilir olsunmu
  17. TransferLog ---> Transfer işlemlerinin kayıt altına alınacağı dosya
  18. SystemLog ---> Sunucuyla yapılan bağlantıların kayıt altına alınacağı dosya
  19. RequireValidShell ---> Bağlanacak kullanıcılar geçerli bir komut sistemine sahipmi kontrolü
  20. RootLogin ---> Sistem yöneticisi (root) giriş yapabilsinmi
  21. UseFtpUsers ---> Bağlantısı bloke edilecek kullanıcıların listesi kullanılsınmı /etc/ftpusers
  22. DefaultRoot ---> Bağlanacak kullanıcılar için kök dizini
  23. <Limit parametre> ---> Verilen parametrelere göre filtre belirlenmesi
  24. <Directory dizin_yolu> ---> Belirtilen dizine ait özelliklerin belirtilmesi
  25. <Anonymous ~ftp> ---> Anonim bağlantıların ayarlarının yapılması
  26. MaxClients ---> Bağlantı yapabilecek maksimum istemci sayısı

Örnekler

Senaryo 1: Kurduğum FTP sunucusuna yalnızca Anonim bağlantı yapılmasını aktif etmek istiyorum

Cevap :
Yapılandırma dosyası içerisine aşağıdaki şekilde yönergeler yazılır, kaydedilir ve sunucu yeniden başlatılır

Dosya İçeriği
Dosya yolu:Yapılandırma Dosyası


<Anonymous ~ftp>
   User            ftp
   Group         nogroup
   UserAlias         anonymous ftp
   DirFakeUser      on    ftp
   DirFakeGroup    on    ftp
   RequireValidShell      off
   MaxClients         10
   DisplayLogin         welcome.msg
   DisplayChdir         .message

   <Directory *>
     <Limit WRITE>
       DenyAll
     </Limit>
   </Directory>
 </Anonymous>


Senaryo 2: Kurduğum FTP sunucusuna belirlediğim sistem kullanıcılarının bağlanmasını istiyorum fakat hiçbir kullanıcı diğer kullanıcıların dosyalarına erişemesin

Cevap : Yapılandırma dosyası içerisinde

DefaultRoot   ~

olarak belirtmek ve ayrıca eğer oluşturulan kullanıcılar /bin/false gibi bir komut kabuğunu kullanacak şekilde ayarlanmış ise

RequireValidShell      off

olarak ayarlanması ve kaydedilip sunucunun yeniden başlatılması yeterlidir.

Kaynakça