Diski doldurarak; silinen dosyalarin guvenliginin saglanmasi,

Modern dosya sistemlerini guvenli bir sekilde silmek kolay bir islem olmamistir. Size daima daha fazla efor ve zaman harcatmistir. Fakat bir yaklasim diskin kullanilmayan bolumlerin tamamina rasgele paternler yazmak iyi bir yaklasimdir. Bu sayede daha once silmis oldugunuz dosyalari geri getirilmesini onlemis olursunuz.

Debian “secure-delete” paketi bircok arac icerir, fakat bunlardan tercih edilen birtanesi, kullanimi kolay olan: “sfill” dir.

Sfill komutu mount edilen bolumde kullanilmayan bolumlere veri yazilmasina imkan saglar.Bu sekilde diske silinmis ama geri getirebilir durumda olan dosyalarin uzerine yazilarak diskin tum bolumlerindeki silinmis verilerin bizim yazdiklarimiz ile degistirilmis olduguna emin oluruz. Ancak daha fazla emin olmak icin bu islemi tekrarlayiniz veya diger araclara goz atiniz.

Paketlerin sisteme yuklenmesi ve kurulmasi ile ise baslayalim:

gold:~# aptitude update
gold:~# aptitude install secure-delete
Programi yuklerek kullanilmayan bolumdeki silinmis verilerin uzerine yazarak coktan ise baklamis oluyoruz:

gold:~# sfill /home
Not: /home bolumunun disk uzerinde mount edilmis bir bolum oldugunu farz ediyoruz. Bu durumda, asagidaki gibi bir cikti olmasi gerekmektedir:

gold:~# mount | grep /dev
/dev/mapper/gold--vol-root on / type ext3 (rw,noatime,nodiratime,errors=remount-ro)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/md1 on /boot type ext3 (rw)
/dev/mapper/gold--vol-home on /home type ext3 (rw)
/dev/mapper/gold--vol-music on /home/music type ext3 (ro)
/dev/mapper/gold--vol-kvm on /kvm type ext3 (rw)

“sfill” komutunu calistirdigimiz zaman buyuk dosyalar olusturarak disk uzerindeki butun bos alanlari yemege baslayacaktir. Sonrasinda olusutrulan buyuk dosya silindigi zaman, yeniden bos alana sahip olacagiz.

Daha fazla detay icin /usr/share/doc/secure-delete dosyasina veya “man sfill” yazarak manpage kismina goz atabilirsiniz.

Not: Bu dokuman ev kullanicilari icindir. Daha guvenli dosya sistemi icin “encrypted file system” kullaniniz. Komut calistirman icin root yetkilisi olmalisiniz. EXT3 dosya sisteminde %5lik kisminin root icin ayrildigini unutmayiniz.

MAC OSX’te GNU Privacy Guard (GnuPG)

GnuPG Temel Komutlari

Linuxta uyguladigim e-mail sign ve encryption ozelligini apple mail de de eklemenin zamani geldi. Cok basit olan bu islemi 5 dk icerinde bitirecegiz.

Asagidaki web adreslerine giderek bizim icin gerekli olan MACGPG ve GPGMail yazilmlarini indiriyoruz.

http://sourceforge.net/projects/macgpg/files/

http://www.gpgmail.org/download/index.html

Sirasiyla MACGPG ve GPGMail paketlerini kurduktan sonra kendi anahtarimizi olusturabiliriz.
Not: Eger aciksa Apple mailinizi kapatiniz.

Kendi anahtarimizi olusturmanin zamani, Asagidaki komutu kullanarak ve yonergeyi izleyerek kendi anahtarimizi olusturalim.

gpg --gen-key

Hepsi bu kadar. Simdi mailimizi acip kullanmaya baslayabiliriz.

Asagida yazacagim cok kullanisli komutlarin yaninda, bu komutlardan cok daha fazlasini gpg --help diyerek bulabilirsiniz.

Iste en cok kullacagimiz komutlar ve kullanimlari:

Yeni bir anahtar cifti olusturmak:
gpg --gen-key

Anahtari uzaktaki bir sunucuya yuklemek:
Buradaki ornekte anahtarimi pgp.mit.edu sunucusuna yukluyoruz. $KEYID yazan yere kendi anahtar ID’mizi yazacagiz.
gpg --send-keys --keyserver pgp.mit.edu $KEYID

Anahtari iptal etmek:
Iptal sertifikasini olusturmak:
gpg --gen-revoke $KEYID
Sertifikayi $FILE adinda kaydedebiliriz.

Iptal sertifikasini iceri aktarmak:
gpg --import $FILE

Anahtarin duzgun olarak iptal edildigini kontrol etmek:
gpg --list-sigs $KEYID
Ilk satirda “[revoked]” veya ikinci satirda “rev” diyebiliriz,
Veya:
gpg --edit-key $KEYID
“trust: -/r” diyebiliriz.

Iptal anahtarini yuklemek:
gpg --send-keys --keyserver pgp.mit.edu $KEYID

Tum anahtarlari listelemek:
gpg --list-keys

Belirli bir anahtari listelemek:
gpg --list-keys $NAME
veya:
gpg --list-keys $KEYID

Public anahtari disari aktarmak (Export) (text file olarak):
gpg --export --armor $KEYID > pubkey.txt

Private anahtari disari aktarmak (text file olarak):
gpg --export-secret-keys --armor $KEYID > pubkey.txt

Public veya Private anahtari iceri aktarmak:
gpg --import $FILE
gpg --recv-keys --keyserver pgp.mit.edu $KEYID

Anahtari interaktif olarak guncelleme:
gpg --edit-key $KEYID

Simetrik sifreleme (cok kuvvetli):
gpg --cipher-algo RIJNDAEL256 -o $CRYPT-FILE -c $PLAIN-FILE

Simetrik sifrelemeyi cozmek:
gpg --cipher-algo RIJNDAEL256 -o $PLAIN-FILE --decrypt $CRYPT-FILE

iotop – Kullanımı kolay I/O monitorü

CPU kullanımı için top komutu nasıl kullanım değerlerini gösteriyorsa, iotop da benzer şekilde I/O kullanımı gösteren bir komuttur. Linux çekirdeğinden (çekirdek 2.6.20 ve daha sonrasında mevcuttur) I/O kullanım bilgisini çıktısını izler ve sistem üzerinde işleyen anlık I/O kullanımını bir tabloda gösterir.

Debian sisteme iotop yüklemek:

# apt-get install iotop

Sadece paket ismini yazarak yükleme yapmamız yeterlidir.

iotop kullanımı:

Teminal ekranınıza iotop yazmanız çalıştırmak için yeterlidir. Sonrasında düzenli olarak anlık güncellenen tablodan işlemci ve I/O miktarını kullanımını görebilirsiniz; Okuma ve yazma hızını byte per second değeri olarak, ve I/O için beklenen, takaslanında harcanan zamanı ve yüzde olarak görebilirsiniz.

# iotop

iotop CONFIG_TASK_DELAY_ACCT ve CONFIG_TASK_IO_ACCOUNTING seçeneklerinin çekirdekte aktive edilmesine ihtiyaç duymaktadır.

2005_large

Debian 5.0 (Lenny ‘e) gnash nasıl yüklenir?

Gnash bir GNU Flash film oynatıcısıdır.  Flash Macromedia (şirket daha sonra Adobe şirketi tarafından satın alınmıştır) tarafından bulunmuş animasyon dosya biçimidir.

Flash genişletilerek audio ve video içeriği eklenebilir hale getirilmiştir ve programlar ActionScript’te (bir ECMAScript uygun dilinde) yazılmıştır. Gnash temeli GameSWF’ye dayanmaktadır ve birçok SWF v7 özelliğini destklemektedir. Ayrıca bazı SWF V8 ve V9özellikleride desteklenmektedir.

Gnash Özellikleri;

Tekbaşına Çalışma- Gnash tek başına flash videolarını oynatabilmektedir.

Browser plugin - Gnash aynı zamanda Mozilla türevleri web browserlarda, örneğin Firefox, plugin olarak çalışabilmektedir. Ek olarak Gnash aynı zamanda Konqueror için de destek vermektedir.

SWF v7+ uygunluğu - Gnash flash videolarını oynatabilmektedir.

Video Akışı - Gnash popüler video paylaşım siteleri Lulu.tv veya YouTube.com gibi sitelerin video akışını destekler.

XML Mesaj Sunucusu -Gnash aynı zamanda Flash Format özelliklerinde belirtilmiş olan XML tabanlı mesaj sistemini destekler.

Yüksek Kalite Çıktısı – Gnash masa üstünde grafiklerin işlenmesi için OpenGL kullanmaktadır ve  AntiGrain (AGG) entegre çerçeve arabelleği sadece araçlar için yer almaktadır.

Özgür Yazılım - Gnash 100% özgür yazılımdır. Daha fazla bilgi için GPL’e bakabilirsiniz, Free Software Foundation web sayfasında GPL bilgisi yer almaktadır.

Gelişmiş Güvenlik - Gnash tüm ağ bağlantılarına daha fazla önem verir, ve kullanıcıya kontrol erişimleri için izin verir.

Genişletilebilir - Gnash kendi yazmış olduğunuz ActionScriptleri destekler. Siz herhangi bir development kütüphanesi için kitap (wrapper) yazabilir ve bunu oynatıcının içerisine koyabilirsiniz.

Lenny ‘e Gnash Yüklemek

İlk olarak /etc/apt/sources.list dosyasını güncellememiz gerekiyor.

# vi /etc/apt/sources.list

aşağıdaki depoyu sources.list dosyasına ekleyelim

deb http://debian.jones.dk/ lenny gnash

Kaydedelim ve çıkalım.

Sistemimizi güncelleyelim ve

# apt-get update

gnash ve mozilla plugin’lerini yükleyelim;

# apt-get install gnash gnash-common gnash-cygnal gnash-tools  mozilla-plugin-gnash
# apt-get clean

Varolan bir Debian lenny kurulumunu şifrelemek

Günümüzde artık hemen hemen herkes, taşınabilir olması dolayısı ile PC değilde dizüstü bilgisayarı tercih ediyor. Taşınabilir olan bu cihazlarımıza filmleri, dizileri, mp3leri ve bazı zamanda iş ile ilgili olan bilgilerimizi yüklüyoruz.  Diz üstünüzün çalınması durumunda dizi, müzik bir şekilde yeniden yüklenir ama iş bilgileri başkalarının eline geçtiği zaman işin işin yüzü değişir. Tüm müşteri bilgileriniz, kampanyalarınız, şirketin hedefi, sözleşmeleri, herşey bir anda başka birisinin elinde. İşte bu gibi çalıntı durumunda en azından kendi verilerimizin başkasının eline geçmesinin önüne geçmek için debian dizüstü bilgisayarımızın disklerine şifreleme (encryption) yapacağız.

Disklerde şifreleme yapmaya başlamadan önce diskimizde /boot bölümünün olması zorunludur. Bunun sebebi bilgisayarımızda BIOS şifresiz kernel yüklemesini ve bunun initrd imajını şifreli bölüme ulaşmadan önce erişecek olmasıdır. Burada uygulayabilceğimiz bir seçenek ise /boot bölümünü bir USB Bellek üzerinde tutmak fakat bu kuruluma başka bir zaman değineceğim.

Yapılacak olan ilk iş, şifreli diskleri yönetmemiz için yazılımın yüklenmesi ve initrd imajının güncellemesinin yapılmasıdır:

# aptitude install cryptsetup initramfs-tools

initrd imajı içerisinde şifreleme modullerinin hazır olduğuna emin olmak durumundayız, aşağıdaki üç modulü initrd ayar dosyasına ekledim:

# echo aes-i586 >>/etc/initramfs-tools/modules
# echo dm-crypt >>/etc/initramfs-tools/modules
# echo dm-mod >>/etc/initramfs-tools/modules

Bir sonraki adım cryptosetup bilgilendirmesini yapmaktır.  Ayrıca /dev/hda2 (fiziksel bölüm) ve /dev/mapper/root (bunun şifreli arayüzü) arasında inittab’ın bölüm eşlemesini de yapmaktır.

# echo "root /dev/hda2 none luks" >>/etc/crypttab
# sed -i 's#/dev/hda2#/dev/mapper/root#' /etc/fstab

root bölümünü grub için aynı inittab ‘da yaptığımız biçimde değiştirmek zorundayız:

# sed -i 's#/dev/hda2#/dev/mapper/root#' /boot/grub/menu.lst

initrd imajını yeniden oluşturabiliriz

# update-initramfs -k all -u

Şimdi sistemi kapatabiliriz ve yedekleme yapmak, şifreli disk bölümü oluşturmak ve dosyaları root dosya sistemine geri kopyalamak için LiveCD ile boot edebiliriz. Burada nasıl yedekleme yapılacağı ve opsiyonları konusunu hızlı geçiyorum ve bu konuyu okuyucunun kendi yöntemine bırakıyorum. Basit bir şekilde “cp -ax /mnt/root/* /mnt/backup” komutu ile yeterli bir yedekleme alacağım ben.

Yedekleme yaptıktan sonra, çıkarılan bölüm tarafındaki veriyi silelim.

# shred -n1 -v /dev/hda2

ve sonrasında şifreli bölüm oluşturalım.

# cryptsetup luksFormat /dev/hda2
# cryptsetup luksOpen /dev/hda2 root

Şifrelenmiş disk kurulup açıldıktan sonra, dosya sistemi oluşturulur, mount edilir ve root bölümündeki yedeklenmiş dosyalar şifreli disk bölümüne kopyalanır.

# mkfs.ext3 /dev/mapper/root
# mount /dev/mapper/root /mnt/root
# cp -ax /mnt/backup/* /mnt/root/

Şimdi şifreleme yaptığımız root bölümünü yeniden başlatabiliriz.

Bir defa root şifreli bölümü çalıştıktan sonra swap bölümüne  şifreleme eklemek çok kolay olacaktır.  Sadece düzgünce /etc/crypttab ‘a ekleyiniz ve /etc/fstab ‘ı değiştiriniz:

# echo "swap /dev/hda3 /dev/random swap" >>/etc/crypttab
# sed -i 's#/dev/hda3#/dev/mapper/swap#' /etc/fstab

Debirf – kernel derlenmesi ve RAM’dan Debian’ın çalıştırılması

debirf  (DEBian on Initial Ram Filesystem) kernelin hazırlanması ve Debian’ın RAM ortamında çalıştırılmasını sağlar.

Kernel ve initramfs çifti, debirf tarafından oluşturulur.Burada birçok amaç güdülerbilir, örneğin diski olmayan thin clientlardan kolay ve hızlı tamir edilebilen sistemlere kadar.  Kernel ve initrd sisteminizdeki boot bölümüne yerleştirilebilir, read only media araçlarına yazılabilir veya netbot sunucuları tarafından sağlanabilir.

Debirf araçları bir modul mimarisi kullanır, bu bize herhangi bir özelleştirilmiş amaç doğrultusunda, imajların oluşturulması dahil, özelleştirme yapmamıza olanak sağlar.

debirf ‘in Debian’a yüklenmesi

#apt-get install debirf

Belgeler;

$ mkdir ~/debirf

$ cd ~/debirf

$ tar xzf /usr/share/doc/debirf/example-profiles/xkiosk.tgz

$ debirf make xkiosk

Debirf Ayarları

debirf//debirf.conf ‘a bakalım. Bazı konfigürasyon olaksılıkları burada yer almaktadır bunlara göz atabilirsiniz.

Eğer Lenny ile başlatmışsanız, otomatik olarak Lenny öntanımlı kernelini alırsınız. Ben sidux ile başlattım ve siduz kernelini kullanmaya karar verdim.

debirf make -k /var/cache/apt/archives/linux-image-2.6.28-0.slh.10-sidux-686_2.6.28-10_i386.deb xkiosk

Şimdi debirf Debian bootstrap’ı işeleyecek ve initrd yi oluşturacaktır.


debirf: modules complete.
debirf: creating debirf initrd (’nested’)…
222 blocks
2529 blocks
292 blocks
debirf: creating rootfs.cgz…
637062 blocks
debirf: creating wrapper cgz…
271538 blocks
debirf: debirf initrd created.
debirf: kernel: xkiosk/vmlinuz-2.6.28-0.slh.10-sidux-686
debirf: initrd: xkiosk/debirf-xkiosk_lenny_2.6.28-0.slh.10-sidux-686.cgz

Şimdi menu.lst ‘ye ekleyebiliriz.

title Debirf w/ sidux kernel
kernel /home/admin/debirf/xkiosk/vmlinuz-2.6.28-0.slh.10-sidux-686 vga=791
initrd /home/admin/debirf/xkiosk/debirf-xkiosk_lenny_2.6.28-0.slh.10-sidux-686.cgz

Notlar:

menu.lst ‘de gereksiz olan root yoktur.

En küçük yapıda root parolası yoktur.

xkiosk yapılandırılırken root parolası istenecektir.

Set password for debirf-xkiosk superuser:
Enter new UNIX password:
Retype new UNIX password:

Hepsi bu kadar. Debian sistemini yeniden başlatabiliriz.

Approx ile yerelde debian sistemlerin güncellenmesi

Approx HTTP-tabanlı bir  Debian arşiv sunucusudur.  İsteğe göre uzak depolardan paketleri gidip getiren ve yerel kullanım için önbellekleme (cache) yapan bir programdır.

Approx size zaman kazandırır ve  ağınızdaki bantgenişliği kullanımızı düşürür. Her bir paket uzaktaki siteden yalnızca bir kez indirilir ve yereldeki kullanıcıların yüklemesine veya güncelleme yapmasına, yerelde ne kadar makinenin olduğuna bakılmaksızın,  sunulur. Approx önbellği birkaç gigabyte disk kullanıma gereksinim duyar.

Approx aynı zamanda  kullanıcı makinelerinin yönetimini kolaylaştır: depo lokasyonları sadece approx makinesindeki ayar dosyasının değiştirilmesi ile değişir, böylece herbir kullanıcıda /etc/apt/sources.list dosyasını değiştirmeye gerek yoktur.

Approx ‘un debian’a yüklenmesi

#apt-get install approx

Approx sunucusunun ayarlanması

/etc/approx/approx.conf dosyasını editlemeniz gerekmektedir.

#vi /etc/approx/approx.conf

Aşağıdakine benzer şekilde sizde kendi ayarlarınızı ve depolarınızı giriniz.

interval 120
max_wait 10
debian          http://http.uk.debian.org/debian
security        http://security.debian.org/debian-security
non-us        http://non-us.debian.org/debian-non-US

dosyayı kaydedip çıkalım.

Şimdi approx sunucusunu yeniden başlatabiliriz;

#/etc/init.d/approx restart

Kullanıcı Ayarları

/etc/hosts ‘ı editleyerek localproxy yerine sizin approx sunucu IP addresini ayarlayınız

#vi /etc/hosts

Approx sunucu IPsini ve asını ekleyiniz:

172.30.8.3 approx-server

dosyayı kaydediniz ve çıkınız.

Sonrasında /etc/apt/sources.list dosyasını sizin approx sunucunuz ile çalışması için editleyiniz:

#vi /etc/apt/sources.list

aşağıdaki satırları ekleyelim

deb http://approx-server:9999/debian stable main non-free contrib
deb-src http://approx-server:9999/debian etch main non-free contrib
deb http://approx-server:9999/security stable/updates main non-free contrib
deb-src http://approx-server:9999/security etch/updates main contrib non-free
deb http://approx-server:9999/non-us stable main non-free contrib

kaydedelim ve çıkalım.

Şimdi güncellemeye başlayabiliriz

#apt-get update

İlk başlarda zaman aşımı problemleri ile karşılaşabilirsiniz: Bu durumda tekrar deneyiniz. İlk çalıştırmadan sonra ki çalıştırmalarda daha hızlı çalışacaktır.

ffmpeg kullanarak OGV den FLV’ye nasıl dosya dönüştürülür?

Bu doküman OGV dosyasını nasıl FLV dosyasına dönüştüreceğinizi anlatmaktadır. Bunun için ffmpeg audio ve video dönüştürücüsüne ihtiyacımız vardır.

ffmpeg paketini yükleyelim.

# apt-get install ffmpeg

OGV dosyasını flv dosyasına dönüştürmek için aşağıdaki komutu kullanın.

ffmpeg -i input_file.ogv output_file.flv

Aşağıdaki komut ile aynı zamanda çıkan dosyanın boyutunuda ayarlayabilirsiniz.

ffmpeg -i input_file.ogv -s 800×600 output_file.flv

Bu aynı zamanda flash video dosyasının boyunuda küçültecektir.

All Your Base

all_your_base

Kaynak: http://xkcd.com/286/

ChrootDirectory ile OpenSSH loglama

Bir önceki yazıda eksik kalan OpenSSH loglama kısmına bu yazıda değineceğim. Bir önceki yazıya buradan ulaşabilirsiniz.

Chroot içinde syslog kullanılabilir kılmak

Basitçe herbir seçilen chroot dizinleri içerisinde bir dev dizini oluşturalım.

# mkdir /home/user/dev

Yeni loglama kaynağında rsyslog ayarlanması

/etc/rsyslog.d/sshd.conf de aşağıda gördüğünüz içerikleri çıkarınız:

# Create an additional socket for some of the sshd chrooted users.
$AddUnixListenSocket /var/fileserv/dev/log

# Log internal-sftp in a separate file
:programname, isequal, "internal-sftp" -/var/log/sftp.log
:programname, isequal, "internal-sftp" ~

Loglama için openssh ayarlanması

Bir önceki yazıya göre , /etc/sshd_config değiştirilmelidir. Subsystem sftp satırı aşağıdaki satırı okumalıdır :

Subsystem sftp internal-sftp -l VERBOSE

Match bölümü aşağıdaki gibi görünmelidir.

Match group sftponly
         ChrootDirectory /home/%u
         X11Forwarding no
         AllowTcpForwarding no
         ForceCommand internal-sftp -l VERBOSE

Yeni log dosyası için Log rotation

/etc/logrotate.d de bulunan aşağıdaki satırı çıkarınız:

/var/log/sftp.log {
        weekly
        missingok
        rotate 52
        compress
        delaycompress
        postrotate
                invoke-rc.d rsyslog reload > /dev/null
        endscript
}

Next Page →