Linux, sistem ve network güvenliği üzerine yazmış olduğum çalışmaların bazılarını bu e-book'ta topladım. e-book ile ilgili geri dönüşlerinizi yapabilirsiniz.
1. Her Yönüyle Linux Sistem ve Network Güvenliği 1
Lynis İle Sistem Güvenlik ve Bütünlük Kontrollerinin Yapılması
Open source ve ticari versiyonları bulunan lynis sistem bütünlük ve güvenlik kontrollerinin
yapılmasında pratik faydalar sağlamakla birlikte farklı sistemlere entegre edilebilmektedir. Bu
yazımızda sıfırdan kurulmuş bir Centos 7 işletim sistemi üzerinde kurulumu gerçekleştirip basit
olarak test edilecektir. Test aşamasına geçmeden önce temel linux bilgisi ve komutlarına hakim
olmanız gerekmektedir. Bir network yada sunucu sistemlerinin bulunduğu bir ortamda yada
gerçekleştirilmekte olan penetrasyon testleri sırasında birden fazla güvenlik kontrolü yapmak
uzun süreler alabilmektedir. Böyle durumlarda test süresini kısaltmak ve birden fazla kontrolü
gerçekleştirmek amacıyla lynis ve benzeri araçları kullanmakta yarar vardır.
Genel kullanım olarak üç temel kullanım seçeneği bulunmata ve bu işlemler için süreçleri
hızlandırmaktadır.
** Security Auditing
** Vulnarability Scanning
** System Hardening
Kurulum İçin Gereksinimler:
Centos 7 veya türevi bir linux dağıtımı,
Wmware Sanallaştırma Uygulaması,
Ssh Bağlantı için(Putty)
Sunucu yapılandırması için (1 Nat Wm0 bacağı ve 1 Brigde Modda Wm2 bacağı)
Not: Dağıtım için fresh bir minamal sürüm kullanıldığı için öncelikle gerekli güncellemeleri
yaptıktan sonra nano, development tools, wget gerekebilmektedir. Sisteminizde eksikse
aşağıdaki komutla mutlaka bu kurulumu gerçekleştiriniz.
# yum groupinstall "Development Tools"
Eksik kurulum ve güncellemeler gerçekleştikten sonra lynis kurulumuna geçebiliriz. Öncelikle
wget ile o anki yada hangi sürümü güncelse biz bu yazıda 1.5.8 sürümünü kullanıyoruz, indirilir.
1
Her Yönüyle LinuxSistem ve Network Güvenliği Ahmet HAN Free Ebook
9. Bilgi Güvenliği Açısından Trafik Analizi ve Önemi 4
Tcp ve ip yapısında haberleşme gerçekleşirken belirli standartlar ve protokoller arayıcılığı ile
gerçekleşmektedir. Bu yüzden port kavramı, üç yollu el sıkışma, veri haberleşmesi kavramları,
OSI referans modeli ve en azından wireshark ile yada benzeri diğer araçlar ile trafik analizi çok
çok önemlidir. Çünkü zararlı bir yazılım bilgisayarınıza bulaştığı zaman farklı yöntemler ile
internete çıkmaya çalışacak, diğer indirmesi gereken farklı komuta kontrol yazılımları varsa
indirmeye çalışacak, yada bilgisayarınızda bulunan verileri dışarıya sızdırmaya çalışacak,
dolayısı ile belirli amacı olacağı için bir şekilde dış Dünya(internet) ile bağlantı kurmaya
çalışacaktır.
Vikipedia’ki tanıma göre tcp protokolünün yazılış amacı veri haberleşmesi gerçekleştirilirken
kayıpsız veri iletişimin sağlanması amacıyla yazıldığını belirtir. Detaylı bilgiye ulaşmak için lütfen
buradaki linki okuduktan sonra devam edeniz. Okuduktan sonra tcp yapısında A bilgisayarından
B bilgisayarına şöyle bir durum gerçekleşir.
● A bilgisayarı B bilgisayarına TCP SYNchronize mesajı yollar
● B bilgisayarı A bilgisayarının isteğini aldığına dair bir TCP SYN+ACKnowledgement
mesajı yollar
● A bilgisayarı B bilgisayarına TCP ACK mesajı yollar
● B bilgisayarı bir ACK “TCP connection is ESTABLISHED” mesajı alır.
4
Her Yönüyle LinuxSistem ve Network Güvenliği Ahmet HAN Free Ebook
10.
Üç yollu el sıkışma adı verilen bu yöntem ile tcp bağlantısı sağlanmış olur. Veri değişimi ise
bundan sonra standartlara göre devam eder. Burada tcp işaretçileri(tcp flag) olarak bilinen
bayrak değerleri (6 bit) bilinmesi çok önemlidir. Esasen sadece bunlar değil zararlı trafiğin
analizi açısından farklı bir önem arz etmektedir. Bunu şu şekilde açıklamaya çalışacağım.
Öncelikle yukarıda bahsedilen konular hakkında temel olarak bilgi sahibi olmama rağmen bir
trafiği daha önce detaylı analiz etme imkanım olmamıştı. Ama öğrenmem gerektiğini de
biliyordum. Çünkü elbet bir gün lazım olacaktı. Bende hemen işe koyuldum. İnternetten
bulduğum farklı pcap dosyalarının analizi nasıl yapıldığını öğrenmek için. Bir CTF yarışmasında
kullanılan örnek bir trafiği indirdim. Sizde buradan indirebilirsiniz.
Üç yollu el sıkışmada kullanılan ve wireshark ile trafik analizi yapacağınız için tcp flag keylerini
en azından ihtiyaç olduğunda bilmekte fayda var. Hexadecimal değerleri şekildeki gibi.
0x00 NULL
0x01 FIN
0x02 SYN
0x03 FINSYN
0x08 PSH
0x09 FINPSH
0x0A SYNPSH
0x0B FINSYNPSH
0x10 ACK
0x11 FINACK
0x12 SYNACK
0x13 FINSYNACK
0x18 PSHACK
0x19 FINPSHACK
0x1A SYNPSHACK
0x1B FINSYNPSHACK
0x40 ECE
0x41 FINECE
0x42 SYNECE
0x43 FINSYNECE
0x48 PSHECE
0x49 FINPSHECE
0x4A SYNPSHECE
0x4B FINSYNPSHECE
0x50 ACKECE
0x51 FINACKECE
0x52 SYNACKECE
0x53 FINSYNACKECE
0x58 PSHACKECE
0x59 FINPSHACKECE
0x5A SYNPSHACKECE
12.
Port taramasında synack cevabı portların açık olduğunu göstermektedir. Wireshark ile bir filter
yazılarak 130.000 paket içersinde synack cevabı dönen portları tespit edebilirsiniz.
synack flag değeri 0x12 yukarıdan bakabilirsiniz. Ona göre şu şekilde bir yazım bize tüm
synack cevaplarını getirecektir.
Bu şekilde çözüme ulaşılmış olur. Dediğim gibi buradaki yazılanları öğrenmek amacıyla
araştırdım ve uygulamaya çalıştım. Sizde kendiniz bu şekilde benzer örneklerden başlangıç
seviyesinde iseniz başlamakta fayda var. Çünkü bilgi güvenliğinin hemen hemen her alanında
trafik analizi çok önemli bir durum teşkil ediyor.
Bu aşamadan sonra hemen aklıma şöyle bir senaryo geldi. Hemen bilgisayarıma bir vpn sunucu
kurup belirli bir süre Wireshark ile trafiği analiz edip neler gerçekleştiğine bakmak. Kurmadan da
trafik olurdu ama denemek istedim. Evde LAN ağına sahip olduğumuz için gelen misafirler
olsun, evdeki telefon, bilgisayar olsun ve de birde vpn kurulumu ile birlikte 20 dk analiz için
yeterli trafiğin oluşmasına imkan tanıdı.
Daha sonra kaydı durdurup analiz için yola koyuldum ve hemen get gerçekleştirilen methodları
listelettim. Çünkü bu method ile bir zararlı resim dosyası, başka zararlı bir dosya indirilmesi
denenebilirdi.
13.
Neyseki buraki çoğu get methodunda çağırılan istekler bannerlar, vpnden dolayı açılan zararlı
reklamlar arayıcılığı ile oluşmuş olduğunu küçük bir araştırma ile öğrenmiş oldum. Ve daha
sonra bu çağrılara ok yanıtı ile dönen cevap olup olmadığına baktım. Sonuç şekildeki gibiydi.
Daha önce Virus totalin analiz özelliği biliyordum, ama pcap dosyaları için olduğunu
bilmiyordum. Hemen dosyaları upload etmeyi denedim. Örnek dosyaya ve analiz sonuçlarına
detaylı buradan ulaşabilirsiniz. Gördüğüm sonuca inanamadım. Çünkü Virus Total snort ve
suricata ile birlikte bir çok olduğu alertlarını veriyordu.
14. Gece analiz edip yazıyı yazarken 12 saat sonra gönderdiğim için yeniden analizde de sonuç
değişmedi. Daha sonra dosya detaylarına baktığım zaman vpn’den dolayı bir çok gerçekleşen
get isteklerinde farklı url’lere yönlendirerek çekmeye çalıştığı dosyayı buradan görmüş oldum.
Daha sonra vpn kullanımının güvenli olduğunu düşünürdüm. Google’da şunları arattım. Vpn
threats, vpn vulnerabilities, is vpn safe, kinds of vpn threats gibi tonlarca analiz, pdf, döküman
vb. ortaya çıktı.
İşin garip tarafı 20 dk’lık bir local ağ trafiği için virus total üzerinden yapılan taramada çıkan
alert’lar şöyleydi.
SourceFire Snort Alarmları
15.
Suricata emergency threats
Daha sonra bu trafik dosyasını bir kaç defa rarlayarak bir daha analize gönderdim. Daha önce
sanırım Mert Sarıca’ hocam bundan bahsetmişti. Çıkan sonuç burada temiz hiç bir alert yok.
Hemen bu alertların çıkmasını araştırdım ve virus total blogunda
VirusTotal += PCAP Analyzer adı altında bir yazı
yayımlamışlar. Burada bu faktörlerden bahsedip örnekler
vermişler.
Buradan çıkartılabilecek sonuca gelicek olursak,
Vpn Cihazları bazıları ücretsiz ve masum gibi görünebilir ama arka planda kazanç için farklı
şeyler döndürebilirler(hotspotshield kullandım .;))
Ne kadar ips/ids, firewall’nuzda olsa farklı encoding ve şifreleme yöntemleri ile bypass edilip
kurum içi zararlı çalıştırılıp farklı amaçlar güdebilir.
Veri haberleşmesi kavramları, temel network bilgisi önemlidir. SOME’ler için ayrı bir öneme
sahip.(Seniorlar için bahsetmiyorum.)
Zincirin en zayıf halkası insandır, mantığı bu açıdan hala önemini korumaktadır.
En önemlisi bugün burayı(açık) kapattık güvendeyiz mantığı değil, güncel kalmak gerekli
tebrirleri almak, güncelleştirmeleri yapmak, tüm her şey tamam dediğinizde ortaya çıkabilecek
bir zeroday ile birlikte her şeyin en başına dönmesi ve tekrar uygulanması ile düzenli
penetrasyon testleri…
16. Tüm bunları yaptıysanız güvende miyiz sorusunun cevabını hem güvendesiniz hem değilsiniz.
Bu sorunun cevabı schödingerin kedisi deneyindeki sorunun cevabı ne zaman bulundu o zaman
cevap bulacağını düşünüyorum.
Dos Ddos Saldırıları ve Arasındaki Farklar 5
Geçtiğimiz yıl yapılan saldırıların genel olarak yüzdesine bakıldığında dos ve ddos saldırıları
hala önemini korumakla birlikte zaman zaman yapılan hedef odaklı bu saldırılarda sistemler
çalışamaz hale getirilmektedir. Sadece 2014 yılının ocak ve nisan ayları arasında
gerçekleştirilen saldırılara bakıldığı zaman bu oran %10++ civarında olduğu görülmektedir. Yine
2015 yılının ocak ayında yapılan araştırmalarda bu saldırıların %33’ünü Ddos saldırıları
oluşturmaktadır. Sosyal medya ve haber sitelerinde bu saldırıların hacking olduğu büyük bir
yanlışlıkla duyurulmaktadır. Dos ve ddos saldırıları bir hacking yöntemi olmamakla birlikte amaç
sistemleri çalışamaz, yorarak işlem görmesine engel olma amaçlı yapılan saldırılardır. Küresel
siber güvenlik raporlarından anlaşılacağı üzere bu yılın ilk ayında başta haber, endüstri,
hükemet, askeri kurumlar hedef alınmakla birlikte çeşitli kurumlar hedef alınmıştır.
Dos Saldırıları: Bu saldırı türünde bir saldırgan ve victim(kurban) adı verilen bir makina
bulunmakta olup kurban makineye saldırgan tarafından büyük miktarda veri aktarılmaktadır.
Ddos Saldırıları: İnternet üzerinden çok sayıda istemci bilgisayar kullanılarak yapılan saldırı
çeşitlerinden birisidir. Genel olarak kurban bilgisayara virüs, trojan bulaştırılarak çok sayıda
istemci makinanın(zombi hale gelmiş); bir sunucuya eş zamanlı ve mümkün olduğunca çok fazla
sayıda istek göndererek, sunucunun kapasitesinin aşılması hedeflenmektedir.
6
5
Her Yönüyle LinuxSistem ve Network Güvenliği Ahmet HAN Free Ebook
6
http://tr.wikipedia.org/wiki/Denialofservice_attack
17.
Ping of Death Saldırısı: Ping programı genel olarak bir makinaya 32 baytlık bir icmp paketi
gönderir ve bu paketin geri gelmesini bekler. Bu saldırı türünde bir hosta maxsimum boyutttan
fazla (65535 bayt) ping paketi kullanılarak yapılan bir dos saldırı türüdür. Farklı işletim sistemleri
gelen fazla paket sayısını anlayamaz hale gelir. bu saldırı türü ilk işletim sistemlerinde yagın
olmakla birlikte bazıları patch’lenmiştir.
Teardrop Saldırıları: Gözyaşı saldırıları olarakda bilinmektedir. Tcp/İp, Osi referans modelinde
veri iletilirken parçacıklar halinde yani fragmente edilerek gönderilmektedir. Paketler ise verelere
ayrıştırılacağı zaman paketlerde bulunan ofset değerleri kullanılır. Gözyaşı saldırılarında paketi
gönderen saldırgan paketler üst üste gelecek şekilde ofsetler ekler. bu paketleri alan
bilgisayarlar ayır edemez hale gelir.
18.
Syn Flood Saldırıları: Tcp referans modelinde üç yollu el sıkışma( Three Way Handshake)
gerçekleştirilirken yapılan bir saldırı türüdür. Syn paketleri bir sunucu ile istemci arasında
haberleşmenin başlaması için gönderilen ilk paketlerdir. İstemcinin gönderdiği syn paketlerine
sunucu ack paketi gönderir. Bundan sonra ise istemci syn/ack yanıtı gönderek haberleşmenin
gerçekleşmesi sağlanır. Tüm bu işlemlerin gerçekleşmesi için hafızada belirli bir yer ayrılması
gerekir. İşte syn flood saldırısında amaç çok fazla syn paketi gönderilmesi sağlanarak hafızanın
dolması amaçlanır.
19.
Smurf Saldırısı: Bu saldırı türünde saldırgan hedef bilgisayardan ping isteğinde bulunmayı
amaçlar. Burada saldırgan ping paketini hedef bilgisayarın ipsinden gelecek şekilde ayarlar.
Ağda bulunan diğer cihazlar her istek attığında bu makineye gönderileceğinden bu bilgisayar
ağdan düşer ve bütün isteklere yanıt veremez hale gelir. Saldırgan kullandığı ip adresi aslında
spoof edilmiş ip adresidir.
20. Fraggle Saldırısı: Smurf saldırısı türlerinden birisi olup tek farkı udp echo paketlerinin içersinde
icmp echo paketkerini içermesi prensibine göre yapılır.
Amplification Saldırıları: Son zamanlarda genel olarak dns ve ntp servisi kullanılarak
gerçekleştirilen saldırı türlerindendir. Ddos saldırılarında amaç çok fazla ve farklı sistem
üzerinde belirlenen hedeflere belirli sayıda paket gönderimi amaçlanarak yapılır. Amplification
tipi saldırılarında ise trafik kapasitesi yüksek aracı sistemler kullanarak saldırgan sahip olduğu
bandwidth miktarından çok daha fazlasını hedef sisteme yönlendirir. 7
Dns amplification saldırılarında öncelikle saldırgan küçük dns sorguları gönderir. Daha sonra
birden fazla alan adına sahip bir dns kaydı için parametreyi any olarak ayarlar. Ve tüm kayıt
listesini ister. Gönderilen paketler 60 byte civarındayken dönen cevaplar 35 kb ları bulabilir. Bu
şekilde 5060 kat daha fazla trafik üretilmiş olur. Ek olarak saldırgan küçük istekleri Recursive
Dns sunucuya yönlendirirse kurbana büyük miktarda trafik yönlendirmiş olucaktır.
7
http://blog.bga.com.tr/2014/03/ntpservisikullanarakgerceklestirilen.html
21.
Ddos saldırılarını önlemek için farklı yöntemler bulunmasına rağmen kesin çözüm
bulunmamaktadır. Dinamik bant genişliği yönetimi, saldırı tespit sistemleri, yük dengeleme(load
balancing), güvenlik duvarları ve İSS ler artık bu saldırılar ile belirli bir yere kadar başa
çıkmaktadır.
Nagios ile Sistem ve Network Monitoring 8
Nagios open source bir yazılım olup sistem, network ve altyapınızı monitor etmenize imkan
tanımaktadır. Bu bölümde Centos 7 yada Redhat 7 üzerinde kurulum anlatılıp bazı
faktörlerinden bahsedilecektir. Sizde test amaçlı minimal bir centos sunucu hazırlayıp öncelikle
gerekli programları yüklemeniz gerekmektedir. Nagios sunucularınızı, switchlerinizi,
uygulamalarınızı ve servislerinizi monitor etmenize imkan tanır.
8
Her Yönüyle LinuxSistem ve Network Güvenliği Ahmet HAN Free Ebook
25. # make install
Nagios için temel konfigürasyon atarlarına geçebiliriz.
Nagios konfügürasyon dosyaları /usr/local/nagios/etc dizininde bulunmaktadır. Alert’ları
alabilmemiz için mail adresimizi yerleştirmemiz gerekmektedir.
Dolayısı ile aşağıdaki gibi vi yada nano metin editörü ile dosyamızı açalım.
# nano /usr/local/nagios/etc/objects/contacts.cfg
Şekildeki gördügünüz mail adresinin olduğu yere isteğiniz mail adresini yazabilirsiniz.
Mail adresinden sonra hangi ip aralıklarında çalışacağımız şekildeki gibi düzenlenmelidir.
31.
Zabbix İle Network Monitoring 9
Zabbix bir network monitoring uygulaması olmakla birlikte sisteminizdeki switch, sunucu gibi
cihazlarınızı monitor etmenize yarayan bir uygulamadır. Farklı uygulamalar için template
oluşturabilmekle birlikte, örneğin ossec ile beraber entegre edebilirsiniz. Default olarak 10050
portunu kullanmakta olup farklı şekilllerde agentless yapıdada kurabilirsiniz. Yazıda temel
kurulum ve yapılandırma işlemlerine değinilecektir. Test && Kurulum işlemleri Centos 7 Minimal
Server üzerinde gerçekleştirilecektir.
** Gereksinimler
Centos 7(Monitoring Amaçlı) : Bir Nat ve Bridge Ayağı
Centos 7(Agent Amaçlı) : Bir Nat Ve Bridge Ayağı
Wmware Workstation 10++ Sürümü
Putty Yazılımı
LAMP Kurulumu
Epel yada kurulum için gerekli repolar
libssh2
fping
9
Her Yönüyle LinuxSistem ve Network Güvenliği Ahmet HAN Free Ebook
32. libcurl
libiksemel
netsmtp
openIPMI
İlk olarak Monitoring amaçlı zabbix kurulumu analatıcaktır. Daha sonra agent kurulumu
anlatıcaktır. Kuruluma geçmeden önce Centos 7 defaultta eksik gelen modülleri indirdikten
sonra işlemlere geçmenizde fayda var!
# yum install wget nano “development tools”++
# yum update
LAMP Kurulumu:
İlk olarak Apache servisini kuruyoruz.
# yum install httpd
# systemctl start httpd
Servis başlatıldıktan sonra şekildeki gibi bir çıktı alıcaksınız.
Firewall portları şekildeki gibi açılmaldır.
# firewallcmd zone=dmz addport=80/tcp permanent
#firewallcmd reload
Ama öncelikle tarayıcınıza şekile belirtildiği gibi sunucu ip adresinizi girmeli ve firewallcmd
kurallarını göre portları açmalısınız.
# http://Centos_7_Sunucu_İpadresi
39.
Daha sonra ikinci aşamda şekildeki gibi tüm eksikleri kendisi kontrol etmekte. Eksik bir servis
var ise başlamamaktadır. Adım adım giderek takip ediniz.
44. İcinga ile Network Monitoring Edilmesi ve Konfügürasyonu 10
İcinga open source olarak kullanılan sistem ve network monitoring uygulamasıdır. Nagiosttan
forklanmış bir uygulamadır. Nagios benzeri bir uygulama olup bazı pozitif yönleri ile nagiostan
farklılık göstermektedir. Bu yazımızda Centos 7 minimal bir dağıtım üzerinde icinga kurulum ve
konfügürasyonunu anlatıyor olacağız. Sizde nagios, zabbix, icinga gibi open source alternatifleri
test edip zamanla en uygun bulduğunuz çözümü kullanabilirsiniz. Ticari ürünler bazen kurumlar
için çok gerekir olsalarda önemli olan open source ürünleri kullanıp kurumunuzun IT giderlerini
düşürebilirsiniz. Bu noktada open source araçların önemi büyüktür. Özellikle network security,
network security monitoring, high availability gibi konularda.
Sistem için en temel nano,wget, development tools’ kurulu olmasında dışarıdan ssh ile ulaşım
sağlıyorsanız openssh server kurulu olmasında ve web arayüze ulaşım için firewall portlarını
açmakta yarar var.
Ön gereksinimler:
# yum install httpd gcc glibc glibccommon gd gddevel
# yum install libjpeg libjpegdevel libpng libpngdevel
# yum install netsnmp netsnmpdevel netsnmputils
Ön gereksinimler kurulduktan sonra kullanıcı ve grup oluşturma işlemlerine geçilir.
# useradd icinga
Bu aşamadan sonra web arayüze bağlanabilmek için aşağıdaki düzenlemeler yapılmalıdır.
# groupadd icingacmd
# usermod a G icingacmd icinga
# usermod a G icingacmd apache
Kurulum İçin gerekli paketleri indirmeden önce gerekli dizini oluşturalım.
# mkdir ~/icinga
# cd icinga/
10
Her Yönüyle LinuxSistem ve Network Güvenliği Ahmet HAN Free Ebook
48. Servis herhangi bir error vermeden başladıysa problem yoktur. Pluginlerin kurulumunu ise
aşağıdaki komutları çalıştırarak devam edebilirsiniz.
# cd ~/icinga/nagiosplugins2.0.3
# ./configure prefix=/usr/local/icinga withcgiurl=/icinga/cgibin withnagiosuser=icinga
withnagiosgroup=icinga
# make
# make install
Sistem boot edilirken servisin aktif olmasını isterseniz şekildeki komutu girmenizde yarar var.
# /usr/local/icinga/bin/icinga v /usr/local/icinga/etc/icinga.cfg
Çıktı şekildeki gibi ise kusursuz bir kurulum gerçekleşmiştir.
# chkconfig add icinga
# chkconfig level 35 icinga on
51.
Packetfence Open Source NAC Yapılandırması 11
Packetfence open source nac(network access control) uygulamasıdır. Küçük ve geniş
networkler için farklı kullanılmasının yanı sıra captive portallar, cihazların izole edilmesinde,
wired and wireless yönetimindede kullanılmaktadır. İds, İps sistemler ile entegre edilbilmekte ve
aynı zamanda DLAP gibi farklı servisler ile kullanabilirsiniz. Ticari amaçlı destek hizmetleride
sunmaktadır.
Şekildeki resim desteklediği bileşenleri göstermekte olup official sitesinden alınmıştır.
Desteklediği bileşenler şekildeki gibidir. 12
Mimari olarak ise şekildeki gibi işlemekte olup örnek ve yazı bütünlüğü, okuyucu açısından bu
resim official siteden alınmıştır.
11
Her Yönüyle LinuxSistem ve Network Güvenliği Ahmet HAN Free Ebook
12
http://www.packetfence.org/fileadmin/images/pf/components.png
52. 13
Kullanım alanları:
Bankalar, Kolejler, Üniversiteler, Mühendislik Şirketleri, Oteller, Medical Center ve Hastahaneler,
Telekominikasyon Şirketleri, Manufacturing Şirketleri…
Gereksinimler:
Ubuntu 12.04 Server
Wmware Nat ve Bridge Bacağı
Putty
Openssh server
13
http://www.packetfence.org/fileadmin/images/pf/network.png
53.
Kurulum:
Kuruluma geçmeden öncelikle Ubuntu işletim sistemi ön gereksinimlerinin kurulması
gerekmektedir.
# sudo aptget install buildessential apache2 apache2.2common apache2utils openssl
opensslblacklist opensslblacklistextra phplog snort mysqlserver
libapache2modproxyhtml libapache2modphp5 phppear php5mysql php5gd
Daha sonra packetfence çalışabilmesi için gerekli olan bazı Perl modüllerini kurmanız tavsiye
edilir.
# sudo aptget install perlsuid libapachehtpasswdperl libbitvectorperl
libcgisessionserializeyamlperl libconfiginifilesperl libtimedateperl libapachedbiperl
libdbdmysqlperl libfiletailperl libnetworkipv4addrperl libiptablesparseperl
libiptableschainmgrperl liblistmoreutilsperl liblocalegettextperl libloglog4perlperl
liblwpuseragentdeterminedperl libnetmacvendorperl libnetmacperl libnetnetmaskperl
libnetpcapperl libnetsnmpperl libsnmpperl libnettelnetciscoperl libparserecdescentperl
libregexpcommonemailaddressperl libregexpcommontimeperl libperlcriticperl
libreadonlyxsperl libhtmltemplateperl libtermreadkeyperl libtestperlcriticperl
libtestpodperl libtestpodcoverageperl apache2mpmthreadpool libthreadpoolsimpleperl
libuniversalrequireperl libuniversalexportsperl libnetrawipperl libwwwperl
Gereksinimler ve modüllerin kurulmasından sonra packetfence kuruluma hazır hale getirilir.
Bunun için packetfence şekildeki gibi repolar eklenmesi sağlanır.
# $ sudo nano /etc/apt/sources.list.d/packetfence.list
Bu dosyaya şekildeki satır eklenilir.
# deb http://inverse.ca/downloads/PacketFence/ubuntu precise precise
Daha sonra şekildeki komut ile birlikte GPG key eklenilmesini sağlanılır.
# $ sudo aptkey adv keyserver keys.gnupg.net recvkey 0x810273C4
55.
Gerekli yapılandırmaları sizde kendi networkünüze göre oluşturmanızda ve yapılandırmanızda
fayda var. Bu aşamdan sonra sonra bir sonraki aşamada arayüzleri şekildeki gibi örnek olması
açısından yapılandıralım.
58.
Farklı ağ şekillerine göre farklı yapılandırma şekilleri bulunmakta olup sizde kendi ağınızın
durumuna göre çok kısa bir sürede packetfence’ i yapılandırabilirsiniz.
Ngix 101 14
Ngix nginx [engine x], Igor Sysoev tarafından yazılan bir HTTP, reverse proxy ve mail proxy 15
sunucusudur. 5 yıldır, özellikle Rus sitelerinde yoğun bir şekilde kullanılmaktadır. Örneğin;
Rambler (RamblerMedia.com). Netcraft'a göre, nginx, Nisan 2010 itibari ile %4.70 oranında
kullanılmaktadır. Bazı başarı hikayeleri (İngilizce):FastMail.FM, Wordpress.com.
Kaynak kodu, 2clause BSDlike license lisansı altındadır.
Bu makalemizde ngix kulllanım alanlarına değinmekle birlikte en basit anlamda Centos 6.2 bir
server üzerine kurulumunu test edeceğiz. Zira kullanım imkanı olarak apache’ye göre daha
hızlıdır. Eğer siteniz 512 kullanıcıdan daha fazla ziyaretçi çekiyorsa bu farkı çok rahat
performans olarak görebilirsiniz. Farklı yapılandırmalar ile ilgili official sitesine bakıp load
balancing, güvenlik ile ilgili tavsiyeleri, ölçeklenebilirliği, sistem kaynak analizi gibi farklı
14
Her Yönüyle LinuxSistem ve Network Güvenliği Ahmet HAN Free Ebook
15
http://nginx.org/tr/#basic_http_features
59. işlevlerini test edebilirsiniz. Yüksek trafiğe sahip bir çok site, Dünyanın önde gelen, Ngix
kullanmaktadır.
Temel Http Özellikleri:
** SSL ve TLS SNI desteği
** Statik ve index dosyalarının sunumu, otomatik indeksleme; açık dosya açıklayıcı önbellek
** Önbellek ile hızlandırılmış reverse proxying; basit yük dengeleme ve hata toleransı;
** Uzak FastCgi sunucularının önbelleklenmesi ile hızlandırılmış destek; basit yük dengeleme
ve hata toleransı;
** Modüler yapı. Gzip, byte aralıkları, yığın cevaplar (chunked responses), XSLT, SSI, imaj
boyutlandırma gibi filtreler. FastCGI veya proksilenmiş sunucular ile tek bir sayfada çoklu SSI
içermelerinin paralel işlenmesi.
Sağladığı Diğer Http Özellikleri:
** Ad ve İp tabanlı Sunucular
** KeepAlive ve Pipelined Bağlantı Desteği
** Esnek Yapılandırma
** İstemci işlemlerinde kopma olmadan yeniden yapılandırma ve online güncelleme
** Erişim kayıt log formaları,tamponlamış kayıt yazımı ve hızlı kayıt devri
** 3xx5xx hata kod yönlendirmeleri
** rewrite modülü
** İstemcinin ip adresine dayalı erişim kontrolü ve Http kimlik denetleme
** put, delete, copy, move komutları
** FLV streaming
** Hız sınırlama
** Gömülü Perl
** Bir adresten gelen eş zamanlı bağlantı ve talepleri sınırlama
60. Mail proxy sunucu özellikleri:
** Harici bir HTTP kimlik denetleme sunucusunu kullanarak, kullanıcıyı IMAP/POP3 backend’ine
yönlendirme;
** Harici bir HTTP kimlik denetleme sunucusunu kullanarak, kullanıcıyı SMTP backend’ine
yönlendirme ve kullanıcı kimlik denetlemesi;
** Kimlik denetleme methodları:
POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAMMD5;
IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAMMD5;
SMTP: AUTH LOGIN/PLAIN/CRAMMD5;
** SSL desteği;
** STARTTLS ve STLS desteği.
Yapı ve Ölçeklenebilirlik:
* Bir ana işlem (main process) ve çok sayıda işçi işlemleri (workers). İşçiler, imtiyazsız kullanıcı
olarak yürütülürler;
* Uyarı methodları: kqueue (FreeBSD 4.1+), epoll (Linux 2.6+), rt signals (Linux 2.2.19+),
/dev/poll (Solaris 7 11/99+), event ports (Solaris 10), select ve poll;
** Çeşitli kqueue özellikleri desteği: EV_CLEAR, EV_DISABLE (event’i geçici olarak
etkisizleştirir), NOTE_LOWAT, EV_EOF, olanaklı data sayısı, hata kodları;
** Sendfile (FreeBSD 3.1+, Linux 2.2+, Mac OS X 10.5), sendfile64 (Linux 2.4.21+), ve sendfilev
(Solaris 8 7/01+) desteği;
** File AIO (FreeBSD 4.3+, Linux 2.6.22+);
** Acceptfilters (FreeBSD 4.1+) ve TCP_DEFER_ACCEPT (Linux 2.4+) desteği;
** 10,000 inaktif HTTP keepalive bağlantısı yaklaşık 2.5M hafıza kullanır;
** Data kopyalama operasyonları minimum düzeydedir.
Test Edilen Platformlar ve İşletim Sistemleri:
63.
# service ngix start
Ubuntu 12.04 LTS Üzerine Suricata Kurulumu 17
Suricata open source bir proje olup, snort’un kullandındığı kural setlerini desteklemesi
sayesinde geniş bir kullanım alanı bulmuştur. (Open Information Security Foundation ) OISF
adlı bir vakıf tarafından geliştirilmektedir. Snort’a benzer olarak; imza ve kural tabanlı
çalışmaktadır. Birden fazla cihaz ile (Multithread olarak çalışabilmektedir.)
Suricata İşleyiş şekli ve ekosistemi aşağıdaki resimde anlatılmıştır.
Bu yazımızda screenshootlar ile birlikte Suricatanın Ubuntu 12.04 LTS üzerine adım adım
kurulumunu anlatacağız.
17
Her Yönüyle LinuxSistem ve Network Güvenliği Ahmet HAN Free Ebook
64. Kuruluma başlamadan önce Ubuntu 12.04 TLS dağıtımızı ilk sefer kurduysanız sudo aptget
update ve sudo apt get upgrade komutları ile gerekli güncellemeleri, sistem gereksinimlerini
yükledikten sonra kuruluma geçebilirsiniz. Suricata farklı dağıtımlarda eksik kütüphaneler ya da
paketler olması nedeniyle kurulumdan sonra test aşamasında hata verebilmektedir. Bu yüzden
kurulum esnasında tüm komutları eksiksiz girmeniz gerekmektedir. Gerekli ön bilgiden sonra
artık kuruluma geçebiliriz.
Aşağıdaki komutlar verilerek öncelikle gerekli python ve suricata repoları yüklenmesi
gerekmektedir.
Daha sonra aşağıdaki komutla suricata’ yüklenmesi gerekmektedir.
Debugging paketlerininde yüklenmesi için aşağıdaki komut verilmelidir.
Yükleme tamamlandıktan sonra aşağıdaki komutlar ile yeniden update ve upgrade işlemi yapılır.
Bu işlemler gerçekleştirildikten sonra basit yükleme ve konfigürasyon işlemlerine geçilir.
Logların tutulması için aşağıdaki komut ile log dizini oluşturulmalıdır.
Bu dizin oluşturulduktan sonra /etc dizini altına suricata dizini oluşturulmalıdır.
73.
Snorby arayüz tespit edilen attackların kural bilgilerini görebilirsiniz.
Saldırı Tespit Sistemlerinin Konumlandırılması 18
Her şeyden önce internette bazı iş ilanlarına baktığım zaman ilgili uzmanlık alanında saçma
sapan bir çok şey görür olduk bu sıralar. Anlatmaya gerek yok açıp ilanlara baksanız mezun mu
arıyorlar yoksa mezun olunca 510 yıllık tecrübeli her şeyi bilmenizi isteyen bir amele gibi
kullancak birisini mi arıyorlar belli değil. Ama neyse ki bu işin içinden gelen firmalarımızda yok
değil. Çok sade ama etkili ilanlarda var, ama neyse bu konu uzar gider şimdi esas olarak bu
yazının önemine geçmek istiyorum.
Hazır kariyer mevzusundan yazıya başlamışken belirtmek istediğim başka bir noktada ileride bir
network güvenlik uzmanı olmak isteyen birisi olarak güvenlik konuları ile uğraşıp, network
topolojisini ya da network mimarisini bilmem gerektiğini düşünerekten bu yazı dizisini
hazırlamaya karar verdim.
Öğrendiğim her yeni şeyi farklı tiplerde güvenlik ile ilgili cihazları, yazılımları, sunucu, hub,
swicht router gibi farklı donanım ve yazılımların konumlandırılması(deployment) bu tarz resimler
hazırlayarak anlatmaya çalışacağım. Belki bu sayede hem kendi bilgilerimin şekillenmesi, hem
de network tarafında yeni çalışmaya başlayacak arkadaşlara faydalı olması için bir şeyler
yapabilmiş olabilirim diye ümit ediyorum. Öncelikli olarak ağ güvenliği ile ilgili bilmem gereken
en önemli şeyin saldırı tespit sistemlerinin konumlandırılması, network’ün sağlıklı bir biçimde
çaışabilmesi için gerekliliğini düşünerekten buradan başlamak istedim.
18
Her Yönüyle LinuxSistem ve Network Güvenliği Ahmet HAN Free Ebook
74.
Çizdiğim şekiller aslında basit ama 20 kullancılı küçük bir şirketten 100.000 çalışanın olduğu bir
şirkete kadar hepsi bu noktada farklı ağ topolojileri farklı çözümler, proxy sunucuları, ips,
idscihazları, hub..++ gibi farklı şekilde bir çok mimari kullanmaktadırlar. Bunun için iyi bir ağ
güvenliği uzmanının hurafelerle değil reel ve dışarıdan veya içeriden gelebilecek tehditlere karşı
hazırlıklı olması gerektiğinden saldırı tespit sistemlerinin konumlandırılması önem arz
etmektedir.
Şekilde ise basit olarak bir network’e snort yada suricata (ips/ids) sistemlerinin
konumlandırılması ile ilgili topolojiyi görebilirsiniz. Sistemde basit olarak iç ağda bulunan
bilgisayarlar bulunmakta olup, bir güvenlik duvarı ve birde router bulunmaktadır. Snort ile gelen
ve giden loglar tutulmaktadır. Burada ise span mirror portu üzerinden monitor edilmektedir.
(Bakınız Şekil 1:)
Şekil 1
75.
Yukarıdaki temel ve genel örnekleri verdikten sonra biraz da karmaşık örnekler hazırlamaya
çalışalım. Kurumumuzda sunucularımız olabilir. Vpn, Ddos koruyucu cihazlar olabilir. Web
server’ımız, şirket bilgileriniz tuttuğumuz bir veritabanımız olabilir. Bazen sadece ips/ids
cihazlarını sadece bir yere konumlandırmak yerine birden fazla yere konumlandırıyor olabiliriz.
Şekildeki örnekleri inceleyelim. Detaylı olarak her şeyi düşünmemiz gerekmektedir. Fakat bunu
kurumsal ağımıza göre gerçekleştirilecek haberleşmeye göre ve sistemlerin çeşitliliğine göre
kurumdaki yetkili uzmanın bilmesi gerekmektedir.
76.
Aşağıdaki ise internetten hemen önce konumlandırılmış NIDS(Network Intrusion Detection
System)’lerini görebiliriz. Erken saldırısı tespiti amaçlı deployment(yerleştirme) yapılmıştır.
77.
Şimdi ise promisc modda snort’un nasıl yerleştirilebileceği iel ilgli örnek bir senaryo hazırlayalım.
Bazı terimleri internetten araştırmanız gerekmektedir. Yazılar hazırlanırken ilgili konu üzerinde
durulmak istenmiştir.
78. Şimdi ise birazda farklı bir yapı düşünerek işe koyulalım. Bu seferde işyerinizde biraz daha
kapsamlı bir SOC(Security Operation Center) kurmak istediğinizi düşünelim. Ve honeypotlarda
kullanalım. Snort’u ise bu sefer inline modda konumlandıralım.
79.
İptables Kurallarının Kullanılması
İptables netfilter tafafından geliştirilen ve bir çok destekleyicisi olan bir güvenlik duvarı
yazılımıdır. Linux çekirdeği ile haberleşerek ağ üzerinde paket süzme kurallarının
belirlenmesine olanak sağlamaktadır. Linux sistemlerde default olarak atanmış, servislerin
geçtiği portlarda engelleme yapılabilmesine, port yönlendirme gibi pratik işlevlere sahiptir.
Eğer kurulu olarak gelmiyorsa belirli dağıtım içersinde bunu kullandığımız işletim sisteminin
türüne göre kurulumunu gerçekleştirmemiz gerekmektedir.
# yum install iptables
Kurulum gerçekleştikten sonra aşağıdaki komutu vererek kayıtlı gelen kuralları
temizleyebilirsiniz. Bu önemlidir. Çünkü sunucunuzun güvenliğini sağlamak istediğiniz ssh
portuna uzaktan erişim verilmiş olabilir. Kullandığınız bir port default olarak çalıştığında sizi
tehlikeye sokuyor olabilir.
80.
# iptables F yada iptables flush
iptables kuralları default olarak trafiği accept olarak kabul etmişlerdir. Fakat farklı komutlar
kullanarak gelen ve giden trafik hakkında farklı parametleri kullanabiliriz.
** Drop paketlerin geçisine izin verilmemesi durumu.
** Accept paketlerin geçisine izin verilmesi durumu.
** Reject paketlerin erişimi geri çevrilir, acılı bu red ile ilgili bilgilendirilir.
** Return Zincirin son kısmına gönderilir.
** Queue paketlerin kullanıcı alanlarına gönderilmesi sağlanır.
Not: input,output,forward, post ve prerouting kuralları büyük harflerle yazılır.
/* Ön ayarlı kuralların yüklenmesi */
iptables P INPUT DROP
iptables P FORWARD DROP
iptables P OUTPUT DROP
Eğer gelen ve giden trafik için bir kural tanımlamanız gerekirse iki tane kural tanımlaması
yapılması gerekmektedir. Eğer iç ağdaki kullanıcılarınıza güveniniz varsa üçüncü kuralı
tanımlamamıza gerek yoktur.
Not: Bazı sunucu birimlerine grafik arayüzden erişerek de bu kuralları denetleyebiliriz.(Redhat)
** Belirli bir ip adresinin bloklanmasını şu şekilde sağlayabiliriz.
# iptables A INPUT s “n.n.n.n” j DROP /* n.n.n.n > blocklanmasını istediğimiz ip*/
Bu kullanışlı komut İncident Response olaylarında, ya da herhangi başka bir acil durumda çok
faydalı olabilmektedir. Örneğin belirli bir ip adresinden gelen isteklerin sonlandırılmasında.
Bir başka kullanım yöntimide birden fazla farklı arayüze sahip olabiliriz. Bu arayüzlerden gelen
herhangi bir süpheli ip adresi tespit ettiğimizde log dosyalarından o arayüz ile ilgili şekildeki
komutu vererek yine ip blocklamasını gerçekleştirebiliriz.
# iptables A INPUT i eth0 s “n.n.n.n”j DROP
81. # iptables A INPUT p tcp i eth0 s “n.n.n.n” j DROP
iptables L
Şekildeki komutu kullanarak yazmış olduğumuz komutları görebiliriz.
** ssh port 22 üzerinden güvenli haberleşme sağlayan ve sunucularımıza erişmemize olanak
tanıyan veri iletimi için kriptografik ağ protokolüdür. Geçtiğimiz dönemlerde gerçekleştirilen
saldırıların çoğu bu port üzerine yapılan brute force saldırıları şeklinde olmuş olup hala en çok
yapılan saldırı türleridir. Bu nedenle çok önemlidir. Örneğin sunucumuz o an ssh ile iletişine izin
vermek istiyorsak şekildeki gibi bir komut girebiliriz.
#iptables A INPUT i eth0 p tcp s 192.168.x.x dport 22 m state state NEW,ESTABLIDHED j ACCEPT
#iptables A OUTPUTi eth0 p tcp s 192.168.x.x dport 22 m state state NEW,ESTABLIDHED j ACCEPT
Belirli bir networkten gelen ssh trafiğine izin vermek amacıyla aşağıdaki kuralı da kulllanabiliriz.
# iptables A INPUT i eth0 p tcp s 192.168.x.x/24 dport 22 m state state
NEW,ESTABLISHED j ACCEPT
# iptables A OUTPUT i eth0 p tcp s 192.168.x.x/24 dport 22 m state state
NEW,ESTABLISHED j ACCEPT
82.
Benzer şekilde http ve https bağlantılarına da izin verebiliriz.
# iptables A INPUT i eth0 p tcp s 192.168.1.x dport 80 m state state
NEW,ESTABLISHED j ACCEPT
# iptables A OUTPUT i eth0 p tcp s 192.168.1.x dport 80 m state state ESTABLISHED
j ACCEPT
Linux Sistemler İçin Kullanışlı 10 Open Source Güvenlik Duvarı 19
Bu kısımda open source firewalllar üzerine olacaktır. Bugün piyasada satılan güvenlik
cihazlarını örneklendirecek olursak palo alto, sonicwall, fortinet, checkpoint, fireeye gibi bir çok
ürün bulunmaktadır. Bunlar genel olarak hardware şeklinde olabileceği gibi software şeklinde de
olabilmektedir. Günümüz iş ilanlarına baktığımız zaman bu cihazların yönetimi, kurum
politikalarına uygun bir şekilde çalıştırılması gibi bir çok farklı taleple karşılaşmaktayız. Yukarıda
ismini verdiğimiz ve ticari olanlar minimum 55.000 $ seviyesinden başlayıp ürünün işlevlerine
göre farklı fiyatlarda olabilmektedir. Bir öğrencinin bu tarz cihazlara ulaşması biraz zor olabilir.
Ama open source ürünler üzerinde kendini birazcık geliştirirse ilerleyen zamanlarda çalışacağı
pozisyona göre ve yönetecek olacağı güvenlik cihazına göre, üzerine kurum içi ve dışı network
yapılandırmalarında farklı görevler düşücek olabilir. Her cihazın farklı özellikleri bulunmakla
beraber bu o anki şartlarda o cihaz ile uğraşılmasına bağlıdır denebilir. Bu yüzden öğrencilerin
aşağıdaki adı geçen Dünya çapında kullanılan open source ürünler ile haşır neşir olması ilerdeki
çalışma hayatlarında faydalı olucaktır. Kitabın ilerleyen kısımlarında vakit olursa bu ürünlerin
kurulum, konfigürasyon, web filtering gibi konular üzerine de değinilecektir.
** İptables
** IPcop Firewall
** Pfsense
** Shorewall
** UFW Uncomlicated Firewall
** Vuurmuur
** IPfire
** SmoothWall && SmoothWall Express
** Endian
** ConfigServer Security Firewall
19
Her Yönüyle LinuxSistem ve Network Güvenliği Ahmet HAN Free Ebook
83.
Docker İle Sanal İmagelerinizi Yönetin 20
Günümüz bilgi çağında son yıllarda yaşanılan gelişmeler ile birlikte bir network’ün yönetilmesi,
geliştirilen yazılımların test edilmesi, bt süreç modellemelerinin işlemesi, sistem altyapı
çözümlerinin yapılandırılaması gibi kavramları daha çok duyar olduk. 2020 yılına kadar yapılan
öngörülerde cihaz sayısının hızla artıcak olması; bu cihazların haberleşmesi, konumlandırılması
BT sistem mühendislerine ekstra yükler getirmektedir. Bu noktada sanallaştırmaya alternatif
çözümler sayesinde gerek test süreçleri, gerek networkte yapılacak optimizasyonlar daha kısa
sürede fazla maliyet gerektirmeden yapılabilmektedir. Docker’da bu çözümlerden birisidir.
Docker ile birlikte türkçesi LXC(Linux Containers) ve sanal imageleri yönetmek, data center
bulut hizmeti ile verilen işletmelerin yönetilmesi, sunucu optimizasyonları daha kolay
olabilmektedir.Önceden deniz taşımacılığında kullanılan sıkıntılardan sonra daha korunaklı bir
yapı sunan şimdiki konteynırların taşınması ile daha korunaklı bir yapı sunuluyor. Bu yapı
içersinde yapılan işlemler durdurulmadan servis edilebiliyor. İşte tam bu noktada docker’ın
kullandığı temel felsefe buradan geliyor. Sanal imagelerinizi processler devam ederken bile
çalıştırılabilmesine olanak sağlıyor. Olurduğumuz bir docker konteynır her zaman diğer
çalıştırılabilecek sistemlere hazır olarak bekliyor. Sitesinde ise What is Docker açıklamasında
kısaca şöyle özetliyor:
“ Docker is an open platform for developers and sysadmins to build, ship, and run distributed
applications. Consisting of Docker Engine, a portable, lightweight runtime and packaging tool,
and Docker Hub, a cloud service for sharing applications and automating workflows, Docker
enables apps to be quickly assembled from components and eliminates the friction between
development, QA, and production environments. As a result, IT can ship faster and run the
same app, unchanged, on laptops, data center VMs, and any cloud. “
Daha detaylı bilgi almak için sitesini ziyaret edebilirisiniz. Türkçe yapacağınız araştırmalar ile
temel bilgi almak mümkün olabilir.
Kurulum
Kurulum için debian, redhat, rhel, ubuntu, centos, windows, mac os x, oracle linux ve bir çok
farklı ortamda dökümantasyon sağlıyor. Sizde optimize etmek istediğiniz dağıtımınıza göre bunu
şekillendirebilirsiniz. Biz test amaçlı Ubuntu 14.04 LTS dağıtımın en güncel halini kullanıyoruz.
20
Her Yönüyle LinuxSistem ve Network Güvenliği Ahmet HAN Free Ebook
85. Bu işlemler tamamlandıktan sonra doğrulama amaçlı çalışıp çalışmadığı ile ilgili komutla
şekildeki gibi kontrol edebilirsiniz.
# sudo docker run i t ubuntu /bin/bash
Bundan sonra gerçekletirilen indirme sonrası istediğimiz şekilde çalışabiliriz.
Bu kısımdan sonra herhangi bir problem ile karşılaşmadıysanız docker online tutorial platformu
üzerinde ve kendi dağıtımımızdaki örnekler ile devam edeceğiz.
Bir docker motoru iki part içermektedir. 21
Server ve client olarak. Bir server tüm konteynırlarımızın yönetilmesi, client ise uzaktan konrol
sağlaması..
# docker version
İlk olarak docker version komutu ile içerdiği özellikleri görelim.
İşlem yapmayan başlamak için öncelikli olarak imageleri arayabiliriz. Aşağıdaki komut ile
sisteminizde kullanıma hazır konteynırları görebilirsiniz. Aslında bu komut docker hub’un bir
image aramamızada yarar.
# docker search <string> > [aranacak image]
21
https://www.docker.com/tryit/#0