İletileri Göster

Bu özellik size üyenin attığı tüm iletileri gösterme olanağı sağlayacaktır . Not sadece size izin verilen bölümlerdeki iletilerini görebilirsiniz


Mesajlar - HS-Abdullah

Sayfa: 1 2 [3]
31
SSH / Komut İçinde Değişken Kullanımı
« : Ekim 06, 2009, 12:16:27 ÖS »
Merhaba

Arkdaşlar bugun konuya epey kafa yordum. Şimdi size değişken kullanımını anlatacağım. Bunu bir çok formda kullanabiliriz. Ben yanlızca anlamanız için en basit olarak anlatacağım. Bundan sonra örnek olarak toplu CHMOD değiştirmeleri kısmı backupslama veya toplu bir şekilde almak aklıma gelen yanlızca bir kaç şey. İhtiyaçlarımıza göre çok daha fazla şekillendirebiliriz.

Şimdi diyelim /home/user/test içinde bulunan a,b,c klasorlerinin yedeğini alacağız. Öncelikle bir klasor daha oluşturduk. Bu klasörde /home/user/test/user olacak ne tesadüf ki içinde 3 adet dosya olacak bunlarda ya aynı uzantıda veyahut uzantısız dosyalar olacaktır. Bunlarda a,b,c dosyalarıdır.

önce kodumuzu vereyim sonra bu kod'un yapımı konusunda konuşalım :

for zip in `ls /home/user/test/user|grep -v \/`; do tar -zcvf $zip.tar.gz /home/user/test/*; done

Bu kodun oluşturulmasını anlamanın en kolay yolu parça parça incelemek. Bende birkaç parçaya bölerek sizlere anlatacağım.

for zip in önce görmeyelim içindekileri düşünelim. ls komutu dizinin içinde bulunan dosyaları listelemek için kullanılır. Bunu sanırım herkes biliyordur. grep ise çıkan sonuçları ayıklamak için kullanılan bir koddur. Öncelikle bu ikisini tamamen kavrıyalım.

Gelelim 2. aşamaya :

SSH terminaline şuanda ls /home/user/test/user yazıyorum çıktıya bakalım.

./ ../ a b c

alt dizinleri alakadar etmemesi için grep -v \/ kullanıyoruz. ve Araya kod bağlacı | koyuyoruz.

ls /home/user/test/user|grep -v \/ şimdi çıktıya bakalım.
a
b
c

başardık. Şimdi diğer aşamaya geçelim yani for zip in `kodumuz` buna. Aslında kodu dikkatli inceleyenler bunu hemen anlıyacaklardır. for ingilizcede için anlamında kullanılır. Yani zip için `kod kullanılacak` bir anlamda değişkenin neye denk olduğunu anlıyoruz. ve bunu kullanırsan başına dolar işareti getiriyoruz $zip şeklinde aslında bu kısmı anladıysak %90 ı bitti demektir. Sözü daha uzatmadan diğer kısıma geçeyim.

Aslında bu kısım dayet bayip klasik tar -zcvf ( tar.gz leme kodunu kullandım). Normalde tar -zcvf dosyaadi.tar.gz /yol şeklinde bir kullanım gördük. Bunu değşkenli kullanmayı deniyelim.

tar -zcvf $zip.tar.gz /home/user/test/* mantık aynı ad yerine yanlızca $zip değişkenimiz geldi. sonra do ve done getiriyoruz. do ingilizcede çalışmak fiilidir. Done de 3. zamanıdır. Burdan aklımıza geldin. Ayrıcada aralarak ; kullanıyoruz. Matematiğimiz iyi ise bunuda mantık konusundan çıkara biliriz. Ve işte oldu son hali

for zip in `ls /home/user/test/user|grep -v \/`; do tar -zcvf $zip.tar.gz /home/user/test/*; done

Ayrıca yazarken aklıma geldi ama test etmedim. İkinci bir kısım kullanmadan direk cut -d '/' f1 ile klasorlerdende alabiliriz. Bunu siz test edersiniz..

32
SSH / AWK Komutu Kullanımı
« : Eylül 13, 2009, 05:12:31 ÖS »
Merhaba Hostingsiteniz Ailesi,

Awk kodu aslında programlamada veri dosyalarındaki dil dönüşümleri için kullanılmaktadır. Biz bu metnimizde awk nın " print " ayarlarıyla ilgili yoğunlaşacağız. Aslında kafa karıştırıcı şeyleri awk ile kolayca yapabiliriz .Awk kodunun genel kullanımı :

Kod: [Seç]
awk <pattern> '{print <stuff>}' <file>
Bu durumda, stuff metnin kombinasyonu olacaktır. Bu durumda özel değişkenler çıktıda gözükecektir.. Belki bu bir yada iki matematik operatörünün yapabilecekleriyle eşit bir işlem. Açıkcası bu kısım tamamen mantıksız gibi gelebilir. Aslında banada mantıksız gelen bir kısım. Keşke eklemeseydim diye düşünmemiş değilim. Neyse biz örneklere bakalım. Örneklerde emin olun daha iyi anlayacağız. Girişler her zaman saçma olur.

Haydi bir dosya oluşturalım. Adı words.data olsun. Ve içeriği aşağıdaki satırlardan ibaret olsun.

Kod: [Seç]
nail hammer wood
pedal foot car
clown pie circus

Dosya içeriğimiz çok düzgün olmadı. Biraz düzenlemeye ihtiyacımız var. Şimdi tam olarak yapmak istediğimiz şey 1. Kelime’nin önüne “Hit the” 1. Kelimenin arkasına ise  “with your” eklemek..Kodumuzu veriyorum. İnceleyelim:

Kod: [Seç]
awk '{print "Hit the",$1,"with your",$2}' words.data
Bu kodu uyguladıktan sonra tekrar bakalım. Words.data’ya :

Kod: [Seç]
Hit the nail with your hammer
Hit the pedal with your foot
Hit the clown with your pie

Şimdi ise bu awk kodunu sayısal olarak kullanımı görelim.  grades.data adlı bir dosya oluşturalım. İçine ise aşağıdaki metni yazalım.

Kod: [Seç]
Rogers 87 100 95
Lambchop 66 89 76
Barney 12 36 27

Şimdi awk ile yapabileceklerimizi sayısal olarakda görelim aynı zamanda pekiştirmek için ilk derste anlattığımız kelime aralarına kelime eklemeği görelim.

Kod: [Seç]
awk '{print "Avg for",$1,"is",($2+$3+$4)/3}' grades.data
çıktı metin:

Kod: [Seç]
Avg for Rogers is 94
Avg for Lambchop is 77
Avg for Barney is 25

Biraz daha açıklamak gerekirse “ Avg for “ kelimesini cümlenin başına getirdik. 2. 3. 4. Satırlarını da toplayıp 3 ‘e böldük. Tıpkı bir hesap makinası gibi.  Aslında hesaplama scriptlerinde de temel mantık budur.

Şimdiye kadar biz aslında yeterince model görmedik. Fakat Biz satırları bu işlem prosedüründen ayrı tutmak istiyorsak aşağıdaki kodlamayı inceleyelim:

Kod: [Seç]
awk /^clown/'{print "See the",$1,"at the",$3}' words.data
See the clown at the circus

Biz burada awk kodunu girdi satırlarıyla inceledik. Ayrıca son bir not print ve pattern arasında boşluk yok. Eğer oraya boşluk koyarsak awk printin çalışmadığını düşünür.Burda size anlatılanın hepsi awk nın temel seviyesidir. Bunun yanına bir çok parametler ekliyerek bu çok daha fazla genişletilebilir. Ancak şimdilik biz temelimizi atalım. İleride inşallah benim veya başka bir bu işle ilgilenen arkadaşın makalesinde daha profesyonel kullanımlarını görürüz.

Saygılarımla…
Abdullah ÇINAR

33
SSH / Grep Komutu Kullanımı
« : Eylül 13, 2009, 02:13:53 ÖS »
Linux'un en popüler komutu - grep

Unix'in en popüler komutu açık ara "grep"tir.Bazıları bunu tartışsada birkez kullanmaya başladınız mı, bu komut size tanrının bir hediyesi olarak gözükecek. Grep'in açılımı ,büyük bir kesime birşey ifade etmese de, "evrensel düzenli ifade yazıcısı"dır (Global Regular Expression Printer). Daha açıklayıcı olmak gerekirse grep , verilen bir yazıdan belirli kriterler dahilinde parçalar çıkarır. Basitçe , grep bir şablon girmenizi , ardından yine sizin belirleyeceğiniz bir metinde, bu şablona uygun yazıları arar. Belirlenen şablona uygun tüm satırları listeler. Grep iki türlü kullanılabilir - tek başına veya borularla (pipe)

Tek başına kullanmak

$ grep '12.00' /home/david/backup/log.txt
Bu komut basit  olarak grep in nasıl kullanılabileceğini gösteriyor.(Metin dosyalarının uzantısının .txt olması gibi bir zorunluluk yok).Yukarıdaki komut içinde 12.00 bulunan tüm satırları listeler.
Örneğin bu komut , 12.00 da yapılmış tüm backupların bulunması için kullanılabilir (Tabii içinde zamanların olduğu log.txt dosyasının olması koşuluyla)

$ grep -v '12.00' /home/david/backup/log.txt
Bu komutla ise içinde 12.00 bulunduran satırlar dışındaki tüm satırları listeler.

$ grep -l 'delay' /code/*.c
Bu komut /code dizininde .c uzantılı dosyalardan içinde "delay" yazısı bulunanların adlarını listeler. Bununla sadece dosya isimleri listelenir(Q:Yani satırlar listelenmez..)

$ grep -w '\<bay' *
$ grep -w 'watch\>' *
Bu iki komut aramayı biraz daha derinleştirir.İlk komur "bay" ile başlayan kelimelerin olduğu satıları , ikinci komut ise "watch" ile biten kelimelerin olduğu satırları arar.

-
Borularla kullanım

$ ls -l | grep rwxrwxrwx
Bildiğiniz gibi "ls -l" komutu dizin içeriğini listeler. "grep rwxrwxrwx" kısmı ise bize yazma,okuma,çalıştırma izinlerinin kullanıcı,grup,diğerleri için verildiği dizinleri listeler. Böylece tüm dizinleri görmektense sadece bu izinlerin olduğu dizinleri görürüz. (Aslında sadece metin araması yapıyoruz. "ls -l" nin çıktısını grep komutuna yönlendirerek süzgeçten geçiriyoruz)

Grep'in çıktısı diğer programlara şöyle yönlendirilir :

$ du | grep 'mp3' | more
Bu komutun ne yaptığını anlamışsınızdır...(Q:Ama ben en aşağıda açıkladım)

$ grep ` ^ #` /home/david/script1 | more
Bu komut /home/david/script1 dosyasından '#' ile başlayan satırları gösterir. '^#' bize , #'in ilgili satırın ilk karakteri olması gerekliliğini anlatır."more" kısmıda , çıktının çok uzun olması durumunda sayfalar halinde gösterilebilmesi içindir.

$ grep -v ` ^ [0-9]` /home/david/backup/log.txt | more
Bu komut , /home/david/backup/log.txt dosyasında ilk karakteri 0-9 arasındaki sayılar olan satırların dışındaki satırları listeler. More yine çıktıyı sayfalara bölmek için kullanılır.

Önemli: şablon ifadelerinin tekli tırnak ile kapatılması (yukarıdaki örneklerde olduğu gibi) ,yorumlayıcının doğru çalışması için önemlidir.

Grep için bazı önemli parametreler
-v
komutun davranışını tersine çevirir. Örneğin , şablona uygun olanları göstermesi gerekirken uymayanları listeler.

-c
Standart raporlamayı (Q:yani satırların hepsini göstermeyi) keser ve sadece şablona uyan satırların sayısını gösterir.

-i
Arama sırasında büyük/küçük harf eşleştirmesi yapmaz

-w
Şablonun başka bir kelime içinde olmayıp , kendi başına bir kelime olup olmadığını denetler. Böylece , "bay" kelimesi için arama yaptığınızda "baywatch" ile ilgili satırlar ekrana gelmez.

-l
Şablona uygun satırların bulunduğu dosya adlarını listeler.

-r
parametreden sonra verilen dizinin ,alt dizininlerinde de verilen şablona uygun arama yapar. (recursive)

Bu belgenin ,grep'e başlamanıza yardım ettiğini umarım. Grep , Linux'a diğer OSler karşısında avantaj kazandıran bir araç. Grep'i diğer araçlarla verimli kullanmak , kullanıcıya Unix'te büyük bir güç verir.

Q:
du komutu ,dosya boyutlarini gosterir
-h (human readable format) parametresi ise boyut bilgilerini daha anlasilir hale getirir(normalde KB cinsinden).Şimdi bir deneme yapalım.

knoppix@ttyp0[knoppix]$ cd //
knoppix@ttyp0[//]$ cd mnt
knoppix@ttyp0[mnt]$ cd hda5
knoppix@ttyp0[hda5]$ ls
1S0z     Pr0gz                      V1dz
1c0nZ    RECYCLER                   WallPap3Rz
1maG3Z   Spe3chZ                    jackass.the.movie.dvdrip.divx-glorious.avi
DocZ     System Volume Information  mp3
L3ssonZ  Th1ngZ
knoppix@ttyp0[hda5]$ du -h | grep 'mp3' | more
41M     ./mp3/01-DANCE AROUND The WORLD/Disc One
44M     ./mp3/01-DANCE AROUND The WORLD/Disc Two
84M     ./mp3/01-DANCE AROUND The WORLD
68M     ./mp3/02-TECHNO MILLENNIUM/Disc One
69M     ./mp3/02-TECHNO MILLENNIUM/Disc Two
137M    ./mp3/02-TECHNO MILLENNIUM
69M     ./mp3/03-CLUB IBIZA/Disc One
70M     ./mp3/03-CLUB IBIZA/Disc Two
138M    ./mp3/03-CLUB IBIZA
65M     ./mp3/04-TRANCE NON-STOP
64M     ./mp3/05-MINISTRY ANNUAL 2000/Disc One
65M     ./mp3/05-MINISTRY ANNUAL 2000/Disc Two
129M    ./mp3/05-MINISTRY ANNUAL 2000
68M     ./mp3/06-Paul Oakenfold - Travelling/Disc One
68M     ./mp3/06-Paul Oakenfold - Travelling/Disc Two
136M    ./mp3/06-Paul Oakenfold - Travelling
57M     ./mp3/Depeche_Mode_all/DM 81 Speak And Spell
38M     ./mp3/Depeche_Mode_all/DM 82 A Broken Frame
46M     ./mp3/Depeche_Mode_all/DM 83 Construction Time Again
48M     ./mp3/Depeche_Mode_all/DM 84 Some Great Reward
51M     ./mp3/Depeche_Mode_all/DM 86 Black Celebration
58M     ./mp3/Depeche_Mode_all/DM 87 Music For The Masses
39M     ./mp3/Depeche_Mode_all/DM 89 (Live) 101/Disc A
50M     ./mp3/Depeche_Mode_all/DM 89 (Live) 101/Disk B
88M     ./mp3/Depeche_Mode_all/DM 89 (Live) 101
44M     ./mp3/Depeche_Mode_all/DM 91 Violator
44M     ./mp3/Depeche_Mode_all/DM 93 Songs Of Faith And Devotion
54M     ./mp3/Depeche_Mode_all/DM 97 ULTRA
43M     ./mp3/Depeche_Mode_all/DM 98 The Singles 85-98/CD1
47M     ./mp3/Depeche_Mode_all/DM 98 The Singles 85-98/CD2
89M     ./mp3/Depeche_Mode_all/DM 98 The Singles 85-98
1.5M    ./mp3/Depeche_Mode_all/IMAGES
23M     ./mp3/Depeche_Mode_all/MLG 89 Counterfeit e.p
636M    ./mp3/Depeche_Mode_all
584M    ./mp3/Dj. Alex Techno Part 1 - Mp3
73M     ./mp3/DJ_TOP_40_(CD1)
73M     ./mp3/DJ_TOP_40_(CD2)
53M     ./mp3/EARTH WIND&FIRE.THE_PROMISE
63M     ./mp3/FUTURE_TRANCE_(CD1)
65M     ./mp3/FUTURE_TRANCE_(CD2)
635M    ./mp3/Karisik_Pop
823M    ./mp3/mixed
78M     ./mp3/soul_saucee
3.7G    ./mp3
knoppix@ttyp0[hda5]$

Görüldüğü gibi du komutunun çıktılarından grep yardımıyla "mp3" olanlılarını ayırdık.Gerçekten kullanışlı.

Not alıntıdır.

34
SSH / Sed Kodu Kullanimi
« : Eylül 12, 2009, 11:59:47 ÖS »
Merhaba,

sed kodunun basitce kullanimini sizinle paylasacagim. Bunun icin ingilizce bir makaleyi turkceye cevirdim. Size burda verecegim bilgiler temel bilgiler olacaktir. Bunun ekleriyle kullanabilecegimiz bir cok konu vardir.  Fakat oncelikle temel olarak girisimizi yapalim. Insallah ileride tamamini ben yada baska bir arkadasimiz paylasir.

Dersimize baslamadan once ornek parcamizi verelim. Ileride bu parca isimize yarayacaktir.Bu parca poem.txt icinde yer alsin.

Ornek Parca :

Mary had a little ham
Mary fried a lot of spam
Jack ate a Spam sandwich
Jill had a ham spamwich


Konunun yogunlasacagi 2 adet komutu sizlere verelim. Asagida aciklanan aslinda bu iki komutun mantigindan ve kullanim alanlarindan baska bir sey degil.

-------------------
Donusturucu sed   
Kod: [Seç]
's/eskiparca/yeniparca/g' dosya
Silici sed   
Kod: [Seç]
'baslangic,bitisd' dosya
------------------

Donusturucu "sed” ile ilgili alistirma yapalim. Ornek olarak poem.txt dosyamizin icindeki “lamb” kelimesini “hum” ile degistirelim.

Bunun icin asagidaki kodlari inceleyiniz:
Kod: [Seç]
sed 's/lamb/ham/g' poem.txt

Kod da verilen “s” nin anlamini cevirici olarak, “g” nin anlamini da evrensel degistirici olarak dusunebiliriz. Ayrıca "g" (her satırın yalnızca ilk olayini değiştirmek için) takisini yazmayabiliriz veya yerine (her satırda ilk X olaylarini değiştirmek için bir sayı belirtebiliriz.).

Simdide silici sed icin biraz alistirma yapalim. Ilk basta size ornek olarak verdigimiz ve baslangic - bitis olarak yazdigimiz terimler aslinda eslesmesi gereken satirlardir.

Hatirlayalim : Silici sed   
Kod: [Seç]
'baslangic,bitisd' dosya
Ornegin bizim klasik poem.txt mizde 2. Ve 3 satirlari kapsayalan bir silici sed yazalim.

Kod: [Seç]
sed '2,3d' poem.txtMary had a little lamb
Jill had a lamb spamwich

Bu ornekte ise silici sed 1. Satirdan baslayacak icinde Jack ismi gecen  ( o satir ) dahil son satira kadar silecektir.
Kod: [Seç]
sed '1,/Jack/d' poem.txt
Bir çok kişi sed komutunu iki değişkeni değiştirmek için kullanır. Fakat ben sed i bazı ifadeleri bulup silmek içinde kullanmak istiyorum. Bunun anlamı siz bunu eşleştirmek içinde kullanabilirsiniz. Grep gibi.Ancak muhtemelen bunun gibi birşey yapmaya gerek olmayacaktir..

Birinci satırdan son satıra kadar "lamp" kelimesini "ham" ile değiştirmek için ve çıktıyı yeni bir dosyaya yazmak için aşağıdaki komutları uygulayınız.

Sonuç çıktısını verene kadar ekranda herhangi bir işlem yapmayınız. Şayet new.file in içeriklerine bakarsanız bu satırları göreceksiniz.
Kod: [Seç]
sed 's/lamb$/ham/g' poem.txt > new.file
Saygilarimla...

Abdullah CINAR

35
Genel / Ynt: eklenti kurulumu
« : Eylül 03, 2009, 12:35:43 ÖS »
Merhaba

Ücretli eklenti kurulumu ile ilgili detayları www.hostingsiteniz.net/destek sayfasından görüşebiliriz.

Saygılarımla..

Abdullah ÇINAR
Hostingsiteniz.NET INTERNET HIZMETLERİ

36
Güvenlik / HyperVM ile Bölünmüş VPS ye CSF Kurmak
« : Ağustos 25, 2009, 11:13:24 ÖÖ »
Merhaba Arkadaşlar,

Aslında internette buna benzer makaleler mevcut. Fakat gerçekten hiç birinden tam sonuç alınamıyor. İnternetteki birkaç makaleyi birleştirerek Hypervm ile bölünmüş vps lerde CSF kurumunu izah edeceğim. Makale tamamen kendime aittir.

Adım 1 ) Öncelikle klasik bir şekilde csf kurulur. Kurum için kodları vermek gerekirse sırasıyla uygulamanız yeterli.

Kod: [Seç]
rm -fv csf.tgz
wget http://www.configserver.com/free/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh

Adım 2 ) Bir önceki adımda kurmuş olduğumuz CSF yi başlatmadan evvel bazı portları açmamız gerekecek. Bunun için TCP_IN ve TCP_OUT kısmına 7777,7778,7779,5555 portlarını ekledik.


Adım 3 ) nano /etc/csf/csf.conf dedik. csf.conf dosyasının içinden PT_USERKILL değerini 1 olarak işaretledik.


Adım 4 ) nano /etc/csf/csf.pignore dedik. En altta boş satıra aşağıdakileri ekledik.

Kod: [Seç]
user:lxlabs
user:clamav
user:mysql
user:tinydns
user:qmails
user:qmaill
user:qmailq
user:qmailr


Adım 5 ) Yeniden CSF nin config sayfasına geliyoruz.

ETH_DEVICE

ETH_DEVICE_SKIP bu seçenekleri eternet kartımızı yazıyoruz. Bunu WHM panelimizin ilk kısmında Basic le başlayan seçenepinde yazacaktır. Bende bu venet0 sizde uygun olanı yazın.

İşte bu kadar 5 adım da csf niz sorunsuz çalışacaktır. İptables limitini artırmanız istenebilir. Bunu vps yi aldığınız firmanızdan rica ederseniz yapacaklardır. CSF yi ilgili sayfadan başlatmayı unutmayınız...

Saygılarımla...

Abdullah ÇINAROĞLU
Hostingsiteniz.NET INTERNET HİZMETLERİ


37
Genel / Ynt: Tmp Dizininin Alanını Genişletmek
« : Ağustos 25, 2009, 11:09:29 ÖÖ »
Eline sağlık hocam gerçekten anlatımın çok güzel.

38
Güvenlik / APF (Advanced Policy Firewall) Kurulumu
« : Ocak 10, 2009, 12:37:06 ÖÖ »
APF Nedir?


APF kural tabanlı bir iptables güvenlik duvarıdır.Ayarlanması ve kullanılması özellikle sunucular için çok kolaydır.


Özellikleri


  • Kolay anlaşılan kural tabanlı ayar dosyası.
  • Bağımsız giriş ve çıkış filtreleme.
  • ID tabanlı çıkış kontrolu bu sayede belirtilen uygulamanın sahibine bakarak çıkış yapıp yapmamasına izin verebilirsiniz.
  • Genell tcp/udp port ve icmp tipi ayarlar
  • Sistemdeki her ip için özel yapılandırma.
  • icmp ataklarını önlemek için icmp tabanlı koruma sistemi
  • antidos yazılımı
  • dshield.org engel listesi bu listede aktif olan saldırganlar tüm apf kullanan sunucularda erişim hakları engellenir.
  • tcp/ip saldırılarını engelleemk için özel sysctl ayar dosyası
  • İstenmiyen trafiği engellemekiçin özel hazırlanabilen kural dizisi
  • Kernel seçeneklerini kullanabilme abort_on_overflow ve tcp syncookies gibi.
  • Kolay yönetilebilir bir güvenlik duvarı yazılımı.
  • Güvenebileceğiniz ve direk olarak engelleyeceğiniz hostları belirtebileceğiniz kural dosyası.
  • APF ile uyumlu 3. parti uygulamaları.
Çok etkili bir güvenlik duvarı olmakla beraber sunucuların genelinde bu güvenlik duvarı kullanılmaktadır.Ayar dosyaları ve kurulumu kolaydır ve etkilidir.


Kurulum


  • /usr/local/src dizinine geçiyoruz.
cd /usr/local/src


  • Dosyayı sunucuya indiriyoruz
wget http://www.rfxnetworks.com/downloads/apf-current.tar.gz


  • Sıkıştırılmış arşiv dosyasını açıyoruz.
tar -xvzf apf-current.tar.gz


  • Uygulamanın bulunduğu dizine giriyoruz.
cd apf-0.9.5-1/


  • Kurulum scriptini çalıştırıyoruz.
  ./install.sh




Yüklendiğine gösteren mesaj ekrana geliyor:

 .: APF installed

Install path:    /etc/apf

Config path:     /etc/apf/conf.apf

Executable path: /usr/local/sbin/apf

AntiDos install path: /etc/apf/ad/

AntiDos config path:  /etc/apf/ad/conf.antidos

DShield Client Parser:  /etc/apf/extras/dshield/


  • Ayar dosyasını açıp gerekli düzenlemeleri yapacağız
pico /etc/apf/conf.apf


İlk önce değişkenlerin ne olduğunu size açıklayacağım sonra gerekli düzenlemeri yapacağız.





DEVM="1" Devolopment mod olarak açıklanıyor güvenlik duvarı ilk kurulduğunda standart olarak

bu modda siz ayarları yapana kadar her 5 dakikada bir güvenlik duvarı kurallarını temizliyor.

Böylece ssh portunu engelleseniz bile 5 dakika içerisinde girebilirsiniz.Herşeyin yolunda

gittiğini anladıktan sonra bu değeri 0 olarak ayarlayın ve güvenlik duvarını yeniden başlatın. LGATE_MAC="" Yerek ağ mac adresidir.Buraya bir değer girildiği zaman sadece buradan gelen isteklere izin verilicektir.

Biz bu değeri boş bırakacağız. LGATE_LOG="0" Değeri 1 olarak ayarlarsanız bütün ağ trafiğinin kayıdı tutulucaktır.Biz bu değeride 0 olarak bırakacağız. EN_VNET="0" Bu değeri 1 olarak ayarlarsanız sistemdeki tüm ipler için farklı kurallar

kurabilirsiniz./etc/apf/vnet/ dizinine bu kuralı yerleştirebilrisiniz gene standart olarak bir template bu dizinde var. TIF="" Güvenilen ağlar . DROP_LOG="1" Kernel tabanlı loglama. LRATE="60" Iptables in dakikada logladığı olay sayısı. IG_TCP_CPORTS="22" S istemde içeriye tcp portlarını belirtir.22 yazan yere virgul ile açılıcak portları yazının devamında ekleyeceğiz. IG_UDP_CPORTS="" İçeriye açılıcak udp portlarını gösterir. EGF="0" Bu değeri 1 olarak açıcağız çıkan paketlerin filtrelenmesi. EG_TCP_CPORTS="22" Sitemden dışarıya açılacak tcp portları. EG_UDP_CPORTS="" Sistemden dışarıya açılıcak udp portları. USE_DS="0"  Dshield.org un engellenenler listesine bu seçeneği 1 olarak seçerseniz katkıda bulunursunuz.





Cpanel de Yapılacak değişiklikler


  • Ayar dosyamızı açıyoruz:
pico /etc/apf/conf.apf


  • Dosya içinde aşağıdaki değişiklikleri yapıyoruz:
USE_DS="0"

ve 3 satır altındaki

USE_AD="0"

kısımlarını bulup

USE_DS="1"

USE_AD="1"

olarak değiştiriyoruz.



  • IG_TCP_CPORTS yazan kısmı buluyoruz



içindeki portları silip aşağıdaki portları ekliyoruz:

IG_TCP_CPORTS="20,21,22,25,26,53,80,110,143,443,465,993,995,2082,2083,2086,2087,2095,2096"






  • IG_UDP_CPORTS kısmını buluyoruz, içindeki portları silip aşağıdaki portları eklliyoruz:
IG_UDP_CPORTS="21,53,873"


  • EFG kısmını buluyoruz EGF="0" olan değeri EGF="1" olarak değiştiriyoruz.


  • EG_TCP_CPORTS kısmını buluyoruz içindeki port listesini temizleyip aşağıdaki portları ekliyoruz.
  EG_TCP_CPORTS="21,22,25,26,27,37,43,53,80,110,113,443,465,873,2089"


  • EG_UDP_CPORTS kısmını buluyoruz içindeki port listesini temizleyip aşağıdaki portları ekliyoruz.
EG_UDP_CPORTS="20,21,37,53,873"






Ayar dosyası ile işimiz bitti dosyayı kaydedip çıkıyoruz.Diğer kontrol paneli yazılımları


için yapıcağınız değişiklikler de bunlardır.

----Ensim -----

IG_TCP_CPORTS="21,22,25,53,80,110,143,443,19638"

IG_UDP_CPORTS="53"

EGF="1"

EG_TCP_CPORTS="21,22,25,53,80,110,443"

EG_UDP_CPORTS="20,21,53"

----Plesk -----

IG_TCP_CPORTS="20,21,22,25,53,80,110,143,443,465,993,995,8443"

IG_UDP_CPORTS="37,53,873"

EGF="1"

EG_TCP_CPORTS="20,21,22,25,53,37,43,80,113,443,465,873"

EG_UDP_CPORTS="53,873"

---- Direct ADmin -----

IG_TCP_CPORTS="21,22,25,53,80,110,143,443,2222,8000,8050,8005,3784"

IG_UDP_CPORTS="21,53,8000,8050,8005,3784"

EGF="1"

EG_TCP_CPORTS="21,22,25,37,43,53,80,443,8000,8050,8005,3784"

EG_UDP_CPORTS="20,21,53,8000,8050,8005,3784"



Çalıştırma


/usr/local/sbin/apf -s


komutunu uygulayarak güvenlik duvarımızı başlatıyoruz. SSH oturumumuzu kapatıp yeni bir oturum

 açıp sunucuya girmeye çalışıyoruz. Eğer herhangi bir sorunla karşılaşırda giremezseniz güvenlik

duvarı kurallarının 5 dakika içinde silineceğini unutmayın.






Başarılı bir şekilde giriş yaptıysanız editörümüz ile apf nin ayar dosyasını tekrar açıp devolopment

moddan çıkartıcaz böylece artık güvenlik duvarı kuralları 5 dakikada bir temizlenmeyecektir:

pico /etc/apf/conf.apf

DEVM="1" olan kısımı bulup DEVM="0" değiştiriyorsunuz.


/usr/local/sbin/apf -r

komutu ile tekrar başlatıyoruz...







Güvenlik Duvarı ile kullanabileceğiniz parametreler


/usr/local/sbin/apf -s  Güvenlik Duvarını açar. /usr/local/sbin/apf -r  Güvenlik Duvarını yeniden başlatır. /usr/local/sbin/apf -st  Güvenlik Duvarının durumunu gösterir. /usr/local/sbin/apf -f  Güvenlik Duvarını durdurur. /usr/local/sbin/apf -l  Kuralları listeler.
Bir kullanıcının apf yardımı ile sistemden uzaklaştırılması


  • /usr/local/sbin/apf -d ipnumarası
şeklindedir.

Sistemden uzaklaştırmak istediğiniz ip numarası 81.214.247.127 ise

/usr/local/sbin/apf -d 81.214.247.127


yazmanız yeterlidir.


Otomatik çalıştırma


Son olarak apf nin sunucu yeniden başlatıldığında otomatik olarak başlatılmasını sağlamak için

aşağıdkai komutu giriyoruz.

 chkconfig --level 2345 apf on




Servera bir nmap çekip açık portlara bakalım:

 






APF antidos modülünün kurulumu


Antidos modülü bir log analiz modülüdür arka arkaya gelen istekleri değerlendirerek bunu

sizin belirlediğiniz değeri aştığında saldırganların sistemden uzaklaştırılmasını sağlamaktadır.

/etc/apf/ad/conf.antidos

yazıp konfigurasyon dosyasını açıyoruz,

LP_KLOG="0" kısmını bulup

LP_KLOG="1" şeklinde değiştiriyoruz

DET_SF="0" kısmını bulup

DET_SF="1" şeklinde değiştiriyoruz

TRIG="12" kısmını bulup

TRIG="10" şeklinde değiştiriyoruz

SF_TRIG="25" kısmını bulup

SF_TRIG="12" şeklinde değiştiriyoruz

DROP_IF="0" kısmını bulup

DROP_IF="1" şeklinde değiştiriyoruz

IPT_BL="0" kısmını bulup

IPT_BL="1" şeklinde değiştiriyoruz



USR_ALERT="0" kısmını bulup,USR_ALERT="1" olarak değiştiriyoruz. DET_SF="0" kısmını bulup, DET_SF="1" olarak değiştiriyoruz. Option: USR="you@yourcom.com"kısmını bulup mail adresinizi yazıyorsunuz.

Dosyayı kaydedip çıktıktan sonra,

crontab -e


yazarak crpntab ı açıyoruz buraya aşağıdaki girdiyi yazıyoruz

 */2 * * * * root /etc/apf/ad/antidos -a >> /dev/null 2>&1


ve contabdan çıkıp

/usr/local/sbin/apf -r


komutu ile güvenlik duvarını tekrar başlatıyoruz.


APF Güvenlik Duvarının durumunu

size mail ile bildirilsin



APF güvenlik duvarının durumunun yani çalışıp çalışmadığının ve loglarının size bildirilmesini istiyorsanız aşağıdaki değişikliği yapın

  • /etc/cron.daily/ klasörüne giriyoruz
cd /etc/cron.daily


  • Bilgilendirme dosyasını açıyoruz
pico apfdurumbilgisi.sh


  • İçinde aşağıdaki kodu yapıştırıyoruz mail adresinizi değiştirmeyi unutmayın.
#!/bin/bash

tail -100 /var/log/apf_log | mail -s "APF Durum Bilgisi" deneme@deneme.com


  • Kaydedip çıkıyoruz ve dosyaya gerekli izini vereceğiz şimdi.
chmod 755 apfdurumbilgisi.sh


Artık hergün elinize çalışıp çalışmadığına dair bir rapor gelicektir.



39
SSH / SSH ile Mysql İşlemleri
« : Ocak 10, 2009, 12:21:50 ÖÖ »
Veri tabanı indirme


Kod: [Seç]
cd /var/lib/mysql
altına girip

Kod: [Seç]
mysqldump --opt -Q -u dbkullanıcıadi -p dbadi > db.sql
komutu yazarsınız sizden veri tabanı şifresi ister yani veri tabanınınızın şifresini yazar okeylersiniz.
veri tabanınızı /var/lib/mysql altına indirir
mysql dizinindeki veri tabanınızı her hangi bir kullanıcının hesabına atıp browserden çağırarak indirebilirsiniz


Kod: [Seç]
cp user.sql /home/user/public_html
bu komutlada veri tabanınızı kullanıcının ftp sine yolladınız. şimdi browserden çağırıp indirebilirsiniz.

veya direk veri tabanımızı kullanıcının ftp sine yollayalım

Kod: [Seç]
mysqldump --opt -Q -u dbkullanıcıadi -p dbadi > /home/user/public_html/db.sql
Veri tabanı yükleme


Kod: [Seç]
cd /var/lib/mysql
diyip mysql dizinine giriş yapıyoruz


Kod: [Seç]
mysql -u dbkullanıcıadi -p dbadi < db.sql
komutu ile veri tabanımızı yüklüyoruz. şifre isteyecek istediği şifre veri tabanınızın şifresidir.
şifreyi doğru girdiğiniz taktirde veri tabanınızı yükleyecektir

veya
veri adamın müşterinin ftp sinde ise
Kod: [Seç]

mysql -u dbkullanıciadi -p dbadi < /home/user/public_html/db.sql

direk komutu yazıp veri tabanını yüklüyoruz

Daha başka yollarda var. Çare tükenmez. Sunucuyu taşımışsınızdır sitenin birinin veri tabanı gelmemiştir. dert etmeye gerek yok.
eski sunucunuza ssh den giriş yapın.

Kod: [Seç]
cd /var/lib/mysql
veri tabanınızın ahmet_db olduğunu varsayarsak
Eğer veri tabanını bilmiyorsanızı
Kod:

dir

komutu ile o dizinde ne var ne yok görebilirsiniz.
Artık veri tabanını gördüğünüzü var sayıyorum gerçekten ahmet_db imiş elemanın veri tabanı o zaman



Kod: [Seç]
tar -zcvf ahmet_db.tar.gz ahmet_db
komutuyla veri tabanınızı sıkıştırıyoruz


Kod: [Seç]
cp ahmet_db.tar.gz /home/ahmet/public_html
diyip veri tabanımızı herhangi bir kullanıcının hesabına atıyoruz.

şimdide yeni sunucumuza ssh den giriş yapıyoruz.
tekrar


Kod: [Seç]
cd /var/lib/mysql

Kod: [Seç]
wget http://veritabanının yolu
diyip veri tabanımızı yeni sucumuzun mysql sine yüklüyoruz



Kod: [Seç]
tar -zxvf ahmet_db.tar.gz
diyip veri tabanımızı açıyoruz.

ahmet_db.tar gz boşuna yer kaplamasın orda silelim gitsin gereksiz çünkü


Kod: [Seç]
rm -rf ahmet_db.tar*
Bütün veritabanlarını yedeklemek için
Kod: [Seç]

mysqldump --opt --user=root --password --all-databases | bzip2 -c > /backup/mysql.sql.bz2

site1 veritabanını yedek almak için ;

Kod: [Seç]
mysqldump --database site1 > site1.sql -u root -p
site1 ve site2 dblerini yedeklemek için

Kod: [Seç]
mysqldump --database site1 site2 > site1vesite2.sql -u root -p
root yerine sizin kullanıcı adınızı yazmalısınız. Eğer root olarak erişebiliyorsanız böyle kalabilir.

Not: Anlatım Alıntıdır. Saygılarla..

40
WHM / WHM Türkçe Dil Dosyası
« : Ocak 09, 2009, 11:58:39 ÖS »
Merhaba

Whm panelimizi Türkçe yapmak istiyorsak yapacağımız işlem sırası :

SSH mize putty ile bağlanıyoruz.

Kod: [Seç]
cd /usr/local/cpanel/whostmgr/docroot/themes/x
Bulundugumuz dizine gittikten sonra komutunu giriyoruz.
Kod: [Seç]
rm -rf command ; rm -rf main
ondan sonra aşagıdaki komutları girdikten sonra işlem tamamdır

Kod: [Seç]
wget http://www.hostingsiteniz.com/trwhm/turk/command ; wget http://www.hostingsiteniz.com/trwhm/turk/main
eğer karakter hatası oluyorsa deneyin

Kod: [Seç]
wget http://www.hostingsiteniz.com/trwhm/english/command ; wget http://www.hostingsiteniz.com/trwhm/english/main
saygılarla...

41
SMF / SMF Beyaz Sayfa Sorunu
« : Ocak 09, 2009, 11:43:57 ÖS »
Merhaba

Öncellikle bazen sunucuda oluşan mysql hataları nedeniyle smf de beyaz sayfalar oluşabiliyor. (Bu bildiğimiz normal alışılmış sorun.) Ancak bazı durumlar php içeriği ellenmeksizin tüm smf sitelerinin mysql ile bağlantılı oldugu setting.php lerin; bu genel serverda oluşan hata sebebiyle içeriğinin boşaldığı görülebilir. Bu durumda ilgili smf sürümünün setting.php dosyası atılıp mysql ile bağlantısı çalıştırıldıktan sonra ayarlarıonar.php yapılması tavsiye edilir. İşlem bittiktan sonra site eski haline döncektir.


Saygılarımla..

42
cPanel / İstediğimiz Zaman cPanelden Yedek Almak
« : Ocak 02, 2009, 11:43:43 ÖS »
Merhaba arkadaşlar

Bu gerçekten öenmli bir konu, önemli olduğu kadar bir o kadar da Kolay :)

Sitenizin güvenliği için bizim haricimizde sizler de Backups ( Yedek ) alabilirsiniz. Bunu Resimli bir şekilde beraber yapalım.

İlk önce cPanel'e bağlanıyoruz.

Bağlanma yollarımız:
1-) http://siteadı.com/cpanel
2-) http://siteadı.com:2082
3-) https://siteadı.com:2083 ( SSL Var İse )





cPanele girdik. Karşımıza gelen sayfadan işaretlenmiş "Backups" a tıkladık



Sonra backups sayfası çıktı. Burdan da "Generate/Download a Full Backup " tıkladık.



Burdan yedeğimizi anadizine almak için (home/user - .../www - ftpde karşımıza çıkan ilk sayfa ) resimdeki işlemleri yapıyoruz.

Backup Destination :
Home Directory şeklinde kalsın

Email Adress kısımına mailimizi yazıyoruz.

Son olarak Generate Backup Butonuna basıyoruz. Ve bu kadar backupsımız işlem tamamlandığında (home/user - .../www - ftpde karşımıza çıkan ilk sayfa ) burda olacak.



43
Eline sağlık hocam. Güzel hazırlamışsın

Sayfa: 1 2 [3]