Linux

Sunucu SSH portunu değiştirmek

SSH portunuzu degistirmeniz brute saldirilarina karsi büyük ölcüde sizi korumus olur.

komutumuz:

pico -w /etc/ssh/sshd_config

girdikten sonra sunu buluyoruz

#Port 22 Basindaki # isaretini kaldiriyoruz ve istedigimiz herhangi baska bir portu yaziyoruz.Büyük portlar kullanmaya dikkat edin ve eger firewall kurulu ise o porta izin vermeyi unutmayin.

ctrl+x ile kaydedip cikiyoruz

ve ssh a restart atiyoruz.

/etc/rc.d/init.d/sshd restart

Mysql – Backup to FTP (PHP Script)

Bir mysql sunucusundan mysqldump ile backup alıp ftp üzerinden uzaktaki bir sunucuya gönderen güzel bir php script.

İçeriği aşağıdaki gibi olan bu scripti kendi sisteminize göre düzenledikten sonra cron job olarak tanımlayabilirsiniz. Böylece periyodik olarak alınan backupları istediğiniz bir lokasyonda muhafaza edebilirsiniz.

Gerekenler

PHP
Bir FTP Hesabı
ve son olarak MYSQL

Uygulanışı

1 - Aşağıdaki script içeriğini serverınızda oluşturacağınız backuptoftp.php isimli bir dosyaya kopyalayın.

<?
function publish_ftp($destination_file,$source_file){
//echo $this->ftphost;
$conn_id = ftp_connect("ftp.sunucusunun.ipsi",21);

// login with username and password
$login_result = ftp_login($conn_id, "ftp_kullanici_adi", "ftp_sifre");

// check connection
if ((!$conn_id) || (!$login_result)) {
$errmsg .= "FTP connection has failed!";
//$errmsg .= "Attempted to connect to $ftp_server for user $ftp_user_name";
die;
} else {
//echo "Connected to $ftp_server, for user $ftp_user_name";
}

// upload the file
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

//$upload = 1;

// check upload status
if (!$upload) {
$errmsg .="FTP upload has failed!";
} else {
$sucmsg .="Uploaded $source_file to $ftp_server as $destination_file";
// copy($source_file,$destination_file_copy);
}

// close the FTP stream

ftp_quit($conn_id);

if ($sucmsg) {
return true;
}
//echo $errmsg;
}

exec("/usr/local/bin/mysqldump -u username -ppassword db_ismi  > \
/backup/dizini/db_ismi.sql");
exec("gzip -f /backup/dizini/dbname.sql");

publish_ftp("/db_ismi.sql.gz","/backup/dizini/db_ismi.sql.gz");
//birinci dosya hedef, ikincisi kaynak
?>

2 - Kırmızı ile belirtilmiş olan ftp, path, backup’ı alınacak db ismi, kullanıcı adı ve sifre gibi bilgileri düzenleyin.

3 – Scripti çalıştırıp test edin.

/usr/local/bin/php /php/dosyanızın/bulundugu/dizini/backuptoftp.php

Not: Ben bu scripti FreeBSD üzerinde çalıştırıyorum ve php “/usr/local/bin” pathi altında duruyor. Php’nin yerini saptamak için “whereis php” komutunu çalıştırabilirsiniz. Aynı şey script içindeki mysqldump için de geçerli.

4 – Sorunsuz bir şekilde çalıştığına emin olduktan sonra cron job olarak sisteme ekleyin.

45 06 * * * /usr/local/bin/php /php/dosyanızın/bulundugu/dizini/backuptoftp.php (Hergün 06:45′te çalışır.)

Hepsi bu.

DNSMap Kullanımı – DNS Network Mapper

DNSMap bir alan adına ait alt alan adlarını tespit etmek için kullanılan küçük  bir araçtır. Temel olarak kendi içerisinde (built-in) gelen kelime listesini ya da sizin belirttiğiniz bir kelime listesini kullanarak hedef alan adı için alt alan adı taraması yapmaktadır.

Penetrasyon testlerinin bilgi toplama aşamasında kullanılan DNSMap C ile yazılmış küçük bir programcıktır. Kullanışlı bir araç olduğundan dolayı yazının devamında dnsmap ile DNS enumeration işlemlerinin nasıl yapılabileceği anlatılmaktadır.

Son sürümü 3.0 olan dns map http://code.google.com/p/dnsmap/downloads/list adresinden indirilebilmektedir. (Dnsmap, Backtrack 4 içerisinde de bulunmaktadır.)

Kurulum


Kurulum adımları aşağıdaki gibidir.

Önce download edip paketi açın.

Komut
# wget http://dnsmap.googlecode.com/files/dnsmap-0.30.tar.gz
# tar xvfz dnsmap-0.30.tar.gz
# cd dnsmap-0.30

Kaynak kod dizinine girdikten sonra derleme işlemini yapın.

Komut
# make
ya da
# gcc -Wall dnsmap.c -o dnsmap

Son olarak dnsmap ismi ile derlenmiş olan binary dosyasını /usr/local/bin dizinine kopyalayın.

Komut
# cp ./dnsmap /usr/local/bin/dnsmap

Ayrıca, birden fazla alan adına ait alt alan adlarını bulk olarak aynı anda taramak istemeniz durumunda kaynak kod dizininde bulunan dnsmap-bulk.sh scriptini de kullanabilirsiniz; bunun için ilgili dosyayı gene /usr/local/bin dizinine kopyalayıp çalışma izni verin.

Komut
# cp ./dnsmap-bulk.sh /usr/local/bin/
# chmod ugo+x /usr/local/bin/dnsmap-bulk.sh

Kurulum işlemi bu kadar.

Kullanım


dnsmap komutunu çalıştırırsanız kullanım şekilleri listelenir:

Komut
dnsmap 0.30 - DNS Network Mapper by pagvac (gnucitizen.org)

usage: dnsmap <target-domain> [options]
options:
-w <wordlist-file>
-r <regular-results-file>
-c <csv-results-file>
-d <delay-millisecs>
-i <ips-to-ignore> (useful if you're obtaining false positives)

e.g.:
dnsmap target-domain.foo
dnsmap target-domain.foo -w yourwordlist.txt -r /tmp/domainbf_results.txt
dnsmap target-fomain.foo -r /tmp/ -d 3000
dnsmap target-fomain.foo -r ./domainbf_results.txt

Kullanım Örnekleri

Built-in Kelime Listesi ile Alan Adı Tarama:

Komut
# dnsmap hedefalanadi.foo

WordList belirterek alan adı tarama

Komut
# dnsmap hedefalanadı.foo -w wordlist.txt

Tarama sonuçlarını kaydetme.

Komut
# dnsmap hedefalanadı.foo -r /tmp/

Ayrıca, DNS sunucusunu yormamak ve bandwidth’inizi şişirmemek için -d parametresi ile dns sorgularına delay koyabilirsiniz. Örnek olarak iki dns sorgusu arasında yarım saniye beklenmesi için komut şu şekilde olmalıdır.

Komut
# dnsmap hedefalanadı.foo -d 500

Daha fazla bilgi için http://code.google.com/p/dnsmap/ adresinden yararlanabilirsiniz.

OpenVZ vs XEN

Merhaba,

Sunucusunda sanallaştırma yazılımı olarak HyperVM kullanmak isteyen arkadaşlar OpenVZ mi yoksa Xen mi seçeyim? Sorusuna düşmemeleri elde değil.

Bu yazımızda çok basit olarak OpenVZ ve Xen in mantığını açıklayacağım.

Böylece kendinize uygun olan bölümleme şeklini seçer ve çalıştırırsınız.

Xen:

HyperVM, Xen altyapısı ile kurulduğunda, diğer vpslerden bağımsız olarak çalışan bir sistem yaratılır (bağımsız demek iki farklı vps sahibinin birbirinin dosya ve ayarlarını görmesi değildir. Bu cümlede geçen bağımsız kelimesi, sistem kaynaklarını kullanım manasında şey edilmiştir.) Bu demektir ki: 1024MB ram ile vps yi yaratırsanız, 1024 RAM kayıp olarak görebilirsiniz. Her atadığınız kaynak, bir diğer vps tarafından kullanılamaz, Havuz yapılamaz! Böylece adamın garanti 1024Ram ı olur.

OpenVZ:

HyperVM, OpenVZ altyapısı ile kurulduğunda, diğer vpsler birçok şeyi ortak kullanırlar. CPU Ram vs. havuz yapılabilir. Bir sunucuda 2048MB ram var ise, 1024 Ram e sahip 4 sunucuda açılabilir.. 5 tane de. Ancak kalite ne olur bilemem. Xen de bu yapılamaz.

Ayrıca,

Açtığınız bir 512MB lık vps de, Ana ram 256 Aşılabilir � brustable ram- 512 olarak tanımlanırsa, yine bir tür havuz yapmış da olabilirsiniz.

Bunun haricinde önemli de bir not geçeyim;

Eğer Xen ile kurulum yaparsanız, Tüm işletim sistemini çalıştırabilirsiniz. HyperVM i xen ile kurarken işletim sistemi CentOS olmak zorundadır. Xen kurduysanız, CentOs üzerinde hem CentOS vpsler hemde Windows Vps ler çalıştırabilirsiniz. OpenVZ de bunu yapamazsınız.

Ayrıca bir not geçeyim.

Bu üründe lisans olayı da vardır. 5 VPSe kadar ücretsiz. Sonraki her vps 0.50$ olarak üçretlendirilir.

Kaynak: OpenVZ ve Xen Nedir? » Teknoloji Blogu

Vmware VDS Linux saat ayarı

Linux saat ayarlamasını yapmak için çok basit şekilde aşağıdaki işlemleri yapabilirsiniz. Sunucu sistemlerinde ve özellikle VPS linux sunucularda saat kaymaları yaşanabilmektedir.

1: localtime dosyamızı yedekleyelim.

mv /etc/localtime /etc/localtime.backup

2: Kendimize uygun olan zaman ayarını localtime ile linkleyelim.

ln -s /usr/share/zoneinfo/Europe/Istanbul /etc/localtime

3: rdate ile saati çekelim.

rdate -s time.cc.columbia.edu

4: /etc/sysconfig/clock dosyasını bir metin editörü ile açarak ( vi, nano, pico gibi ) aşağıdaki gibi düzenleyelim.

ZONE=”Europe/Istanbul”
UTC=false
ARC=false

5:

/sbin/hwclock –systohc

6: Crond içerisine rdate ile sürekli olarak saati güncellemesi için komut ekleyelim.

nano /etc/crontab

ve içerisine bu komutu en alt satıra girerek kaydedip çıkalım

*/1 * * * * root rdate -s time.cc.columbia.edu

7: date komutu ile saatimizi kontrol edelim. İşlem bu kadar.

8: Eğer saat doğru değilse en son bu işlemi yapın

export TZ=EET

Evet Artık saat ayarımız doğru bir şekilde çalışıyor ve türkiye saati ile doğru bir şekilde çalışıyor…