Tag Archives: pacman

DNSCrypt

Veri trafiğini daha iyi şifrelemenin en iyi yollarından biri de DNSCrypt kullanmaktır. Sizleri küresel dinleme ve yapacağınız hatalardan korumayacak ama DNS trafiğiniz şifreli bir hale dönüşecektir.

DNSCrypt kısaca, bir istemci ile DNS çözücü arasındaki iletişimi şifreleyen bir araçtır. Diğer bir deyişle, DNSCrypt proxysi doğrudan yerel çözücü olarak kullanabileceğiniz ya da DNSCrypt protokolü olarak DNS isteklerini gönderen, şifreleyen ve doğrulayan yerel bir servis sağlamaktadır. Bununla birlikte, DNSCrypt yüksek hızlı ve yüksek güvenlikli elliptic-curve kriptosu kullanmakta ve istemci ile birinci-seviye çözücü arasındaki iletişimi korumaya odaklanmaktadır.

DNSCrypt’i bu kadar farklı kılan şeylere bakarsak eğer, SSL nasıl HTTP web trafiğini HTTPS şifreli web trafiğine çeviriyorsa DNSCrypt de sıradan bir DNS trafiğini şifreli DNS trafiğine dönüştürmektedir. Bu da kullanıcıya dinleme ya da man-in-the-middle saldırıları gibi durumlarda koruma sağlamaktadır. Ayrıca, DNSCrypt platform bağımsız bir uygulamadır ve GNU/Linux, Windows ya da iOS (jailbreak şartı var) sistemlerde rahatlıkla kullabilirsiniz. Örneğimiz GNU/Linux üzerinde olacak fakat sizler farklı platformlar için en altta verilmiş bağlantılar üzerinden hareketle gidebilirsiniz.  Bununla birlikte, dağıtımınızın ne olduğunu bilmiyorum. Eğer, kullandığınız dağıtımın depolarında dnscrypt paketi yok ise direkt 2. yönteme bakabilirsiniz.

1. Depodan kurulum

İşlemlerimizi terminal üzerinden root olarak gerçekleştireceğiz. Hemen bir tane açın ve:

kame ~ $ apt-get install dnscrypt-proxy (pacman -S dnscrypt-proxy veya dağıtımınız neyse onun paket yöneticisi ile kurulumu gerçekleştirin.)

Kurulum tamamlandıktan sonra dnscrypt-proxy servisini başlatın. Debian ve türevi dağıtımlarda bu otomatik olarak gerçekleşecektir. Eğer başlamazsa:

kame ~ $ /etc/init.d/dnscrypt-proxy start

systemd kullanan farklı bir dağıtımda:

kame ~ $ systemctl enable dnscrypt-proxy
kame ~ $ systemctl start dnscrypt-proxy

yaparak başlatabilirsiniz.

2. Elle kurulum

Eğer depolarınızda yok ise aşağıdaki adımları gerçekleştirin.

kame ~ $ wget -c http://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-proxy-1.3.3.tar.gz
kame ~ $ tar xzf dnscrypt-proxy-1.3.3.tar.gz
kame ~ $ cd dnscrypt-proxy-1.3.3
kame ~ $ ./configure
kame ~ $ make
kame ~ $ sudo make install

Bu aşamaların herhangi birinde (make install hariç) hata alırsanız mevcut hatayı aratarak eksik kütüphane veya paketleri kurmanız gerekebilir.

3. Kullanım

Kurulum aşamalarını tamamlamış iseniz artık kullanıma geçebiliriz. Statik IP ayarları yaparak kullanımını göstereceğim. Sadece DNS sunucusuna yazarak da kullanabilirsiniz. Seçim size kalmış.

kame ~ $ sudo ifconfig

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.3  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::52e5:49ff:feda:8b5a  prefixlen 64  scopeid 0x20
        ether 50:e5:49:da:8b:5a  txqueuelen 1000  (Ethernet)
        RX packets 345058  bytes 405146897 (386.3 MiB)
        RX errors 0  dropped 8  overruns 0  frame 0
        TX packets 231282  bytes 53324829 (50.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Görüldüğü üzere eth0 kullanmış olduğum bağlantım. inet değeri ise bilgisayarımın ip’si. Ağ yöneticiniz NetworkManager veya başka bir şey olabilir. Ağ yöneticinizinde düzenlemek üzerekullandığınız bağlantıyı (eth0, wlan0 vs.) açın (örneğin Edit connections -> Ethernet (eth0) -> Edit -> IPv4 Settings) ve:

Adress: 192.168.1.3
Netmask: 255.255.255.0
Gateway: 192.168.1.1

şeklinde düzenleyin. Son olarak DNS Servers (DNS sunucusu) kısmına 127.0.0.1 yazın, kaydedin ve ağ yöneticinizi tekrar başlatın. 127.0.0.1, bizim yerel DNSCrypt proxymizdir. Bundan sonraki süreçte artık trafiğimiz şifreli bir şekilde akmaya başlayacaktır.

Dikkat etminiz gereken en önemli nokta DNSCrypt erişime engelli siteleri aşmak için bir araç olmadığıdır. Veri trafiğini en iyi şekilde şifrelemeye çalışmakta fakat bu süreçte IP’niz gizlenmiyor, yeriniz değişmiyor, Internete çıkış noktanız farklılık göstermiyor. Bunu kesinlikle aklınızdan çıkarmayın. Diğer platformlar için indirme bağlantıları aşağıdadır:

Tagged , , , , , , , , , , , , ,

Arch Linux’u USB Belleğe Kurmak

Bu rehberin amacı kendinize ait ve USB bellek içinde taşıyabileceğiniz, sizin özelleştirdiğiniz ve kurulumun her adımını bilerek yaptığınız bir GNU/Linux’a sahip olmak. Yani, ihtiyaçlarınız nelerse sadece onları ekleyecek, her an yanınızda taşıyabilecek ve sorunsuz bir şekilde güvenle kullanabilecek, kişiselleştirilmiş bir dağıtımınızın olması.

Herhangi bir GNU/Linux dağıtımını da USB belleğinize yazdırabilir, tüm bu aşağıda anlattığım kısımlara girmeden kolayce USB belleğinizde çalışan bir dağıtıma sahip olabilirsiniz. Fakat bu yöntemin sağlayacağı faydalara bakarsak eğer:

  • Kurulumun her aşamasını görme, yapma ve düzenleme fırsatına sahip olacaksınız.
  • Bu sizin GNU/Linux bilginizi arttıracak mükemmel bir fırsat olabilir.
  • İstemediğiniz bir sürü gereksiz uygulama yerine sadece sizin istediğiniz uygulamalardan oluşan bir sisteme sahip olma olanağı.
  • Güvenliği kendi ihtiyaçlarınız doğrultusunda sağlayabilme (iptables vs).
  • Güvenmediğimiz makinelerde kullanabilme. (Eğer internet dinleniyorsa gene güvenliğiniz tehlikede olabilir fakat Tor ve VPN seçenekleri mevcut.)

O kadar faydasını saydım peki bize zararı olabilir mi?

  • Zaman gerektirebilir.
  • Aşamalarda karşılaşabileceğiniz sorunlar sizi yıldırabilir. Ama yılmayın, arayın muhakkak yazılmış bir şeyler bulursunuz.

Karışık bir rehber gibi gözükebilir ama elimden geldiğince her şeyi çok açık olarak yazacağım. Önce, elimizde GNU/Linux kurulu bir sistem olursa (Arch olmadığı varsayılarak anlatılacak rehber) sorunsuz bir şekilde ilerleyebilirsiniz. Hemen hemen tüm işlemler root olarak gerçekleştirilecek, o yüzden dikkatli olmanızda fayda var. Komutlar “~ $” ile düzenlenecek kısımlar “#”  (başlarına # koymayın) ile gösterilmiştir.

1. USB belleği biçimlendirmek

USB belleğimizi taktık ve öncelikle bunda bir bölüm oluşturmalıyız. Bu da cfdisk’i kullanarak yapacağız. Sizin dikkat etmeniz gereken USB’nin bağlama noktasının ne olduğu. Ben /dev/sdc olarak alıyorum. Sizde bu /dev/sdb olabilir veya /dev/sd[x] (x herhangi bir değer) olabilir. Yanlışlıkla kullandığınız alanı seçerseniz bilgileriniz silinecektir.

~ $ cfdisk /dev/sdc
New -> Primary -> Linux, Write diyerek yazıyor ve Quit diyerek bu ekrandan çıkıyoruz.

2. Arch Linux Bootstrap paketi

Arch Linux’un cd imajını yazdırıp oradan da gidebilirsiniz. Fakat, bu rehberde bootstrap ile kurulumu gerçekleştireceğiz. Öncelikle Arch Linux’un bu paketini indirip arşivden çıkartmalıyız. İndireceğiniz dizinde açacağınızı varsayıyorum.

~ $ wget -c http://mirrors.kernel.org/archlinux/iso/2013.12.01/archlinux-bootstrap-2013.12.01-x86_64.tar.gz
~ $ tar xzf archlinux-bootstrap-2013.12.01-x86_64.tar.gz

Arşivi çıkarttıktan sonra elimizde root.x86_64 adında bir klasörümüz olacak. Burada chroot olmadan önce Arch Linux’un yansı dosyasını düzenlemeliyiz.

~ $ nano root.x86_64/etc/pacman.d/mirrorlist

Size en yakın olan sunucunun başındaki # işaretini kaldırın ve kaydedip çıkın. Buradan sonra şu işlemleri gerçekleştirin:

~ $ cp /etc/resolv.conf root.x86_64/etc
~ $ mount --rbind /proc root.x86_64/proc
~ $ mount --rbind /sys root.x86_64/sys
~ $ mount --rbind /dev root.x86_64/dev
~ $ mount --rbind /run root.x86_64/run

Önemli noktaları bağladıktan sonra chroot için artık hazırız:

~ $ chroot root.x86_64 /bin/bash

Kuruluma geçmeden önce son adım olarak Arch Linux paket yöneticisi pacman‘in anahtarları kurması gerekmektedir.

~ $ pacman-key --init
~ $ pacman-key --populate archlinux

İlk bölümde USB belleğimizde bir alan oluşturmuş fakat bunu biçimlendirmemiştik. Şimdi bu oluşturduğumuz alanı biçimlendirelim:

~ $ mkfs.ext4 /dev/sdc1 -L /

Görüldüğü üzere “-L /” ile biçimlendirdiğim bu alana “/” etiketini verdim. Bu seçenek size kalmış. Ext4 yerine farklı bir dosya sistemi de seçebilirsiniz. Daha sonra USB belleğimizi bootstrap altında bağlamalıyız:

~ $ mount /dev/sdc1 /mnt

Her şey buraya kadar yolunda gittiyse rahatça kuruluma geçebebiliriz.

3. Arch Linux kurulumu

Önce, temel Arch Linux kurulumu gerçekleştirip Grub yerine Syslinux’u tercih edeceğiz. Grub’la devam etmek isteyen varsa kurulumu yapıp Grub ayarları için Arch Linux’un wikisine bakabilir. Biraz sıkıntılı olduğu için ben Grub’u atladım. Syslinux hiç sıkıntı çıkartmadı bana. Temel kurulum:

~ $ pacstrap /mnt base syslinux

Bu işlem biraz sürebilir. Yaklaşık 150mb kadar paket indirip kuracak. USB belleğinizin yazma hızı da önemli. Kurulum tamamlandıktan sonra fstab‘ı oluşturalım:

~ $ genfstab -p /mnt >> /mnt/etc/fstab

Burada /dev/sdc1 olarak değil de UUID üzerinden gitmeliyiz. Çünkü farklı makinelere taktığımız zaman bağlama noktası farklılık gösterebilir ve sistemimiz açılmayabilir. USB belleğinizin UUID numarası fstab içinde var. Eğer yoksa:

~ $ ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 Dec 31 17:09 6c27259c-bff8-42a2-b14a-df16aad78ba4 -> ../../sdc1

UUID numaranız 6c27259c-bff8-42a2-b14a-df16aad78ba4, fstab ise:

~ $ nano /etc/fstab

# UUID=6c27259c-bff8-42a2-b14a-df16aad78ba4 / ext4 defaults,noatime 0 1

Şeklinde düzenlemeniz yeterli. Buradan sonra syslinux’u kurarak ayarlarını gerçekleştireceğiz:

~ $ syslinux-install_update -i -a -m
~ $ nano /boot/syslinux/syslinux.cfg

Syslinux’un ayar dosyasını açtıktan sonra LABEL Arch kısmını bulun ve USB belleğinizin UUID numarasını yazın:

LABEL Arch
MENU LABEL Arch Linux
LINUX ../vmlinuz-linux
APPEND root=UUID=6c27259c-bff8-42a2-b14a-df16aad78ba4 ro
INITRD ../initramfs-linux.img

Kaydedin ve çıkın. Şimdi sıra Arch Linux içinde chroot olmaya geldi:

~ $ arch-chroot /mnt

Hostname –diğer deyişle bilgisayarınızın adı– oluşturalım:
~ $ nano /etc/hostname

Hosts dosyamızı düzenleyelim (localhost’u bilgisayarınızın adıyla değiştirin):
~ $ nano /etc/hosts

Vconsole dosyamızı –klavye, yazı tipi düzeni– oluşturalım:
~ $ nano /etc/vconsole.conf
# KEYMAP=trq
# FONT=iso09.08

Locale dosyamızı –sistem dilini– oluşturalım:
~ $ nano /etc/locale.conf
# LANG=tr_TR.UTF-8

Yerel saatimizi belirleyelim:
~ $ ln -s /usr/share/zoneinfo/Europe/Istanbul /etc/localtime

Karakter desteği (başlarındaki # işaretini kaldırın):
~ $ nano /etc/locale.gen
# tr_TR.UTF-8 UTF-8
# tr_TR ISO-8859-9

~ $ locale-gen/

Initramfs imajını oluşturmadan önce mkinitcpio.conf dosyası içinde küçük bir yer değişikliği yapacağız (block görüldüğü üzere udev’den sonra gelecek):

~ $ nano /etc/mkinitcpio.conf
# HOOKS="base udev block autodetect modconf filesystems keyboard fsck"
~ $ mkinitcpio -p linux

Root şifremizi belirleyelim:
passwd

Kullanıcı (kullanici yerine kendi kullanıcı adınızı seçin) ve kullanıcı şifresi oluşturalım:
~ $ useradd -m -g users -G audio,video,wheel,storage,optical,power,network,log -s /bin/bash kullanici
~ $ passwd kullanici

4. Xorg kurulumu

Şimdi Xorg kuracağız. Farklı makinelerde çalışan bir sistem hazırladığımız için Xorg’u tüm sürücüleriyle kurmalıyız (all diyin).

~ $ pacman -S xorg

5. ALSA kurulumu

Ses için gerekli olan ALSA paketini kurmamız gerekmekte:

~ $ pacman -S alsa-utils alsa-firmware

6. NetworkManager kurulumu

Ben NetworkManager’ı seçtim. Wicd veya başka alternatifler size kalmış. NetworkManager’ı seçmemdeki neden OpenVPN. Kuruluma bunu da dahil edeceğiz:

~ $ pacman -S networkmanager networkmanager-openvpn network-manager-applet
~ $ systemctl enable NetworkManager

7. Masaüstü ortamının kurulması

USB belleğinizin boyutu ne kadar bilmiyorum. Tavsiye olarak ben pencere yöneticisi ya da LXDE gibi hafif masaüstü ortamlarını tercih ederdim. Rehberde LXDE’yi seçtim. Bu seçim size kalmıştır, istersenix XFCE, istersenix Openbox vs. de kurabilirsiniz. Fakat seçimlerinizin yanında bir tane de giriş yöneticisi seçmeli ve ayarlamalısınız. LXDE’de lxdm var o yüzden farklı bir şey seçmemize gerek yok.

~ $ pacman -S lxde ntfs-3g dosfstools
~ $ systemctl enable lxdm

8. Basit bir kişiselleştirme

Buradan sonra kullanmak istediğimiz programların kurulumu var. Ben basit bir örnek üzerinden göstereceğim. Tarayıcı seçiminden ofis ortamına kadar her şey size kalmıştır.

~ $ pacman -S firefox pidgin pidgin-otr abiword abiword-plugins gnumeric transmission-gtk icedtea-web-java7 gimp epdfview tor vlc ttf-dejavu
~ $ systemctl enable tor.service

Kurulumda indirilen paketleri yer kaplamaması için temizlemek isterseniz:
~ $ pacman -Scc
~ $  exit

9. Son adımlar

Buraya kadar da her şey sorunsuz bir şekilde kurulmuşsa artık bağlama noktalarını kaldırabilir ve chroot’tan çıkabiliriz.

~ $ umount /mnt
~ $ exit
~ $ umount -lf root.x86_64/proc
~ $ umount -lf root.x86_64/sys
~ $ umount -lf root.x86_64/dev
~ $ umount -lf root.x86_64/run

Artık bilgisayarınızı USB belleğinizden başlatabilir ve Arch Linux’unuzu kullanmaya başlayabilirsiniz. Kurulumun 5, 6, 7 ve 8. adımları kuracak kişiye kalıyor. Burada her adımı kendinize göre özelleştirebilir ve istekleriniz doğrultusunda kurulum yapabilirsiniz. Hepinize kolay gelsin, iyi yıllar.

Tagged , , , , , , , , , , , , , , , , , , , , , , , , , ,