<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: MEHMET AMED ÜREY</title>
    <description>The latest articles on DEV Community by MEHMET AMED ÜREY (@mehmet_amed_urey).</description>
    <link>https://dev.to/mehmet_amed_urey</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4126825%2F0df2ebda-73ce-4131-9fbb-e875afd7909b.jpg</url>
      <title>DEV Community: MEHMET AMED ÜREY</title>
      <link>https://dev.to/mehmet_amed_urey</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mehmet_amed_urey"/>
    <language>en</language>
    <item>
      <title>Building TARS: Turning a Visionary Cyber Defense Idea Into Code (R&amp;D &amp; Software Architecture)</title>
      <dc:creator>MEHMET AMED ÜREY</dc:creator>
      <pubDate>Fri, 25 Sep 2026 08:22:02 +0000</pubDate>
      <link>https://dev.to/mehmet_amed_urey/building-tars-turning-a-visionary-cyber-defense-idea-into-code-rd-software-architecture-lp1</link>
      <guid>https://dev.to/mehmet_amed_urey/building-tars-turning-a-visionary-cyber-defense-idea-into-code-rd-software-architecture-lp1</guid>
      <description>&lt;p&gt;Hey fellow devs! 👋As a software developer and security enthusiast, I wanted to take you behind the scenes of a project my team and I are building out of Şırnak, Turkey: TARS (Türkiye Anti-Risk Sistemi).Every great software project starts with a strong spark. The idea and vision for TARS were originally proposed and initiated by my teammate Mehmet Salih Artak. When he came up with the core concept of building a proactive cyber defense layer for student environments, I knew we had to bring it to life. Within the team, I have taken on the role of driving the Research &amp;amp; Development (R&amp;amp;D) and leading the core software development.Here is how we are turning this foundational idea into a functional, low-overhead anti-risk engine.The Vision &amp;amp; The Problem We Are SolvingThe problem Mehmet Salih highlighted was clear: traditional endpoint security solutions are often too heavy for student hardware, causing users to turn them off. Meanwhile, high school and local student networks are highly vulnerable to credential harvesting and phishing.Our goal with TARS is to build a lightweight, intelligent defense application that sits quietly in the background and intercepts digital threats—like malicious links and spoofed domains—before they reach the user.Engineering &amp;amp; R&amp;amp;D Deep DiveAs the head of R&amp;amp;D and software development for the project, my focus has been translating our vision into clean, sustainable architecture. Here is where our current engineering efforts are directed:1. Proactive URL Parsing &amp;amp; Heuristics (R&amp;amp;D Stage)We are actively researching ways to catch phishing domains before relying on heavy third-party threat intel APIs. I am currently working on a lightweight Python framework that uses string heuristics to scan incoming links for typosquatting (e.g., detecting if a domain is trying to mimic an official portal).2. Shifting to Intelligent Anti-Risk SemanticsStatic signature matching is no longer enough. On the R&amp;amp;D side, we are experimenting with text embedding models and lightweight developer tools like Google AI Studio to analyze the semantic nature of incoming alerts. The system is being architected to flag conversational manipulation, warning users if an email or message shows high statistical probability of being a phishing kit.3. Optimizing Asynchronous WorkflowsSince I am responsible for the codebase, keeping resource consumption to an absolute minimum is my priority. We are leveraging asynchronous programming models in Python to handle local network scanning tasks concurrently. This ensures that the engine processes threat detection loops without causing spikes in CPU usage or latency for the student's daily machine tasks.Moving From Blueprint to ProductionCollaborating on TARS has been an incredible engineering journey. Having Mehmet Salih Artak steer the vision while I dive deep into the source code, version control, and system architecture has taught us the true power of structured team dynamics in software engineering. We also recently cleared our official DENEYAP Cyber Security tracks, giving us an even sharper technical foundation to scale our implementation.We are pushing hard to mature our codebase and showcase the TARS engine at upcoming national technology exhibitions and competitions.Let's Discuss!To the senior devs and security engineers out there:What are your best practices for handling real-time, low-level link scanning loops without introducing heavy browser latency?What lightweight tools do you recommend for local heuristics databases?Drop your thoughts below—I'd love to learn from your experiences! 🚀&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>cybersecurity</category>
      <category>security</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>Python ile Hızlı ve Modern REST API Geliştirme: FastAPI Rehberi</title>
      <dc:creator>MEHMET AMED ÜREY</dc:creator>
      <pubDate>Fri, 25 Sep 2026 07:57:13 +0000</pubDate>
      <link>https://dev.to/mehmet_amed_urey/python-ile-hizli-ve-modern-rest-api-gelistirme-fastapi-rehberi-ne5</link>
      <guid>https://dev.to/mehmet_amed_urey/python-ile-hizli-ve-modern-rest-api-gelistirme-fastapi-rehberi-ne5</guid>
      <description>&lt;p&gt;Geliştirdiğimiz projelerde mobil uygulamaların, web arayüzlerinin veya gömülü sistemlerin birbiriyle haberleşmesi için güçlü bir köprüye ihtiyaç duyarız. Bu köprünün adı: REST API.&lt;/p&gt;

&lt;p&gt;Python ekosisteminde Flask ve Django uzun yıllardır popüler olsa da, günümüzde hız, otomatik tip denetimi ve kendiliğinden oluşan Swagger dokümantasyonu sayesinde FastAPI standart haline geldi.&lt;/p&gt;

&lt;p&gt;Bu rehberde, sıfırdan çalışan bir REST API kuracağız; CRUD mantığını ve asenkron veri akışını inceleyeceğiz.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Kurulum ve Ortam Hazırlığı
&lt;/h2&gt;

&lt;p&gt;Öncelikle izole bir geliştirme ortamı kurup gerekli kütüphaneleri yüklüyoruz.&lt;/p&gt;

&lt;p&gt;Sanal ortam oluşturma ve çalıştırma adımları:&lt;br&gt;
python -m venv venv&lt;br&gt;
source venv/bin/activate&lt;/p&gt;

&lt;p&gt;Gerekli paketlerin yüklenmesi:&lt;br&gt;
pip install fastapi uvicorn&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;FastAPI: API mimarisini ve yönlendirmeleri (routing) yönetecek ana kütüphane.&lt;/li&gt;
&lt;li&gt;Uvicorn: Asenkron Python kodlarımızı çalıştıracak hafif ve son derece hızlı ASGI sunucusu.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  2. İlk Endpoint: "Hello World"
&lt;/h2&gt;

&lt;p&gt;Proje dizininde main.py adında bir dosya oluşturup en temel GET isteğini tanımlayalım:&lt;/p&gt;

&lt;p&gt;from fastapi import FastAPI&lt;/p&gt;

&lt;p&gt;app = FastAPI(&lt;br&gt;
    title="Örnek Maker API",&lt;br&gt;
    description="Python FastAPI ile oluşturulmuş hafif ve hızlı bir API",&lt;br&gt;
    version="1.0.0"&lt;br&gt;
)&lt;/p&gt;

&lt;p&gt;@app.get("/")&lt;br&gt;
async def root():&lt;br&gt;
    return {&lt;br&gt;
        "status": "success",&lt;br&gt;
        "message": "API başarıyla çalışıyor!"&lt;br&gt;
    }&lt;/p&gt;

&lt;p&gt;Sunucuyu başlatmak için terminalden şu komutu verin:&lt;br&gt;
uvicorn main:app --reload&lt;/p&gt;

&lt;p&gt;Tarayıcınızdan &lt;a href="http://127.0.0.1:8000" rel="noopener noreferrer"&gt;http://127.0.0.1:8000&lt;/a&gt; adresine gittiğinizde JSON çıktısını göreceksiniz. --reload bayrağı sayesinde kodda değişiklik yaptıkça sunucu otomatik olarak yeniden başlar.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. Pydantic ile Veri Modelleme ve POST İsteği
&lt;/h2&gt;

&lt;p&gt;Bir API sadece veri döndürmez, dışarıdan güvenli veri de kabul eder. FastAPI, veri doğrulaması için Pydantic kütüphanesini kullanır.&lt;/p&gt;

&lt;p&gt;Örnek olarak bir cihazdan sensör veya proje verisi alan bir POST endpoint'i ekleyelim:&lt;/p&gt;

&lt;p&gt;from fastapi import FastAPI, HTTPException&lt;br&gt;
from pydantic import BaseModel, Field&lt;br&gt;
from typing import List&lt;/p&gt;

&lt;p&gt;app = FastAPI()&lt;/p&gt;

&lt;p&gt;db_projects = []&lt;/p&gt;

&lt;p&gt;class Project(BaseModel):&lt;br&gt;
    id: int&lt;br&gt;
    title: str = Field(..., min_length=3, max_length=50)&lt;br&gt;
    category: str&lt;br&gt;
    is_active: bool = True&lt;/p&gt;

&lt;p&gt;@app.post("/projects/", status_code=201)&lt;br&gt;
async def create_project(project: Project):&lt;br&gt;
    for item in db_projects:&lt;br&gt;
        if item.id == project.id:&lt;br&gt;
            raise HTTPException(status_code=400, detail="Bu ID zaten kayıtlı!")&lt;br&gt;
    db_projects.append(project)&lt;br&gt;
    return {"message": "Proje başarıyla eklendi", "data": project}&lt;/p&gt;

&lt;p&gt;@app.get("/projects/", response_model=List[Project])&lt;br&gt;
async def get_projects():&lt;br&gt;
    return db_projects&lt;/p&gt;

&lt;p&gt;Burada Pydantic:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Gelen JSON verisindeki tipleri denetler.&lt;/li&gt;
&lt;li&gt;Hatalı veya eksik parametre gönderildiğinde otomatik olarak açıklayıcı bir 422 hatası döndürür.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  4. Sihirli Özellik: Otomatik Dokümantasyon
&lt;/h2&gt;

&lt;p&gt;FastAPI'ın en büyük konforu, ekstra hiçbir ayar yapmadan etkileşimli API dokümantasyonu üretmesidir.&lt;/p&gt;

&lt;p&gt;Sunucunuz çalışırken tarayıcınızdan şu adrese gidin:&lt;br&gt;
&lt;a href="http://127.0.0.1:8000/docs" rel="noopener noreferrer"&gt;http://127.0.0.1:8000/docs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Karşınıza Swagger UI paneli çıkacak. Buradan Postman kullanmaya gerek kalmadan tüm endpoint'leri doğrudan test edebilirsiniz.&lt;/p&gt;

&lt;p&gt;Alternatif dokümantasyon paneli:&lt;br&gt;
&lt;a href="http://127.0.0.1:8000/redoc" rel="noopener noreferrer"&gt;http://127.0.0.1:8000/redoc&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Sonuç
&lt;/h2&gt;

&lt;p&gt;FastAPI; temiz kod mimarisi, asenkron yapısı ve tip güvenliği ile modern Python projelerinin vazgeçilmezidir. Birkaç satır kodla hem performanslı bir API elde edebilir hem de otomatik dokümantasyon sayesinde diğer istemcilerle entegrasyonu hızlandırabilirsiniz.&lt;/p&gt;

&lt;p&gt;İlerleyen yazılarda veritabanı bağlantısını ve JWT tabanlı kimlik doğrulamayı inceleyeceğiz.&lt;/p&gt;

&lt;p&gt;Kodlamaya devam!&lt;/p&gt;




&lt;p&gt;Mehmet Amed Ürey&lt;br&gt;
LinkedIn: &lt;a href="https://share.google/tdTewAeweqj46mrIL" rel="noopener noreferrer"&gt;https://share.google/tdTewAeweqj46mrIL&lt;/a&gt;&lt;br&gt;
Hashnode: &lt;a href="https://hashnode.com/@mehmetamedurey" rel="noopener noreferrer"&gt;https://hashnode.com/@mehmetamedurey&lt;/a&gt;&lt;/p&gt;

</description>
      <category>api</category>
      <category>backend</category>
      <category>python</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Multidisipliner Bir Yaklaşım: Linux Sistem Güvenliğinde 'Maker' Bakış Açısı</title>
      <dc:creator>MEHMET AMED ÜREY</dc:creator>
      <pubDate>Thu, 17 Sep 2026 19:55:55 +0000</pubDate>
      <link>https://dev.to/mehmet_amed_urey/multidisipliner-bir-yaklasim-linux-sistem-guvenliginde-maker-bakis-acisi-6g9</link>
      <guid>https://dev.to/mehmet_amed_urey/multidisipliner-bir-yaklasim-linux-sistem-guvenliginde-maker-bakis-acisi-6g9</guid>
      <description>&lt;h1&gt;
  
  
  Merhaba Dev.to Topluluğu!
&lt;/h1&gt;

&lt;p&gt;Ben Mehmet Amed Ürey. Lise 12. sınıf öğrencisi, Deneyap Teknoloji Atölyeleri mezunu ve disiplinler arası projelere odaklanan bir 'Maker'ım. Yazılım geliştirme (Kotlin, Python), 3D tasarım ve donanım otomasyonları ile uğraşırken, yolum sık sık sistemlerin kalbi olan Linux ile kesişiyor.&lt;/p&gt;

&lt;p&gt;Bu yazıda, bir Maker olarak edindiğim tecrübelerin, sistem güvenliği ve Linux yönetimi konusundaki bakış açımı nasıl şekillendirdiğini paylaşmak istiyorum.&lt;/p&gt;




&lt;h2&gt;
  
  
  Fikir'den Çözüm'e: Disiplinleri Birleştirmek
&lt;/h2&gt;

&lt;p&gt;Maker hareketi, temelinde sorunları tespit edip, eldeki araçlarla (kod, donanım, tasarım) o soruna çözüm üretmeyi barındırır. Bu yaklaşım, sistem güvenliğinde de oldukça geçerlidir. Güvenlik, sadece bir yazılım kurmak değil; donanım, işletim sistemi ve kullanıcı alışkanlıklarının bütünsel bir analizidir.&lt;/p&gt;

&lt;p&gt;Benim için bir proje;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;3D Tasarım&lt;/strong&gt; ile fiziksel formunu kazanır,&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Yazılım (Kotlin/Python)&lt;/strong&gt; ile zeka kazanır,&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Linux/Donanım&lt;/strong&gt; ile fiziksel dünyayla etkileşime geçer.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Bu süreç, sistemin her katmanına hâkim olmayı ve potansiyel zafiyetleri daha geniş bir perspektiften görmeyi gerektirir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Linux: Sistem Yönetiminin ve Güvenliğin Temeli
&lt;/h2&gt;

&lt;p&gt;Linux, özgür ve açık kaynaklı yapısıyla bir Maker için mükemmel bir oyun alanıdır. Ancak bu esneklik, beraberinde sorumluluk da getirir. Sistem güvenliği, "kullanıcı" seviyesinden "root" seviyesine kadar her adımda titizlik gerektirir.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sistem Güvenliğinde Dikkat Ettiğim Temel Teknikler
&lt;/h3&gt;

&lt;p&gt;Yazılarımda ve projelerimde sıkça üzerinde durduğum, Linux sistemlerini daha kararlı ve güvenli hale getiren temel teknikler:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Bellek Yönetimi ve Kararlılık: Swap Alanı Analizi
&lt;/h3&gt;

&lt;p&gt;Sınırlı kaynaklara sahip (örneğin 4GB RAM'li) sistemlerde, yüksek yük altında (ağır simülasyonlar veya tarayıcı sekmeleri) sistemin kilitlenmesini veya grafik arayüzünün düşmesini (OOM-Killer) engellemek kritiktir.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Çözüm:&lt;/strong&gt; Sistem üzerinde uygun boyutlu bir &lt;strong&gt;Swap (Takas) Alanı&lt;/strong&gt; yapılandırmak, ani RAM taşmalarını tamponlayarak sistemin kararlılığını korur.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Gereksiz Servislerin Temizlenmesi
&lt;/h3&gt;

&lt;p&gt;Bir sistemde ne kadar çok servis çalışırsa, saldırı yüzeyi o kadar genişler. Özellikle otomasyon veya eğitim için kullanılan sistemlerde, otomatik başlayan gereksiz eğitim araçları veya arka plan hizmetleri sınırlandırılmalıdır.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Teknik:&lt;/strong&gt; &lt;code&gt;systemctl disable&lt;/code&gt; ve &lt;code&gt;systemctl mask&lt;/code&gt; komutları ile sadece gerekli olan servislerin çalışmasını sağlamak.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Periyodik Donanım Bakımı ve Isıl Yönetim
&lt;/h3&gt;

&lt;p&gt;Bu madde genellikle yazılımcılar tarafından göz ardı edilir. Ancak bir Maker olarak biliyorum ki; aşırı ısınan bir CPU, saat frekanslarını düşürür (kasılma) ve kritik sıcaklıkta sistemi kapatır (hizmet kesintisi).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Teknik:&lt;/strong&gt; Yılda en az bir kez termal macun yenilemesi ve hava kanallarının temizlenmesi, sistemin yazılımsal olarak da kararlı çalışmasının temelidir.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Sonuç: Güvenlik Bütünsel Bir Süreçtir
&lt;/h2&gt;

&lt;p&gt;Bir Maker olarak sorunlara yaklaşımım; kod satırlarının ötesine geçip, donanım sınırlarını ve işletim sisteminin bellek yönetimini de kapsıyor. Gerçek sistem güvenliği, bu katmanların her birinde bilinçli adımlar atmakla başlar.&lt;/p&gt;

&lt;p&gt;Gelecek yazılarımda, bu tekniklerin derinlemesine analizlerini ve Teknofest/Tübitak gibi yarışmalara hazırlık süreçlerimdeki teknik deneyimlerimi paylaşmaya devam edeceğim.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Siz, sistemlerinizin güvenliği ve kararlılığı için hangi bütünsel yaklaşımları kullanıyorsunuz? Yorumlarda buluşalım!&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Beni diğer platformlardan da takip edebilirsiniz:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://share.google/tdTewAeweqj46mrIL" rel="noopener noreferrer"&gt;LinkedIn Profilim&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://hashnode.com/@mehmetamedurey" rel="noopener noreferrer"&gt;Hashnode Blogum&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://share.google/LRT4eA8MLNae9vf0i" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>hardware</category>
      <category>linux</category>
      <category>security</category>
    </item>
    <item>
      <title>Fatih Projesi Akıllı Tahtalarında (Faz 1/2) Bellek Yetersizliği, Ekran Kararması ve Olası Donanım Kök Nedenleri</title>
      <dc:creator>MEHMET AMED ÜREY</dc:creator>
      <pubDate>Wed, 16 Sep 2026 10:00:47 +0000</pubDate>
      <link>https://dev.to/mehmet_amed_urey/fatih-projesi-akilli-tahtalarinda-faz-12-bellek-yetersizligi-ekran-kararmasi-ve-olasi-donanim-4f8b</link>
      <guid>https://dev.to/mehmet_amed_urey/fatih-projesi-akilli-tahtalarinda-faz-12-bellek-yetersizligi-ekran-kararmasi-ve-olasi-donanim-4f8b</guid>
      <description>&lt;p&gt;Okullarda kullanılan etkileşimli tahtalarda sıkça karşılaşılan problemlerden biri; yüksek kaynak tüketen uygulamalar çalışırken sistemin aniden kilitlenmesi, panelin kararması veya tamamen görüntü vermeyi kesmesidir. Bu durum çoğu zaman rastgele bir arıza gibi görünse de işletim sistemi ve donanım sınırlarının kesişiminden kaynaklanır.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Bellek (RAM) Sınırı ve OOM-Killer
&lt;/h3&gt;

&lt;p&gt;Birçok etkileşimli tahtada 4 GB civarında RAM bulunur. Tarayıcıda çok sayıda sekme, ağır simülasyonlar veya aynı anda çalışan arka plan hizmetleri belleği tükettiğinde:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Linux (Pardus) tarafında:&lt;/strong&gt; Çekirdek (kernel), sistemi ayakta tutabilmek için Out-Of-Memory (OOM) Killer mekanizmasını devreye sokar. Grafik arayüzünü yöneten Xorg/Wayland sunucusu sonlandırıldığında ekran doğrudan kararır.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Windows tarafında:&lt;/strong&gt; Sayfalama dosyası (paging file) yetersiz kaldığında grafik sürücüsü yanıt vermeyi keser ve siyah ekranda kilitlenme (TDR zaman aşımı) meydana gelir.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Isıl Darboğaz (Thermal Throttling) ve Güç Koruması
&lt;/h3&gt;

&lt;p&gt;Entegre OPS modülleri dar ve hava akışı kısıtlı bir alanda çalışır. Yüksek CPU ve GPU yükü altında:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fanların tozlanması veya termal macunun kuruması nedeniyle sıcaklık ani tepe noktalarına ulaşır.&lt;/li&gt;
&lt;li&gt;Donanım kendini kalıcı hasardan korumak amacıyla saat frekanslarını düşürür (kasılma/donma hissi yaratır), sıcaklık kritik seviyeyi aştığında ise görüntü sinyali doğrudan kesilir.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Çözüm ve Önleyici Adımlar
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Swap/Takas Alanı:&lt;/strong&gt; Sistem üzerinde uygun boyutlu bir swap alanı yapılandırarak ani RAM taşmalarının doğrudan arayüzü düşürmesini engellemek.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Arka Plan Servis Temizliği:&lt;/strong&gt; Otomatik başlayan gereksiz eğitim araçlarını ve arka plan hizmetlerini sınırlandırmak.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Periyodik Donanım Bakımı:&lt;/strong&gt; Yılda en az bir kez OPS modülü hava kanallarının temizlenmesi ve termal yenileme yapılması.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>hardware</category>
      <category>linux</category>
      <category>performance</category>
    </item>
    <item>
      <title>Bellek Adli Bilişiminde /proc/kcore ile Ham RAM İncelemesi</title>
      <dc:creator>MEHMET AMED ÜREY</dc:creator>
      <pubDate>Tue, 15 Sep 2026 19:49:55 +0000</pubDate>
      <link>https://dev.to/mehmet_amed_urey/bellek-adli-bilisiminde-prockcore-ile-ham-ram-incelemesi-go6</link>
      <guid>https://dev.to/mehmet_amed_urey/bellek-adli-bilisiminde-prockcore-ile-ham-ram-incelemesi-go6</guid>
      <description>&lt;p&gt;Canlı bir sistemde bellek analizi yaparken LiME veya Volatility profilleri kurmak her zaman mümkün olmayabilir ya da sisteme harici modül yüklemek delil bütünlüğünü bozabilir. Linux, sistemin fiziksel RAM içeriğini sanal bir ELF dosyası olarak /proc/kcore altında tutar. Bu dosyanın boyutu sistemdeki toplam RAM miktarı kadardır ve doğrudan dd veya strings ile taranabilir. Örneğin yakın zamanda belleğe düşmüş açık metin bir parolayı veya şüpheli bir komut parametresini aramak için "strings /proc/kcore | grep -i 'password='" şeklinde bir arama yapılabilir. Büyük sistemlerde performansı etkilememek için bu dosyanın doğrudan bir kısmını "dd if=/proc/kcore of=/tmp/ram_dump.raw bs=1M count=500" ile alıp harici bir makinede incelemek en pratik adli bilişim yaklaşımlarından biridir.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>infosec</category>
      <category>linux</category>
      <category>security</category>
    </item>
    <item>
      <title>Linux Sistemlerde SUID Biti İle Yetki Yükseltme Tespiti</title>
      <dc:creator>MEHMET AMED ÜREY</dc:creator>
      <pubDate>Tue, 15 Sep 2026 19:44:09 +0000</pubDate>
      <link>https://dev.to/mehmet_amed_urey/linux-sistemlerde-suid-biti-ile-yetki-yukseltme-tespiti-4g17</link>
      <guid>https://dev.to/mehmet_amed_urey/linux-sistemlerde-suid-biti-ile-yetki-yukseltme-tespiti-4g17</guid>
      <description>&lt;p&gt;Linux yetki yükseltme (privilege escalation) senaryolarında saldırganların ilk baktığı yerlerden biri SUID (Set User ID) biti atanmış dosyalardır. Bir ikili dosyada SUID biti aktifse, o dosya kimin tarafından çalıştırılırsa çalıştırılsın dosya sahibinin (çoğunlukla root) yetkileriyle çalışır. Örneğin bir yönetici geçici bir test için /bin/bash veya /usr/bin/find dosyasına "chmod u+s" vermişse, standart bir kullanıcı "find . -exec /bin/sh -p \; -quit" komutuyla anında root kabuğuna düşebilir. Sisteminizde gereksiz yere SUID yetkisi verilmiş tehlikeli dosyaları tespit etmek için terminalde "find / -perm -4000 -type f 2&amp;gt;/dev/null" komutunu çalıştırmanız yeterlidir. Çıktıda nmap, vim, find, base64 veya python gibi programlar görüyorsanız, sistemde ciddi bir yetki aşımı riski bulunuyor demektir.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>linux</category>
      <category>security</category>
    </item>
    <item>
      <title>Python ile DNS Tünelleme (DNS Tunneling) Mantığını Anlamak</title>
      <dc:creator>MEHMET AMED ÜREY</dc:creator>
      <pubDate>Tue, 15 Sep 2026 19:43:27 +0000</pubDate>
      <link>https://dev.to/mehmet_amed_urey/python-ile-dns-tunelleme-dns-tunneling-mantigini-anlamak-23h6</link>
      <guid>https://dev.to/mehmet_amed_urey/python-ile-dns-tunelleme-dns-tunneling-mantigini-anlamak-23h6</guid>
      <description>&lt;p&gt;Kısıtlı veya dış dünyaya kapalı ağlarda güvenlik duvarları genellikle HTTP ve HTTPS portlarını kesse de, iç DNS çözümlemesine izin vermek zorunda kalır. DNS tünelleme, dışarı sızdırılmak istenen veriyi DNS sorgularının alt alan adı (subdomain) kısmına kodlayarak güvenlik duvarlarını atlatma yöntemidir. Mantık oldukça basittir: İletilecek metin önce Base64 formatına çevrilir (örneğin 'veri123' -&amp;gt; 'dmVyaTEyMw==') ve saldırganın kontrolündeki yetkili ad sunucusuna "dmVyaTEyMw.saldirgan.com" şeklinde bir A veya TXT kaydı sorgusu atılır. Python'da scapy veya socket kütüphanesiyle tek satırlık bir UDP paketi oluşturup kurumsal DNS sunucusuna göndermek, verinin ağ dışına çıkması için yeterli olabilir. Bu trafiği tespit etmek isteyen mavi ekipler, DNS loglarında aşırı uzun subdomain yapılarını ve yüksek entropili sorgu sayılarını takip eder.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>networking</category>
      <category>python</category>
      <category>security</category>
    </item>
    <item>
      <title>Bash Geçmişinde Hassas Veri Bırakmamak İçin Tek Karakterlik Çözüm</title>
      <dc:creator>MEHMET AMED ÜREY</dc:creator>
      <pubDate>Tue, 15 Sep 2026 19:34:37 +0000</pubDate>
      <link>https://dev.to/mehmet_amed_urey/bash-gecmisinde-hassas-veri-birakmamak-icin-tek-karakterlik-cozum-3fag</link>
      <guid>https://dev.to/mehmet_amed_urey/bash-gecmisinde-hassas-veri-birakmamak-icin-tek-karakterlik-cozum-3fag</guid>
      <description>&lt;p&gt;Terminalde API anahtarları, şifreler veya hassas parametreler içeren komutlar çalıştırırken bu veriler varsayılan olarak ~/.bash_history dosyasına düz metin olarak kaydedilir. Çoğu kişi işlem bittikten sonra history -c komutuyla tüm geçmişi silmeye çalışır ancak bu hem şüphe çeker hem de iş akışını bozar. Bunun yerine komutun en başına tek bir boşluk bırakarak yazmak çok daha temiz bir yöntemdir. Çoğu Linux dağıtımında HISTCONTROL ortam değişkeni "ignorespace" veya "ignoreboth" olarak tanımlıdır; bu sayede başında boşluk olan hiçbir komut geçmiş dosyasına yazılmaz. Terminalinizde bu özelliğin açık olup olmadığını kontrol etmek için "echo $HISTCONTROL" yazabilir, aktif değilse ~/.bashrc dosyanıza "export HISTCONTROL=ignoreboth" satırını ekleyebilirsiniz.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Linux Ağ Trafiğinde TTL Tabanlı İşletim Sistemi Analizi</title>
      <dc:creator>MEHMET AMED ÜREY</dc:creator>
      <pubDate>Tue, 15 Sep 2026 19:33:31 +0000</pubDate>
      <link>https://dev.to/mehmet_amed_urey/linux-ag-trafiginde-ttl-tabanli-isletim-sistemi-analizi-4l9h</link>
      <guid>https://dev.to/mehmet_amed_urey/linux-ag-trafiginde-ttl-tabanli-isletim-sistemi-analizi-4l9h</guid>
      <description>&lt;p&gt;Hedef bir sistem hakkında bilgi toplarken her zaman nmap gibi aktif port tarayıcıları çalıştırmak gerekmez; bazen sadece tek bir ping paketi bile hedefin işletim sistemi ailesini ele verir. IP paket başlığında yer alan TTL (Time to Live) değeri, varsayılan olarak işletim sistemlerine göre farklı atanır. Genelde Linux çekirdeği varsayılan TTL değerini 64 olarak belirlerken, Windows sistemler 128, Cisco ve bazı ağ cihazları ise 255 kullanır. Örneğin "ping -c 1 hedef_ip" çıktısında gelen TTL 54 ise, paketin 64'ten başlayıp aradaki 10 yönlendiriciden (hop) geçtiğini ve karşı sistemin muhtemelen Linux olduğunu anlarsınız. Aktif tarama izi bırakmadan pasif bilgi toplamak için tcpdump üzerinde 'tcpdump -ni eth0 -v "icmp"' komutuyla geçen paketlerin ham TTL değerlerini filtrelemek fazlasıyla pratiktir.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>linux</category>
      <category>networking</category>
    </item>
    <item>
      <title>Linux Sistemlerde Süreç Gizleme ve /proc/ Manipülasyonunu Tespit Etme</title>
      <dc:creator>MEHMET AMED ÜREY</dc:creator>
      <pubDate>Tue, 15 Sep 2026 19:29:36 +0000</pubDate>
      <link>https://dev.to/mehmet_amed_urey/linux-sistemlerde-surec-gizleme-ve-proc-manipulasyonunu-tespit-etme-3oh5</link>
      <guid>https://dev.to/mehmet_amed_urey/linux-sistemlerde-surec-gizleme-ve-proc-manipulasyonunu-tespit-etme-3oh5</guid>
      <description>&lt;p&gt;Sızma testlerinde veya şüpheli bir Linux makineyi incelerken ps veya top çıktısında görünmeyen ama arka planda çalışan zararlı süreçlerle karşılaşmak mümkün. Çoğu kişi doğrudan rootkit arayışına girse de, bazen saldırganlar sadece çekirdeğin kullanıcı alanına sunduğu süreç tablosunu manipüle eder.&lt;/p&gt;

&lt;p&gt;Linux'ta çalışan her sürecin bir PID numarası vardır ve bu süreçler doğrudan /proc/ dizini altında bir klasör olarak temsil edilir. Örneğin 1337 PID'li bir işlem varsa, /proc/1337 yolu mutlaka var olmalıdır. Klasik kullanıcı araçları (ps, pstree vb.) bilgileri bu dizinden çeker. Bir saldırgan LD_PRELOAD ortam değişkenini kullanarak readdir() sistem çağrısını manipüle ederse veya /proc/PID dizini üzerine boş bir dizini bağlarsa (mount --bind /bos_klasor /proc/1337), ps aracı o süreci görmezden gelir.&lt;/p&gt;

&lt;p&gt;Böyle bir durumda şüpheli süreci tespit etmenin en doğrudan yolu, standart araçlara güvenmek yerine /proc dizinindeki ham PID listesiyle araçların gördüğü listeyi kıyaslamaktır:&lt;/p&gt;

&lt;p&gt;diff &amp;lt;(ls -d /proc/[0-9]* | awk -F'/' '{print $3}' | sort -n) &amp;lt;(ps -ef | awk 'NR&amp;gt;1 {print $2}' | sort -n)&lt;/p&gt;

&lt;p&gt;Çıktıda solda çıkıp sağda çıkmayan bir PID varsa, sistemde standart araçlardan gizlenen aktif bir süreç çalışıyor demektir. Bu PID'nin gerçekte ne yaptığını anlamak için de doğrudan /proc//exe sembolik bağını ve /proc//cmdline dosyasını kontrol etmek gerekir. Basit ama araya giren manipülasyonları doğrudan açığa çıkaran bir yöntem.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>linux</category>
      <category>security</category>
    </item>
    <item>
      <title>Python Projelerinde Geliştirme Sürecini Kolaylaştıran 3 Pratik Araç ve Yöntem</title>
      <dc:creator>MEHMET AMED ÜREY</dc:creator>
      <pubDate>Tue, 15 Sep 2026 19:27:49 +0000</pubDate>
      <link>https://dev.to/mehmet_amed_urey/python-projelerinde-gelistirme-surecini-kolaylastiran-3-pratik-arac-ve-yontem-3917</link>
      <guid>https://dev.to/mehmet_amed_urey/python-projelerinde-gelistirme-surecini-kolaylastiran-3-pratik-arac-ve-yontem-3917</guid>
      <description>&lt;p&gt;Python’da geliştirme sürecini hızlandırmak için ilk olarak print() yerine logging modülü kullanılabilir; örneğin import logging; logging.basicConfig(level=logging.INFO) tanımının ardından kritik durumlarda logging.warning("Hatalı işlem") diyerek terminal çıktıları seviyelendirilir ve kod temizliği kolaylaşır. İkinci olarak, sürüm çakışmalarını önlemek adına her projede python -m venv .venv komutuyla izole bir ortam kurulup pip freeze &amp;gt; requirements.txt ile bağımlılıklar kilitlenmelidir. Son olarak, girinti ve PEP 8 standartlarıyla vakit kaybetmemek için black main.py komutu çalıştırılarak tüm dosya tek seferde otomatik biçimlendirilebilir.&lt;/p&gt;

</description>
      <category>coding</category>
      <category>productivity</category>
      <category>python</category>
      <category>tools</category>
    </item>
  </channel>
</rss>
