{"id":30905,"date":"2025-10-03T08:41:13","date_gmt":"2025-10-03T05:41:13","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=30905"},"modified":"2025-10-03T08:41:13","modified_gmt":"2025-10-03T05:41:13","slug":"orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/","title":{"rendered":"OrientDB Veritaban\u0131n\u0131z\u0131 Ubuntu 16.04 \u00dczerinde G\u00fcvenli Hale Getirme"},"content":{"rendered":"<p><body><\/p>\n<h2>OrientDB Veritaban\u0131n\u0131z\u0131 Ubuntu 16.04 \u00dczerinde G\u00fcvenli Hale Getirme<\/h2>\n<p>OrientDB, NoSQL d\u00fcnyas\u0131n\u0131n \u00e7ok modelli (Multi-Model) veritabanlar\u0131ndan biridir ve belge, grafik, anahtar-de\u011fer ve nesne modellerini tek bir platformda birle\u015ftirerek geli\u015ftiricilere b\u00fcy\u00fck esneklik sunar. Y\u00fcksek performansl\u0131, \u00f6l\u00e7eklenebilir ve esnek yap\u0131s\u0131yla dikkat \u00e7eken OrientDB, modern uygulamalar\u0131n veri ihtiya\u00e7lar\u0131n\u0131 kar\u015f\u0131lamak i\u00e7in g\u00fc\u00e7l\u00fc bir \u00e7\u00f6z\u00fcm sunar. Ancak, herhangi bir veritaban\u0131 sistemi gibi, OrientDB&#8217;nin de g\u00fcvenli\u011fi, depolad\u0131\u011f\u0131 verilerin hassasiyeti ve sistemin b\u00fct\u00fcnl\u00fc\u011f\u00fc a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir. Veritaban\u0131 g\u00fcvenli\u011fi, sadece yetkisiz eri\u015fimi engellemekle kalmaz, ayn\u0131 zamanda veri b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc korur, veri kayb\u0131n\u0131 \u00f6nler ve yasal d\u00fczenlemelere uyumu sa\u011flar.<\/p>\n<p>Bu makale, OrientDB veritaban\u0131n\u0131z\u0131 Ubuntu 16.04 i\u015fletim sistemi \u00fczerinde nas\u0131l g\u00fcvenli hale getirece\u011finize dair kapsaml\u0131 bir rehber sunmaktad\u0131r. Ubuntu 16.04, makalenin yaz\u0131ld\u0131\u011f\u0131 tarih itibar\u0131yla kullan\u0131m \u00f6mr\u00fcn\u00fcn sonuna (End-of-Life &#8211; EOL) ula\u015fm\u0131\u015f olsa da, burada a\u00e7\u0131klanan g\u00fcvenlik prensipleri ve y\u00f6ntemleri, daha g\u00fcncel Ubuntu s\u00fcr\u00fcmleri ve genel Linux sistemleri i\u00e7in de ge\u00e7erlili\u011fini korumaktad\u0131r. Bir EOL i\u015fletim sistemi kullanmak ba\u015fl\u0131 ba\u015f\u0131na bir g\u00fcvenlik riski ta\u015f\u0131d\u0131\u011f\u0131ndan, m\u00fcmk\u00fcnse daha g\u00fcncel ve desteklenen bir s\u00fcr\u00fcme ge\u00e7i\u015f yap\u0131lmas\u0131 \u015fiddetle tavsiye edilir. Ancak, belirli k\u0131s\u0131tlamalar nedeniyle Ubuntu 16.04 kullanmak zorunda kalanlar i\u00e7in bu rehber, mevcut ortam\u0131 olabildi\u011fince g\u00fcvenli hale getirmeye yard\u0131mc\u0131 olacakt\u0131r. Temel sistem g\u00fcvenli\u011finden OrientDB&#8217;nin kendi i\u00e7 g\u00fcvenlik mekanizmalar\u0131na, a\u011f izolasyonundan veri \u015fifrelemeye kadar \u00e7ok katmanl\u0131 bir yakla\u015f\u0131m benimseyerek veritaban\u0131 ortam\u0131n\u0131z\u0131n sa\u011flaml\u0131\u011f\u0131n\u0131 art\u0131raca\u011f\u0131z.<\/p>\n<h3>Temel Sistem G\u00fcvenli\u011fi \u00d6nlemleri<\/h3>\n<p>OrientDB&#8217;nin \u00e7al\u0131\u015ft\u0131\u011f\u0131 temel i\u015fletim sistemi olan Ubuntu 16.04&#8217;\u00fcn g\u00fcvenli\u011fi, veritaban\u0131 g\u00fcvenli\u011finin ilk ve en \u00f6nemli ad\u0131m\u0131d\u0131r. Zay\u0131f bir sistem g\u00fcvenli\u011fi, veritaban\u0131n\u0131z ne kadar iyi yap\u0131land\u0131r\u0131lm\u0131\u015f olursa olsun, potansiyel sald\u0131r\u0131lara a\u00e7\u0131k kap\u0131 b\u0131rakacakt\u0131r.<\/p>\n<h4>Ubuntu 16.04 G\u00fcncellemeleri<\/h4>\n<p>Bir i\u015fletim sisteminin g\u00fcvenli\u011fini sa\u011flaman\u0131n en temel yolu, onu g\u00fcncel tutmakt\u0131r. G\u00fcncellemeler, bilinen g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kapatan yamalar\u0131 ve hata d\u00fczeltmelerini i\u00e7erir. Ubuntu 16.04&#8217;\u00fcn EOL olmas\u0131 nedeniyle resmi g\u00fcvenlik g\u00fcncellemeleri art\u0131k yay\u0131nlanmamaktad\u0131r. Ancak, e\u011fer Extended Security Maintenance (ESM) aboneli\u011finiz varsa, kritik g\u00fcncellemeleri alabilirsiniz. Aksi takdirde, bu durum i\u015fletim sisteminin kendisinin bir g\u00fcvenlik riski ta\u015f\u0131d\u0131\u011f\u0131 anlam\u0131na gelir. Yine de, mevcut paketlerin en son s\u00fcr\u00fcmlerini y\u00fcklemek i\u00e7in d\u00fczenli olarak a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131rmak \u00f6nemlidir:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade\nsudo apt dist-upgrade\nsudo apt autoremove<\/code><\/pre>\n<p>Bu komutlar, paket listesini g\u00fcnceller, y\u00fckl\u00fc paketleri en yeni s\u00fcr\u00fcmlerine y\u00fckseltir ve art\u0131k ihtiya\u00e7 duyulmayan paketleri kald\u0131r\u0131r. Kernel g\u00fcncellemeleri de sistem g\u00fcvenli\u011fi i\u00e7in kritik \u00f6neme sahiptir. G\u00fcncellemelerden sonra sunucuyu yeniden ba\u015flatmak, yeni kernel ve di\u011fer sistem bile\u015fenlerinin devreye girmesini sa\u011flar.<\/p>\n<h4>G\u00fc\u00e7l\u00fc Parola Politikalar\u0131<\/h4>\n<p>Sistemdeki t\u00fcm kullan\u0131c\u0131 hesaplar\u0131, g\u00fc\u00e7l\u00fc ve karma\u015f\u0131k parolalar kullanmal\u0131d\u0131r. Bu, hem i\u015fletim sistemi kullan\u0131c\u0131lar\u0131 (root, orientdb kullan\u0131c\u0131s\u0131) hem de OrientDB&#8217;nin kendi i\u00e7indeki veritaban\u0131 kullan\u0131c\u0131lar\u0131 i\u00e7in ge\u00e7erlidir. G\u00fc\u00e7l\u00fc bir parola; b\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harfler, rakamlar ve \u00f6zel karakterler i\u00e7ermeli, tahmin edilmesi zor ve yeterince uzun olmal\u0131d\u0131r (en az 12-16 karakter).<\/p>\n<p>Ubuntu&#8217;da parola politikalar\u0131n\u0131 g\u00fc\u00e7lendirmek i\u00e7in <code>\/etc\/pam.d\/common-password<\/code> dosyas\u0131n\u0131 d\u00fczenleyebilir ve <code>pam_pwquality.so<\/code> mod\u00fcl\u00fcn\u00fc yap\u0131land\u0131rabilirsiniz. \u00d6rne\u011fin:<\/p>\n<pre><code class=\"language-\">password requisite pam_pwquality.so retry=3 minlen=12 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 enforce_for_root<\/code><\/pre>\n<p>Bu yap\u0131land\u0131rma, parolalar\u0131n en az 12 karakter uzunlu\u011funda olmas\u0131n\u0131, en az bir k\u00fc\u00e7\u00fck harf, bir b\u00fcy\u00fck harf, bir rakam ve bir \u00f6zel karakter i\u00e7ermesini zorunlu k\u0131lar. Ayr\u0131ca, root kullan\u0131c\u0131s\u0131 i\u00e7in de bu kurallar\u0131n uygulanmas\u0131n\u0131 sa\u011flar. Kullan\u0131c\u0131 parolalar\u0131n\u0131 de\u011fi\u015ftirmek i\u00e7in <code>passwd<\/code> komutu kullan\u0131l\u0131r: <code>sudo passwd orientdb<\/code>.<\/p>\n<h4>G\u00fcvenlik Duvar\u0131 Yap\u0131land\u0131rmas\u0131 (UFW)<\/h4>\n<p>G\u00fcvenlik duvar\u0131 (firewall), sunucunuza gelen ve giden a\u011f trafi\u011fini kontrol eden ilk savunma hatt\u0131d\u0131r. Ubuntu 16.04&#8217;te varsay\u0131lan olarak <code>ufw<\/code> (Uncomplicated Firewall) mevcuttur. Sadece gerekli portlar\u0131n a\u00e7\u0131k olmas\u0131n\u0131 sa\u011flayarak sunucunuzun sald\u0131r\u0131 y\u00fczeyini k\u00fc\u00e7\u00fcltmek hayati \u00f6nem ta\u015f\u0131r.<\/p>\n<p>OrientDB&#8217;nin varsay\u0131lan portlar\u0131:<br \/>\n*   <strong>2424\/TCP:<\/strong> Binary protokol (Java istemcileri, Studio vb. i\u00e7in)<br \/>\n*   <strong>2480\/TCP:<\/strong> HTTP protokol (Web tabanl\u0131 Studio, REST API vb. i\u00e7in)<\/p>\n<p>SSH eri\u015fimi i\u00e7in varsay\u0131lan port <strong>22\/TCP<\/strong>&#8216;dir.<\/p>\n<p>G\u00fcvenlik duvar\u0131n\u0131 yap\u0131land\u0131rmak i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo ufw enable                     # UFW'yi etkinle\u015ftir\nsudo ufw default deny incoming      # Gelen t\u00fcm ba\u011flant\u0131lar\u0131 varsay\u0131lan olarak engelle\nsudo ufw default allow outgoing     # Giden t\u00fcm ba\u011flant\u0131lara varsay\u0131lan olarak izin ver\n\n<h2>SSH eri\u015fimine izin ver (port 22)<\/h2>\nsudo ufw allow ssh\n\n<h2>OrientDB Binary protokol\u00fcne izin ver<\/h2>\nsudo ufw allow 2424\/tcp\n\n<h2>OrientDB HTTP protokol\u00fcne izin ver<\/h2>\nsudo ufw allow 2480\/tcp\n\n<h2>Sadece belirli IP adreslerinden eri\u015fime izin vermek i\u00e7in (daha g\u00fcvenli)<\/h2>\n<h2>sudo ufw allow from 192.168.1.100 to any port 22<\/h2>\n<h2>sudo ufw allow from 192.168.1.100 to any port 2424<\/h2>\n<h2>sudo ufw allow from 192.168.1.100 to any port 2480<\/h2>\n\nsudo ufw status verbose             # G\u00fcvenlik duvar\u0131 durumunu kontrol et<\/code><\/pre>\n<p>Bu yap\u0131land\u0131rma, sadece SSH ve OrientDB&#8217;nin ihtiya\u00e7 duydu\u011fu portlar\u0131 a\u00e7arak di\u011fer t\u00fcm gelen ba\u011flant\u0131lar\u0131 engeller. M\u00fcmk\u00fcnse, OrientDB&#8217;ye sadece belirli, g\u00fcvenilir IP adreslerinden eri\u015fime izin vermek en g\u00fcvenli yakla\u015f\u0131md\u0131r.<\/p>\n<h4>SSH G\u00fcvenli\u011fi<\/h4>\n<p>SSH (Secure Shell), sunucuya uzaktan g\u00fcvenli bir \u015fekilde eri\u015fmek i\u00e7in kullan\u0131lan protokold\u00fcr. SSH ba\u011flant\u0131lar\u0131n\u0131n g\u00fcvenli\u011fini art\u0131rmak, yetkisiz eri\u015fimi \u00f6nlemek a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir.<\/p>\n<p>*   <strong>Varsay\u0131lan SSH Portunu De\u011fi\u015ftirme:<\/strong> Varsay\u0131lan port olan 22&#8217;yi de\u011fi\u015ftirmek, otomatik bot sald\u0131r\u0131lar\u0131n\u0131 azaltmaya yard\u0131mc\u0131 olur. <code>\/etc\/ssh\/sshd_config<\/code> dosyas\u0131n\u0131 d\u00fczenleyin:<\/p>\n<pre><code class=\"language-\"># Port 22\n    Port 2222 # \u00d6rne\u011fin, 2222 olarak de\u011fi\u015ftirin<\/code><\/pre>\n<p>*   <strong>Root ile Giri\u015fi Devre D\u0131\u015f\u0131 B\u0131rakma:<\/strong> Root kullan\u0131c\u0131s\u0131n\u0131n do\u011frudan SSH ile giri\u015f yapmas\u0131n\u0131 engellemek, sisteminize y\u00f6nelik sald\u0131r\u0131lar\u0131n ba\u015far\u0131s\u0131n\u0131 zorla\u015ft\u0131r\u0131r. Bunun yerine, normal bir kullan\u0131c\u0131yla giri\u015f yap\u0131p <code>sudo<\/code> kullanarak root yetkisi almak daha g\u00fcvenlidir. <code>\/etc\/ssh\/sshd_config<\/code> dosyas\u0131nda:<\/p>\n<pre><code class=\"language-\">PermitRootLogin no<\/code><\/pre>\n<p>*   <strong>Parola Yerine Anahtar Tabanl\u0131 Kimlik Do\u011frulama:<\/strong> Parola tabanl\u0131 kimlik do\u011frulama yerine SSH anahtar \u00e7iftleri (public\/private key) kullanmak, \u00e7ok daha g\u00fcvenlidir. Anahtar tabanl\u0131 kimlik do\u011frulama etkinle\u015ftirildi\u011finde, parolayla giri\u015f devre d\u0131\u015f\u0131 b\u0131rak\u0131labilir. <code>\/etc\/ssh\/sshd_config<\/code> dosyas\u0131nda:<\/p>\n<pre><code class=\"language-\">PasswordAuthentication no\n    PubkeyAuthentication yes<\/code><\/pre>\n<p>    Bu de\u011fi\u015fikliklerden sonra SSH servisini yeniden ba\u015flatmay\u0131 unutmay\u0131n: <code>sudo systemctl restart sshd<\/code> veya <code>sudo service sshd restart<\/code>.<br \/>\n*   <strong>Fail2ban Kurulumu:<\/strong> Fail2ban, ba\u015far\u0131s\u0131z giri\u015f denemelerini izleyen ve belirli bir say\u0131da ba\u015far\u0131s\u0131z denemeden sonra kaynak IP adresini otomatik olarak engelleyen bir ara\u00e7t\u0131r. SSH, FTP ve di\u011fer servisler i\u00e7in kullan\u0131labilir.<\/p>\n<pre><code class=\"language-bash\">sudo apt install fail2ban\n    sudo cp \/etc\/fail2ban\/jail.conf \/etc\/fail2ban\/jail.local<\/code><\/pre>\n<p>    <code>jail.local<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek SSH i\u00e7in ayarlar\u0131 etkinle\u015ftirebilir ve \u00f6zelle\u015ftirebilirsiniz. \u00d6rne\u011fin, <code>bantime<\/code> ve <code>maxretry<\/code> de\u011ferlerini ayarlayabilirsiniz.<\/p>\n<h3>OrientDB Kurulumu ve Kullan\u0131c\u0131 Y\u00f6netimi G\u00fcvenli\u011fi<\/h3>\n<p>OrientDB&#8217;nin kendi i\u00e7 g\u00fcvenlik mekanizmalar\u0131, veritaban\u0131 seviyesinde eri\u015fim kontrol\u00fcn\u00fc ve yetkilendirmeyi sa\u011flar. Do\u011fru kullan\u0131c\u0131 y\u00f6netimi ve izin yap\u0131land\u0131rmas\u0131, veritaban\u0131 g\u00fcvenli\u011finin temelidir.<\/p>\n<h4>Minimum Yetki Prensibi<\/h4>\n<p>OrientDB sunucusunu <code>root<\/code> kullan\u0131c\u0131s\u0131 olarak \u00e7al\u0131\u015ft\u0131rmaktan ka\u00e7\u0131nmak, g\u00fcvenlik a\u00e7\u0131s\u0131ndan kritik bir ad\u0131md\u0131r. <code>root<\/code> olarak \u00e7al\u0131\u015fan bir uygulama, potansiyel bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131 durumunda t\u00fcm sisteme eri\u015fim sa\u011flayabilir. Bunun yerine, OrientDB i\u00e7in \u00f6zel, ayr\u0131cal\u0131ks\u0131z bir sistem kullan\u0131c\u0131s\u0131 olu\u015fturulmal\u0131d\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo adduser --system --no-create-home orientdb\nsudo chown -R orientdb:orientdb \/opt\/orientdb # OrientDB kurulum dizininizi buraya g\u00f6re ayarlay\u0131n<\/code><\/pre>\n<p>Bu komutlar, <code>orientdb<\/code> ad\u0131nda sistemde ev dizini olmayan bir kullan\u0131c\u0131 olu\u015fturur ve OrientDB kurulum dizininin sahipli\u011fini bu kullan\u0131c\u0131ya verir. OrientDB&#8217;yi bu kullan\u0131c\u0131 alt\u0131nda ba\u015flatmak i\u00e7in, <code>server.sh<\/code> veya <code>dserver.sh<\/code> betiklerini d\u00fczenleyerek <code>sudo -u orientdb<\/code> ile \u00e7al\u0131\u015ft\u0131rmak veya bir systemd\/init beti\u011fi olu\u015fturarak <code>User=orientdb<\/code> y\u00f6nergesini kullanmak gerekir.<\/p>\n<h4>OrientDB Varsay\u0131lan Kullan\u0131c\u0131lar\u0131 ve Parolalar\u0131<\/h4>\n<p>OrientDB, varsay\u0131lan olarak birka\u00e7 kullan\u0131c\u0131 ile gelir: <code>root<\/code>, <code>admin<\/code>, <code>writer<\/code>, <code>reader<\/code>. Bu kullan\u0131c\u0131lar\u0131n varsay\u0131lan parolalar\u0131 iyi bilinmektedir ve g\u00fcvenlik a\u00e7\u0131\u011f\u0131 olu\u015fturur. <strong>\u0130lk kurulumdan sonra bu varsay\u0131lan parolalar\u0131 DERHAL de\u011fi\u015ftirmek zorunludur.<\/strong><\/p>\n<p>*   <strong><code>root<\/code>:<\/strong> S\u00fcper kullan\u0131c\u0131 yetkilerine sahip, t\u00fcm veritabanlar\u0131 ve sunucu \u00fczerinde tam kontrole sahiptir.<br \/>\n*   <strong><code>admin<\/code>:<\/strong> Genellikle veritaban\u0131 y\u00f6netimi i\u00e7in kullan\u0131l\u0131r, <code>root<\/code> kadar geni\u015f yetkilere sahip de\u011fildir.<br \/>\n*   <strong><code>writer<\/code>:<\/strong> Veritaban\u0131na yazma ve okuma yetkisine sahip.<br \/>\n*   <strong><code>reader<\/code>:<\/strong> Veritaban\u0131na sadece okuma yetkisine sahip.<\/p>\n<p>Parolalar\u0131 de\u011fi\u015ftirmek i\u00e7in OrientDB Studio&#8217;yu kullanabilir veya OrientDB konsolundan komutlar\u0131 \u00e7al\u0131\u015ft\u0131rabilirsiniz:<\/p>\n<pre><code class=\"language-sql\">ALTER USER root PASSWORD 'YeniG\u00fc\u00e7l\u00fcParola123!'\nALTER USER admin PASSWORD 'YeniG\u00fc\u00e7l\u00fcParola456!'\n<h2>Di\u011fer kullan\u0131c\u0131lar i\u00e7in de ayn\u0131 \u015fekilde<\/code><\/pre>\n<\/h2>\n<p>Ayr\u0131ca, kullan\u0131lmayan varsay\u0131lan kullan\u0131c\u0131lar\u0131 devre d\u0131\u015f\u0131 b\u0131rakmak veya silmek de iyi bir g\u00fcvenlik uygulamas\u0131d\u0131r. \u00d6rne\u011fin, <code>reader<\/code> veya <code>writer<\/code> kullan\u0131c\u0131lar\u0131na ihtiyac\u0131n\u0131z yoksa:<\/p>\n<pre><code class=\"language-sql\">DROP USER reader<\/code><\/pre>\n<h4>Yeni Kullan\u0131c\u0131 Olu\u015fturma ve Rol Tan\u0131mlama<\/h4>\n<p>Minimum yetki prensibine uygun olarak, her uygulama veya kullan\u0131c\u0131 i\u00e7in ayr\u0131 bir hesap olu\u015fturulmal\u0131 ve sadece ihtiya\u00e7 duyulan yetkiler verilmelidir. OrientDB, rol tabanl\u0131 eri\u015fim kontrol\u00fcn\u00fc (RBAC) destekler.<\/p>\n<p>1.  <strong>Rol Olu\u015fturma:<\/strong> Roller, belirli bir dizi izne sahip gruplard\u0131r.<\/p>\n<pre><code class=\"language-sql\">CREATE ROLE AppUser EXTENDS reader<\/code><\/pre>\n<p>    Bu, <code>AppUser<\/code> ad\u0131nda, <code>reader<\/code> rol\u00fcn\u00fcn t\u00fcm yetkilerine sahip yeni bir rol olu\u015fturur.<br \/>\n2.  <strong>Yetkilendirme (ACL):<\/strong> Rolleri belirli kaynaklara (veritaban\u0131, s\u0131n\u0131f, k\u00fcme, kay\u0131t) eri\u015fim izinleriyle ili\u015fkilendirebilirsiniz.<\/p>\n<pre><code class=\"language-sql\">GRANT CREATE ON DATABASE TO AppUser\n    GRANT READ, UPDATE, CREATE, DELETE ON CLASS User TO AppUser<\/code><\/pre>\n<p>    Bu komutlar, <code>AppUser<\/code> rol\u00fcne veritaban\u0131nda olu\u015fturma yetkisi ve <code>User<\/code> s\u0131n\u0131f\u0131nda okuma, g\u00fcncelleme, olu\u015fturma ve silme yetkisi verir.<br \/>\n3.  <strong>Kullan\u0131c\u0131 Olu\u015fturma ve Role Atama:<\/strong><\/p>\n<pre><code class=\"language-sql\">CREATE USER 'my_app_user' IDENTIFIED BY 'UygulamaParolas\u0131789!' ROLES [AppUser]<\/code><\/pre>\n<p>    Bu, <code>my_app_user<\/code> ad\u0131nda bir kullan\u0131c\u0131 olu\u015fturur ve onu <code>AppUser<\/code> rol\u00fcne atar.<\/p>\n<p>Bu yakla\u015f\u0131m, kullan\u0131c\u0131lar\u0131n do\u011frudan yetkilendirilmesi yerine roller arac\u0131l\u0131\u011f\u0131yla yetkilendirilmesini sa\u011flayarak y\u00f6netimi kolayla\u015ft\u0131r\u0131r ve tutarl\u0131l\u0131\u011f\u0131 art\u0131r\u0131r.<\/p>\n<h3>OrientDB Yap\u0131land\u0131rma Dosyas\u0131 G\u00fcvenli\u011fi<\/h3>\n<p>OrientDB&#8217;nin yap\u0131land\u0131rma dosyalar\u0131, sunucunun davran\u0131\u015f\u0131n\u0131 ve g\u00fcvenlik ayarlar\u0131n\u0131 kontrol eder. Bu dosyalar\u0131n do\u011fru yap\u0131land\u0131r\u0131lmas\u0131, veritaban\u0131n\u0131n genel g\u00fcvenli\u011fi i\u00e7in hayati \u00f6nem ta\u015f\u0131r.<\/p>\n<h4><code>orientdb-server-config.xml<\/code><\/h4>\n<p>Bu dosya, OrientDB sunucusunun temel ayarlar\u0131n\u0131 i\u00e7erir. G\u00fcvenlik a\u00e7\u0131s\u0131ndan dikkat edilmesi gereken baz\u0131 noktalar:<\/p>\n<p>*   <strong>Port De\u011fi\u015fiklikleri:<\/strong> Varsay\u0131lan 2424 ve 2480 portlar\u0131n\u0131 de\u011fi\u015ftirmek, otomatik taramalarla kolayca bulunmas\u0131n\u0131 zorla\u015ft\u0131r\u0131r. Ancak bu, tek ba\u015f\u0131na bir g\u00fcvenlik \u00f6nlemi de\u011fildir ve bir g\u00fcvenlik duvar\u0131 ile desteklenmelidir.<\/p>\n<pre><code class=\"language-xml\"><listeners>\n        <listener protocol=\"binary\" ip-address=\"0.0.0.0\" port=\"2424\"\/>\n        <listener protocol=\"http\" ip-address=\"0.0.0.0\" port=\"2480\"\/>\n    <\/listeners><\/code><\/pre>\n<p>    <code>ip-address<\/code> de\u011ferini <code>0.0.0.0<\/code> yerine sunucunuzun \u00f6zel IP adresiyle de\u011fi\u015ftirmek veya sadece <code>localhost<\/code> (127.0.0.1) olarak ayarlamak, d\u0131\u015far\u0131dan eri\u015fimi tamamen engeller. E\u011fer sadece belirli bir IP&#8217;den eri\u015fime izin vermek istiyorsan\u0131z, g\u00fcvenlik duvar\u0131 daha uygun bir \u00e7\u00f6z\u00fcmd\u00fcr.<br \/>\n*   <strong>Statik IP Ba\u011flama:<\/strong> Sunucunun belirli bir IP adresine ba\u011flanmas\u0131n\u0131 sa\u011flamak, a\u011f trafi\u011finin kontrol\u00fcn\u00fc art\u0131r\u0131r. E\u011fer sunucunuz birden fazla a\u011f aray\u00fcz\u00fcne sahipse ve sadece belirli bir aray\u00fczden gelen ba\u011flant\u0131lar\u0131 kabul etmek istiyorsan\u0131z, <code>ip-address<\/code> de\u011ferini o aray\u00fcz\u00fcn IP adresiyle de\u011fi\u015ftirmelisiniz.<br \/>\n*   <strong>Uzaktan Y\u00f6netim Ara\u00e7lar\u0131:<\/strong> OrientDB Studio veya di\u011fer y\u00f6netim ara\u00e7lar\u0131na eri\u015fimi k\u0131s\u0131tlamak i\u00e7in <code>orientdb-server-config.xml<\/code> dosyas\u0131ndaki <code>network.listenAddresses<\/code> veya g\u00fcvenlik duvar\u0131 kurallar\u0131 kullan\u0131labilir. Y\u00f6netim aray\u00fczlerine sadece g\u00fcvenli a\u011flardan veya VPN \u00fczerinden eri\u015fim sa\u011flanmal\u0131d\u0131r.<\/p>\n<h4><code>security.json<\/code><\/h4>\n<p>OrientDB 3.x ve sonraki s\u00fcr\u00fcmlerinde, geli\u015fmi\u015f g\u00fcvenlik yap\u0131land\u0131rmalar\u0131 <code>config\/security.json<\/code> dosyas\u0131nda yap\u0131l\u0131r. Bu dosya, ACL (Access Control List) kurallar\u0131n\u0131, kullan\u0131c\u0131lar\u0131, rolleri ve di\u011fer g\u00fcvenlik ayarlar\u0131n\u0131 tan\u0131mlar.<\/p>\n<p>*   <strong>ACL Y\u00f6netimi:<\/strong> <code>security.json<\/code> dosyas\u0131, veritaban\u0131, sunucu kaynaklar\u0131, komutlar ve di\u011fer OrientDB bile\u015fenleri i\u00e7in ayr\u0131nt\u0131l\u0131 ACL kurallar\u0131 tan\u0131mlaman\u0131za olanak tan\u0131r. \u00d6rne\u011fin, belirli bir rol\u00fcn belirli bir komutu \u00e7al\u0131\u015ft\u0131rmas\u0131n\u0131 veya belirli bir veritaban\u0131na eri\u015fmesini engelleyebilirsiniz.<\/p>\n<pre><code class=\"language-json\">{\n      \"users\": [\n        { \"name\": \"root\", \"password\": \"{PBKDF2WithHmacSHA256}...\", \"roles\": [\"admin\"] },\n        { \"name\": \"my_app_user\", \"password\": \"{PBKDF2WithHmacSHA256}...\", \"roles\": [\"AppUser\"] }\n      ],\n      \"roles\": [\n        { \"name\": \"admin\", \"rules\": [ { \"resources\": [\"server.<em>\", \"database.<\/em>\"], \"permissions\": [\"*\"] } ] },\n        { \"name\": \"AppUser\", \"rules\": [ { \"resources\": [\"database.my_database.class.User\"], \"permissions\": [\"read\", \"update\", \"create\", \"delete\"] } ] }\n      ],\n      \"resources\": {\n        \"server\": {\n          \"allow\": [\"admin\"]\n        },\n        \"database\": {\n          \"my_database\": {\n            \"allow\": [\"admin\"],\n            \"deny\": [\"guest\"]\n          }\n        }\n      }\n    }<\/code><\/pre>\n<p>    Bu yap\u0131land\u0131rma, <code>root<\/code> ve <code>my_app_user<\/code> kullan\u0131c\u0131lar\u0131n\u0131, <code>admin<\/code> ve <code>AppUser<\/code> rollerini tan\u0131mlar. <code>admin<\/code> rol\u00fcne sunucu ve veritaban\u0131 \u00fczerinde tam yetki verilirken, <code>AppUser<\/code> rol\u00fcne <code>my_database<\/code> veritaban\u0131ndaki <code>User<\/code> s\u0131n\u0131f\u0131 \u00fczerinde belirli yetkiler verilir. Bu dosya, hassas bilgiler i\u00e7erdi\u011finden uygun dosya izinleriyle korunmal\u0131 ve sadece OrientDB kullan\u0131c\u0131s\u0131 taraf\u0131ndan okunabilir olmal\u0131d\u0131r.<\/p>\n<h4>Loglama ve Denetim<\/h4>\n<p>G\u00fcvenlik olaylar\u0131n\u0131 izlemek ve potansiyel sald\u0131r\u0131lar\u0131 tespit etmek i\u00e7in kapsaml\u0131 loglama ve denetim kay\u0131tlar\u0131 tutmak \u00f6nemlidir. OrientDB, loglama i\u00e7in <code>config\/orientdb-log.properties<\/code> dosyas\u0131n\u0131 kullan\u0131r.<\/p>\n<p>*   <strong>Log Seviyeleri:<\/strong> Log seviyelerini (INFO, WARNING, SEVERE vb.) ayarlayarak ne kadar ayr\u0131nt\u0131l\u0131 bilgi kaydedilece\u011fini belirleyebilirsiniz. G\u00fcvenlik olaylar\u0131 i\u00e7in <code>SEVERE<\/code> ve <code>WARNING<\/code> seviyelerinin do\u011fru \u015fekilde yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131ndan emin olun.<br \/>\n*   <strong>G\u00fcvenlik Olaylar\u0131:<\/strong> Ba\u015far\u0131s\u0131z giri\u015f denemeleri, yetkisiz eri\u015fim denemeleri, veritaban\u0131 de\u011fi\u015fiklikleri gibi g\u00fcvenlik a\u00e7\u0131s\u0131ndan kritik olaylar\u0131n loglanmas\u0131n\u0131 sa\u011flay\u0131n.<br \/>\n*   <strong>Log Dosyalar\u0131n\u0131n Korunmas\u0131:<\/strong> Log dosyalar\u0131, hassas bilgiler i\u00e7erebilece\u011finden, yetkisiz eri\u015fime kar\u015f\u0131 korunmal\u0131d\u0131r. Dosya izinleri (<code>chmod 640<\/code>, <code>chown orientdb:adm<\/code>) ayarlanmal\u0131 ve log dosyalar\u0131 d\u00fczenli olarak yedeklenip g\u00fcvenli bir yere ta\u015f\u0131nmal\u0131d\u0131r. Ayr\u0131ca, log dosyalar\u0131n\u0131n boyutunu s\u0131n\u0131rlamak ve eski loglar\u0131 otomatik olarak d\u00f6nd\u00fcrmek i\u00e7in <code>logrotate<\/code> gibi ara\u00e7lar kullan\u0131labilir.<br \/>\n*   <strong>Merkezi Log Y\u00f6netimi:<\/strong> Loglar\u0131 merkezi bir log y\u00f6netim sistemine (ELK Stack, Splunk vb.) g\u00f6ndermek, g\u00fcvenlik analizi ve olay m\u00fcdahalesi i\u00e7in b\u00fcy\u00fck fayda sa\u011flar.<\/p>\n<h3>Veri \u015eifreleme<\/h3>\n<p>Veri \u015fifrelemesi, veritaban\u0131 g\u00fcvenli\u011finin en \u00f6nemli bile\u015fenlerinden biridir. Hem hareket halindeki (in transit) hem de bekleyen (at rest) verilerin \u015fifrelenmesi, verilerin yetkisiz eri\u015fime kar\u015f\u0131 korunmas\u0131n\u0131 sa\u011flar.<\/p>\n<h4>Hareket Halindeki Veri \u015eifrelemesi (SSL\/TLS)<\/h4>\n<p>OrientDB, istemciler ve sunucu aras\u0131ndaki ileti\u015fimi g\u00fcvence alt\u0131na almak i\u00e7in SSL\/TLS (Secure Sockets Layer\/Transport Layer Security) deste\u011fi sunar. Bu, \u00f6zellikle hassas verilerin a\u011f \u00fczerinden iletilirken dinlenmesini (eavesdropping) \u00f6nler.<\/p>\n<p>*   <strong>Sertifika Olu\u015fturma:<\/strong> SSL\/TLS kullanmak i\u00e7in bir sertifika ve \u00f6zel anahtar gereklidir. Kendi imzal\u0131 (self-signed) sertifika olu\u015fturabilir veya bir sertifika yetkilisinden (CA) alabilirsiniz. \u00dcretim ortamlar\u0131 i\u00e7in genellikle g\u00fcvenilir bir CA&#8217;dan al\u0131nan sertifikalar tercih edilir.<\/p>\n<pre><code class=\"language-bash\"># \u00d6rnek kendi imzal\u0131 sertifika olu\u015fturma (test ortamlar\u0131 i\u00e7in)\n    keytool -genkeypair -alias orientdb -keyalg RSA -keysize 2048 -storetype JKS -keystore server.jks -validity 3650\n    keytool -exportcert -alias orientdb -storetype JKS -keystore server.jks -file server.cer<\/code><\/pre>\n<p>*   <strong>OrientDB Sunucu Yap\u0131land\u0131rmas\u0131:<\/strong> <code>orientdb-server-config.xml<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek SSL\/TLS&#8217;yi etkinle\u015ftirmelisiniz.<\/p>\n<pre><code class=\"language-xml\"><handlers>\n        <handler class=\"com.orientechnologies.orient.server.handler.OServerSideHandlerDistributed\" \/>\n        <handler class=\"com.orientechnologies.orient.server.network.OServerNetworkListener\" \/>\n        <handler class=\"com.orientechnologies.orient.server.security.OSecurityAuthenticator\" \/>\n\n        <handler class=\"com.orientechnologies.orient.server.handler.OServerHandlerSSL\" >\n            <parameters>\n                <parameter name=\"enabled\" value=\"true\" \/>\n                <parameter name=\"keyStore\" value=\"${ORIENTDB_HOME}\/config\/server.jks\" \/>\n                <parameter name=\"keyStorePass\" value=\"parola\" \/>\n                <parameter name=\"trustStore\" value=\"${ORIENTDB_HOME}\/config\/server.jks\" \/>\n                <parameter name=\"trustStorePass\" value=\"parola\" \/>\n                <parameter name=\"clientAuth\" value=\"false\" \/> <!-- \u0130stemci sertifikas\u0131 do\u011frulamas\u0131 i\u00e7in true -->\n            <\/parameters>\n        <\/handler>\n    <\/handlers><\/code><\/pre>\n<p>    <code>keyStore<\/code>, <code>keyStorePass<\/code>, <code>trustStore<\/code> ve <code>trustStorePass<\/code> de\u011ferlerini kendi sertifika dosyalar\u0131n\u0131z\u0131n yolu ve parolas\u0131yla g\u00fcncelleyin.<br \/>\n*   <strong>\u0130stemci Yap\u0131land\u0131rmas\u0131:<\/strong> \u0130stemci taraf\u0131nda da (Java uygulamalar\u0131, OrientDB Studio vb.) SSL\/TLS ba\u011flant\u0131s\u0131 kurmak i\u00e7in gerekli g\u00fcven sertifikalar\u0131n\u0131n (truststore) yap\u0131land\u0131r\u0131lmas\u0131 gerekir.<\/p>\n<h4>Bekleyen Veri \u015eifrelemesi (Encryption at Rest)<\/h4>\n<p>Bekleyen verilerin \u015fifrelenmesi, veritaban\u0131 dosyalar\u0131n\u0131n (disk \u00fczerinde depolanan) yetkisiz eri\u015fim durumunda okunamaz olmas\u0131n\u0131 sa\u011flar. OrientDB&#8217;nin kendisi (\u00f6zellikle 3.0 \u00f6ncesi s\u00fcr\u00fcmlerde) yerle\u015fik disk \u015fifreleme \u00f6zelli\u011fi sunmaz. Bu nedenle, i\u015fletim sistemi seviyesinde disk \u015fifreleme \u00e7\u00f6z\u00fcmleri kullanmak gerekir.<\/p>\n<p>*   <strong>Dosya Sistemi \u015eifrelemesi:<\/strong> Ubuntu 16.04 \u00fczerinde, OrientDB veri dizinini (\u00f6rne\u011fin <code>\/opt\/orientdb\/databases<\/code>) \u015fifrelemek i\u00e7in LUKS (Linux Unified Key Setup) veya eCryptfs gibi ara\u00e7lar kullan\u0131labilir.<br \/>\n    *   <strong>LUKS:<\/strong> T\u00fcm disk b\u00f6l\u00fcmlerini veya mant\u0131ksal birimleri \u015fifrelemek i\u00e7in g\u00fc\u00e7l\u00fc bir se\u00e7enektir. Bu, sunucu ba\u015flat\u0131ld\u0131\u011f\u0131nda \u015fifre \u00e7\u00f6zme parolas\u0131n\u0131n girilmesini gerektirir.<br \/>\n    *   <strong>eCryptfs:<\/strong> Daha \u00e7ok kullan\u0131c\u0131 dizinlerini veya belirli dizinleri \u015fifrelemek i\u00e7in kullan\u0131l\u0131r. OrientDB&#8217;nin veri dizinini \u015fifrelemek i\u00e7in uygun olabilir.<br \/>\n*   <strong>Veritaban\u0131 Katman\u0131 \u015eifrelemesi (OrientDB 3.0+):<\/strong> OrientDB 3.0 ve sonraki s\u00fcr\u00fcmler, veritaban\u0131 seviyesinde \u015fifreleme yetenekleri sunar. Bu, belirli s\u0131n\u0131flar\u0131 veya \u00f6zellikleri \u015fifrelemeyi m\u00fcmk\u00fcn k\u0131lar. Ubuntu 16.04 \u00fczerinde OrientDB 3.x \u00e7al\u0131\u015ft\u0131r\u0131yorsan\u0131z, bu \u00f6zelli\u011fi de\u011ferlendirebilirsiniz. Ancak bu, dosya sistemi \u015fifrelemesinden farkl\u0131 bir katmanda \u00e7al\u0131\u015f\u0131r ve tamamlay\u0131c\u0131 bir g\u00fcvenlik \u00f6nlemi olarak d\u00fc\u015f\u00fcn\u00fclmelidir.<\/p>\n<pre><code class=\"language-sql\">CREATE CLASS SecureData\n    ALTER CLASS SecureData ADD PROPERTY sensitive_field STRING ENCRYPTED WITH AES<\/code><\/pre>\n<p>    Bu komut, <code>SecureData<\/code> s\u0131n\u0131f\u0131na <code>sensitive_field<\/code> ad\u0131nda AES ile \u015fifrelenmi\u015f bir \u00f6zellik ekler.<\/p>\n<p>Disk \u015fifrelemesi, performansa bir miktar etki edebilir, bu nedenle dikkatli bir \u015fekilde planlanmal\u0131 ve test edilmelidir.<\/p>\n<h3>G\u00fcvenlik Duvar\u0131 ve A\u011f \u0130zolasyonu<\/h3>\n<p>Daha \u00f6nce UFW ile temel bir g\u00fcvenlik duvar\u0131 yap\u0131land\u0131rmas\u0131 ele al\u0131nm\u0131\u015ft\u0131. Ancak, daha sa\u011flam bir g\u00fcvenlik duru\u015fu i\u00e7in a\u011f izolasyonu ve geli\u015fmi\u015f g\u00fcvenlik duvar\u0131 kurallar\u0131 da uygulanmal\u0131d\u0131r.<\/p>\n<p>*   <strong>Sunucu \u0130zolasyonu:<\/strong> OrientDB sunucusu, m\u00fcmk\u00fcnse sadece veritaban\u0131 hizmeti vermek i\u00e7in kullan\u0131lmal\u0131 ve di\u011fer gereksiz servisler bu sunucuda \u00e7al\u0131\u015ft\u0131r\u0131lmamal\u0131d\u0131r. Bu, sald\u0131r\u0131 y\u00fczeyini \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r.<br \/>\n*   <strong>A\u011f Segmentasyonu:<\/strong> Veritaban\u0131 sunucusunu, uygulama sunucular\u0131ndan ve di\u011fer a\u011f bile\u015fenlerinden ayr\u0131 bir a\u011f segmentine (VLAN) yerle\u015ftirmek, yatay hareket (lateral movement) sald\u0131r\u0131lar\u0131n\u0131 zorla\u015ft\u0131r\u0131r.<br \/>\n*   <strong>VPN veya \u00d6zel A\u011flar:<\/strong> Y\u00f6netim eri\u015fimi ve hatta uygulama sunucular\u0131ndan gelen veritaban\u0131 ba\u011flant\u0131lar\u0131, g\u00fcvenli bir VPN t\u00fcneli veya \u00f6zel, izole edilmi\u015f a\u011flar \u00fczerinden yap\u0131lmal\u0131d\u0131r. Bu, halka a\u00e7\u0131k internet \u00fczerinden do\u011frudan eri\u015fimi ortadan kald\u0131r\u0131r.<br \/>\n*   <strong>Proxy Sunucular\u0131:<\/strong> Baz\u0131 durumlarda, OrientDB&#8217;ye eri\u015fimi bir proxy sunucusu (\u00f6rne\u011fin Nginx, HAProxy) \u00fczerinden y\u00f6nlendirmek, ek bir g\u00fcvenlik katman\u0131 sa\u011flayabilir. Proxy, TLS sonland\u0131rmas\u0131 yapabilir, eri\u015fim kontrol\u00fc uygulayabilir ve y\u00fck dengelemesi sa\u011flayabilir.<\/p>\n<h3>Yedekleme ve Felaket Kurtarma G\u00fcvenli\u011fi<\/h3>\n<p>Verilerin d\u00fczenli olarak yedeklenmesi, veri kayb\u0131 durumunda kurtarma i\u00e7in hayati \u00f6neme sahiptir. Ancak yedeklemelerin kendileri de g\u00fcvenli olmal\u0131d\u0131r.<\/p>\n<p>*   <strong>Yedeklemelerin \u015eifrelenmesi:<\/strong> Yedekleme dosyalar\u0131, hassas veriler i\u00e7erece\u011finden \u015fifrelenmelidir. <code>gpg<\/code> veya <code>openssl<\/code> gibi ara\u00e7lar kullan\u0131larak yedekler \u015fifrelenebilir.<\/p>\n<pre><code class=\"language-bash\">tar -czf - \/opt\/orientdb\/databases | openssl enc -aes-256-cbc -salt -out orientdb_backup_$(date +%Y%m%d).tar.gz.enc<\/code><\/pre>\n<p>*   <strong>G\u00fcvenli Depolama Konumu:<\/strong> Yedeklemeler, ana veritaban\u0131 sunucusundan ayr\u0131 ve g\u00fcvenli bir konumda saklanmal\u0131d\u0131r. Bu, hem fiziksel g\u00fcvenlik hem de a\u011f g\u00fcvenli\u011fi a\u00e7\u0131s\u0131ndan \u00f6nemlidir (\u00f6rne\u011fin, \u015fifrelenmi\u015f bir bulut depolama, ayr\u0131 bir yedekleme sunucusu).<br \/>\n*   <strong>Eri\u015fim Kontrol\u00fc:<\/strong> Yedekleme dosyalar\u0131na eri\u015fim, s\u0131k\u0131 bir \u015fekilde kontrol edilmelidir. Sadece yetkili personelin bu dosyalara eri\u015febildi\u011finden emin olun.<br \/>\n*   <strong>Yedekleme ve Geri Y\u00fckleme S\u00fcre\u00e7lerinin Test Edilmesi:<\/strong> Yedeklemelerin ger\u00e7ekten i\u015fe yarad\u0131\u011f\u0131ndan emin olmak i\u00e7in d\u00fczenli olarak geri y\u00fckleme testleri yap\u0131lmal\u0131d\u0131r. Bu, felaket an\u0131nda h\u0131zl\u0131 ve ba\u015far\u0131l\u0131 bir kurtarma i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h3>D\u00fczenli G\u00fcvenlik Denetimleri ve \u0130zleme<\/h3>\n<p>G\u00fcvenlik, tek seferlik bir yap\u0131land\u0131rma i\u015fi de\u011fildir; s\u00fcrekli bir s\u00fcre\u00e7tir. D\u00fczenli denetimler, izleme ve proaktif \u00f6nlemler, veritaban\u0131 ortam\u0131n\u0131z\u0131n g\u00fcvenli\u011fini s\u00fcrd\u00fcrmek i\u00e7in elzemdir.<\/p>\n<p>*   <strong>Sistem ve Uygulama Loglar\u0131n\u0131n \u0130zlenmesi:<\/strong> Ubuntu&#8217;nun sistem loglar\u0131 (<code>\/var\/log\/syslog<\/code>, <code>\/var\/log\/auth.log<\/code>) ve OrientDB&#8217;nin kendi loglar\u0131 d\u00fczenli olarak incelenmelidir. \u015e\u00fcpheli aktiviteler, ba\u015far\u0131s\u0131z giri\u015f denemeleri veya yetkisiz eri\u015fim giri\u015fimleri i\u00e7in alarm sistemleri kurulmal\u0131d\u0131r. Merkezi log y\u00f6netim sistemleri bu s\u00fcreci otomatikle\u015ftirebilir.<br \/>\n*   <strong>G\u00fcvenlik Taray\u0131c\u0131lar\u0131 ve Penetrasyon Testleri:<\/strong> D\u00fczenli olarak g\u00fcvenlik taray\u0131c\u0131lar\u0131 (\u00f6rne\u011fin OpenVAS, Nessus) kullanarak sunucunuzdaki ve OrientDB kurulumunuzdaki bilinen g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 tespit edin. Ayr\u0131ca, yetkili g\u00fcvenlik uzmanlar\u0131 taraf\u0131ndan penetrasyon testleri (s\u0131zma testleri) yapt\u0131rmak, sisteminizin ger\u00e7ek d\u00fcnya sald\u0131r\u0131lar\u0131na kar\u015f\u0131 ne kadar dayan\u0131kl\u0131 oldu\u011funu anlaman\u0131za yard\u0131mc\u0131 olur.<br \/>\n*   <strong>OrientDB G\u00fcvenlik Yamalar\u0131n\u0131 Takip Etme:<\/strong> OrientDB projesi, g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 d\u00fczeltmek i\u00e7in d\u00fczenli olarak yamalar ve yeni s\u00fcr\u00fcmler yay\u0131nlar. Bu g\u00fcncellemeleri takip etmek ve m\u00fcmk\u00fcn olan en k\u0131sa s\u00fcrede uygulamak \u00f6nemlidir.<br \/>\n*   <strong>Uygulama Katman\u0131 G\u00fcvenli\u011fi:<\/strong> OrientDB&#8217;ye eri\u015fen uygulamalar\u0131n da g\u00fcvenli oldu\u011fundan emin olun. SQL Injection benzeri NoSQL Injection sald\u0131r\u0131lar\u0131na kar\u015f\u0131 parametreli sorgular kullan\u0131n ve kullan\u0131c\u0131 girdilerini her zaman do\u011frulay\u0131n\/temizleyin. Uygulama katman\u0131ndaki zay\u0131fl\u0131klar, veritaban\u0131 g\u00fcvenli\u011fini tehlikeye atabilir.<br \/>\n*   <strong>Eri\u015fim \u0130zinlerinin D\u00fczenli G\u00f6zden Ge\u00e7irilmesi:<\/strong> Kullan\u0131c\u0131lar\u0131n ve rollerin eri\u015fim izinleri, belirli aral\u0131klarla g\u00f6zden ge\u00e7irilmeli ve art\u0131k ihtiya\u00e7 duyulmayan yetkiler kald\u0131r\u0131lmal\u0131d\u0131r. Bu, yetki y\u00fckseltme sald\u0131r\u0131lar\u0131n\u0131 \u00f6nlemeye yard\u0131mc\u0131 olur.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>OrientDB veritaban\u0131n\u0131z\u0131 Ubuntu 16.04 \u00fczerinde g\u00fcvenli hale getirmek, \u00e7ok katmanl\u0131 ve s\u00fcrekli bir \u00e7aba gerektirir. Temel sistem g\u00fcvenli\u011finden ba\u015flayarak (g\u00fcncellemeler, g\u00fc\u00e7l\u00fc parolalar, g\u00fcvenlik duvar\u0131, SSH g\u00fcvenli\u011fi), OrientDB&#8217;nin kendi i\u00e7 g\u00fcvenlik mekanizmalar\u0131na (kullan\u0131c\u0131 ve rol y\u00f6netimi, yap\u0131land\u0131rma dosyalar\u0131), veri \u015fifrelemesine (hareket halindeki ve bekleyen), a\u011f izolasyonuna ve yedekleme g\u00fcvenli\u011fine kadar her ad\u0131m dikkatle planlanmal\u0131 ve uygulanmal\u0131d\u0131r.<\/p>\n<p>Unutulmamal\u0131d\u0131r ki, Ubuntu 16.04&#8217;\u00fcn EOL olmas\u0131, i\u015fletim sisteminin kendisinin bir g\u00fcvenlik riski ta\u015f\u0131d\u0131\u011f\u0131 anlam\u0131na gelir. Bu makaledeki ad\u0131mlar, mevcut ortam\u0131n\u0131z\u0131 m\u00fcmk\u00fcn oldu\u011funca g\u00fcvenli hale getirmeye yard\u0131mc\u0131 olsa da, uzun vadede en iyi g\u00fcvenlik \u00e7\u00f6z\u00fcm\u00fc, desteklenen ve g\u00fcncel bir i\u015fletim sistemi s\u00fcr\u00fcm\u00fcne ge\u00e7i\u015f yapmakt\u0131r.<\/p>\n<p>G\u00fcvenlik, bir \u00fcr\u00fcn veya bir \u00f6zellik de\u011fil, bir s\u00fcre\u00e7tir. D\u00fczenli denetimler, izleme ve g\u00fcvenlik politikalar\u0131n\u0131n s\u00fcrekli iyile\u015ftirilmesi, OrientDB veritaban\u0131n\u0131z\u0131n ve \u00fczerinde \u00e7al\u0131\u015ft\u0131\u011f\u0131 sistemin uzun vadede g\u00fcvende kalmas\u0131n\u0131 sa\u011flayacakt\u0131r. Bu rehberde belirtilen ad\u0131mlar\u0131 uygulayarak, OrientDB veritaban\u0131 ortam\u0131n\u0131z\u0131n g\u00fcvenli\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilir ve de\u011ferli verilerinizi potansiyel tehditlere kar\u015f\u0131 koruyabilirsiniz.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"OrientDB Veritaban\u0131n\u0131z\u0131 Ubuntu 16.04 \u00dczerinde G\u00fcvenli Hale Getirme\nOrientDB, NoSQL d\u00fcnyas\u0131n\u0131n \u00e7ok modelli (Multi-Model) veritabanlar\u0131ndan b","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-30905","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>OrientDB Veritaban\u0131n\u0131z\u0131 Ubuntu 16.04 \u00dczerinde G\u00fcvenli Hale Getirme - 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\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OrientDB Veritaban\u0131n\u0131z\u0131 Ubuntu 16.04 \u00dczerinde G\u00fcvenli Hale Getirme\" \/>\n<meta property=\"og:description\" content=\"OrientDB Veritaban\u0131n\u0131z\u0131 Ubuntu 16.04 \u00dczerinde G\u00fcvenli Hale Getirme OrientDB, NoSQL d\u00fcnyas\u0131n\u0131n \u00e7ok modelli (Multi-Model) veritabanlar\u0131ndan b\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-03T05:41:13+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=\"20 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"OrientDB Veritaban\u0131n\u0131z\u0131 Ubuntu 16.04 \u00dczerinde G\u00fcvenli Hale Getirme\",\"datePublished\":\"2025-10-03T05:41:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/\"},\"wordCount\":3419,\"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\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/\",\"name\":\"OrientDB Veritaban\u0131n\u0131z\u0131 Ubuntu 16.04 \u00dczerinde G\u00fcvenli Hale Getirme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-03T05:41:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"OrientDB Veritaban\u0131n\u0131z\u0131 Ubuntu 16.04 \u00dczerinde G\u00fcvenli Hale Getirme\"}]},{\"@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":"OrientDB Veritaban\u0131n\u0131z\u0131 Ubuntu 16.04 \u00dczerinde G\u00fcvenli Hale Getirme - 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\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/","og_locale":"tr_TR","og_type":"article","og_title":"OrientDB Veritaban\u0131n\u0131z\u0131 Ubuntu 16.04 \u00dczerinde G\u00fcvenli Hale Getirme","og_description":"OrientDB Veritaban\u0131n\u0131z\u0131 Ubuntu 16.04 \u00dczerinde G\u00fcvenli Hale Getirme OrientDB, NoSQL d\u00fcnyas\u0131n\u0131n \u00e7ok modelli (Multi-Model) veritabanlar\u0131ndan b","og_url":"https:\/\/fatihsoysal.com\/blog\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-03T05:41:13+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"20 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"OrientDB Veritaban\u0131n\u0131z\u0131 Ubuntu 16.04 \u00dczerinde G\u00fcvenli Hale Getirme","datePublished":"2025-10-03T05:41:13+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/"},"wordCount":3419,"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\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/","url":"https:\/\/fatihsoysal.com\/blog\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/","name":"OrientDB Veritaban\u0131n\u0131z\u0131 Ubuntu 16.04 \u00dczerinde G\u00fcvenli Hale Getirme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-03T05:41:13+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/orientdb-veritabaninizi-ubuntu-16-04-uzerinde-guvenli-hale-getirme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"OrientDB Veritaban\u0131n\u0131z\u0131 Ubuntu 16.04 \u00dczerinde G\u00fcvenli Hale Getirme"}]},{"@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\/30905","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=30905"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/30905\/revisions"}],"predecessor-version":[{"id":30906,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/30905\/revisions\/30906"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=30905"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=30905"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=30905"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}