Etiket arşivi: siber güvenlik araçları

Siber Güvenlik İçin Linux Temelleri: Kapsamlı Başlangıç Rehberi

Siber güvenlik dünyasına adım atan her uzmanın ve meraklının bilmesi gereken en temel konulardan biri Linux işletim sistemidir. Günümüzde sunucuların, bulut altyapılarının, ağ cihazlarının ve güvenlik araçlarının büyük bir kısmı Linux çekirdeği üzerinde çalışır.

1. Linux Nedir?

Linux; sunucularda, bulut sistemlerinde, masaüstü bilgisayarlarda, ağ cihazlarında, gömülü sistemlerde ve siber güvenlik araçlarında yaygın olarak kullanılan açık kaynaklı, Unix benzeri bir işletim sistemi çekirdeğidir.

  • Öne Çıkan Özellikleri: Kararlı (stable), esnek, betiklenebilir (scriptable) ve yüksek derecede özelleştirilebilir bir yapıya sahiptir.

  • Ana Hedef: Siber güvenlikte daha etkili ve verimli bir operatör olmak için Linux sistemlerine hakim olmaktır.

2. Siber Güvenlikte Neden Linux Tercih Edilir?

Siber güvenlik uzmanlarının ve sızma testi (penetrasyon) uzmanlarının Linux kullanmasının başlıca nedenleri şunlardır:

  • Açık Kaynak ve Şeffaflık: Kod yapısının açık olması, sistemin arka planında ne çalıştığını tam olarak görmenizi sağlar.

  • Güçlü İzin Modeli: Kullanıcı ve dosya yetkilendirme mimarisi oldukça güvenlidir.

  • Güçlü Komut Satırı ve Betik Desteği: İşlemleri otomatize etmek ve gelişmiş komut satırı (CLI) araçlarını kullanmak son derece kolaydır.

  • Hafif ve Verimli: Sistem kaynaklarını bilindik kapalı işletim sistemlerine göre çok daha az tüketir, hızlı çalışır.

  • Geniş Araç Desteği: Güvenlik ve test araçlarının büyük çoğunluğu öncelikli olarak Linux için geliştirilir.

  • Tekrarlanabilirlik (Repeatability): Otomasyon sayesinde güvenlik testleri kolayca tekrarlanabilir.

3. Popüler Linux Dağıtımları (Distros)

Farklı kullanım amaçlarına göre özelleştirilmiş birçok Linux dağıtımı mevcuttur:

  • Kali Linux: Sızma testleri ve güvenlik denetimleri için özel araçlarla yüklü gelir.

  • Parrot Security: Güvenlik testleri, gizlilik ve adli bilişim (forensics) odaklı dağıtımdır.

  • Ubuntu: Genel kullanım ve başlangıç seviyesi için en popüler dağıtımdır. Normal kullanıcı ihtiyaçlarını tam olarak karşılar.

  • Debian: Kararlılığıyla bilinen, birçok dağıtımın (Kali ve Ubuntu dahil) temelini oluşturan sistemdir.

  • Rocky Linux: Kurumsal seviyede ve sunucu altyapılarında tercih edilen RHEL tabanlı dağıtımdır. CentOS kurucularının CentOS devamı niteliğinde kurduğu bir dağıtımdır.

  • Arch Linux: Tamamen kullanıcı tarafından özelleştirilebilen minimalist bir yapıdır.

4. Linux Dosya Sistemi Hiyerarşisi

Linux’ta her şey bir dosyadır ve hiyerarşi kök (/) dizininden başlar:

DizinKullanım Amacı
/

Kök (root) dizin. Bütün dosya sisteminin başlangıç noktasıdır.

/bin

Temel sistem komutları ve çalıştırılabilir ikili (binary) dosyalar.

/etc

Sistem yapılandırma dosyaları.

/home

Kullanıcıların kişisel dosya dizinleri.

/var

Loglar, önbellek ve değişken verilerin tutulduğu alan.

/usr

Kullanıcı programları ve paylaşılan veriler.

/tmp

Geçici dosyalar (sistem yeniden başladığında genellikle temizlenir).

/opt

İsteğe bağlı / üçüncü taraf yazılımların kurulduğu dizin.

5. Mutlaka Bilinmesi Gereken Temel Komutlar

Linux terminalinde en çok karşılaşacağınız temel komutlar (bazıları MS-DOS ve MacOS komutları ile aynıdır) şunlardır:

  • ls: Dosya ve dizinleri listeler.

  • cd: Dizin değiştirir.

  • pwd: Bulunduğunuz mevcut dizin yolunu gösterir.

  • cat [dosya]: Dosya içeriğini gösterir.

  • less [dosya]: Dosya içeriğini sayfa sayfa görüntüler.

  • cp [kaynak] [hedef]: Dosya veya dizinleri kopyalar.

  • mv [kaynak] [hedef]: Dosyayı taşır veya adını değiştirir.

  • rm [dosya]: Dosyayı siler.

  • touch [dosya]: Boş bir dosya oluşturur.

  • mkdir dir: Yeni bir dizin (klasör) oluşturur.

  • rmdir dir: Boş dizini siler.

  • man cmd: Komutun kullanım kılavuzunu açar.

  • history: Geçmişte çalıştırılan komutları listeler.

  • clear: Terminal ekranını temizler.

  • whoami: Aktif olan kullanıcı adını gösterir.

  • id: Kullanıcı ve grup kimlik (ID) bilgilerini verir.

  • uname -a: Çekirdek ve sistem bilgilerini gösterir.

6. Dosya İzinleri (File Permissions) ve Yetkilendirme

Linux’ta dosya güvenliği izinler üzerinden sağlanır. ls -l script.sh komutunu çalıştırdığınızda şu çıktıyı görürsünüz:

-rwxr-x--- 1 user group 1234 January 01 11:00 script.sh

İzin Yapısı:

  1. Dosya Tipi (-): Normal dosya (-) veya dizin (d).

  2. Sahibi (Owner – rwx): Dosya sahibinin okuma, yazma ve çalıştırma izinleri.

  3. Grubu (Group – r-x): Grubun izinleri.

  4. Diğerleri (Others – ---): Diğer tüm kullanıcıların izinleri.

İzin Değerleri:

  • r (read / okuma) = 4

  • w (write / yazma) = 2

  • x (execute / çalıştırma) = 1

Örnek Kullanım: chmod 750 script.sh (Sahibine rwx=7, Gruba r-x=5, Diğerlerine =0 verir). Sahiplik Değiştirme: chown user:group script.sh

Siber Güvenlik İlkesi (En Az Yetki Prensibi – Least Privilege): Kullanıcılara ve süreçlere yalnızca ihtiyaç duydukları minimum izinler verilmelidir.

7. Süreç (Process) Yönetimi

Sistemde çalışan süreçleri izlemek ve yönetmek için kullanılan komutlar:

  • ps aux: Çalışan tüm süreçleri detaylıca listeler.

  • top: Çalışan süreçleri canlı/anlık olarak izler.

  • htop: top komutunun daha gelişmiş ve görsel halidir.

  • kill [PID]: Belirtilen Süreç Kimliğine (PID) sahip süreci sonlandırır.

  • kill -9 [PID]: Süreci zorla sonlandırır (dikkatli kullanılmalıdır).

  • pgrep [isim]: İsme göre süreçlerin PID numarasını bulur.

8. Kullanıcı Yönetimi

Kullanıcı ve grup yönetimi komutları:

  • sudo adduser [kullanıcı]: Yeni kullanıcı ekler.

  • sudo userdel [kullanıcı]: Kullanıcıyı siler.

  • sudo usermod -aG [grup] [kullanıcı]: Kullanıcıyı bir gruba ekler.

  • su - [kullanıcı]: Başka bir kullanıcıya geçiş yapar.

  • whoami: Mevcut kullanıcıyı gösterir.

  • cat /etc/passwd: Sistemdeki kullanıcı hesaplarının listesini görüntüler.

9. Paket Yönetimi (Yazılım Kurulumu)

Farklı Linux dağıtımları farklı paket yöneticileri kullanır:

Debian / Ubuntu Tabancı (apt):

sudo apt update          # Paket indeksini günceller
sudo apt upgrade         # Kurulu paketleri yükseltir
sudo apt install <pkg>   # Yeni paket kurar
sudo apt remove <pkg>    # Paketi kaldırır

RHEL / Rocky / Fedora Tabancı (dnf / yum):

sudo dnf check-update # Güncellemeleri kontrol eder
sudo dnf install <pkg> # Paket kurar 
sudo dnf remove <pkg> # Paketi kaldırır

10. Arama ve Bulma Komutları

Sistemde dosya veya içerik ararken kullanılan komutlar:

  • find / -name dosya.txt — Dosya adıyla arama yapar.

  • find / -type d -name test — Dizin bazlı arama yapar.

  • grep -r "metin" /path — Belirtilen yolda metin içeriğini özyinelemeli (recursive) arar.

  • locate dosya — Hızlı veritabanı indeksli arama yapar.

  • updatedb — Veritabanını günceller.

11. Metin İşleme (Text Processing)

Log analizi ve veri süzme için kritik komutlar:

  • head dosya.txt — Dosyanın ilk satırlarını gösterir.

  • tail dosya.txt — Dosyanın son satırlarını gösterir (Log takibi için idealdir).

  • cut -d ':' -f1 /etc/passwd — Belirli alanları / sütunları kesip alır.

  • sort dosya.txt — Satırları sıralar.

  • uniq dosya.txt — Tekrarlayan satırları temizler.

  • wc dosya.txt — Satır, kelime ve bayt sayısını verir.

  • awk '{print $1}' dosya.txt — Belirli sütunları çeker ve işler.

12. Temel Ağ Komutları

Ağ durumunu incelemek ve bağlantıları doğrulama komutları:

  • ip a — IP adreslerini ve ağ arayüzlerini gösterir.

  • ip r — Yönlendirme (routing) tablosunu listeler.

  • ping example.com — Erişilebilirlik ve bağlantı kontrolü yapar.

  • ss -tulpn — Dinlenen bağlantı noktalarını (listening sockets) ve portları gösterir.

  • curl [http://example.com](http://example.com) — Web sayfasından veri / HTTP isteği çeker.

  • dig example.com — DNS sorgusu yapar.

13. Arşiv ve Sıkıştırma İşlemleri

  • tar -czf dosya.tar.gz /path — .tar.gz arşivi oluşturur.

  • tar -xzf dosya.tar.gz — .tar.gz arşivini çıkartır.

  • zip -r dosya.zip /path — .zip dosyası oluşturur.

  • unzip dosya.zip — .zip dosyasını çıkartır.

14. Sistem Bilgisi Alma

  • uname -a — Çekirdek (kernel) bilgisi.

  • hostnamectl — Ana bilgisayar adı ve OS bilgisi.

  • df -h — Disk kullanımı (insan tarafından okunabilir formatta).

  • free -h — Bellek (RAM) kullanımı.

  • du -sh /path — Belirtilen dizinin kapladığı alan.

  • uptime — Sistemin ne kadar süredir açık olduğu.

15. Shell Betik Yazımına Giriş (Bash Scripting)

Otomasyon için basit bir Bash betiği oluşturma adımları:

  1. Dosya oluşturun: nano script.sh

  2. Shebang satırını ve komutları ekleyin:

    #!/bin/bash
    whoami
    date
    echo "Hello, Linux"
    ```
    
  3. Çalıştırılabilir yapın: chmod +x script.sh

  4. Betiği çalıştırın: ./script.sh

16. Kullanışlı Terminal Kısayolları

  • Ctrl + A — Satırın başına gider.

  • Ctrl + E — Satırın sonuna gider.

  • Ctrl + R — Komut geçmişinde arama yapar.

  • Ctrl + C — Çalışan mevcut komutu durdurur.

  • Ctrl + L — Ekranı temizler.

  • Tab — Komut veya dosya adını otomatik tamamlar.

17. Temel Siber Güvenlik İpuçları

  1. Sistemi Güncel Tutun: Güvenlik yamalarını düzenli olarak uygulayın.

  2. Güçlü Parolalar Kullanın: Karmaşık parola ve parola cümleleri tercih edin.

  3. sudo Kullanımına Dikkat Edin: Gereksiz yere root yetkisiyle komut çalıştırmayın.

  4. Gereksiz Servisleri Kapatın: Kullanılmayan servisleri devre dışı bırakın.

  5. Logları İnceleyin: Sistem ve güvenlik loglarını düzenli kontrol edin.

  6. Minimum Yetki İlkesini Uygulayın: Kullanıcılara sadece ihtiyaçları olan izinleri verin.

  7. SSH Anahtarlarını Tercih Edin: Mümkün olan yerlerde parola yerine SSH Key tabanlı doğrulama kullanın.

Project N.O.M.A.D. İnternetsiz Çalışabilen Yapay Zeka Destekli Bilgi ve Hayatta Kalma Sistemi

Günümüzde internet erişimi hayatımızın vazgeçilmez bir parçası haline geldi. Bilgiye ulaşmak, eğitim içeriklerini takip etmek, haritalara bakmak veya yapay zeka araçlarını kullanmak için sürekli çevrimiçi olmak gerekiyor ama internet bağlantısının olmadığı veya kısıtlı olduğu durumlarda bilgiye erişim büyük bir probleme dönüşebiliyor.

Tam olarak bu ihtiyaca yönelik geliştirilen Project N.O.M.A.D. (Node for Offline Media, Archives, and Data), kendi içerisinde bilgi kaynaklarını, yapay zeka araçlarını ve çeşitli yardımcı servisleri barındıran bağımsız bir çevrimdışı bilgi sunucusu olarak öne çıkıyor. N.O.M.A.D. projesi internet olmadan da bilgiye erişebilmek, yerel yapay zeka araçlarını kullanabilmek ve kritik kaynakları tek bir sistem üzerinde toplamak amacıyla geliştirildi.

Project N.O.M.A.D. Ne İşe Yarar

Project N.O.M.A.D., temel olarak küçük bir “kişisel bilgi veri merkezi” gibi çalışır yani sistem kurulduktan sonra kullanıcılar web tarayıcısı üzerinden çeşitli araçlara erişebilir.

Projenin içerisinde başlıca aşağıdaki özellikler mevcut:

Yerel Yapay Zeka Asistanı

Project N.O.M.A.D., internet bağlantısına ihtiyaç duymadan çalışan yerel yapay zekâ özellikleri sunar. Sistem içerisinde:

  • Yapay zeka sohbet asistanı
  • Doküman yükleme ve analiz
  • Yerel bilgi tabanı oluşturma
  • Anlamsal arama

gibi özellikler bulunur.

Bu yapı sayesinde kullanıcılar kendi belgelerini sisteme yükleyerek internet bağlantısı olmadan arama yapabilir ve yapay zeka üzerinden analiz gerçekleştirebilir. Yerel yapay zeka altyapısı için Ollama ve Qdrant tabanlı çözümler kullanılmaktadır.

Çevrimdışı Bilgi Kütüphanesi

Project N.O.M.A.D.’ın en dikkat çekici özelliklerinden biri internet olmadan kullanılabilen bilgi arşividir. Wikipedia içerikleri – Sağlık ve tıp kaynakları – Elektronik kitaplar – Eğitim materyalleri – Çeşitli referans dokümanları gibi kaynaklar saklanabilir.

Bu özellik özellikle internet erişiminin olmadığı bölgelerde veya sürekli erişilebilir bir bilgi kaynağı oluşturmak isteyen kullanıcılar için önemlidir.

Eğitim İçerikleri ve Öğrenme Platformu

Project N.O.M.A.D. sadece bilgi depolamak için değil, eğitim amacıyla da kullanılabilir.

Sistem içerisinde Kolibri tabanlı eğitim platformu desteği bulunur ve bunun sayesinde eğitim kursları, ders içerikleri ve öğrenci ilerleme takibi gibi temel öğrenme foksiyonları da çalışabilir.

Project N.O.M.A.D. Nerelerde Kullanılır

Bu sistemin kullanım alanı ihtiyaca göre oldukça geniştir.

İnternet Olmayan Bölgelerde

Kırsal bölgeler, saha çalışmaları veya internet erişiminin olmadığı ortamlarda Araştırma ekipleri, Kamp ve doğa çalışmaları, Afet hazırlık ekipleri ve Saha personellerinin ihtiyaçları için kullanılabilir.

Eğitim Ortamlarında

Okullar, eğitim merkezleri veya internet altyapısının sınırlı olduğu bölgelerde öğrencilere çevrimdışı eğitim kaynakları sağlayabilir.

Kişisel Bilgi Arşivi Olarak

Kullanıcılar kendi Teknik dokümanlarını, Kitaplarını, Notlarını ve Araştırma dosyalarını tek bir sistem üzerinde saklayabilir.

Siber Güvenlik ve Teknik Çalışmalar

Sistem yöneticileri ve teknik uzmanlar için yerel araçlar içeren taşınabilir bir laboratuvar ortamı olarak kullanılabilir.

Project N.O.M.A.D. Nasıl Kurulur?

Project N.O.M.A.D. kurulumu Debian tabanlı Linux işletim sistemleri üzerinde yapılır. Geliştiriciler özellikle Ubuntu kullanımını önermektedir. Kurulum terminal üzerinden gerçekleştirilir ve Docker tabanlı servisler kullanılır.

Minimum sistem gereksinimleri:

  • 2 GHz çift çekirdek işlemci veya üzeri
  • 4 GB RAM
  • En az 5 GB boş disk alanı
  • Debian tabanlı işletim sistemi
  • Kurulum sırasında internet bağlantısı

şeklindedir.

Yapay zeka özelliklerini daha verimli kullanmak için ise daha güçlü donanımlar önerilir:

  • Intel Core i7 veya AMD Ryzen 7 seviyesi işlemci
  • 32 GB RAM
  • NVIDIA RTX 3060 veya üzeri ekran kartı
  • SSD depolama

gibi donanımlar daha iyi performans sağlar.

Kurulum Komutu

Ubuntu veya Debian tabanlı bir sistemde hızlı kurulum için:

sudo apt-get update && \
sudo apt-get install -y curl && \
curl -fsSL https://raw.githubusercontent.com/Crosstalk-Solutions/project-nomad/refs/heads/main/install/install_nomad.sh \
-o install_nomad.sh && \
sudo bash install_nomad.sh

bu komutla kurulumu gerçekleştirebilirsiniz. Ardından web tarayıcınız üzerinden;

http://localhost:8080 

veya

http://ipadresi:8080

yazarak giriş yapabilirsiniz.

N.O.M.A.D. Projesini Yapılandırın

Bir tarayıcı açın ve NOMAD kurulumunuza gidin. Kontrol Merkezi’ni göreceksiniz. Her şeyi yapılandırmak için Kolay Kurulum ile başlayın.

Uygulamalarınızı Seçin

Bilgi Kütüphanesi, Vikipedi, tıbbi referanslar, hayatta kalma kılavuzları, onarım kılavuzları

Eğitim Platformu, Khan Academy, TED Konuşmaları ve daha fazlası

Yapay Zeka Asistanı, Ollama aracılığıyla yerel büyük dil modelleri
Harita Bölgelerini Seçin

İndirilecek çevrimdışı harita bölgelerini seçin.

İçeriğinizi Seçin

Yapay zeka modelleri, Vikipedi derinliği (hızlı referanstan resimlerle birlikte 125 GB’a kadar) ve tıp, hayatta kalma, eğitim ve daha fazlası için derlenmiş içerik koleksiyonları seçin. Her kategori Temel, Standart ve Kapsamlı kademelere sahiptir. Daha sonra her zaman içerik ekleyebilir veya kaldırabilirsiniz.

İçerik seçerken üstteki yeşil depolama çubuğunu izleyin.

Hesaplamalara göre, bir terabaytlık bir sürücü, resimlerle birlikte tüm Vikipedi’yi, tüm Khan Academy’yi ve bol miktarda ek içeriği işleyebilir. Seçimlerinizi gözden geçirin ve Kurulumu Tamamla’ya tıklayın. N.O.M.A.D., seçtiğiniz içerikleri indirecek ve ilgili dosyaları açacaktır. Bu işlem, seçimlerinize ve internet hızınıza bağlı olarak biraz zaman alabilir.

 

Daha detaylı kurulum bilgisi için https://www.projectnomad.us/install adresini ziyaret edebilirsiniz.