Consultant,Security Researcher, Entrepreneur, Senior Linux Admin

2 Eylül 2014 Salı

Linux Uzak Masaüstü Bağlantısı

Linux bilgisayar kullansanızda destek verdiğiniz sistemler arası Microsoft ürünleride oluyor. Bunlara bağlanmak için benim önerim Remmina yazılımıdır. Ancak komut satırındanda çalıştırayım istersenizde klasik rdesktop yazılımı yeterli. İkinisinide yazacağım. Not kalsın. Gnome ve çatallarında Remmina geliyor genelde.


apt-get install remmina remmina-plugin-rdp rdesktop


rdesktop -g 1024x768 -k tr -u administrator@sirket.local -p AdminSifresi

Eğer tam ekran bağlanmak istersenizde aşağıdaki komutla yapabiliriz.

rdesktop -f -k tr -u administrator@sirket.local -p AdminSifresi

Remmina ayarlarıda aşağıdaki gibi kullanabiliriz.


29 Ağustos 2014 Cuma

Linux Web Sunucu Kurulumu

En uygun ve sorunsuz vps satan firmalardan biri DigitalOcean bana göre. Buradan Droplet (Damla) olarak adlandırılan sanal sunucular kiralayabiliyorsunuz ve fiyatları uygun. Sanal sunucu kiralama yaptıktan sonra size Linux sisteme erişim bilgilerini veriyor. IP ve root şifresi ile giriş yaptıktan sonra şifrenizi değiştirmenizi istiyor sistem. 

Sistemi güncelleyelim.

apt-get update
apt-get upgrade

Apache 2.4 , Mysql Server 5.5 ve Php paketleri ile modülleri yüklüyoruz. 

apt-get install apache2 libapache2-mod-php5 mysql-server php5-mysql php5-dev php5-mcrypt php5-gd php5-cli php5-xcache php5-memcache php5-memcached 

Sistem ilk kurulduğunda mail sunucu gelmiyor üzerinde. Ayrıca bir kaç kullandığım programıda ekliyorum.

apt-get install mc unzip postfix php5-curl whois

Bind Dns sunucumuzu ve araçlarınıda kuruyoruz.

apt-get install bind9 bind9 bind9utils bind9-doc

Vsftpd Ftp Sunucu kurulumunu yapalım.

apt-get install vsftpd

Sunucumuza kurulumlarımız tamam. Servislerin ayarlamalarla ilgili aşağıdaki linkleri takip edebilirsiniz.



Apache Sanal Host Ayarları

Apache 2.4 kurulumu bittikten ve ayarlarını yaptıktan sonra sanal hostları tanımlamak kalıyor. Bu bize birden çok alan adını sunucu üzerinde kullanmamızı sağlıyor.

Örneğin;
linuxuzmani.net ve turkwm.com sitelerini aynı web sunucuda host edebiliriz.

Web sunucu kurulumunda anlatırken kullanıcılar için /home/ klasörünü kullandık. Linuxuzmani.net salih kullanıcısında, turkwm.com ridvan kullanıcısında hizmet vereceğini düşünelim.

Apache 2.4 dizinleri apache2.conf içerisinde tanımlıyorlar. Ben /home/ dizini altındaki klasörleri tek tek tanımlamak yerine üst dizin olarak /home/ tanımlayıp ilk ayarı tamamlıyorum.

mcedit /etc/apache2/apache2.conf

En alta aşağıdaki ayarı ekliyorum.

<Directory /home/>
        Options FollowSymLinks
#Linklenmiş dosyaları izlemedir. En yüksek performans içindir. Güvenlik için detaylandırılabilir.
        AllowOverride All
#.htaccess çalışması için gereklidir. Güvenlik isteyenler daha detaylı işlemler için farklı kullanabilir.
        Require all granted
#Dizine dış dünyadan erişim vermek içindir. Altında oluşacak sanal hostlara erişimi tanımlar. İsterseniz sadece belli ip adresleri içinde oluşturabilirsiniz.
</Directory>


Bundan sonraki adımda Sanal Host ayar dosyasını oluşturabileceğiz. Aşağıdaki ayarlar olması gereken temel ayarlardır. İhtiyacınız olan bir çok ayarı Apache Manuel sitesinden bulabilirsiniz.

mcedit /etc/apache2/sites-available/linuxuzmani.net

<VirtualHost *:80>
    ServerAdmin destek@linuxuzmani.net
    ServerName linuxuzmani.net
    ServerAlias linuxuzmani.net,www.linuxuzmani.net
    DocumentRoot /home/salih/linuxuzmani.net
    ErrorLog ${APACHE_LOG_DIR}/linuxuzmani.net.error.log
    CustomLog ${APACHE_LOG_DIR}/linuxuzmani.net.access.log combined
</VirtualHost>


Kaydedip çıktıktan sonra apache'yi yeniden başlatıyoruz ve ayarlarımız aktif oluyor.

service apache2 restart


22 Ağustos 2014 Cuma

Bind Dns Sunucu Kurulumu ve Ayarları

Linux üzerinde djbdns kurulumunu daha çok sevmeme rağmen kurulumdaki adımlarından dolayı Bind kurmak ve ayarlamak daha kolay geliyor. Bind her linux dağıtımında bulunmaktadır. Biz yine ubuntu için kurulum yapıyoruz. Ancak diğer dağıtımalrda kurulum komutu bind9 dedinizmi genelde gelir. Ayaları hepsinde aynıdır. Bind yazılımı ile birlikte dns sorgulama araçları vs birlikte kuruyorum.

Bind kurulumunda alan adına ve sunucunun ip adresine göre kurulum yapılır. Ben burada aşağıdaki bilgileri kullanıcam. 

Alan Adı (Domain) = Linuxuzmani.net
IP olarak                = 74.125.136.121

apt-get install bind9 bind9 bind9utils bind9-doc

Alan Adlarının Veritabanı Ayarları

İlk olarak alan adımıza ait bilgilerin tutulacağı ayar dosyasının yolunu göstereceğiz. Bunun için bind sunucunun named.conf.local dosyasına aşağıdaki ayarları ekleyeceğiz. PTR kaydı için genelde sunucu panellerinden ayarlanır. Ancak biz yinede ekleyelim. Burada Ip adresini son kısmı olmadan sağdan sola okunarak yazılır. Son kısımdaki rakamı daha sonra o ayar dosyasının içine girerizki sorgulamada değeri döndürsün. Bu bir  sefer ayarlanır. Onun için fazla takılmayın.

mcedit /etc/bind/named.conf.local


#bu ayarı her alan adı için yapacağız

zone "mekaniker.com" {
    type master;
    file "/etc/bind/zones/db.linuxuzmani.net";
};


#aşağıdaki ayar bir kere oluyor. 
#Ip Adresimiz 74.125.136.121

zone "136.125.74.in-addr.arpa" {
    type master;
    file "/etc/bind/zones/db.136.125.74";
};

Alan Adına Ait Tanımlama Dosya Ayarları

Önceki ayardaki Zones (Bölgeler) klasörünü oluşturuyoruz.

mkdir -p /etc/bind/zones

Şimdide alan adımıza ait dosyamızı oluşturuyoruz. Burada satır sonlarındaki . (nokta) işaretlerine dikkat ediniz. Eğer eklemezseniz ayarlarınız geçerli olmaz.

cd /etc/bind/zones

mcedit db.linuxuzmani.net

;
; BIND data file for local loopback interface
;
$TTL    14400
@       IN      SOA     ns1.linuxuzmani.net. admin.linuxuzmani.net. (
                             2014082001         ; Serial
                             3600         ; Refresh
                             600         ; Retry
                             2419200         ; Expire
                             84600 )        ; Negative Cache TTL
;
linuxuzmani.net.  IN      NS      ns1.linuxuzmani.net.
linuxuzmani.net.  IN      NS      ns2.linuxuzmani.net.
@              IN      A       74.125.136.121
s1              IN      A       74.125.136.121
ns1            IN      A       74.125.136.121
ns2            IN      A       74.125.136.121
www          IN      A       74.125.136.121


;Mail Sunucu kendi üzerimizde ise aşağıdaki gibi girmelisiniz. 
;SPF kaydıda hazırlandığından spama düşme ihtimallerinden biri elenmiş olur.
;Eğer Gmail veya Yandex üzerinde tutacaksanız aşağıdaki değerleri silip yerine Google ve Yandex diye adlandırılan diğer paragrafları kullanın.

mail          IN      A       74.125.136.121
@              IN     MX    5 mail.linuxuzmani.net.
@    3600  IN    TXT   "v=spf1  74.125.136.121 a mx ~all"
mail          IN TXT "v=spf1 a -all"

; Email hizmetini google üzerinde tutarsanız aşağıdaki ayarları ekleyebilirsiniz.
; Goolgle için MX Kayıtları
@    3600    IN    MX    1      ASPMX.L.GOOGLE.COM.
@    3600    IN    MX    5      ALT1.ASPMX.L.GOOGLE.COM.
@    3600    IN    MX    5      ALT2.ASPMX.L.GOOGLE.COM.
@    3600    IN    MX    10    ASPMX2.GOOGLEMAIL.COM.
@    3600    IN    MX    10    ASPMX3.GOOGLEMAIL.COM.
@    3600    IN    TXT   "v=spf1 include:_spf.google.com ~all"
mail            3600    IN    CNAME    ghs.google.com.


; Email hizmetini yandex üzerinde tutarsanız aşağıdaki ayarları ekleyebilirsiniz.
; Yandex için MX Kayıtları

linuxuzmani.net 3600      MX         10   mx.yandex.net.
linuxuzmani.net 3600      TXT        "v=spf1 redirect=_spf.yandex.net"
mail                    3600     CNAME    domain.mail.yandex.net.


PTR Kaydı için Tanımlama Dosyası Ayarı

mcedit /etc/bind/zones/db.136.125.74

;
; BIND reverse data file for local loopback interface
;
$TTL    14400
@       IN      SOA     linuxuzmani.net. admin.linuxuzmani.net. (
                                     5         ; Serial
                           604800         ; Refresh
                             86400         ; Retry
                         2419200         ; Expire
                           604800 )       ; Negative Cache TTL
;
@       IN      NS      ns1.linuxuzmani.net.
@       IN      NS      ns2.linuxuzmani.net.
74      IN      PTR     www.linuxuzmani.net.

Bütün ayarlar tamam. Bunların aktif olması için servisimizi yeniden başlatıyoruz.

/etc/init.d/bind restart

Dns Test İşlemleri

dig @8.8.8.8 +short NS linuxuzmani.net

ns2.linuxuzmani.net.
ns1.linuxuzmani.net.

dig linuxuzmani.net  MX +noall +answer

; <<>> DiG 9.9.5-3-Ubuntu <<>> linuxuzmani.net MX +noall +answer
;; global options: +cmd
linuxuzmani.net.        21599   IN      MX      10 mx.yandex.net.

dig -x 74.125.136.121 +short

www.linuxuzmani.net



21 Ağustos 2014 Perşembe

Apache 2.4 Kurulum Sonrası Ayarlar

Yeni sunucu kurulumlarında Apache 2.4 varsayılan olarak gelmeye başladı. Bu sürümü yüklediğinizde Php kısa etiketler (short tag) <? ?> çalışmıyor. Ayrıca .htaccess dosyalarınızda çalışmıyor.



PHP Kısa Etiket (Php Short Tag) Ayarları

nano /etc/php5/apache2/php.ini

Web Server Kurulumu sonrasında php.ini ayar dosyasında "Language Options" altında olan kısa etiket parametresini aşağıdaki gibi düzenliyoruz.

short_open_tag = On

.htaccess hatası için aşağıdaki dosyada dizin ayarlarına AllowOverride All eklemeniz gerekmektedir.

mcedit /etc/apache2/apache2.conf

<Directory />
        Options FollowSymLinks
        AllowOverride All
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>


Dosyadaki ilgili dizinlere eklemeyi yaptıktan sonra rewrite modülünü aktif hale getiriyoruz.

a2enmod rewrite
a2enmod deflate
a2enmod mod_expires
a2enmod expires
a2enmod headers

Son olarak apache2 servisimizi yeniden başlatıyoruz.

/etc/init.d/apache2 restart


Vsftpd Ftp Sunucu Kurulumu

Vsftpd hızlı ve güvenli bir ftp sunucudur. Kullanırken SSL destekli kullanmanızı tavsiye ederim. Aksi halde şifreleriniz görüntülenebilir formatta karşıya gitmektedir.


Sunucuyu Kurulumu ve Ayarları

apt-get install vsftpd mc

Kurulum kısa sürmektedir. Akabinde ayar dosyasını düzenleyelim.

nano  /etc/vsftpd.conf

Ayar dosyasını açtığımızda aşağıdaki parametreleri düzenliyoruz.

#Kullanıcısı olmayan yani anonim kullanımı engelliyoruz.

anonymous_enable=NO  

Lokal kullanıcı hesaplarını kullanmasını söylüyoruz.

local_enable=YES

Dosya yükleme, silme ve isim değiştirme ilemleri için yazmayı aktif ediyoruz.

write_enable=YES

Kullanıcıların kendi klasörleri dışına çıkmasını engelliyoruz.

chroot_local_user=YES

Bu işlemlerden sonra bağlanmak istediğinizde 500 OOPS: Vsftpd: Refusing To Run With Writable Root Inside Chroot() hatasını engellemek için aşağıdaki değerleri eklememiz gerekiyor.

echo allow_writeable_chroot=YES >> /etc/vsftpd.conf
echo seccomp_sandbox=NO >> /etc/vsftpd.conf

Ftp Kullanıcısı Oluşturma

Ftp kullanıcılarını oluşturalım. Komut sonrası parola belirlemenizi isteyecek. Kendim kullandığımda yapmıyorum ancak başlangıç seviyesindeki arkadaşlara kullanıcı açarken www-data grubuna eklemesini tavsiye ederim. Upload sonrası yetki karmaşası olmasın diye. -d ilede istediğim dizini ev dizini olarak atıyorum.

adduser --gid=33 --home=/var/www/salih  salih

SSL Ayarları (İsteğe Bağlıdır)

SSL bileşenlerini oluşturuyoruz. 

openssl req -x509 -nodes -days 3650 -newkey rsa:1024 -keyout /etc/ssl/private/ftpserver.pem -out /etc/ssl/private/ftpserver.pem

Oluşturduğumuz bu bileşenleri kullanmak için sunucu ayar dosyasında değişiklik yapmamız lazım. 

mcedit /etc/vsftpd.conf

Aşağıdaki parametreleri ekliyoruz.

rsa_cert_file=/etc/ssl/private/ftpserver.pem
rsa_private_key_file=/etc/ssl/private/ftpserver.pem


SSL aktif hale getirip bağlantıda mecburi kılmak içinde aşağıdaki parametreleri giriyoruz.

ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH

SSL/TLS destekli FTP sunucumuzun ayarları tamamlandı. Servisi yeniden başlattıktan sonra Ftp istemciniz ile bağlanabilirsiniz.

/etc/init.d/vsftpd restart


























18 Ağustos 2014 Pazartesi

OpenVZ Sanal Sunucu Klonlama / Kopyalama

Openvz ile kurduğumuz sanal sunucuların, sunucu yedeği, sunucu klonlama ve sunucu kopyalama işlemlerine ihtiyacımız olabilir. Çalışan canlı sistemde deneme yapmak istemediğimizde veya aynı sistemden bir yedek bir yerde dursun dediğimizde aşağıdaki komutlarla bu işlemi yapabiliriz.

OLDVE=103 NEWVE=203 # Kopyalamak istediğimiz sunucu OLDVE, yenisi NEWVE
vzctl stop $OLDVE
mkdir /vz/root/$NEWVE
cp /etc/vz/conf/$OLDVE.conf /etc/vz/conf/$NEWVE.conf
mkdir /vz/private/$NEWVE
pushd /vz/private/$OLDVE; tar c --numeric-owner * | tar x --numeric-owner -C /vz/private/$NEWVE; popd
mcedit /etc/vz/conf/$NEWVE.conf # Change the IP_ADDRESS
vzctl start $NEWVE; vzctl start $OLDVE

Kaynak : Openvz

17 Ağustos 2014 Pazar

Openvz initcl Hatası Çözümü

Openvz sunucuda bulunan debian/ubuntu sistemlerinizde güncelleme yaptığınızda sysv-rc paketindeki arızadan dolayı güncelleme işlemi ile birlikte yeniden başlatma(reboot), kapatma(shutdown) gibi işlemleri yapmak istediğinizde aşağıdaki hatayla işlemi sonlandıramaz.

$ shutdown: timeout opening/writing control channel /run/initctl

bunun için sysv-rc pakedi yerine Openvz sistemlerde upstart programı kullanılıyor. Hatanın çözümü için bunu sanal sunucunuzu kurduğunuzda yapmanızı öneririm.

apt-get install upstart

Bunu dediğinizde size sysv-rc paketlerinin kaldıralacağını vb uyarılar yapar. Önemli bir paket olduğu için aşağıdaki metni tam yazmanız gerekir.

Yes, do as I say!'

Probleminiz giderilmiş olacaktır.

8 Ağustos 2014 Cuma

Php Eğitimleri - Videolar

PHP öğrenmek zaman ve emek isteyen bir progamlama dilidir. Gerekli iligli alakayı gösterdikten sonra çok rahat şekilde projeler geliştirmeye başlayabiliyorsunuz. Daha önceleri türkçe kaynak sıkıntısı yaşanmaktaydı. Zamanla gönüllüler ve forumlar sayesinde problemlerin çözümü ve paylaşımların artması ile kaynaklar artmaya başladı. Ancak sistematik bir eğitim olmadıkça öğrenim süresi uzuyordu. Bende bu durumların yaşanmadan size yol gösterecek video serilerini paylaşıyorum. Youtube üzerinden kanallarına abone olup eğitimleri takip edebilirsiniz. 

Tavsiyem kendinize bir proje hazırlayın. Bir adres defteri veya stok takibi yapan bir web projesine kadar istediğiniz bir hedefi belirleyin. Böylelikle hedefinize ulaşmak için motive olabilir ve başarınızı arttırabilirsiniz.

Sizlere tavsiyem para ile satılan setleri ücretlerini verip kullanın. Harcanan emek ve bir bedeli olmasından dolayı hak yemeden bu bilgiyi kazanmanızı öneririm. PAra verecek durumum yok diyorsanız aşağıdaki videolar tam tekmil anlatmışlar. 

İyi dersler, başarılar.







13 Mart 2014 Perşembe

Apache SSL Ayarları

Export edilen pfx sertifika kullanılarak apachede ssl ayarı 

openssl pkcs12 -in [export_edilen.pfx] -nocerts -out [anahtar-dosyasi.key] 
openssl pkcs12 -in [export_edilen.pfx] -clcerts -nokeys -out [sertifika.crt]

mcedit /etc/apache2/sites-enabled/default-ssl

SSLEngine on
SSLCertificateFile /root/anahtar-dosyasi.key
SSLCertificateKeyFile /root/sertifika.crt
/etc/init.d/apache2 restart
key oluştururken girdiğiniz şifreyi girilecek.

Etiketler