
PORT DURUMUNU İNCELEME KOMUTLARI:
sudo ss -tulpn
# - ss: Socket Statistics (modern netstat)
# - -t: TCP portları göster
# - -u: UDP portları göster
# - -l: Sadece listening (dinlenen) portları göster
# - -p: Process bilgisini göster (hangi programın kullandığı)
# - -n: Numeric format (isim çözümleme yapma, sayıları göster)
# sudo netstat -tulpn (eski ama hala kullanılan)
# - netstat: Network statistics
# - -t: TCP
# - -u: UDP
# - -l: Listening
# - -p: Process
# - -n: Numeric
# sudo lsof -i -P -n
# - lsof: List Open Files (Linux'ta her şey dosya olduğu için portlar da dahil)
# - -i: Internet sockets
# - -P: Port numaralarını göster (service isimlerini gösterme)
# - -n: Numeric (IP çözümleme yapma)
# sudo nmap -sT -O localhost
# - nmap: Network mapper (port tarama aracı)
# - -sT: TCP connect scan (full connection yapar)
# - -O: OS detection (işletim sistemi tespiti)
# - localhost: Tarama hedefi
SERVİS YÖNETİMİ KOMUTLARI
# sudo systemctl list-unit-files --type=service --state=enabled
# - systemctl: Systemd kontrol aracı
# - list-unit-files: Tüm unit dosyalarını listele
# - --type=service: Sadece service type'ları
# - --state=enabled: Sadece enabled (aktif) olanlar
# sudo dnf list installed | grep server
# - dnf: Package manager (RHEL 8)
# - list installed: Yüklü paketleri listele
# - grep server: "server" içerenleri filtrele
# sudo dnf remove telnet-server rsh-server -y
# - remove: Paket kaldırma
# - -y: Onay sorma (yes)
# sudo systemctl disable bluetooth cups -y
# - disable: Servisi devre dışı bırak (bootta başlamasın)
# - -y: Onay sorma
FIREWALL KOMUTLARI
# sudo systemctl enable --now firewalld
# - enable: Servisi enable yap (bootta başlasın)
# - --now: Hemen şimdi başlat
# sudo firewall-cmd --state
# --state: Firewall durumunu göster
# sudo firewall-cmd --list-all
# --list-all: Tüm kuralları detaylı göster
# sudo firewall-cmd --get-active-zones
# --get-active-zones: Aktif zone'ları göster
# sudo firewall-cmd --zone=public --list-ports
# --zone=public: public zone'u seç
# --list-ports: Açık portları listele
# sudo firewall-cmd --permanent --add-port=4321/tcp
# --permanent: Kalıcı kural (reboot'ta kalır)
# --add-port: Port ekle
# 4321/tcp: TCP port 4321
# sudo firewall-cmd --permanent --remove-port=22/tcp
# --remove-port: Port kaldır
# sudo firewall-cmd --reload
# --reload: Kuralları yeniden yükle (permanent kuralları aktif et)
# sudo firewall-cmd --permanent --add-service=http
# --add-service: Servis ekle (önceden tanımlı servisler)
ADVANCED FIREWALL KURALLARI
# rule family="ipv4"
# - IPv4 aile kuralı
# source address="192.168.1.100/32"
# - Kaynak IP adresi (/32 = tek IP)
# port protocol="tcp" port="4321" accept
# - TCP port 4321'i kabul et
# limit value="5/m" accept
# - Dakikada 5 bağlantıya izin ver, sonrasını reject et
# rule protocol value="tcp" port="4321"
# - TCP port 4321 için kural
# reject
# - Bağlantıyı reddet
# add-forward-port=port=80:proto=tcp:toport=8080
# - Port yönlendirme: 80 → 8080
NETWORK İZLEME ARAÇLARI
sudo tcpdump -i any port 4321 -n
# - tcpdump: Packet analyzer
# - -i any: Tüm interface'ler
# - port 4321: Sadece 4321 portu
# - -n: Numeric output
# sudo ngrep -d any port 4321
# - ngrep: Network grep (içerik inceleme)
# - -d any: Tüm interface'ler
# - port 4321: Belirli port
# sudo watch -n 1 'ss -t sport = :4321'
# - watch: Komutu periyodik çalıştır
# - -n 1: 1 saniye aralıkla
# - ss -t sport = :4321: 4321 portundaki TCP bağlantılar
# sudo iftop -i any -P
# - iftop: Bandwidth monitor
# - -i any: Tüm interface'ler
# - -P: Port numaralarını göster
# sudo netstat -ant | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
# - netstat -ant: Tüm TCP bağlantıları
# - awk '{print $5}': 5. kolonu (remote IP:port)
# - cut -d: -f1: : karakterinden öncesini al (IP)
# - sort: Sırala
# - uniq -c: Tekilleştir ve say
# - sort -n: Numerik sırala
PORT GÜVENLİK TESTLERİ
# nmap -sS -T4 -p- sunucu_ip
# - -sS: SYN scan (stealth scan)
# - -T4: Aggressive timing template
# - -p-: Tüm portları tara (1-65535)
# nmap -sV -sC -O sunucu_ip
# - -sV: Version detection
# - -sC: Default script scan
# - -O: OS detection
# nikto -h http://sunucu_ip
# - nikto: Web vulnerability scanner
# - -h: Host hedefi
# stress-ng --tcp 10 --timeout 60s
# - stress-ng: Stress test tool
# - --tcp 10: 10 TCP worker
# - --timeout 60s: 60 saniye çalıştır
# 🎯 ÖNEMLİ NOTLAR:
# — permanent: Kalıcı kural (reboot’ta kalır)
# — reload: Permanent kuralları aktif etmek için gerekli
# — zone: Firewall bölgesi (public, internal, dmz, vs.)
# -y: Onay sormadan işlem yap (scriptlerde kullanışlı)
# -n: Numeric output (DNS çözümleme yapma, daha hızlı)
# 🔐 GÜVENLİK İÇİN KRİTİK PARAMETRELER:
# — — permanent: Kalıcı kurallar için şart
# — — reload: Değişiklikleri aktif etmek için
# — -n: Numeric output (güvenlik için daha iyi)
# — — state: Firewall durumunu kontrol et
# 💡 PERFORMANS İÇİN İPUCU:
# Numeric parametreleri (-n) kullanmak DNS çözümleme yapmadığı için daha hızlıdır!
# ⚠️ UYARI:
# — permanent kullanmadan yapılan değişiklikler reboot’ta kaybolur!
# Her — permanent işleminden sonra — reload gerekir!