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.
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
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
}

