Bilisim sektöründe kendimi nasil gelistirebilirim?

Bu yazı 2007 yılında yazılmıştı son zamanlarda benzeri taleplerin sıklaşmaya başladığını gördüğüm için tekrar yayınlıyorum.

Son zamanlarda –özellikle bilgisayar mühendisligi ogrencilerinden-aldigim “kendimi X konusunda nasil yetistirebilirim, tavsiyeleriniz nelerdir?” tipindeki mailler sonucu her birine ayri ayri cevaplar vermek yerine toptan bir belge hazirlayip sunmayi uygun gördüm.

Bu yazi özelde Bilgisayar mühendisligiögrencilerine yönelik olsa da benzer konumdaki tüm ögrenciler/çalisanlara hitap etmektedir. (yazi herhangi bir arastirma vs ye dayanmamaktadir ve tamamen  benim kisisel tecrübelerimden yola çikarak hazirlanmistir. Dolayisi ile objektif bir yaklasim beklemeyin)

Birey olarak hepimizin sosyal yasamini olusturan çesitli düsünceleri, fikirleri vardir. Bu yasam konusunda olabilecegi gibi ilgili oldugumuz teknik konularda da olabilir. Nasil ki hayatta ögrendigimiz birçok seyi tecrübeler ile sabitleriz ya da tecrubeli birilerinin fikirlerini benimseriz, benzer sekilde teknik konularda da önümüzü net olarak göremeyebiliriz ve birilerinin yol göstermesine, tavsiyelerine ihtiyaç duyariz.

Bilisim sektörü diger sektörlere göre hem biraz kolay hem de biraz zordur. Kolayligi her eline bilgisayar geçirenin bu sektörde kendini gelistirebilecegi . Zor yönü ise –ki bence unutulan yönülüdür-bilgisayarinda bir bilim dali oldugu ve üzerinde özenli çalisma gerektirdigidir.

Bilgisayar mühendisligiögrencilerinin isi diger sektörlere göre çok daha zor, zira dedigim gibi BT konusunda yetismek için biraz ilgi alaka gerekiyor illaki bunun egitimini almak gerekmiyor. Bu da piyasadaki bilisimcilerin daha çok farkli meslek dalindaki kisilerden olusmasina yol açiyor.

Herhangibir konuda yetkin kisilige sahip olmak istiyorsaniz öncelikle bir tercihde bulunmaniz gerekiyor.

Ag ve Guvenlik Konusunda Yetismek

Bu bölüme baslamadan bir not düselim. Bu bölümdeki tüm öneriler Linux/BSD/Solaris sistemleri kullanacaginiz düsünülerek yapilmistir.

Neden Windows degil dediginizi duyar gibiyim? Bu sorunun en kisa cevabi: tecrübedir. Uzun cevabi : Windows sistemler son kullanicinin tüm istekleri düsünülerek kolaylastirilmis sistemlerdir. Yani sizi hiçbir zaman(?) zora sokmaz, bu neden böyle oluyora zorlamaz, bunu söyle yapsam acaba nasil olur’a zorlamaz! Zaten isletim sisteminin yapisi geregi bu tip seylere de pek izin vermez…

Oysa Linux/UNIX sistemler ilk ögrenme aninda biraz zor gibi görünse de oldukça zevklidir. (Seytan ayrintida gizlidir!). Linux/UNIX kullanmada problem olmadigini düsünerek devam edelim..

Network’un temeli TCP/IP’dir. TCP/IP’yi iyi bilen biri diger protokollerin çalismasini rahatlikla kavrayabilir. TCP/IP’yi ögrenmek içinde öyle yüzlerce sayfa kitap okumaniza gerek yok. Zira okudugunuz birçok bilgiyi muhtemelen bir iki ay sonra unutacaksiniz.

Saglam bir kaynak ve uygulama ile uzun süre unutamayacaginiz bilgiler edinebilirsiniz. Uygulama asamasinda ve kitap konusunda yazinin sonlarina dogru çesitli kaynaklar tavsiye etmeye çakistim, oradan ilgili programlara/kitaplara ulasabilirsiniz.

Çalisma konusundaki parolaniz: azim, sabir ve konuya odaklanma olmalidir. Öncelikle bu konuyu severek yaptiginizi ve ileride meslek edineceginizi düsünmelisiniz. Bu size ek motivasyon saglar.

Çalismalar esnasinda haber siteleri, gereksiz bloglar vs gibi dikkat dagitici noktalardan uzak durmak gerekiyor. Konuya odaklanarak sadece konuyla ilgili kaynaklarla vakit geçirmek en iyisi. Önünüzde uzun bir merdiven oldugunu düsünerek her zaman bir sonraki merdiveni hesaba katin. Merdivenin sonunu düsünerek hareket ederseniz uzak gelir, zor gelir yari yolda
birakirsiniz. Maymun istahli olmak sizi basaridan alikoyar.

Sertifika Programlari

Diger sik merak edilen bir konuda sertifikalar: piyasada bakirdan altin seviyesine kadar çesitli bilisim sertifikasyon programlari var. Bunlardan herhangi birisini almak hem çok isinize yarar hem de hiç isinize yaramaz.

Eger konu ile ilgili birsey bilmiyorsunuz ve sadece ise girerken yardimci olsun, yarari dokunsun diye bir sertifikasyon programina gidiyorsaniz –kanimca – hata  ediyorsunuz. Zira ne MCSE ne CCNA ne de CEH vs gibi programlar bireyi sifirdan alip merdivenin en üst basamagina götürmek için düsünülmemistir.

Ama eger network ya da microsoft sistemleri konusunda belirli seviyede bir bilginiz varsa ve bu bilgiyi sertifikalandirmak istiyorsaniz gidip sinavina girip sertifikayi almak ise yarayacaktir. Zira is görüsmelerinde kendinizi anlatirken bir saat dil dökmek yerine saglam bir iki sertifikayi ortaya koymak daha etkili olabiliyor. Etkili olabiliyor diyorum zira isini gerçekten bilen bir yönetici –bu yollardan geçmis biri-sertifikalarin pek ise yaramadigini asil maharetin bilgi ve tecrübede oldugunu bilir.

Bu satirlarin yazari da uzun yillar sertifikasyon programlarina karsi çikmis ve hatta zaman zaman sertifika alanlari anlayamamistir fakat is ortaminin getirisi/götürüsü ve sartlari sonucu bir yilda 3 tane sertifika alacak kadar çark etmistir.

Sunu rahatlikla söyleyebilirim ki sertifikasyonlar elle tutulur bir sey katmadi, sadece karsinda senin bilgi degerini anlayamayacak insanlara kendini daha iyi anlatma firsati sundu diyebilirim.

Sonuç olarak, eger maddi durumunuz iyise ve ise girerken/is degistirirken kendinizi daha iyi ifade edebileceginiz meziyetleriniz(makale, seminer, ortak proje vs) yoksa network konusunda gidip CCNA kursunu – iyi bir yerden-almak isinize yarayacaktir. Ama hiçbir zaman sertifikasyon egitiminin/sertifikasyonun sihirli bir altin degnek oldugunu düsünmeyin.

Bu kadar sosyal mesaj sonrasinda teknik olarak nasil çalisacagimiza deginelim;

Öncelikli olarak network konusunda temel bilginizi sinamak için
http://www.huzeyfe.net/egitim/network_q.html adresindeki testi kendinize uygulayin.

Sorulara verebildiginiz cevaplara göre az çok durumumuzu ögrenmis olursunuz. Bundan sonraki adim bir adet Türkçe Network kitabi alarak bastan sona okumak ve ben bundan bir sey anlamadik diye kitabi birakmamak, ilk okumanizda anlamasaniz da bu sizi konuya ve kullanilan terimlere asina kilacaktir.

Network konusunda ilk ögrenilesi protokoller ARP-ICMP-IP-UDP ve TCP’dir. Bu protokollerin yapilarini okudugunuz kitaptan ögrenerek trafik analiz programlari ile protokol baslik bilgilerini anlamaya çalisin. Hemen hemen diger tüm protokoller bu 4 ana protokol üzerine kuruludur. Bir nevi internetin temeli bu 4’lüdür diyebiliriz.

ARP nedir? Nasil isler? Ne tür mesajlar yayar, bu mesajlar isletim sistemlerinde nasil islem görür. Benzer sekilde diger protokolleri de detaylica inceleyerek kendinize notlar çikararak anlamadiginiz yerleri internette arastirip ve e-posta listelerine[Linux Ag, güvenlik, EnderUNIX FreeBSD, netsec güvenlik listesi] sorun. Tekrar hatirlatmakta fayda var: soru sormaktan çekinmeyin, ama sorunuzu önce kendiniz çözümlemeye çalisin. Bu hem sizi gelistirecektir hem de soru sordugunuz kisilerin zamanini almamis
olursunuz. Kendi kendinize normal olmayan TCP, UDP, icmp, arp paketleri olusturarak bunlara karsi
isletim sistemlerinin, Güvenlik duvarlarinin nasil tepkiler verdigini yine paket analiz programlari kullanarak analiz etmeye çalisin.

UDP ile TCP arasindaki gerçek farkliliklari çesitli paket olusturma araçlari ile sahte paketler olusturarak inceleyin, ögrendikleriniz ile kiyaslayin.

Son olarak Network-Güvenlik egitimlerinde temel olarak kullandigim bazi çalisma yöntemlerinden bahsedelim.(Reklamlari dinlediniz)
Senaryo-1

Amac: Paket snifflerin nasil isledigi ve ham trafikten protokol ayrimi

Araçlar: Ethereal, tcpdump, snoop

Aksiyon: Bulundugunuz agda 30 saniyeligine tcpdump ya da Ethereal(yeni adi Wireshark)
çalistirarak yeteri kadar paket kaydedin. Kaydedilen bu paketlere bakaran gelen-giden
paketlerin Katman2, Katman 3 Katman 4..(OSI katmani..) ve yukarisi için hangi protokollere
karsilik düstügünü bulmaya çalisin. Katman 2 için ne tür arp mesajlari var, arp baslik
bilgilerini vs belirlemeye çalisin.

Senaryo-II

Amaç: Paket olusturma araçlarini taniyarak istenilen özellikte sahte TCP/UDP/ICMP/ARP paketleri olusturmak ve paket basliklarini detayli inceleme

Araçlar: nmap, pakit vs

Aksiyon: Araçlardan herhangi birisini kullanarak kaynak Ipsi ve hedef ipsi ayni olan, kaynak ve hedef portlari ayni olan TCPve UDP paketler olusturarak bu paketleri Ethereal/tcpdump ile dinlemeye alin. sletim sistemi böyle bir paket aldiginda nasil davraniyor gözlemleyin.

Bulundugunuz agdaki –izniniz olan-bir makineye sahte arp paketleri göndererek internet iletisimini bozmaya/yönlendirmeye çalisin.

Ayni agda bir makineye gerekli ICMP paketlerini göndererek default gw olarak sizi görmesini saglayin.

Senaryo-III

Amaç: Üst seviye protokol basliklarini inceleyerek uygulamalari ögrenmek.

Araçlar: UrlSnarf, ParosProxy, nslookup, dig, samspade vs..

Aksiyon: Bir dns sorgusunun nasil çalistigini belirlemek üzere sniffer programinizi udp port 53’ü dinleyecek sekilde ayarlayip ayni makineden nslookup programini kullanarak basit bir  dns sorgulamasi hazirlayin. Bu arada sniffer’in yakaladigi paketleri kaydedip incelemeye alin,  öncelikle udp sonrasinda DNS protokolünün nasil çalistigini gözlemleyin.

ParosProxy, urlsnarf programlarini makinenizden gideek http isteklerini yakalayacak seklilde  yapilandirarak herhangi bir siteye girmeye çalisin. Bir siteye girmek için kaç http isteginin  gittigini ve bunlardan kaçinin orjinal siteye ait oldugunu not edin sonrasinda içinde resim ve  ayrik link içermeyen bir sayfaya baglanin ve bir önceki durumla farkini kiyaslayin.
http baslik bilgilerini ve cookilerin nasil çalistiklari hakkinda bilgi sahibi olmaya ve bu  parametrelerle oynayarak neler yapilabilecegini ögrenmeye çalisin.

Senaryo-IV

Amaç: Güvenlik duvari mantigini kavramak ve kullanmak

Araçlar: iptables, OpenBSD/FreeBSD PF, nmap, tcpdump

Aksiyon: üzerinde SSH/telnet çalisan Linux/BSD kurulu bir sisteme telnet/ssh ile  baglanmaya çalisin bu sirada Linux makine tarafinda trafigi sadece o port için izlemeye alin  ve bir yere kaydedin. Sonra güvenlik duvarindan o porta(ssh/telnet) gelen istekleri sinirlandirin ve tekrar baglanmaya çalisin , bu sirada yine trafigi kaydederek bir önceki durum  ile karsilastirin ve aradaki farkli anlamaya çalisin.

Güvenlik duvarindan icmp echo request paketlerini yasaklayarak makineye ping atmaya  çalisarak makineyi nmap ile tarayin ve sonuçlarini kaydedin. Nmap’i karsi sisteme icmp echo  request göndermeyecek sekilde yapilandirarak taramayi tekrar edin ve sonucunu bir önceki  tarama ile karsilastirin, aradaki farkin neyden kaynaklandigini ve Nmap’in taramalarda  öntanimli olarak nasil davrandigini anlamaya çalisin..

… . Burada verdigim senaryo örnekleri sadece bir baslangiç, sizde buna benzer örneklerle  kendinize çalisma sekli belirleyebilirsiniz ya da bunlari hazir olarak yapan birilerinden saglam  bir egitim alabilirsiniz.

Son olarak çalismalarinizda el altinda bulundurulmasinda yarar gördügüm –hatta gerek  gördügüm-bazi kaynaklar verelim.

El altinda bulundurmanizda fayda gördügüm kitaplar,

[1] TCP/IP ve Ag
Güvenligi / Açik Akademi Yayinlari
[2] TCP/IP Volume-I / Richard Stevens Kitaplari
El altinda bulundurulasi Programlar;

Tcpdump –ya da Ethereal/WireShark-. Akan trafigi gözlemlemek ve incelemek için.

Iptables, Packet Filter(BSD sistemler için) . Güvenlik duvarlari paketleri nasil yönetir
amaçli

Nmap (Port tarama islemleri ve çesitli amaçlar için)

Nemesis (Paket olusturmak için)
BackTrack Live CD
NOT : Ag ve Guvenlik konusunda UNIX/Linux bilgisi kolunuzdaki altin bilezik gibi her daim degerinizi artiracaktir.

Sistem Yöneticiligi Konusunda Yetismek

Sistem yöneticiligi bir nevi sosyal yasamdaki yöneticilik gibidir. Birbirine benzemeyen bir sürü isletim sistemi, servis ve programla ugrasirsiniz ve akla hayale gelmeyen çesitli problemle karsilasirsiniz. Problemlerin çözümünde edindiginiz tecrübeleri hayatinizin her aninda oldukça etkin kullanirsiniz . Kilitlenen cep telefonunuzu tekrar calisir hale getirmek icin kapatip acmaniz gibi .

Eger geleceginizi bu yönde yönlendirmek istiyorsaniz isiniz biraz daha kolay . Zira normal bir bilgisayar kullanicisi iseniz ve bilgisayariniz her bozuldugunda kapip tamirciye götürmüyorsaniz ve her problemde Windows’a format atmadan çözmeye çalisiyorsaniz zaten bu meslege kiyisindan kösesinden bulasmissiniz demektir.

Windows tarafini bir kenara birakirsak Linux/UNIX tarafinda oldukça zengin bir kaynak ve çesitlilik sizi bekliyor.

Öncelikli olarak kullandiginix Linux sisteme bir adet DNS sunucu kurarak seçtiginiz bir alan adini yönetecek sekilde yapilandirin. Mesela DNS sunucunuzu enderunix.org alan adindan sorumluymus gibi yapilandirin –çesitli subdomainler, mx kayitlarini vs tanimlayin-. Bir adim sonra ayni dns sunucuya baskalarindan gelecek sorgulari alip, internetten sorgulayip geriye cevap verecek sekilde yapilandirin ve artik bu dns sunucuyu kullanmaya baslayin. Böylece dns servisi ile ilgili detay bilgileri ögreneceksiniz ve gerektigi zaman gözü kapali dns sunucu yapilandirabileceksiniz.

Dns sunucu tarafini iyi ögrendiginizi düsünüyorsaniz sira mail sunucu kurmaya ve yapilandirmaya geldi demektir.

Bu iki ana servisten sonra kismen biraz daha kolay olan WEB sunucu ve FTP sunucu yapilandirma islemlerine geçebilirsiniz. Bu sekilde tüm servisler ile asinalik kazandiktan sonra servislerin detaylari ile ilgilenebilirsiniz ya da ögrendiklerinizi not edip belge olarak yayinlayabilirsiniz.

This entry was posted in Activity. Bookmark the permalink.

7 Responses to Bilisim sektöründe kendimi nasil gelistirebilirim?

  1. Zeynep says:

    Merhabalar,

    Link açılmıyor, bir hata mı var acaba?

    http://www.huzeyfe.net/egitim/network_q.html

    Teşekkürler

  2. Burak says:

    hocam merhaba,

    test linki olarak vermiş olduğunuz sayfa açılmamaktadır. bilginize,

    http://www.huzeyfe.net/egitim/network_q.html

  3. Huzeyfe ONAL says:

    Yazı eski oldugu icin link o tarihlerde calisiyordu. Simdi ne o domain kaldi ne de sunucu:). Biryerlerden bulursam siteye aktarayım sourları.

  4. Pingback: Güvenlik Röportajları #22 Huzeyfe ÖNAL | Complexity is the enemy of Security

  5. Sinan says:

    TCP/IP ve Ag
    Güvenligi / Açik Akademi Yayinlari

    Önerdiğiniz bu kitap artık satılmıyor. Hiçbir yerde yok.
    Bunun yerine ne önerirsiniz.

Leave a Reply

Your email address will not be published. Required fields are marked *

five × two =