5 Ağustos 2015 Çarşamba

Güvenlik Duvarına Kural Ekleme

   Iptables ağ trafiğini yönlendirmek ve kurallar yazmak için kullanılan bir duvar programıdır.Bir ağ sitemi üzerinde bağlantı kurmaya çalıştığınızda kural listesinde arama yapar eğer bulamazsa varsayılan eyleme başvurur. Bir linux dağıtımına kurulu gelmediyse iptables paketini indirmelisiniz:

sudo yum install iptables

iptables da üç farklı zincir vardır: giriş ,ileri ve çıkış:

Girdi(input): Bu zincir gelen bağlantıların davranışlarını kontrol etmek için kullanılır. Örneğin bir pc sunucuya ssh çalışırsa , iptables giriş zincirinin bir kuralının ip adresi ve port ile uyuşmasını sağlayacaktır.

İleri(forward): Bu zincir aslında gelen bağlantıların yerele teslim edilmediğinde kullanılır. Eğer yönlendirme gerekmiyorsa genelde bu zincir kullanılmaz.

Çıkış(output): Bu zincir giden bağlantılar için kullanılır.Bir siteye ping atarken iptables karar vermeden önce site konusundaki kurallara bakar yani çıkış zincirini kontrol eder.

Sistemin bir kural yolu olup olmadığını kontrol etmek için:

 sudo iptables -L -v





 Görüldüğü gibi girdi zincirinde 11G bytes işlenir çıktı zincirinde ise 17G bytes.
Dikkat edilmesi gereken bir nokta da protokollerin çoğu giriş ve çıkış zincirini birlikte kullanır bu yüzden düzgün yapılandırılmalıdır.


Belirli kuralları eklemeden önce bağlantı herhangi bir kurala uymazsa varsayılan olarak ne yaptığını ayarlamalıyız. iptables genelde varsayılan olarak bağlantıları kabul etmenizi söyler:

sudo iptables -L | grep policy



Eğer varsayılan olarak böyle değilse yani siz bir değişiklik yapmışsanız bu varsayılan olarak bağlantıyı kabul et yapılır:

iptables --policy INPUT ACCEPT
iptables --policy OUTPUT ACCEPT
iptables --policy FORWARD ACCEPT


Eğer sadece el ile bağlanılmasına izin vermek istiyorsunuz o zaman varsayılanı değiştirmeniz gerekecektir. Ama bu çok hassas bilgiler içeren sunucular için yararlı olacaktır:

iptables --policy INPUT DROP
iptables --policy OUTPUT DROP
iptables --policy FORWARD DROP

Üç tane temel yanıt vardır.

Accept -> Hepsi bağlansın.




Drop -> Bağlantıyı bırak,hiç olmamış gibi davran.




Reject->Bağlantıya izin verme ama hatayı gönder.




       Belirli adresleri , adres aralıklarını ve bağlantı noktalarını engellemek, izin vermek için kural tanımlayabilirsiniz. iptables kuralları zincirin en üstünden başlar ve uyan bir kural bulana kadar hepsinin üstünden geçer. Listenin istediğiniz bir yerine kural koymak istiyorsanız:

iptables -I [zincir ][sıra]

Zincire kural eklemek için iptables -A parametresi kullanılır.

Tek ip adresi için kural:

iptables -A INPUT -s  18.18.18.18  -j DROP

ip adresi aralığı için kural :

iptables -A INPUT -s 18.18.18.0/24  -j DROP  
iptables -A INPUT -s 18.18.18.0/255.255.255.0 -j DROP

Bağlantıya özel port verme

 iptables -A INPUT -p tcp --dport ssh -s  18.18.18.18  -j DROP
  
Siz herhangi bir protokol veya port numarası ile "ssh" değiştirebilirsiniz.
-p tcp iptablesın hangi kısmı protokolle bağlantı kuracağını söyler. TCP yerine UDP kullanan bir protokol engellenseydi o zaman tcp yerine udp yazılcaktı.

Herhangi bir ip adresine gelen ssh bağlantılarını engellemek için :

iptables -A INPUT -p tcp --dport ssh  -j DROP

iptables -L listeleme -v ile paket ve veri byte bilgisi -n ile konak protokol ve ağlar sayı olarak listelenir.

Eklediğiniz özel kuralları -D parametresiyle silebilirsiniz:

iptables -D INPUT -p tcp --dport ssh -s  18.18.18.18  -j DROP

Tüm kuralları temizlemek için iptables -F komutu kullanılır.

Yaptığımız değişiklikleri kaydetmek için(Dağıtıma göre değişiklik gösterebilir.):

Ubuntu:      sudo /sbin/iptables-save
Redhat ya da Centos:      /sbin/service iptables save
Ya da:       /etc/init.d/iptables save





3 Ağustos 2015 Pazartesi

NTP(NETWORK TIME PROTOCOL)

      Bilgisayardaki zaman sapmalarını engellemek için kullanılan bir protokoldur. Saati sürekli güncel tutmak için güvenli bir kaynaktan senkronize eder. UTC zamanı referans olarak alınır. Ulaşılabilir bir kaç kaynağı kontrol eder ve zaman sapması en az olanı otomatik olarak seçer.

UTC zamanını referans olarak kullanır.
UTC zamanını referans olarak kullanır.
UTC zamanını referans olarak kullanır.
UTC zamanını referans olarak kullanır.
UTC zamanını referans olarak kullanır.
    Ntp 123 port'u kullanır. Dağıtımına göre yapılandırma dosyası /etc/ntp.conf ve /etc/xntp.conf olarak değişiklik gösterir.İki tip ip adresi vardır biri saat ayarı istenen sunucu ip diğeri sahte ip (Birincisi asıl sunucu ikincisi yedek sunucu).

NTP Çalışma Modları

İstemci Mod: Sunucu diğer sunucuları kontrol eder.Sunuyu istemci modda yapılandırmak için NTP yapılandırmasında kontrol edilecek sunucuların adı ve ip adreslerinin bulunduğu bir sunucu cümlesi olmalıdır.

Broadcast ve multicat:  NTP paketlerini dinler. Yapılandırma dosyasında "Broadcast yes" "multicast yes"  cümleciğini içermelidir.


NTP Kurulması

# yum install ntp ntpdate ntp-doc

İşletim sistemi  açılırken servisin başlaması için :

#chkconfig ntpd on

Servisi başlatmak için:

#service ntpd start ya da /etc/init.d/ntpd start 

Servisi durdurmak için:

#service ntpd stop

Servisi yeniden başlatmak için:

#service ntpd restart


Yapılandırması

ntp yapılandırma dosyasını açıyoruz:

#vim /etc/ntp.conf 

Sunucu adreslerine pool.ntp.org dan bakabilirsiniz. Biz Türkiye de olduğumuz için aşağıdaki satırları conf dosyasına ekliyoruz:

server 0.tr.pool.ntp.org
server 1.tr.pool.ntp.org
server 2.tr.pool.ntp.org
server 3.tr.pool.ntp.org

Herkesin sunucu üzerinde değişiklik yapmasını ve sunucu durumunu sorgulaması engeller:

restrict default kod nomadify notrap nopeer noquery

Hizmet verilcek kullanıcılara izin tanımlama (aslında bu tanımlama zaten yapılandırma dosyasında var):

restrict 127.0.0.1
restrict ::1



pgrep ntpd komutu ile ntp servisinin çalışıp çalışmadığını görebilirsiniz. Ekrana işlem numarasını vermelidir.



NTP Zaman Sapması Kontrolü

ntpstat ağ zaman eşitleme durumu gösterir.  
Senkronize olduğu tespit edilirse ,yaklaşık zaman doğruluğunu bildirir.

Çıktısı şu şekilde olacaktır:

synchronised to NTP server (149.20.54.20) at stratum 3 
time correct to within 42 ms
polling server every 1024 s



Centos Timezone Yapılandırması

/usr/share/zoneinfo/ altında zaman dilimini seçeceğiniz ülkelerin listesi vardır. Burdan olduğunuz ülkeyi seçiyorsunuz . Timezone değiştirmek için daha genel bir dosyaya bağlıyoruz:

"ln -sf /usr/share/zoneinfo/Turkey  /etc/localtime"

"date" komutu ile de kontrolunuzu yapabilirsiniz.








2 Ağustos 2015 Pazar

Nedir bu ifconfig ?

        Ağ ara birim yapılandırması için ifconfig kullanılır. ifconfig parametre verilmeden kullanılırsa sistemde çalışan tüm ağ arabirimlerini gösterir.









MTU -> Her ip paketinin maksimum boyutunu belirtir.

Scope -> interface 'in faliyet alanıdır.

metric ->Önceliği belirtir. Örneğin iki tane ethernet kartınız varsa önce hangisinden paket gönderimi yapılcağını seçebilirsiniz.

Link encap: Ethernet  ->  Arayüz ethernetle ilgili cihaz olduğunu gösterir.

Hwaddr -> Bu üretilen her Ethernet kartı için benzersiz olan donanım adresidir.

inet addr-> Makine ip adresidir.

inet6 addr ->IPv6 ya göre ip adresidir.

Bcast -> Yayın adresini gösterir.

Mask -> İp adresinde hangi bitlerin sabit olacağını gösterir.

RX packets ,TX packets -> Sırasıyla alınan ve iletilen paketlerin toplam sayısını gösterir.

collisions -> İdeal değer sıfırdır. Sıfırdan büyükse bu paketlerin ağınızda geçme sırasında çarpışması anlamına gelir.

txqueuelen -> Bu, cihazın iletim kuyruk uzunluğunu ifade eder. 

RX bytes , TX bytes ->  Ethernet arabiriminin her iki durumdada geçtiği toplam veri miktarını gösterir.