{"id":32100,"date":"2025-10-17T18:41:37","date_gmt":"2025-10-17T15:41:37","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=32100"},"modified":"2025-10-17T18:41:37","modified_gmt":"2025-10-17T15:41:37","slug":"ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/","title":{"rendered":"Ubuntu 16.04 \u00dczerinde osquery ile Sistem G\u00fcvenli\u011finizi Nas\u0131l \u0130zlersiniz?"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 16.04 \u00dczerinde osquery ile Sistem G\u00fcvenli\u011finizi Nas\u0131l \u0130zlersiniz?<\/h2>\n<p>Sistem g\u00fcvenli\u011fi, modern bilgi i\u015flem ortamlar\u0131nda en kritik \u00f6nceliklerden biridir. K\u00f6t\u00fc niyetli sald\u0131r\u0131lar, veri ihlalleri ve sistem kesintileri gibi tehditler, i\u015fletmeler ve bireyler i\u00e7in ciddi sonu\u00e7lar do\u011furabilir. Bu tehditlere kar\u015f\u0131 koymak i\u00e7in proaktif ve s\u00fcrekli bir g\u00fcvenlik izleme stratejisi benimsemek elzemdir. Geleneksel g\u00fcvenlik ara\u00e7lar\u0131 genellikle statik analizler veya belirli olaylar\u0131 takip etme \u00fczerine kuruluyken, dinamik ve esnek bir yakla\u015f\u0131m sunan ara\u00e7lar, g\u00fcvenlik analistlerine daha derinlemesine g\u00f6r\u00fcn\u00fcrl\u00fck sa\u011flar. \u0130\u015fte bu noktada, SQL benzeri sorgularla i\u015fletim sistemi verilerini sorgulamam\u0131z\u0131 sa\u011flayan a\u00e7\u0131k kaynakl\u0131 bir ara\u00e7 olan osquery devreye girer. Bu makalede, Ubuntu 16.04 i\u015fletim sistemi \u00fczerinde osquery&#8217;yi kurma, yap\u0131land\u0131rma ve sistem g\u00fcvenli\u011fini etkin bir \u015fekilde izlemek i\u00e7in nas\u0131l kullanaca\u011f\u0131m\u0131z\u0131 ayr\u0131nt\u0131l\u0131 olarak inceleyece\u011fiz.<\/p>\n<h3>Giri\u015f: Neden Sistem G\u00fcvenli\u011fi \u0130zleme ve osquery?<\/h3>\n<p>Sistem g\u00fcvenli\u011fi izleme, bir sistemdeki g\u00fcvenlik olaylar\u0131n\u0131, anormallikleri ve potansiyel tehditleri s\u00fcrekli olarak takip etme s\u00fcrecidir. Bu s\u00fcre\u00e7, yetkisiz eri\u015fim giri\u015fimlerini, k\u00f6t\u00fc ama\u00e7l\u0131 yaz\u0131l\u0131m faaliyetlerini, sistem yap\u0131land\u0131rma de\u011fi\u015fikliklerini ve di\u011fer g\u00fcvenlik ihlallerini erken a\u015famada tespit etmeye yard\u0131mc\u0131 olur. G\u00fcvenlik izleme olmadan, bir sald\u0131r\u0131n\u0131n ne zaman veya nas\u0131l ger\u00e7ekle\u015fti\u011fini anlamak, hasar\u0131 s\u0131n\u0131rlamak ve gelecekteki sald\u0131r\u0131lar\u0131 \u00f6nlemek son derece zorla\u015f\u0131r.<\/p>\n<p>osquery, Facebook taraf\u0131ndan geli\u015ftirilen ve i\u015fletim sistemini y\u00fcksek performansl\u0131 bir ili\u015fkisel veritaban\u0131 gibi ele almam\u0131z\u0131 sa\u011flayan g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Dosya sistemi, \u00e7al\u0131\u015fan s\u00fcre\u00e7ler, a\u011f ba\u011flant\u0131lar\u0131, y\u00fckl\u00fc paketler, kullan\u0131c\u0131 hesaplar\u0131 ve \u00e7ok daha fazlas\u0131 gibi i\u015fletim sistemi verilerini standart SQL sorgular\u0131 kullanarak sorgulayabiliriz. Bu yakla\u015f\u0131m, g\u00fcvenlik analistlerine ve sistem y\u00f6neticilerine, sistemin anl\u0131k durumunu ve ge\u00e7mi\u015f olaylar\u0131n\u0131 anlamak i\u00e7in benzersiz bir esneklik ve g\u00fc\u00e7 sunar. Ubuntu 16.04 gibi sunucu ortamlar\u0131nda, osquery, g\u00fcvenlik duru\u015funu g\u00fc\u00e7lendirmek ve potansiyel tehditleri proaktif olarak tespit etmek i\u00e7in paha bi\u00e7ilmez bir ara\u00e7 haline gelir.<\/p>\n<h3>osquery Nedir?<\/h3>\n<p>osquery, i\u015fletim sistemini bir SQL veritaban\u0131 gibi sorgulaman\u0131z\u0131 sa\u011flayan a\u00e7\u0131k kaynakl\u0131, platformlar aras\u0131 bir ara\u00e7t\u0131r. Geleneksel g\u00fcvenlik ara\u00e7lar\u0131n\u0131n aksine, osquery, sistemdeki de\u011fi\u015fiklikleri veya belirli olaylar\u0131 izlemek i\u00e7in \u00f6nceden tan\u0131mlanm\u0131\u015f kurallara dayanmaz. Bunun yerine, sistemi s\u00fcrekli olarak sorgulayarak veya olay bazl\u0131 verileri toplayarak, g\u00fcvenlik analistlerinin kendi \u00f6zel ihtiya\u00e7lar\u0131na g\u00f6re dinamik sorgular olu\u015fturmas\u0131na olanak tan\u0131r.<\/p>\n<p>osquery&#8217;nin temelinde, i\u015fletim sistemi \u00fczerindeki \u00e7e\u015fitli veri kaynaklar\u0131n\u0131 temsil eden &#8220;sanal tablolar&#8221; bulunur. \u00d6rne\u011fin, <code>processes<\/code> tablosu \u00e7al\u0131\u015fan t\u00fcm s\u00fcre\u00e7ler hakk\u0131nda bilgi sa\u011flarken, <code>users<\/code> tablosu sistemdeki kullan\u0131c\u0131 hesaplar\u0131n\u0131 listeler. <code>listening_ports<\/code> tablosu a\u00e7\u0131k a\u011f portlar\u0131n\u0131 g\u00f6sterirken, <code>deb_packages<\/code> tablosu y\u00fckl\u00fc Debian paketlerini listeler. Bu sanal tablolar, ger\u00e7ek zamanl\u0131 i\u015fletim sistemi verilerini yans\u0131t\u0131r ve standart SQL sorgular\u0131 ile eri\u015filebilir hale getirir.<\/p>\n<p>osquery iki ana bile\u015fenden olu\u015fur:<br \/>\n*   <strong>osqueryi:<\/strong> Etkile\u015fimli bir kabuk (shell) sa\u011flar. Bu kabuk \u00fczerinden anl\u0131k olarak SQL sorgular\u0131 \u00e7al\u0131\u015ft\u0131rabilir ve sistemin o anki durumunu inceleyebilirsiniz. \u00d6zellikle olay m\u00fcdahalesi ve tehdit avc\u0131l\u0131\u011f\u0131 (threat hunting) senaryolar\u0131nda \u00e7ok kullan\u0131\u015fl\u0131d\u0131r.<br \/>\n*   <strong>osqueryd:<\/strong> Bir arka plan hizmeti (daemon) olarak \u00e7al\u0131\u015f\u0131r. Bu hizmet, \u00f6nceden tan\u0131mlanm\u0131\u015f zamanlanm\u0131\u015f sorgular\u0131 (scheduled queries) periyodik olarak \u00e7al\u0131\u015ft\u0131r\u0131r ve sonu\u00e7lar\u0131 bir loglama hedefine (varsay\u0131lan olarak disk veya bir SIEM sistemine) g\u00f6nderir. Bu, s\u00fcrekli g\u00fcvenlik izleme i\u00e7in kritik \u00f6neme sahiptir. Ayr\u0131ca, dosya de\u011fi\u015fiklikleri, s\u00fcre\u00e7 etkinlikleri gibi olaylar\u0131 ger\u00e7ek zamanl\u0131 olarak izlemek i\u00e7in olay tabanl\u0131 (event-based) tablolar\u0131 da destekler.<\/p>\n<p>G\u00fcvenlik a\u00e7\u0131s\u0131ndan osquery&#8217;nin faydalar\u0131 \u015funlard\u0131r:<br \/>\n*   <strong>G\u00f6r\u00fcn\u00fcrl\u00fck:<\/strong> Sistemdeki her t\u00fcrl\u00fc aktiviteye (s\u00fcre\u00e7ler, a\u011f, dosya, kullan\u0131c\u0131lar vb.) derinlemesine g\u00f6r\u00fcn\u00fcrl\u00fck sa\u011flar.<br \/>\n*   <strong>Tespit:<\/strong> K\u00f6t\u00fc ama\u00e7l\u0131 yaz\u0131l\u0131m, yetkisiz de\u011fi\u015fiklikler, yap\u0131land\u0131rma hatalar\u0131 ve di\u011fer g\u00fcvenlik anormalliklerini tespit etmek i\u00e7in \u00f6zel sorgular olu\u015fturulabilir.<br \/>\n*   <strong>Olay M\u00fcdahalesi:<\/strong> Bir g\u00fcvenlik olay\u0131 s\u0131ras\u0131nda h\u0131zl\u0131 bir \u015fekilde bilgi toplamak ve olay\u0131n kapsam\u0131n\u0131 anlamak i\u00e7in etkile\u015fimli sorgular kullan\u0131labilir.<br \/>\n*   <strong>Tehdit Avc\u0131l\u0131\u011f\u0131:<\/strong> Bilinen veya bilinmeyen tehditleri proaktif olarak aramak i\u00e7in sistem verilerini sorgulayarak \u015f\u00fcpheli davran\u0131\u015flar\u0131 ortaya \u00e7\u0131kar\u0131r.<br \/>\n*   <strong>Uyum (Compliance):<\/strong> G\u00fcvenlik politikalar\u0131na uyumu do\u011frulamak i\u00e7in sistem yap\u0131land\u0131rmalar\u0131n\u0131 d\u00fczenli olarak denetleyebilir.<\/p>\n<h3>Neden Ubuntu 16.04?<\/h3>\n<p>Ubuntu 16.04 (Xenial Xerus), Nisan 2016&#8217;da piyasaya s\u00fcr\u00fclen bir Uzun S\u00fcreli Destek (LTS) s\u00fcr\u00fcm\u00fcd\u00fcr. Her ne kadar g\u00fcncel bir s\u00fcr\u00fcm olmasa da, bir\u00e7ok kurumsal ortamda hala kullan\u0131lmakta olan veya ge\u00e7i\u015f s\u00fcrecinde olan sistemler bulunmaktad\u0131r. Bu nedenle, bu platform \u00fczerinde g\u00fcvenlik izleme yeteneklerini anlamak ve uygulamak hala \u00f6nem ta\u015f\u0131maktad\u0131r. osquery, Ubuntu 16.04 dahil olmak \u00fczere bir\u00e7ok Linux da\u011f\u0131t\u0131m\u0131nda sorunsuz bir \u015fekilde \u00e7al\u0131\u015f\u0131r ve sa\u011flad\u0131\u011f\u0131 g\u00fcvenlik g\u00f6r\u00fcn\u00fcrl\u00fc\u011f\u00fc, eski sistemlerin g\u00fcvenlik duru\u015funu modern tehditlere kar\u015f\u0131 g\u00fc\u00e7lendirmeye yard\u0131mc\u0131 olabilir.<\/p>\n<h3>osquery Kurulumu<\/h3>\n<p>Ubuntu 16.04 \u00fczerinde osquery kurmak olduk\u00e7a basittir. osquery ekibi, Debian tabanl\u0131 sistemler i\u00e7in resmi APT depolar\u0131 sunar.<\/p>\n<h4>Ubuntu 16.04 \u00dczerine Kurulum Ad\u0131mlar\u0131<\/h4>\n<p>1.  <strong>GPG Anahtar\u0131n\u0131 Ekleme:<\/strong> osquery paketlerinin do\u011frulu\u011funu sa\u011flamak i\u00e7in GPG anahtar\u0131n\u0131 sisteminize eklemeniz gerekir.<\/p>\n<pre><code class=\"language-bash\">sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B<\/code><\/pre>\n<p>2.  <strong>osquery Deposunu Ekleme:<\/strong> osquery deposunu <code>sources.list.d<\/code> dizinine ekleyin. Ubuntu 16.04 i\u00e7in <code>xenial<\/code> kod ad\u0131n\u0131 kullanmal\u0131s\u0131n\u0131z.<\/p>\n<pre><code class=\"language-bash\">echo \"deb [arch=amd64] https:\/\/pkg.osquery.io\/deb deb-xenial main\" | sudo tee \/etc\/apt\/sources.list.d\/osquery.list<\/code><\/pre>\n<p>3.  <strong>Paket Listesini G\u00fcncelleme:<\/strong> Yeni depoyu tan\u0131mas\u0131 i\u00e7in APT paket listesini g\u00fcncelleyin.<\/p>\n<pre><code class=\"language-bash\">sudo apt update<\/code><\/pre>\n<p>4.  <strong>osquery Kurulumu:<\/strong> \u015eimdi osquery paketini kurabilirsiniz.<\/p>\n<pre><code class=\"language-bash\">sudo apt install osquery<\/code><\/pre>\n<p>5.  <strong>Kurulumu Do\u011frulama:<\/strong> osquery&#8217;nin ba\u015far\u0131yla kuruldu\u011funu ve \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in s\u00fcr\u00fcm kontrol\u00fc yapabilir ve etkile\u015fimli kabu\u011fa girebilirsiniz.<\/p>\n<pre><code class=\"language-bash\">osqueryi --version\n    osqueryi<\/code><\/pre>\n<p>    <code>osqueryi<\/code> komutunu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, <code>osquery><\/code> komut istemini g\u00f6rmelisiniz. Buradan SQL sorgular\u0131n\u0131z\u0131 \u00e7al\u0131\u015ft\u0131rabilirsiniz. \u00c7\u0131kmak i\u00e7in <code>.exit<\/code> yaz\u0131p Enter tu\u015funa bas\u0131n.<\/p>\n<h3>osquery Temelleri: \u0130lk Sorgular\u0131n\u0131z<\/h3>\n<p>osquery&#8217;nin g\u00fcc\u00fcn\u00fc anlamak i\u00e7in baz\u0131 temel sorgularla ba\u015flamak \u00f6nemlidir. Bu sorgular, sisteminizin anl\u0131k durumu hakk\u0131nda an\u0131nda bilgi edinmenizi sa\u011flar.<\/p>\n<h4>osqueryd ve osqueryi<\/h4>\n<p>Kurulumdan sonra, <code>osqueryd<\/code> hizmeti varsay\u0131lan olarak arka planda \u00e7al\u0131\u015fmaya ba\u015flar ve yap\u0131land\u0131rma dosyas\u0131nda tan\u0131mlanan zamanlanm\u0131\u015f sorgular\u0131 y\u00fcr\u00fct\u00fcr. <code>osqueryi<\/code> ise sadece etkile\u015fimli sorgular i\u00e7in kullan\u0131l\u0131r ve bir oturumdan sonra kapan\u0131r. G\u00fcvenlik izleme i\u00e7in genellikle <code>osqueryd<\/code> kullan\u0131l\u0131rken, olay m\u00fcdahalesi ve tehdit avc\u0131l\u0131\u011f\u0131 i\u00e7in <code>osqueryi<\/code> tercih edilir.<\/p>\n<h4>Temel Sorgu Yap\u0131s\u0131<\/h4>\n<p>osquery&#8217;deki sorgular standart SQL s\u00f6zdizimini kullan\u0131r: <code>SELECT kolonlar FROM tablo [WHERE ko\u015fullar] [ORDER BY kolon] [LIMIT say\u0131];<\/code>.<\/p>\n<p>\u0130\u015fte g\u00fcvenlik izleme ba\u011flam\u0131nda kullanabilece\u011finiz baz\u0131 temel sorgular:<\/p>\n<p>1.  <strong>Kullan\u0131c\u0131 Hesaplar\u0131n\u0131 Listeleme:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT uid, gid, username, description, directory, shell FROM users;<\/code><\/pre>\n<p>    Bu sorgu, sistemdeki t\u00fcm kullan\u0131c\u0131lar\u0131n UID, GID, kullan\u0131c\u0131 ad\u0131, a\u00e7\u0131klama, ana dizin ve kabuk bilgilerini listeler. Yetkisiz veya \u015f\u00fcpheli yeni kullan\u0131c\u0131 hesaplar\u0131n\u0131 tespit etmek i\u00e7in kullan\u0131labilir.<\/p>\n<p>2.  <strong>\u00c7al\u0131\u015fan S\u00fcre\u00e7leri G\u00f6r\u00fcnt\u00fcleme:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT pid, name, path, cmdline, cwd, uid, gid FROM processes;<\/code><\/pre>\n<p>    Sistemde \u00e7al\u0131\u015fan t\u00fcm s\u00fcre\u00e7lerin PID, ad\u0131, y\u00fcr\u00fct\u00fclebilir yolu, komut sat\u0131r\u0131 arg\u00fcmanlar\u0131, \u00e7al\u0131\u015fma dizini, kullan\u0131c\u0131 ve grup kimli\u011fi gibi detaylar\u0131n\u0131 g\u00f6sterir. Bilinmeyen veya \u015f\u00fcpheli s\u00fcre\u00e7leri tespit etmek i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<p>3.  <strong>A\u00e7\u0131k A\u011f Portlar\u0131n\u0131 Listeleme:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT pid, port, protocol, family, address, state FROM listening_ports;<\/code><\/pre>\n<p>    Sistemde dinlemede olan t\u00fcm TCP\/UDP portlar\u0131n\u0131, ilgili s\u00fcre\u00e7 PID&#8217;sini, protokol\u00fc, adresi ve durumu listeler. Yetkisiz bir hizmetin \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 veya k\u00f6t\u00fc ama\u00e7l\u0131 bir yaz\u0131l\u0131m\u0131n bir arka kap\u0131 (backdoor) a\u00e7\u0131p a\u00e7mad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in idealdir.<\/p>\n<p>4.  <strong>Son Giri\u015f Yapan Kullan\u0131c\u0131lar\u0131 G\u00f6r\u00fcnt\u00fcleme:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT username, type, host, time FROM logged_in_users;<\/code><\/pre>\n<p>    Sisteme son giri\u015f yapan kullan\u0131c\u0131lar\u0131, giri\u015f tipini (tty, ssh vb.), kaynak ana bilgisayar\u0131 ve zaman\u0131 g\u00f6sterir. \u015e\u00fcpheli giri\u015fleri veya yetkisiz kullan\u0131c\u0131lar\u0131n varl\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in faydal\u0131d\u0131r.<\/p>\n<p>5.  <strong>SUID\/SGID Bitli \u00c7al\u0131\u015ft\u0131r\u0131labilir Dosyalar\u0131 Bulma:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT path, filename, uid, gid, mode FROM suid_bin;<\/code><\/pre>\n<p>    Sistemdeki SUID (Set User ID) veya SGID (Set Group ID) bitleri ayarlanm\u0131\u015f t\u00fcm \u00e7al\u0131\u015ft\u0131r\u0131labilir dosyalar\u0131 listeler. Bu dosyalar genellikle ayr\u0131cal\u0131k y\u00fckseltme (privilege escalation) sald\u0131r\u0131lar\u0131nda kullan\u0131l\u0131r, bu y\u00fczden anormallikleri izlemek \u00f6nemlidir.<\/p>\n<p>6.  <strong>Ba\u015flang\u0131\u00e7 \u00d6\u011felerini G\u00f6r\u00fcnt\u00fcleme:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT name, path, type FROM startup_items;<\/code><\/pre>\n<p>    Sistem ba\u015flang\u0131c\u0131nda otomatik olarak \u00e7al\u0131\u015fan programlar\u0131 ve betikleri listeler. K\u00f6t\u00fc ama\u00e7l\u0131 yaz\u0131l\u0131mlar genellikle kal\u0131c\u0131l\u0131k sa\u011flamak i\u00e7in ba\u015flang\u0131\u00e7 \u00f6\u011felerini kullan\u0131r.<\/p>\n<p>Bu sorgular, osquery&#8217;nin sundu\u011fu y\u00fczlerce tablodan sadece birka\u00e7 \u00f6rnektir. Her bir tablo, sistemin farkl\u0131 bir y\u00f6n\u00fc hakk\u0131nda bilgi sa\u011flar ve g\u00fcvenlik analistlerinin kapsaml\u0131 bir g\u00f6r\u00fcn\u00fcm elde etmesine yard\u0131mc\u0131 olur.<\/p>\n<h3>Sistem G\u00fcvenli\u011fini \u0130zlemek \u0130\u00e7in osquery Kullan\u0131m\u0131<\/h3>\n<p>osquery&#8217;yi g\u00fcvenlik izleme i\u00e7in kullan\u0131rken, belirli tehdit vekt\u00f6rlerini hedefleyen sorgular ve yap\u0131land\u0131rmalar olu\u015fturmak \u00f6nemlidir. \u0130\u015fte baz\u0131 yayg\u0131n g\u00fcvenlik senaryolar\u0131 ve osquery&#8217;nin bunlar\u0131 nas\u0131l ele alabilece\u011fi:<\/p>\n<h4>K\u00f6t\u00fc Ama\u00e7l\u0131 Yaz\u0131l\u0131m ve Yetkisiz De\u011fi\u015fiklik Tespiti<\/h4>\n<p>1.  <strong>Dosya B\u00fct\u00fcnl\u00fc\u011f\u00fc \u0130zleme (FIM):<\/strong> osquery, kritik dosyalar\u0131n ve dizinlerin de\u011fi\u015fikliklerini izlemek i\u00e7in <code>file_events<\/code> tablosunu kullanabilir. Bu tablo, dosya olu\u015fturma, de\u011fi\u015ftirme ve silme olaylar\u0131n\u0131 kaydeder. Ancak, bu olay tablosu y\u00fcksek performans maliyetine sahip olabilir ve dikkatli yap\u0131land\u0131rma gerektirir.<br \/>\n    *   <strong>Yap\u0131land\u0131rma:<\/strong> <code>\/etc\/osquery\/osquery.conf<\/code> dosyas\u0131nda <code>file_paths<\/code> anahtar\u0131n\u0131 kullanarak izlenecek yollar\u0131 belirtmelisiniz.<\/p>\n<pre><code class=\"language-json\">\"file_paths\": {\n          \"etc\": [\n            \"\/etc\/passwd\",\n            \"\/etc\/shadow\",\n            \"\/etc\/hosts\",\n            \"\/etc\/crontab\",\n            \"\/etc\/sudoers.d\/%\"\n          ],\n          \"binaries\": [\n            \"\/usr\/bin\/ssh\",\n            \"\/bin\/login\"\n          ]\n        }<\/code><\/pre>\n<p>    *   <strong>Sorgu (ancak <code>file_events<\/code> do\u011frudan sorgulanmaz, olaylar loglan\u0131r):<\/strong> <code>osqueryd<\/code> bu olaylar\u0131 toplayacak ve log dosyalar\u0131na yazacakt\u0131r. Daha sonra bu loglar\u0131 SIEM sisteminizde analiz edebilirsiniz.<\/p>\n<p>2.  <strong>\u015e\u00fcpheli S\u00fcre\u00e7leri \u0130zleme:<\/strong><br \/>\n    *   <strong>Yeni veya Bilinmeyen S\u00fcre\u00e7ler:<\/strong> <code>processes<\/code> tablosunu belirli bir zaman aral\u0131\u011f\u0131nda ba\u015flat\u0131lan s\u00fcre\u00e7leri bulmak i\u00e7in kullanabilirsiniz.<\/p>\n<pre><code class=\"language-sql\">SELECT pid, name, path, cmdline, start_time FROM processes WHERE start_time > (strftime('%s', 'now') - 300);<\/code><\/pre>\n<p>        Bu sorgu, son 5 dakika i\u00e7inde ba\u015flat\u0131lan s\u00fcre\u00e7leri g\u00f6sterir. Zamanlanm\u0131\u015f bir sorgu olarak \u00e7al\u0131\u015ft\u0131r\u0131larak yeni s\u00fcre\u00e7lerin anormalliklerini tespit edebilir.<br \/>\n    *   <strong>Y\u00fcksek CPU\/Bellek Kullanan S\u00fcre\u00e7ler:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT pid, name, resident_size, total_size, user_time, system_time FROM processes ORDER BY resident_size DESC LIMIT 10;<\/code><\/pre>\n<p>        Bu, sistem kaynaklar\u0131n\u0131 a\u015f\u0131r\u0131 kullanan s\u00fcre\u00e7leri bulmaya yard\u0131mc\u0131 olur, ki bu da k\u00f6t\u00fc ama\u00e7l\u0131 yaz\u0131l\u0131m aktivitesinin bir g\u00f6stergesi olabilir.<br \/>\n    *   <strong>\u015e\u00fcpheli Yollardan \u00c7al\u0131\u015fan S\u00fcre\u00e7ler:<\/strong> K\u00f6t\u00fc ama\u00e7l\u0131 yaz\u0131l\u0131mlar genellikle <code>\/tmp<\/code> veya <code>\/dev\/shm<\/code> gibi ge\u00e7ici dizinlerden \u00e7al\u0131\u015f\u0131r.<\/p>\n<pre><code class=\"language-sql\">SELECT pid, name, path, cmdline FROM processes WHERE path LIKE '\/tmp\/%' OR path LIKE '\/dev\/shm\/%';<\/code><\/pre>\n<p>3.  <strong>SUID\/SGID Dosyalar\u0131ndaki De\u011fi\u015fiklikleri \u0130zleme:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT path, filename, uid, gid, mode, type FROM suid_bin;<\/code><\/pre>\n<p>    Bu sorguyu d\u00fczenli olarak \u00e7al\u0131\u015ft\u0131rarak yeni SUID\/SGID bitli dosyalar\u0131n eklenip eklenmedi\u011fini veya mevcut dosyalar\u0131n izinlerinin de\u011fi\u015fip de\u011fi\u015fmedi\u011fini kontrol edebilirsiniz.<\/p>\n<p>4.  <strong>Cron \u0130\u015flerindeki De\u011fi\u015fiklikler:<\/strong> K\u00f6t\u00fc ama\u00e7l\u0131 yaz\u0131l\u0131mlar genellikle kal\u0131c\u0131l\u0131k sa\u011flamak i\u00e7in cron i\u015flerini kullan\u0131r.<\/p>\n<pre><code class=\"language-sql\">SELECT command, path, hour, minute FROM crontab;<\/code><\/pre>\n<p>    Bu sorguyu d\u00fczenli olarak \u00e7al\u0131\u015ft\u0131rarak beklenmedik yeni cron i\u015flerini tespit edebilirsiniz.<\/p>\n<h4>A\u011f Aktivitesi \u0130zleme<\/h4>\n<p>1.  <strong>Yetkisiz Dinleme Portlar\u0131:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT pid, port, protocol, address, state, process_name FROM listening_ports;<\/code><\/pre>\n<p>    Bu sorgu, sistemde dinlemede olan t\u00fcm portlar\u0131 ve ilgili s\u00fcre\u00e7leri g\u00f6sterir. Bilinmeyen bir uygulaman\u0131n bir port a\u00e7\u0131p a\u00e7mad\u0131\u011f\u0131n\u0131 veya k\u00f6t\u00fc ama\u00e7l\u0131 bir yaz\u0131l\u0131m\u0131n bir arka kap\u0131 olu\u015fturup olu\u015fturmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in \u00f6nemlidir.<\/p>\n<p>2.  <strong>\u015e\u00fcpheli Giden Ba\u011flant\u0131lar:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT local_address, remote_address, remote_port, family, protocol, pid, process_name FROM socket_open_connections;<\/code><\/pre>\n<p>    Bu sorgu, sistemden d\u0131\u015far\u0131ya do\u011fru yap\u0131lan t\u00fcm aktif ba\u011flant\u0131lar\u0131 listeler. Bilinmeyen bir hedefe ba\u011flant\u0131 kurmaya \u00e7al\u0131\u015fan s\u00fcre\u00e7leri veya k\u00f6t\u00fc ama\u00e7l\u0131 yaz\u0131l\u0131mlar\u0131n komuta ve kontrol (C2) sunucular\u0131yla ileti\u015fim kurup kurmad\u0131\u011f\u0131n\u0131 tespit etmek i\u00e7in kullan\u0131labilir.<\/p>\n<p>3.  <strong>DNS Cache \u0130zleme:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT hostname, address, type, time FROM dns_cache;<\/code><\/pre>\n<p>    DNS \u00f6nbelle\u011fini kontrol ederek \u015f\u00fcpheli alan adlar\u0131na yap\u0131lan \u00e7\u00f6z\u00fcmleri veya DNS zehirlenmesi (DNS poisoning) giri\u015fimlerini tespit edebilirsiniz.<\/p>\n<h4>Kullan\u0131c\u0131 ve Yetki \u0130zleme<\/h4>\n<p>1.  <strong>Yeni veya De\u011fi\u015ftirilmi\u015f Kullan\u0131c\u0131 Hesaplar\u0131:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT uid, username, description, directory, shell, create_time FROM users;<\/code><\/pre>\n<p>    Bu sorguyu zamanlanm\u0131\u015f olarak \u00e7al\u0131\u015ft\u0131rarak <code>create_time<\/code> veya di\u011fer alanlardaki de\u011fi\u015fiklikleri izleyerek yeni kullan\u0131c\u0131lar\u0131n eklenip eklenmedi\u011fini veya mevcut kullan\u0131c\u0131lar\u0131n \u00f6zelliklerinin de\u011fi\u015ftirilip de\u011fi\u015ftirilmedi\u011fini tespit edebilirsiniz.<\/p>\n<p>2.  <strong>Sudo Olaylar\u0131:<\/strong> osquery, <code>sudo_events<\/code> tablosu arac\u0131l\u0131\u011f\u0131yla sudo komutlar\u0131n\u0131n kullan\u0131m\u0131n\u0131 izleyebilir (e\u011fer olaylar etkinle\u015ftirildiyse).<\/p>\n<pre><code class=\"language-sql\">SELECT uid, username, command, time FROM sudo_events;<\/code><\/pre>\n<p>    Bu, ayr\u0131cal\u0131k y\u00fckseltme giri\u015fimlerini veya yetkisiz sudo kullan\u0131m\u0131n\u0131 tespit etmek i\u00e7in \u00f6nemlidir.<\/p>\n<p>3.  <strong>Giri\u015f Ge\u00e7mi\u015fi:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT username, host, time FROM last;<\/code><\/pre>\n<p>    Bu sorgu, sistemdeki kullan\u0131c\u0131lar\u0131n son giri\u015flerini g\u00f6sterir. Yetkisiz giri\u015fleri veya \u015f\u00fcpheli kaynak IP adreslerinden gelen giri\u015fleri tespit etmek i\u00e7in kullan\u0131labilir.<\/p>\n<h4>Sistem Konfig\u00fcrasyonu ve Zafiyet Y\u00f6netimi<\/h4>\n<p>1.  <strong>Y\u00fckl\u00fc Paketleri Kontrol Etme:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT name, version, arch, source FROM deb_packages;<\/code><\/pre>\n<p>    Bu sorgu, sistemde y\u00fckl\u00fc t\u00fcm Debian paketlerini listeler. Bilinen g\u00fcvenlik a\u00e7\u0131klar\u0131na sahip eski yaz\u0131l\u0131m s\u00fcr\u00fcmlerini veya yetkisiz paketlerin y\u00fcklenip y\u00fcklenmedi\u011fini kontrol etmek i\u00e7in kullan\u0131labilir.<\/p>\n<p>2.  <strong>\/etc\/hosts Dosyas\u0131n\u0131 \u0130zleme:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT address, hostnames FROM etc_hosts;<\/code><\/pre>\n<p>    <code>\/etc\/hosts<\/code> dosyas\u0131ndaki de\u011fi\u015fiklikler, DNS zehirlenmesi veya k\u00f6t\u00fc ama\u00e7l\u0131 alan adlar\u0131n\u0131n yerel olarak \u00e7\u00f6z\u00fcmlenmesi giri\u015fimlerini g\u00f6sterebilir.<\/p>\n<p>3.  <strong>Kernel Mod\u00fcllerini Kontrol Etme:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT name, path, author, license FROM kernel_modules;<\/code><\/pre>\n<p>    \u015e\u00fcpheli veya bilinmeyen \u00e7ekirdek mod\u00fcllerinin y\u00fcklenmesi, rootkit gibi geli\u015fmi\u015f k\u00f6t\u00fc ama\u00e7l\u0131 yaz\u0131l\u0131mlar\u0131n bir g\u00f6stergesi olabilir.<\/p>\n<h3>osquery Konfig\u00fcrasyonu: G\u00fcvenlik \u0130zleme \u0130\u00e7in Optimizasyon<\/h3>\n<p>osquery&#8217;nin tam potansiyelini kullanmak i\u00e7in <code>osquery.conf<\/code> yap\u0131land\u0131rma dosyas\u0131n\u0131 anlamak ve d\u00fczenlemek \u00e7ok \u00f6nemlidir. Bu dosya, <code>osqueryd<\/code> daemon&#8217;unun nas\u0131l davranaca\u011f\u0131n\u0131, hangi sorgular\u0131 ne s\u0131kl\u0131kla \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131 ve loglar\u0131 nereye g\u00f6nderece\u011fini belirler.<\/p>\n<h4>Yap\u0131land\u0131rma Dosyas\u0131 (osquery.conf)<\/h4>\n<p>osquery&#8217;nin ana yap\u0131land\u0131rma dosyas\u0131 genellikle <code>\/etc\/osquery\/osquery.conf<\/code> konumunda bulunur. Bu dosya JSON format\u0131ndad\u0131r.<\/p>\n<pre><code class=\"language-json\">{\n  \"options\": {\n    \"config_plugin\": \"filesystem\",\n    \"logger_plugin\": \"filesystem\",\n    \"schedule_splay_percent\": 10,\n    \"disable_events\": false,\n    \"enable_file_events\": true,\n    \"events_expiry\": 3600,\n    \"verbose\": false,\n    \"pack_delimiter\": \"\/\"\n  },\n  \"schedule\": {\n    \"users_check\": {\n      \"query\": \"SELECT uid, username, description FROM users;\",\n      \"interval\": 3600\n    },\n    \"listening_ports_check\": {\n      \"query\": \"SELECT pid, port, protocol, address FROM listening_ports;\",\n      \"interval\": 300\n    },\n    \"suid_binaries_check\": {\n      \"query\": \"SELECT path, filename FROM suid_bin;\",\n      \"interval\": 7200\n    }\n  },\n  \"file_paths\": {\n    \"critical_configs\": [\n      \"\/etc\/passwd\",\n      \"\/etc\/shadow\",\n      \"\/etc\/sudoers\",\n      \"\/etc\/cron.d\/%\",\n      \"\/etc\/ssh\/sshd_config\"\n    ],\n    \"web_server_root\": [\n      \"\/var\/www\/html\/%\"\n    ]\n  },\n  \"packs\": {\n    \"incident-response\": \"\/usr\/share\/osquery\/packs\/incident-response.conf\",\n    \"osquery-monitoring\": \"\/usr\/share\/osquery\/packs\/osquery-monitoring.conf\"\n  }\n}<\/code><\/pre>\n<p><strong>Temel Yap\u0131land\u0131rma B\u00f6l\u00fcmleri:<\/strong><\/p>\n<p>1.  <strong><code>options<\/code>:<\/strong> osquery daemon&#8217;unun genel davran\u0131\u015f\u0131n\u0131 kontrol eden anahtarlar\u0131 i\u00e7erir.<br \/>\n    *   <code>config_plugin<\/code>: Yap\u0131land\u0131rma dosyas\u0131n\u0131n nereden y\u00fcklendi\u011fini belirtir (genellikle <code>filesystem<\/code>).<br \/>\n    *   <code>logger_plugin<\/code>: Loglar\u0131n nereye g\u00f6nderilece\u011fini belirler (<code>filesystem<\/code>, <code>syslog<\/code>, <code>tls<\/code> vb.).<br \/>\n    *   <code>schedule_splay_percent<\/code>: Zamanlanm\u0131\u015f sorgular\u0131n ba\u015flang\u0131\u00e7 zamanlar\u0131n\u0131 rastgele yayarak CPU y\u00fck\u00fcn\u00fc dengelemeye yard\u0131mc\u0131 olur.<br \/>\n    *   <code>disable_events<\/code>: Olay tabanl\u0131 tablolar\u0131n devre d\u0131\u015f\u0131 b\u0131rak\u0131l\u0131p b\u0131rak\u0131lmayaca\u011f\u0131n\u0131 kontrol eder. <code>false<\/code> olarak ayarlanmal\u0131d\u0131r.<br \/>\n    *   <code>enable_file_events<\/code>: Dosya olaylar\u0131n\u0131n izlenmesini etkinle\u015ftirir. <code>true<\/code> olarak ayarlanmal\u0131d\u0131r.<br \/>\n    *   <code>events_expiry<\/code>: Olaylar\u0131n ne kadar s\u00fcreyle saklanaca\u011f\u0131n\u0131 belirler (saniye cinsinden).<\/p>\n<p>2.  <strong><code>schedule<\/code>:<\/strong> Periyodik olarak \u00e7al\u0131\u015ft\u0131r\u0131lacak SQL sorgular\u0131n\u0131 tan\u0131mlar. Her sorgu i\u00e7in benzersiz bir anahtar, <code>query<\/code> (\u00e7al\u0131\u015ft\u0131r\u0131lacak SQL sorgusu) ve <code>interval<\/code> (sorgunun ka\u00e7 saniyede bir \u00e7al\u0131\u015ft\u0131r\u0131laca\u011f\u0131) belirtilir.<br \/>\n    *   <strong>\u00d6rnek G\u00fcvenlik Sorgular\u0131:<\/strong><br \/>\n        *   <strong>Yeni Kullan\u0131c\u0131 Tespiti:<\/strong><\/p>\n<pre><code class=\"language-json\">\"new_users_check\": {\n              \"query\": \"SELECT uid, username, description, directory, shell FROM users WHERE create_time > (strftime('%s', 'now') - 3600);\",\n              \"interval\": 3600,\n              \"description\": \"Her saat yeni olu\u015fturulan kullan\u0131c\u0131lar\u0131 kontrol et.\"\n            }<\/code><\/pre>\n<p>            Bu sorgu her saat \u00e7al\u0131\u015farak son bir saat i\u00e7inde olu\u015fturulan kullan\u0131c\u0131lar\u0131 bulur. <code>create_time<\/code> alan\u0131 osquery&#8217;nin baz\u0131 versiyonlar\u0131nda olmayabilir, bu durumda <code>users<\/code> tablosundaki di\u011fer alanlar\u0131 kullanarak (\u00f6rne\u011fin, kullan\u0131c\u0131lar\u0131n bir \u00f6nceki sorgudaki listeyle kar\u015f\u0131la\u015ft\u0131r\u0131lmas\u0131) de\u011fi\u015fiklikleri tespit etmek gerekir. osquery genellikle <code>differential<\/code> anahtar\u0131n\u0131 kullanarak \u00f6nceki sonu\u00e7larla farklar\u0131 raporlar.<\/p>\n<pre><code class=\"language-json\">\"new_users_differential\": {\n              \"query\": \"SELECT uid, username, description, directory, shell FROM users;\",\n              \"interval\": 3600,\n              \"description\": \"Kullan\u0131c\u0131 hesaplar\u0131ndaki de\u011fi\u015fiklikleri raporla.\",\n              \"snapshot\": false,\n              \"platform\": \"linux\",\n              \"removed\": false\n            }<\/code><\/pre>\n<p>            <code>snapshot: false<\/code> ve <code>removed: false<\/code> ile differential sorgular, sadece yeni eklenen veya de\u011fi\u015fen sat\u0131rlar\u0131 loglar.<\/p>\n<p>        *   <strong>De\u011fi\u015fen SUID\/SGID Binaries:<\/strong><\/p>\n<pre><code class=\"language-json\">\"suid_bin_differential\": {\n              \"query\": \"SELECT path, filename, uid, gid, mode FROM suid_bin;\",\n              \"interval\": 86400,\n              \"description\": \"SUID\/SGID bitli dosyalardaki de\u011fi\u015fiklikleri g\u00fcnl\u00fck olarak kontrol et.\",\n              \"snapshot\": false,\n              \"platform\": \"linux\",\n              \"removed\": false\n            }<\/code><\/pre>\n<p>        *   <strong>\u015e\u00fcpheli \u00c7al\u0131\u015fan S\u00fcre\u00e7ler:<\/strong><\/p>\n<pre><code class=\"language-json\">\"suspicious_processes\": {\n              \"query\": \"SELECT pid, name, path, cmdline, uid FROM processes WHERE path LIKE '\/tmp\/%' OR path LIKE '\/dev\/shm\/%';\",\n              \"interval\": 300,\n              \"description\": \"Ge\u00e7ici dizinlerdeki \u015f\u00fcpheli s\u00fcre\u00e7leri her 5 dakikada bir kontrol et.\"\n            }<\/code><\/pre>\n<p>3.  <strong><code>file_paths<\/code>:<\/strong> <code>file_events<\/code> tablosunun hangi dosya ve dizinleri izleyece\u011fini tan\u0131mlar. Wildcard (<code>%<\/code>) kullan\u0131m\u0131yla dizinler alt\u0131ndaki t\u00fcm dosyalar izlenebilir.<br \/>\n    *   Kritik sistem dosyalar\u0131 (<code>\/etc\/passwd<\/code>, <code>\/etc\/shadow<\/code>, <code>\/etc\/sudoers.d\/<\/code>, <code>\/var\/log\/<\/code>)<br \/>\n    *   Web sunucusu k\u00f6k dizinleri (<code>\/var\/www\/html\/<\/code>)<br \/>\n    *   Kullan\u0131c\u0131 ana dizinleri (<code>\/home\/%\/.ssh\/authorized_keys<\/code>)<\/p>\n<p>4.  <strong><code>packs<\/code>:<\/strong> \u00d6nceden tan\u0131mlanm\u0131\u015f sorgu setlerini (pack&#8217;leri) i\u00e7erir. osquery, genel g\u00fcvenlik izleme, olay m\u00fcdahalesi veya uyumluluk i\u00e7in bir\u00e7ok haz\u0131r pack ile gelir. Bu pack&#8217;ler, <code>\/usr\/share\/osquery\/packs\/<\/code> dizininde bulunur.<br \/>\n    *   <code>incident-response.conf<\/code>: Olay m\u00fcdahalesi s\u0131ras\u0131nda faydal\u0131 olabilecek sorgular\u0131 i\u00e7erir.<br \/>\n    *   <code>osquery-monitoring.conf<\/code>: osquery daemon&#8217;unun kendisini izlemek i\u00e7in sorgular i\u00e7erir.<br \/>\n    *   Bu pack&#8217;leri etkinle\u015ftirmek i\u00e7in sadece adlar\u0131n\u0131 yap\u0131land\u0131rma dosyas\u0131na eklemeniz yeterlidir.<\/p>\n<p>Yap\u0131land\u0131rma dosyas\u0131n\u0131 de\u011fi\u015ftirdikten sonra, de\u011fi\u015fikliklerin etkili olmas\u0131 i\u00e7in <code>osqueryd<\/code> hizmetini yeniden ba\u015flatman\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart osqueryd<\/code><\/pre>\n<h4>Loglama ve Entegrasyon<\/h4>\n<p>osquery, toplad\u0131\u011f\u0131 verileri \u00e7e\u015fitli hedeflere loglayabilir. Varsay\u0131lan olarak, loglar <code>\/var\/log\/osquery\/<\/code> dizinine JSON format\u0131nda yaz\u0131l\u0131r.<\/p>\n<p>*   <strong><code>osqueryd.results.log<\/code>:<\/strong> Zamanlanm\u0131\u015f sorgular\u0131n sonu\u00e7lar\u0131n\u0131 i\u00e7erir.<br \/>\n*   <strong><code>osqueryd.events.log<\/code>:<\/strong> Olay tabanl\u0131 tablolar\u0131n (file_events, process_events vb.) olaylar\u0131n\u0131 i\u00e7erir.<\/p>\n<p>Bu JSON loglar\u0131, bir G\u00fcvenlik Bilgileri ve Olay Y\u00f6netimi (SIEM) sistemi (\u00f6rne\u011fin, Splunk, ELK Stack, Graylog) taraf\u0131ndan kolayca ayr\u0131\u015ft\u0131r\u0131labilir ve analiz edilebilir. osquery, loglar\u0131 do\u011frudan bir <code>syslog<\/code> sunucusuna veya TLS \u00fczerinden bir SIEM&#8217;e g\u00f6ndermek i\u00e7in de yap\u0131land\u0131r\u0131labilir.<\/p>\n<p>*   <strong>Syslog Entegrasyonu (\u00f6rnek):<\/strong><\/p>\n<pre><code class=\"language-json\">\"options\": {\n      \"logger_plugin\": \"syslog\",\n      \"syslog_pipe_path\": \"\/dev\/log\"\n    }<\/code><\/pre>\n<p>    Bu yap\u0131land\u0131rma, loglar\u0131 yerel syslog daemon&#8217;una g\u00f6nderir. Daha sonra syslog&#8217;u bir uzak SIEM&#8217;e y\u00f6nlendirebilirsiniz.<\/p>\n<p>*   <strong>TLS Entegrasyonu (\u00f6rnek):<\/strong><\/p>\n<pre><code class=\"language-json\">\"options\": {\n      \"logger_plugin\": \"tls\",\n      \"tls_hostname\": \"your-siem-server.com\",\n      \"tls_port\": 8443,\n      \"tls_server_certs\": \"\/etc\/osquery\/certs\/server.pem\",\n      \"tls_client_certs\": \"\/etc\/osquery\/certs\/client.pem\",\n      \"tls_client_key\": \"\/etc\/osquery\/certs\/client.key\"\n    }<\/code><\/pre>\n<p>    TLS entegrasyonu, loglar\u0131 do\u011frudan \u015fifreli bir ba\u011flant\u0131 \u00fczerinden merkezi bir SIEM sunucusuna g\u00f6nderir. Bu, daha g\u00fcvenli ve \u00f6l\u00e7eklenebilir bir loglama y\u00f6ntemidir.<\/p>\n<h3>Geli\u015fmi\u015f \u0130zleme Senaryolar\u0131 ve \u0130pu\u00e7lar\u0131<\/h3>\n<p>osquery&#8217;nin esnekli\u011fi, sadece temel g\u00fcvenlik kontrolleriyle s\u0131n\u0131rl\u0131 de\u011fildir; ayn\u0131 zamanda tehdit avc\u0131l\u0131\u011f\u0131 ve olay m\u00fcdahalesi gibi daha geli\u015fmi\u015f senaryolarda da parlar.<\/p>\n<h4>Tehdit Avc\u0131l\u0131\u011f\u0131 (Threat Hunting)<\/h4>\n<p>Tehdit avc\u0131l\u0131\u011f\u0131, bilinen g\u00f6stergeler olmadan sistemlerdeki potansiyel tehditleri proaktif olarak aramakt\u0131r. osqueryi, bu s\u00fcre\u00e7te interaktif bir ara\u00e7 olarak \u00e7ok de\u011ferlidir.<\/p>\n<p>*   <strong>\u00d6rnek Senaryo: Bilinmeyen Bir S\u00fcrecin K\u00f6kenini Ara\u015ft\u0131rma:<\/strong><br \/>\n    Bir sistemde \u015f\u00fcpheli bir s\u00fcre\u00e7 (<code>evil_process<\/code>) tespit ettiniz.<br \/>\n    1.  <strong>S\u00fcrecin Detaylar\u0131n\u0131 Al\u0131n:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT pid, name, path, cmdline, cwd, uid, gid, start_time FROM processes WHERE name = 'evil_process';<\/code><\/pre>\n<p>    2.  <strong>S\u00fcrecin A\u00e7t\u0131\u011f\u0131 A\u011f Ba\u011flant\u0131lar\u0131n\u0131 Kontrol Edin:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT * FROM socket_open_connections WHERE pid = <evil_process_pid>;<\/code><\/pre>\n<p>    3.  <strong>S\u00fcrecin \u00c7al\u0131\u015fma Dizinindeki De\u011fi\u015fiklikleri Kontrol Edin (e\u011fer <code>file_events<\/code> etkinse):<\/strong><br \/>\n        Bu t\u00fcr bir ara\u015ft\u0131rma i\u00e7in genellikle loglara bakmak gerekir, ancak <code>file_events<\/code> tablosu do\u011frudan sorgulanabilir olmasa da, olaylar\u0131 loglar.<br \/>\n    4.  <strong>S\u00fcrecin \u00dcst S\u00fcrecini (Parent Process) Bulun:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT p.pid, p.name, p.path, p.cmdline, p.uid, p.gid, pp.name AS parent_name, pp.path AS parent_path FROM processes p JOIN processes pp ON p.parent = pp.pid WHERE p.name = 'evil_process';<\/code><\/pre>\n<p>        Bu sorgu, \u015f\u00fcpheli s\u00fcrecin hangi s\u00fcre\u00e7 taraf\u0131ndan ba\u015flat\u0131ld\u0131\u011f\u0131n\u0131 g\u00f6sterir. Bu, sald\u0131r\u0131n\u0131n ba\u015flang\u0131\u00e7 noktas\u0131n\u0131 anlamak i\u00e7in kritik olabilir.<\/p>\n<p>*   <strong>\u00d6rnek Senaryo: \u015e\u00fcpheli bir IP Adresine Ba\u011flanan S\u00fcre\u00e7leri Bulma:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT pid, process_name, local_address, remote_address, remote_port FROM socket_open_connections WHERE remote_address = 'X.X.X.X';<\/code><\/pre>\n<p>    Belirli bir \u015f\u00fcpheli IP adresine (\u00f6rne\u011fin, bilinen bir C2 sunucusu) ba\u011flanan t\u00fcm s\u00fcre\u00e7leri h\u0131zl\u0131ca tespit edebilirsiniz.<\/p>\n<h4>Otomatik Yan\u0131t (Automated Response)<\/h4>\n<p>osquery bir yan\u0131t arac\u0131 olmasa da, toplad\u0131\u011f\u0131 veriler otomatik yan\u0131t sistemlerini tetiklemek i\u00e7in kullan\u0131labilir. \u00d6rne\u011fin, osquery bir kritik dosya de\u011fi\u015fikli\u011fi veya \u015f\u00fcpheli bir s\u00fcre\u00e7 tespit etti\u011finde, SIEM sisteminize bir uyar\u0131 g\u00f6nderebilir. SIEM daha sonra bir otomasyon platformunu (SOAR) tetikleyerek \u015f\u00fcpheli s\u00fcreci sonland\u0131rma veya ana bilgisayar\u0131 a\u011fdan izole etme gibi eylemler ger\u00e7ekle\u015ftirebilir.<\/p>\n<h4>Performans Hususlar\u0131<\/h4>\n<p>osquery, performans g\u00f6z \u00f6n\u00fcnde bulundurularak tasarlanm\u0131\u015ft\u0131r, ancak yanl\u0131\u015f yap\u0131land\u0131rma veya a\u015f\u0131r\u0131 sorgulama sistem kaynaklar\u0131n\u0131 t\u00fcketebilir.<br \/>\n*   <strong>Sorgu Optimizasyonu:<\/strong> Karma\u015f\u0131k JOIN&#8217;ler veya \u00e7ok s\u0131k \u00e7al\u0131\u015fan sorgular performans\u0131 etkileyebilir. Sorgular\u0131n\u0131z\u0131 m\u00fcmk\u00fcn oldu\u011funca basit ve hedef odakl\u0131 tutun.<br \/>\n*   <strong><code>interval<\/code> Ayarlar\u0131:<\/strong> Sorgu aral\u0131klar\u0131n\u0131 (interval) makul d\u00fczeyde tutun. Her saniyede bir t\u00fcm s\u00fcre\u00e7leri sorgulamak gereksiz y\u00fck yaratacakt\u0131r. Kritik veriler i\u00e7in daha k\u0131sa aral\u0131klar, daha az kritik veriler i\u00e7in daha uzun aral\u0131klar kullan\u0131n.<br \/>\n*   <strong>Olay Tablolar\u0131 (<code>file_events<\/code>, <code>process_events<\/code>):<\/strong> Bu tablolar, \u00f6zellikle yo\u011fun sistemlerde \u00f6nemli performans maliyetleri getirebilir. Yaln\u0131zca ger\u00e7ekten ihtiyac\u0131n\u0131z olan kritik yollar\u0131 ve olaylar\u0131 izlemek i\u00e7in <code>file_paths<\/code> ve olay filtreleme se\u00e7eneklerini dikkatlice yap\u0131land\u0131r\u0131n.<br \/>\n*   <strong><code>osqueryd<\/code> Bayraklar\u0131:<\/strong> <code>osqueryd<\/code> ba\u015flang\u0131\u00e7 bayraklar\u0131, \u00f6nbellek boyutlar\u0131, loglama seviyeleri gibi bir\u00e7ok performans ayar\u0131n\u0131 kontrol etmenizi sa\u011flar.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Ubuntu 16.04 \u00fczerinde osquery, sistem g\u00fcvenli\u011fi izleme yeteneklerinizi \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131ran g\u00fc\u00e7l\u00fc ve esnek bir ara\u00e7t\u0131r. SQL&#8217;in tan\u0131d\u0131k s\u00f6zdizimini kullanarak i\u015fletim sistemi verilerini sorgulama yetene\u011fi, g\u00fcvenlik analistlerine ve sistem y\u00f6neticilerine benzeri g\u00f6r\u00fclmemi\u015f bir g\u00f6r\u00fcn\u00fcrl\u00fck ve kontrol sa\u011flar. Kurulumu nispeten kolayd\u0131r ve do\u011fru yap\u0131land\u0131rma ile k\u00f6t\u00fc ama\u00e7l\u0131 yaz\u0131l\u0131m faaliyetlerini, yetkisiz de\u011fi\u015fiklikleri, a\u011f anormalliklerini ve kullan\u0131c\u0131 tabanl\u0131 tehditleri etkin bir \u015fekilde tespit etmek i\u00e7in kullan\u0131labilir.<\/p>\n<p>osquery&#8217;yi g\u00fcvenlik stratejinize dahil ederek, sistemlerinizin g\u00fcvenlik duru\u015funu g\u00fc\u00e7lendirebilir, tehditleri daha erken a\u015famada tespit edebilir ve olaylara daha h\u0131zl\u0131 ve bilin\u00e7li bir \u015fekilde m\u00fcdahale edebilirsiniz. S\u00fcrekli izleme ve proaktif tehdit avc\u0131l\u0131\u011f\u0131, modern siber g\u00fcvenlik ortam\u0131nda hayati \u00f6neme sahiptir ve osquery bu hedeflere ula\u015fmak i\u00e7in paha bi\u00e7ilmez bir m\u00fcttefiktir. Unutmay\u0131n ki osquery, bir g\u00fcvenlik \u00e7\u00f6z\u00fcm\u00fcn\u00fcn sadece bir par\u00e7as\u0131d\u0131r; en iyi sonu\u00e7lar i\u00e7in di\u011fer g\u00fcvenlik ara\u00e7lar\u0131 ve iyi g\u00fcvenlik uygulamalar\u0131yla birlikte kullan\u0131lmal\u0131d\u0131r. Ayr\u0131ca, Ubuntu 16.04&#8217;\u00fcn ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fcn sona erdi\u011fini ve daha yeni, desteklenen bir Ubuntu s\u00fcr\u00fcm\u00fcne y\u00fckseltmenin genel sistem g\u00fcvenli\u011fi i\u00e7in kritik oldu\u011funu belirtmekte fayda var. Ancak mevcut 16.04 sistemlerinizde osquery kullanmak, ge\u00e7i\u015f s\u00fcrecinde veya eski sistemler i\u00e7in \u00f6nemli bir g\u00fcvenlik katman\u0131 sa\u011flayacakt\u0131r.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 16.04 \u00dczerinde osquery ile Sistem G\u00fcvenli\u011finizi Nas\u0131l \u0130zlersiniz?\nSistem g\u00fcvenli\u011fi, modern bilgi i\u015flem ortamlar\u0131nda en kritik \u00f6nceli","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1468],"tags":[],"class_list":{"0":"post-32100","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ubuntu 16.04 \u00dczerinde osquery ile Sistem G\u00fcvenli\u011finizi Nas\u0131l \u0130zlersiniz? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu 16.04 \u00dczerinde osquery ile Sistem G\u00fcvenli\u011finizi Nas\u0131l \u0130zlersiniz?\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 16.04 \u00dczerinde osquery ile Sistem G\u00fcvenli\u011finizi Nas\u0131l \u0130zlersiniz? Sistem g\u00fcvenli\u011fi, modern bilgi i\u015flem ortamlar\u0131nda en kritik \u00f6nceli\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-17T15:41:37+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"21 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 16.04 \u00dczerinde osquery ile Sistem G\u00fcvenli\u011finizi Nas\u0131l \u0130zlersiniz?\",\"datePublished\":\"2025-10-17T15:41:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/\"},\"wordCount\":3463,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/\",\"name\":\"Ubuntu 16.04 \u00dczerinde osquery ile Sistem G\u00fcvenli\u011finizi Nas\u0131l \u0130zlersiniz? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-17T15:41:37+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 16.04 \u00dczerinde osquery ile Sistem G\u00fcvenli\u011finizi Nas\u0131l \u0130zlersiniz?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ubuntu 16.04 \u00dczerinde osquery ile Sistem G\u00fcvenli\u011finizi Nas\u0131l \u0130zlersiniz? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 16.04 \u00dczerinde osquery ile Sistem G\u00fcvenli\u011finizi Nas\u0131l \u0130zlersiniz?","og_description":"Ubuntu 16.04 \u00dczerinde osquery ile Sistem G\u00fcvenli\u011finizi Nas\u0131l \u0130zlersiniz? Sistem g\u00fcvenli\u011fi, modern bilgi i\u015flem ortamlar\u0131nda en kritik \u00f6nceli","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-17T15:41:37+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"21 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 16.04 \u00dczerinde osquery ile Sistem G\u00fcvenli\u011finizi Nas\u0131l \u0130zlersiniz?","datePublished":"2025-10-17T15:41:37+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/"},"wordCount":3463,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/","name":"Ubuntu 16.04 \u00dczerinde osquery ile Sistem G\u00fcvenli\u011finizi Nas\u0131l \u0130zlersiniz? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-17T15:41:37+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-osquery-ile-sistem-guvenliginizi-nasil-izlersiniz\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 16.04 \u00dczerinde osquery ile Sistem G\u00fcvenli\u011finizi Nas\u0131l \u0130zlersiniz?"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=32100"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32100\/revisions"}],"predecessor-version":[{"id":32101,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32100\/revisions\/32101"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=32100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=32100"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=32100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}