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
SSH veya SCP nin birden fazla makinede çalıştırılması
Eğer sizde benim gibi birden fazla Debian GNU/Linux çalıştırıyorsanız ve zaman zaman tüm bu makineler için bir veya birkaç komutu çalıştırmanız gerekiyordur. Tüm makineler üzerinde aynı komutu çalıştırmanın çeşitli yolları vardır, tüm makinelere bağlanıp elle çalıştırmak gibi, veya daha karmaşık çözümleri kullanmak gibi; CFEngine veya Puppet. Bunların arasında yazdığınız tek komutu tüm makinlerde çalıştırmak için pssh kullanabilirsiniz.
pssh paketi size bu çözümü sunun bir araçtır, SSH bağlantılarını birden fazla makinede paralel olarak kullanmanıza izin veririr.
Debian paket deposunu araştırdığınızda benzer birçok çözümü görebilirsiniz:
me@home:~$ apt-cache search cluster ssh clusterssh - administer multiple ssh or rsh shells simultaneously dish - the diligence/distributed shell for parallel sysadmin dsh - dancer's shell, or distributed shell kanif - cluster management and administration swiss army knife libtaktuk2 - C bindings for taktuk libtaktuk2-dev - C bindings for taktuk (development files) pssh - Parallel versions of SSH-based tools taktuk - efficient, large scale, parallel remote execution of commands
Öncelikle pssh paketini yükleyelim. Bu paket ile birlikte birkaç yeni komut gelir.
# apt-get install pssh
parallel-slurp
Bu komut birden fazla uzak makineden dosyaların yerel sisteminize kopyalamınızı sağlar. Kısaca bunun kullanımını aşağıda göstereceğim.
parallel-ssh
Bu komut yerel makinenizde yazmış olduğunuz komutun paralel olarak uzak sistemlerde çalışmasını sağlar. Bunu komutunda kullanımını aşağıda kısaca göstereceğim.
parallel-nuke
Bu komut birden fazla uzak sistemde işlemlern öldürülmesini sağlar.
parallel-scp
Bu komut parallel-slurp ‘un tersidir ve birden fazla uzak sisteme dosya, veya dosyalar, kopyalamayı sağlar.
Genel Kullanım
pssh paketi ile birlikte yüklenen herbir yeni komut bir text dosyasnda bulunan listedeki makine isimlerini okur. Bu otomatik kullanım biraz komut-satırı çözümleme işlemini kolaylaştırmak için yapılmıştır.
Birden fazla makine üzerinde konut çalıştırılması
En basit kullanım; herbir makine üzerinde basitçe çalıştırmak ve rapor çıktısı almamaktır. Örneğin hosts.txt ,dosyada verilen numara ve makine ismi vardır, dosyasını çalıştırmak:
me@home:~$ parallel-ssh -h hosts.txt uptime
[1] 18:29:35 [SUCCESS] gold.my.flat 22 [2] 18:29:35 [SUCCESS] silver.my.flat 22
Bu komut “uptime” komut çıktısını bizim istediğimiz gibi bize göstermez. İstediğimiz gibi bir çıktı almak için “-i” (inline) flag (bayrak) eklememiz gerekmektedir:
me@home:~$ parallel-ssh -i -h hosts.txt uptime
[1] 18:30:29 [SUCCESS] gold.my.flat 22 18:30:29 up 36 days, 5:21, 5 users, load average: 0.39, 0.24, 0.23 [2] 18:30:29 [SUCCESS] silver.my.flat 22 18:30:29 up 36 days, 4:45, 1 user, load average: 0.04, 0.02, 0.00
En basit komutlar için bu iyi bir çözümdür fakat bazı zaman mümkün olan tüm çıktıları toplamak istediğiniz zaman bu yeterli olmaz. Burada çıktı (output) parametresini de kullanmanız gerkmektedir. Basitçe çıktı (output) ” -o path” dir. Herbir sistem için çıktılar aşağıdaki şekilde dosyaya yazılır.
me@home:~$ parallel-ssh -o uptime.out -h hosts.txt uptime
[1] 18:32:30 [SUCCESS] gold.my.flat 22 [2] 18:32:30 [SUCCESS] silver.my.flat 22 me@home:~$ ls uptime.output/ gold.my.flat silver.my.flat me@home:~$ cat uptime.out/silver.my.flat 18:32:30 up 36 days, 4:47, 1 user, load average: 0.00, 0.01, 0.00
Burada sizin kullanbileceğiniz birçok seçenek vardır. örneğin bağlanılan kullanıcı adları ve farklı port numaraları kullanımı gibi. Seçenekleri görmek için parallel-ssh komutunu hiçbir parametre olmadan kullanmanız yeterlidir.
Birden fazla makineden dosya kopyalanması
Kopyalanan dosyaların çalışması gösterdiğimiz komutların çalışması gibidir. Sadece farkı yerel dizini özellikle belirtmenizdir, böylelikle uzak sistemden kopyalanan dosya tekrar üzerine yazılmaz.
Böylece, /etc/motd dosyasını herbir hosts.txt dosyamızdan kendi sistemimize kopyalayarak çalıştırırız.
me@home:~$ parallel-slurp -h hosts.txt -L local.dir /etc/motd motd [1] 18:39:39 [SUCCESS] gold.my.flat 22 [2] 18:39:39 [SUCCESS] silver.my.flat 22
Bu bize /etc/motd dosyasını local.dir dizini içerisinde motd adı ile adlandırarak kendi sistemimize kopyalar.
me@home:~$ tree local.dir/ local.dir/ |-- gold.my.flat | `-- motd `-- silver.my.flat `-- motd 2 directories, 2 files
Yukarıda gördüğünüz gibi kopyaladığımız yerdeki herbir makine adı için bir seviye alt kategori oluşturulmuştur.
Bu aracı verimli bir şekilde kullanmak için birçok seçenek vardır, biraz manuel dokumanına bakarak işinize yarayan birçok özelliği bulabilirsiniz, örneğin -r (recursive) seçeneği hepimizin scp kullanırken kullandığı, aşina olduğumuz bir parametredir.
UYARI: parallel-slurp sadece birden fazla makineden kendi makinenize kopyalama içindir. Birden fazla makineye kopya yapmak için parallel-scp aracını kullanınız.
Sonuç olarak bu araç hali hazırda SSH key tabanlı yetkilendirmye sahip birden fazla sistem yönetiminde kullanılabilir.
Linux Tarafından Desteklenen Protokoller #2
Diğer Servisler ve Teknolojiler
Protokollere değindikten sonra bir de Linux tarafından desteklenen bazı servislere değinelim. IPv6 IPv6, şu anda kullanılmakta olan internet protokolüne bir alternatif olarak geliştirilmiş, yeni ve güvenli bir protokoldür. Bildiğiniz gibi IPv4 yalnızca 32 bit adresleme yeteneğine sahiptir. Yakın gelecekte IPv4′ün internetteki adreslere yetmeyeceği aşikar olduğu için, 128 bit adresleme yapabilen ve “IP Next Generation” olarak da bilinen IPv6 geliştirilmiştir. Bu sayede IP sıkıntısının da tamamen çözüleceği düşünülüyor. IPv6′nın getirdiği bazı yeniliklere göz atacak olursak,
- Güvenlik: IPv4 protokolüne sonradan eklenen güvenlik arttırıcı şifreleme (IPsec) ve kimlik denetimi (authentication) gibi özellikler IPv6 ile öntanımlı olarak gelmektedir.
- Ölçeklenebilirlik: Üstte de bahsettiğim gibi, IPv4′de kullanılan 32 bit adresleme aralığı IPv6 ile 128 bite çıkmaktadır.
- Otomatik Yapılandırma: IPv6 protokolü ile gelen otomatik yapılandırma özellikleri ile birlikte son kullanıcının ağa dahil olması için fazladan bir ayar yapmasına gerekkalmayacaktır.
- Servis Kalitesi: IPv6 ile gelen servis kalitesi sayesinde, IP paketlerini önceliklendirme daha hızlı yapılabildiği için anlık trafiğin (görüntü, ses) kesintiye uğrama olasılığı daha da azalmıştır.
- Hareketlilik: IPv4 ile mümkün olmayan aynı IP adresi ile farklı ağlara bağlanabilme özelliği IPv6 ile mümkündür.
- Adresleme ve Yönlendirme: IPv6 adres yapısı ile yönlendirme tablolarındaki ağ adresi sayısı azalacağı için yönlendirme işlemleri daha rahat bir şekilde yapılabilecektir.
IPv6 protokolü 2000′li yıllarda IP sıkıntısının başgöstereceğine ilişkin yorumların da etkisiyle büyük ilgi görmüş, ancak NAT teknolojisinin yaygın bir şekilde kullanılmasıyla günümüzde eski önemini yitirmiştir. NAT sayesinde kurumlardaki bilgisayarların tamamına gerçek IP verilmesi zorunluluğu ortadan kalkmıştır.
Bootp
Diski veya disk sürücüsü bulunmayan bilgisayarların, ağa bağlı ve ağdaki diğer tüm bilgisayarlar gibi yetenekli olmasını sağlayan protokoldür. Bu tarz bir işlemi gerçekleştirebilmek için ihtiyacımız olan bir Linux sunucu bilgisayar ve EPROM yakıcı cihazdır. Bu işlemi bootp prootokolü yardımıyla Linux sunucu bilgisayarın diskini kullandırarak yapabiliriz. Temel olarak bootp protokolünün çalışma şekli şöyle özetlenebilir. Disksiz olarak açılan bilgisayari IP numarasını sunucu bilgisayardan bootp protokolü yardımıyla ve çalıştırılması gereken çekirdeğini tftp protokolü yardımıyla alır. Buradan tek zorunluluk sunucu bilgisayar ile disksiz bilgisayarın aynı ağ üzerinde bulunması zorunluluğudur. Bir diğer seçeneğimiz ise, disket yardımıyla ağ üzerinden kurulum bilgilerinin alınmasıdır. Bu durumda ethernet kartındaki EPROM’un yakılması zorunluluğu da ortadan kalkar. Her iki seçenekte de, internetten indireceğiniz EPROM veya disket görüntülerinikullanmalısınız. Bu tarz sistemler disk ile yapacakları her işlemi ağ üzerinde gerçekleştirdikleri için ağı çok fazla yükleyebilirler. Bu nedenle aynı ağ üzerinde 25′den fazla disksiz bilgisayarın kullanılması verimi düşürür. En iyi ve sağlam çözüm mecbur kalmadıkça bootp protokolüne muhtaç kalmamaktır
Netfilter Güvenlik Duvarı
Bilgisayar ağını dışarıdan gelebilecek tehlikelere karşı korumak amacıyla hazırlanmış bir yazılımdır. Genelde bu amaç için kullanılsa da ağın yapılandırılımasını kolaylaştırıcı etkileri de vardır. Örneğin, kullanıcıların haberi olmadan her birinin internet bağlantılarını yerel ağ üzerindeki vekil sunucuya (proxy) yönlendirebilirsiniz. Veya yerel ağ üzerinde sizin denetlediğinizden farklı bir e-posta sunucusu olmasını istemiyor olabilirsiniz. Bu durumda yerel ağa gelen tüm 25.port isteklerini sizin daha önceden e-posta sunucusu olarak ayarladığınız bir bilgisayara yönlendirebilirsiniz. Güvenlik duvarının bulunduğu bilgisayar üzerinde de bazı önlemler almak gerekmektedir. Genel olarak kabul gören yöntem kullanıcıların bu bilgisayara erişmesini engellemektir.
DHCP (Dynamic Host Configuration Protocol)
DHCP sayesinde herhangi bir bilgisayar, kendi ağ bilgilerini uzaktaki bir DHCP sunucusundan alabilir. Ağ yönetimini kolaylaştırdığı için DHCP büyük sistemlerde ve değişken donanımların yoğun olarak kullanıldığı yerlerde gittikçe yaygınlaşan bir kullanıma sahiptir. Linux’ta DHCP desteği bütün büyük dağıtımlarda kurulum sırasında gelmektedir ve DHCP sadece ethernet ağlar üzerinden desteklenmektedir.
IP Çoğullama
Bir tane ağ arayüzü (ethernet ya da seri bağlantı) kartı için birden fazla IP tanımlanması gereken durumlarda “IP Çoğullama” metodu kullanılır. Bu teknolojiyi genelde İnternet Servis Sağlayıcıları, müşterilen FTP ve WWW sunucularını tek bilgisayar üzerinde toplamak için kullanırlar. Bu sayede tek bir bilgisayara atanmış birden fazla internet adresi ve her birinin ayrı ve birbirinden bağımsız web sayfaları farklı bilgisayarlar üzerindeymiş gibi kullanılabilir. Ancak, tek bir IP üzerinden de farklı sanal IP’lere ihtiyaç duymadan istediğiniz kadar alan adı için servis edinebiliriz.
Sanal Özel Ağlar (VPN)
VPN (Virtual Private Network/Sanal Özel Ağ), internet üzerinden şifreli ve güvenli veri iletişimini sağlamak için düşünülmüş bir teknolojidir. Kiralık hatlar (leased-line) gibi daha güvenli, sağlam çözümlerin yerine VPN’in tercih edilmesinin sebebi, kolay yapılandırma ve maliyettir. Intranet yardımıyla şirketler arası ya da bir şirketin şubeleri arası veri iletişimi güvenli bir şekilde yapılabilir. Bu tür ağlara “Sanal Özel Ağ” adı verilir. Temelde “Remote Access VPN” ve “Site-to-site VPN” adıverilen iki tip VPN teknolojisi vardır. Amacımıza göre bu iki VPN teknolojisinden birini seçebiliriz. Remote Access olarak adlandırılan VPN türü, firmaların gezgin çalışanlarının firma ağına heryerden güvenli olaran bağlanabilmelerini ya da bir şirketin farklı lokasyonlarına bağlabilmeyi sağlamak için kullanılır. Site-to-site VPN ise genellikle farklı firmaların birbiriyle VPN aracılığı ile güvenli iletişim kurmaları için düşünülmüştür. Aynı zamanda firmanın farklı kolasyonlardaki şubelerinin merkeze bağlanmasını da sağlar. Remote Access’den temel farkı VPN işlemini gören iki uçta da VPN sunucusu bulunmasıdır.
Sanal Özel Ağların Çalışma Prensipleri: Sanal özel ağ (VPN), komşu ağlar arasında gizli ve özel bir bilgi akışını sağlamaya yönelik kurulur. Paketler internet üzerinden gitse dahi, daha önce de anlattığım tünelleme ve kullanılan güvenlik yazılımları sayesinde ağ dinlense bile şifrelenmiş paketlere saldıran kişiye elde ettiği bilgiler hiçbir anlam ifade etmeyecektir. Buradan, büyük şirketlerin kendi aralarında internetten faydalanmaksızın, özel ağ kurmalarının çoğu yerde gereksiz olduğunu düşünebilirsiniz. Ama bu sayede firma bilgilerinin internet yoluyla taşınması daha ucuza gelecek ve çalışanlar da internetin sunduğu olanaklardan yararlanabileceklerdir. Elimizde iki VPN ağ olduğunu farzedelim. A ağndan B ağına paket göndermek isteyen kullanıcının tek yapması gereken, ağın VPN olup olmadığına bakmaksızın elindeki paketi göndermesidir. Zira VPN ağların çalışması tamamen ağ üzerindeki kullanıcılardan bağımsız ve şeffaftır. Her paket, yerel ağ üzerindeki VPN sunucuya gelir. Bu sunucu, paketin internet üzerindeki herhangi bir noktaya mı yoksa B ağına mı gitmesi gerektiğine karar verir. Bunu da paket üzerindeki IP adresine bakarak anlar. Eğer paket VPN sunucunun veritabanında kayıtlı bulunan farklı bir VPN ağına gitmek üzere yollanmışsa, VPN’in içinde bulundurduğu bir yazılım devreye girer ve paketi şifreler. Hemen ardından VPN sunucu, şifrelenmemiş paketi alarak bunu bir IP paketiyle sarar. Bu IP paketi VPN’den gönderilen paketin nereye geldiği ve nereye gideceği gibi verileri içerir. Paket buradan en yakın yönlendiriciye, yönlendiriciden de VPN’e ulaşmak üzere internete gönderilir. B ağındaki VPN sunucusubu paketi alır, sarmalayan IP zarfını ve parolayı açar. Şimdi paketin gönderildiği zamanki halini almıştır. Sunucu paketi kendi ağında gitmesi gereken yere iletir. Böylece aktarım tamamlanmış olur.
NetBSD 4.0 sürümü çıktı
NetBSD 4.0 de gelen esas değişim ZEN 3 sanal sunucu, bluetooth, yeni donanım sürücüleri ve ARM, PowerPC and MIPS işlemci desteğidir.
NetBSD 4.0 da olan değişiklikler için resmi sürüm duyuru bağlantısını aşağıdadır.
http://www.netbsd.org/releases/formal-4/NetBSD-4.0.html [netbsd.org]
Major Changes Between 3.0 and 4.0
The complete list of changes can be found in the CHANGES and CHANGES-4.0 files in the top level directory of the NetBSD 4.0 release tree. Some highlights include:
Networking
* agr(4): new pseudo-device driver for link level aggregation.
* IPv6 support was extended with an RFC 3542-compliant API and added for gre(4) tunnels and the tun(4) device.
* An NDIS-wrapper was added to use Windows binary drivers on the i386 platform, see ndiscvt(8).
* The IPv4 source-address selection policy can be set from a number of algorithms. See “IPSRCSEL” in options(4) and in_getifa(9).
* Imported wpa_supplicant(8) and wpa_cli(8). Utilities to connect and handle aspects of 802.11 WPA networks.
* Imported hostapd(8). An authenticator for IEEE 802.11 networks.
* carp(4): imported Common Address Redundancy Protocol to allow multiple hosts to share a set of IP addresses for high availability / redundancy, from OpenBSD.
* ALTQ support for the PF packet filter.
* etherip(4): new EtherIP tunneling device. It’s able to tunnel Ethernet traffic over IPv4 and IPv6 using the EtherIP protocol specified in RFC 3378.
* ftpd(8) can now run in standalone mode, instead of from inetd(8).
* tftp(1) now has support for multicast TFTP operation in open-loop mode, server is in progress.
* tcp(4): added support for RFC 3465 Appropriate Byte Counting (ABC) and Explicit Congestion Notification as defined in RFC 3168.
File systems
* scan_ffs(8), scan_lfs(8): utilities to find FFSv1/v2 and LFS partitions to recover lost disklabels on disks and image files.
* tmpfs: added a new memory-based file system aimed at replacing mfs. Contrary to mfs, it is not based on a disk file system, so it is more efficient both in overall memory consumption and speed. See mount_tmpfs(8).
* Added UDF support for optical media and block devices, see mount_udf(8). Read-only for now.
* NFS export list handling was changed to be filesystem independent.
* LFS: lots of stability improvements and new cleaner daemon. It is now also possible to use LFS as root filesystem.
* vnd(4): the vnode disk driver can be used on filesystems such as smbfs and tmpfs.
* Support for System V Boot File System was added, see newfs_sysvbfs(8) and mount_sysvbfs(8).
Drivers
*
Audio:
o Support for new models on drivers such as Intel ICH8/6300ESB, NVIDIA nForce 3/4, etc.
o Added support for AC’97 modems.