Frappe Framework ve HTML

Frappe Framework kullanırken dinamik HTML sayfaları yaratabilmek için Jinja template’lerini kullanabilirsiniz.

Bunun için aynı dizine, aynı isimli .py ve .html sayfaları oluşturmalısınız. Python dosyanız “get_context” methodunu, HTML dosyanız Jinja Template’ini içermelidir.

Pyhton dosyamızda “get_context” methodu ile elde ettiğimiz değişkenleri HTML dosyamız içerisinde yer alan Jinja Template’imize döndürerek sayfamızı render edeceğiz.

Örneğin;

sample_page.py;

sample_page.html

Bu basit örnekte görüldüğü üzere python dosyamızda(sample_page.py) oluşturduğumuz değişkenleri HTML dosyamızın içerisinde(sample_page.html) render edebildik.

Proxmox Mail Gateway – Gelen maillerin içerisindeki URL’leri VirusTotal.com ile kontrol etme

Opensource Mail Gateway ürünü olan proxmox mailgateway’in(PMG) kendi içerisinde bir çok filtreleme katmanı bulunuyor. Bunlara ek olarak bir çok ücretli mail gateway yazılımında dahi bulunmayan bir entegrasyonu hep birlikte yapalım. Bunun için PMG’nin Custom Check Interface özelliğinden faydalanacağiz.

Öncelikle;

virustotal üyeliği açarak api yönlendirmelerini takip edip üyeliğimize ait bir api key almamız gerekmektedir. virustotal’e sorgu atarken bu api keyden faydalanacağız.

Önemli Not: virustotal free üyelikde günde 500 sorguya kadar izin vermektedir. premium fiyatları dolar bazlı olduğundan ve astarı yüzünü geçtiğinden şöyle bir çözüm ürettim.

bir url’i virustotal’e sorguladıktan sonra sonucunu proxmox içerisinde yer alan postgres db’ye yazdım. ve aynı url tekrar geldiğinde son 7 gün içerisinde sorgulamışsam, tekrar virustotal’den sorgulamadım yerel db’imde yer alan sonuçları referans aldım.

/etc/pmg/pmg.conf dosyasında admin bölümünde custom check’i enable edelim.

section: admin
    custom_check 1

Custom check interface bash scriptini default ayarlarda “/usr/local/bin/pmg-custom-check” path’ine yazmamız gerekiyor. İsterseniz bu path’i de değiştirebilirsiniz. Burada oluşturduğumuz bir bash script ile asıl işi yapacak olan python dosyasını çağıracağız.

Bash script dosyamız ile /home/pmg-custom-check.py yolundaki python dosyamızı çağırıyoruz. “echo "$python_sonuc" satırında python dosyamızdan aldığımız yanıtı proxmox’a geri gönderiyoruz.

python dosyamız;

Wazuh Tüm Syslog’ları Arşivlemek

Wazuh default’ta tüm logları saklamıyor. Logları alıyor>Eşleştiği bir kural var ise işliyor ve discover ekranında gösteriyor, eşleştiği bir kural yok ise logu uçuruyor. Logları saklaması için global configin altında bulunan “<logall>no</logall>” ayarını ” yes” yapmak gerekir. Bu durumda aşağıdaki dosyaya tüm logları yazacaktır.

<logall>yes</logall> şeklinde değiştirirsek; topladığı tüm logları /var/ossec/logs/archives/YIL/AY/*.log dosyasına yazacaktır.

Eğer logları json formatında saklamak istersek;
<logall_json>no </logall_json> ayarını yes olarak güncellemek gerekir. bu durumda logları aşağıdaki dosyada saklayacaktır.

/var/ossec/logs/archives/YIL/AY/*.json

Tabi her iki ayarı değiştirdikten sonra wazuh manager servisini restart etmemiz gerekir.

systemctl restart wazuh-manager

Frappe Bench Fonksiyonun Test Edilmesi

Bir python fonksiyonu yazdınız ve bench altında nasıl çalışacağını test etmek istiyorsunuz. Bu durumda aşağıdaki syntax kullanılarak fonksiyonu çağırabilirsiniz.

tabi bench komutunun çalışabilmesi için frappe-bench dizini altında olmalısınız.

"bench --site siteadi execute fonksiyon yolu"
Örn;
"bench --site erp.sirketim.com execute erpnext.modules.hr.doctypes.events.benimfonksiyonum"