14 Eylül 2011 Çarşamba

Ubuntu ProFTPd + TLS kurulumu


Bildiğiniz gibi bütün şifreler ve bütün veriler clear text iletildiği için FTP çok güvensiz bir protokoldür.Ancak TLS kullanılarak bütün haberleşme şifreli hale getirilebilir.Şimdi bunun nasıl yapılacağına bir bakalım.
Başlamadan önce bir ön bilgi olarak
sunucu ismi(hostname)=sunucu1.example.com
IP adresi=192.168.4.10 olduğunu varsayalım.
1. Öncelikle kuruluma başlamak için root yetkisi gerekli
sudo su
 
2. ProFTPd ve OpenSSL kurulumu
TLS için OpenSSL gereklidir.ProFTPd ve OpenSSL kurulumunu aşağdaki komutla yapıyoruz.
aptitude install proftpd openssl
ProFTPd yi  hangi modda çalışacağına dair soruya 
Run proftpd: <-- standalone
 
Güvenlik sebebiyle ProFTPd ayar dosyası olan  /etc/proftpd/proftpd.conf dosyasında bazı değişiklikler yapıyoruz.
 
vi /etc/proftpd/proftpd.conf
[...]
DefaultRoot ~
IdentLookups off
ServerIdent on "FTP Server ready."
[...]

3. TLS için SSL sertifika oluşturulması
mkdir /etc/proftpd/ssl
Aşağıdaki şekilde SSL sertifikası üretebiliriz.
openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem
Country Name (2 letter code) [AU]: <-- Enter your Country Name (e.g., "TR").
State or Province Name (full name) [Some-State]: <-- Enter your State or Province Name.
Locality Name (eg, city) []: <-- Enter your City.
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- Enter your Organization Name (e.g., the name of your company).
Organizational Unit Name (eg, section) []: <-- Enter your Organizational Unit Name (e.g. "IT Department").
Common Name (eg, YOUR name) []: <-- Enter the Fully Qualified Domain Name of the system (e.g. "sunucu1.example.com").
Email Address []: <-- Enter your Email Address.
Dikkat: Common Name için mutlaka hostname yazılmalı.(sunucu1 değil sunucu1.example.com)
 
4.ProFTPd için TLS'nin aktif edilmesi
ProFTP de TLS'nin aktif edilmesi için proftpd.conf içerisinde tls.conf Include edilir.
vi /etc/proftpd/proftpd.conf
[...]
#
# This is used for FTPS connections
#
Include /etc/proftpd/tls.conf
[...]

ve daha sonra

TLSEngine                  on
TLSLog                     /var/log/proftpd/tls.log
TLSProtocol                SSLv23
TLSOptions                 NoCertRequest AllowClientRenegotiations
TLSRSACertificateFile      /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile   /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient            off
TLSRequired                on
Eğer TLSRequired on ise sadece TLS bağlantılarına izin veriyorsunuz demektir.
TLSRequired off ise TLS ve non-TLS bağlatılarına izin verilebilir.

Ubuntu Tomcat 6 kurulumu



Tomcat kurulumuna başlamadan önce sistemde java paketlerinin kurulu olup olmadığını aşağıdaki komutla kontrol edelim.
dpkg –get-selections | grep sun-java

Eğer aşağıdaki gibi bir çıktı alırsak java kurulu demektir.
sun-java6-bin                                   install
sun-java6-jdk                                   install
sun-java6-jre                                   install

Eğer java kurulu değilse aşağıdaki komutla kurmamız gerekiyor.
sudo apt-get install sun-java6-jdk

Artık Tomcat kurulumuna geçebiliriz.Öncelikle Tomcat paketini download edelim.
wget http://apache.hoxt.com/tomcat/tomcat-6/v6.0.14/bin/apache-tomcat-6.0.14.tar.gz
tar xvzf apache-tomcat-6.0.14.tar.gz

sudo mv apache-tomcat-6.0.14 /usr/local/tomcat

Tomcat JAVA_HOME değişkenin set edilmesini gerektirir.Bunun için
vi ~/.bashrc

Aşağıdaki satır eklenir.
export JAVA_HOME=/usr/lib/jvm/java-6-sun

Sunucunuz açılırken Tomcat'in otomatik olarak start olması için /etc/init.d/tomcat dosyasının içine aşağıdaki script'i oluşturuyoruz.
sudo vi /etc/init.d/tomcat

# Tomcat auto-start
#
# description: Auto-starts tomcat
# processname: tomcat
# pidfile: /var/run/tomcat.pid
export JAVA_HOME=/usr/lib/jvm/java-6-sun
case $1 in
start)
        sh /usr/local/tomcat/bin/startup.sh
        ;;
stop) 
        sh /usr/local/tomcat/bin/shutdown.sh
        ;;
restart)
        sh /usr/local/tomcat/bin/shutdown.sh
        sh /usr/local/tomcat/bin/startup.sh
        ;;
esac  
exit 0

sudo chmod 755 /etc/init.d/tomcat

Ve en sonunda aşağıdaki sembolik link leri oluşturalım.
sudo ln -s /etc/init.d/tomcat /etc/rc1.d/K99tomcat
sudo ln -s /etc/init.d/tomcat /etc/rc2.d/S99tomcat

Artık tomcat kurulumu bitti ve kullanıma hazır.Browser da
http://SunucuIPadresi:8080/ yazıp tomcat sayfası görüntülenebilir.

FreeBSD üzerinde clamav destekli dansguardian kurulumu


Dansguardian güçlü bir web içerik filtreleme (content filtering) yazılımıdır.Dansguardian ile kullanıcıların istenmeyen içerik barındıran siteleri ziyaret etmeleri engellenebilir.Aynı zamanda dansguardian ile web üzerinden sisteminize virüs bulaşmasını önleyebilirsiniz.Bunun için dansguardian clamav ile tümleşik çalışacak şekilde kurulmalıdır.
Clamav Kurulumu
Clamav açık kaynak kodlu antivirüs yazılımıdır.FreeBSD port ağacında /usr/ports/security/clamav dizininde bulunur.Kurulum için aşağıdaki adımlar uygulanır.
# cd /usr/ports/security/clamav
# make install clean
İkili (binary) kurulum için pkg_add -rv clamav clamav kullanılabilir.
# pkg_add -rv clamav
Sistem açıldığında aktif etmek için aşağıdaki satırlar /etc/rc.conf dosyasına eklenir.
# clamav_freshclam_enable = "YES"
# clamav_clamd_enable = "YES"
Gerekli servisler başlatılır.
# /usr/local/etc/rc.d/clamav-freshclam start
# /usr/local/etc/rc.d/clamav-clamd start
Squid Kurulumu
# cd /usr/ports/www/squid30
# make install
Açılışta aktif hale getirmek için
# vi /etc/rc.conf
squid_enable="YES"
squid için gerekli cache dizinleri squid başlamadan önce çalıştırılmalıdır.
# /usr/local/sbin/squid -z
Daha sonra squid başlatılabilir.
Dansguardian kurulumu ve yapılandırması
Dansguardianı clamav ile entegre biçimde çalıştırabilmek için en kolay yol, dansguardianı clamav kullanıcısı ve grubunun hakları ile çalıştırmaktır. Ayrıca derlenme esnasında --enable-clamav --enable-clamd verilecek paremetreler ilede clamav entegrasyonu gerçekleştirilmiş olur. Burada isteğe göre --enable-clamav desteği verilmedende kurulum gerçekleştirilebilir.
Öncelikle dansguardian için ön tanımlı olarak gerekli pcre paketinin kurulumu
gerçekleştirilmelidir.

# cd /usr/ports/devel/pcre
# make install

# cd dansguardian-2.9.8.5 (Burada 2.9.8.5 versiyonu için kurulum anlatılmıştır)
# ./configure --prefix=/usr/local/dansguardian --enable-clamav --enable-clamd --with-
proxyuser=clamav --with-proxygroup=clamav
# make
# make install

/usr/local/dansguardian/etc/dansguardian/dansguardian.conf dosyasında clamav
entagrasyonu için gerekli satırların başından # işareti kaldırılır.

# vi /usr/local/dansguardian/etc/dansguardian/dansguardian.conf
contentscanner = '/usr/local/dansguardian/etc/dansguardian/contentscanners/clamav.conf'
contentscanner =
'/usr/local/dansguardian/etc/dansguardian/contentscanners/clamdscan.conf'
#

/usr/local/dansguardian/etc/dansguardian/contentscanners/clamav.conf dosyası içerisinde
antivirüs taraması için gerekli geçiçi dizin oluşturulmalıdır. Ön tanımlı olarak /tmp dizini
kullanılmaktadır.

# vi /usr/local/dansguardian/etc/dansguardian/contentscanners/clamav.conf
scanbuffdir = '/istenilen_dizin'
#

/usr/local/dansguardian/etc/dansguardian/contentscanners/clamdscan.conf dosyası içerisinde
clamd için kullanılan socket bilgisi verilmektedir. Bu netstat komutu ile öğrenilebilir.

# netstat -na | grep "clamd"
c597aec4 stream 0 0 c7293550 0 0 0 /var/run/clamav/clamd
#

Görüldüğü üzere /usr/local/dansguardian/etc/dansguardian/contentscanners/clamdscan.conf
dosyası içerisinde clamdudsfile değeri /var/run/clamav/clamd olmalıdır.

# vi /usr/local/dansguardian/etc/dansguardian/contentscanners/clamdscan.conf
clamdudsfile = '/var/run/clamav/clamd'
#

ipc dosyaları barındırmak için gerekli hafıza diski tanımlı olarak /tmp dizini
altında tutulur.Başka bir dizin altında bu dosyalar barındırılmak istenirse
eğer ;

# mkdir /usr/dansguardian
# mdmfs -s 128m md /usr/dansguardian/

Açılışta kalıcı olarak aktif olabilmesi için /etc/fstab dosyası içerisinde aşağıdaki satır
girilmelidir.

# vi /etc/fstab
md /usr/dansguardian mfs rw,-s128m 0 0
#

Clamav kullanıcısı ile çalıştırıldığı için dizinin hakları clamav kullanıcısına ait olmalıdır.

# chown clamav:clamav /usr/dansguardian

dansguardian.conf dosyası içerisinde yeni dizin ipcfilename ve urlipcfilename
paremetreleri için belirtilmelidir.

# vi /usr/local/dansguardian/etc/dansguardian/dansguardian.conf
ipcfilename = '/usr/dansguardian/.dguardianipc'
ipipcfilename = '/tmp/.dguardianipipc'
#

Dansguardian yeniden başlatılarak clamav entegrasyonu tamamlanmış olur.

# /usr/local/dansguardian/sbin/dansguardian