PfSense 5651 Kanuna Uygun Log İmzalama



  • Giriş

    Bu blog yazısında tüm kullanıcıların anlayacağı bir şekilde sonuç odaklı sizlere pfsense üzerinde 5651 kanuna uygun nasıl log imzalayabilirsiniz bunu anlatıyor olacağım. Bu blog yazısını adım adım takip ederek 5651 kanuna göre nasıl log imzalarsınız bunu öğreniyor ve uygulamalı olarak yapıyor olacaksınız.

    Bu yazının güncel halini buradan bulabilirsiniz.

    5651 Sayılı Kanun

    Çok uzun bir konu olduğu için buraya fazla yazmak istemedim, lütfen buradaki link adresine tıklayın ardından buradaki size ait olan başlığı, ilgili dökümanda aratıp, sizin ile alakalı alanları göz atmanızı şiddetle tavsiye ederim!

    MADDE 4 – (1) İnternet toplu kullanım sağlayıcılarının yükümlülükleri şunlardır;

    • Konusu suç oluşturan içeriklere erişimi önleyici tedbirleri almak.
    • İç IP Dağıtım Loglarını elektronik ortamda kendi sistemlerine kaydetmek.
    • İç IP Dağıtım Loglarını elektronik ortamda kendi sistemlerine kaydetmek.
    • Birden çok kişinin internete bağlandığı tüm ortamlar. (Firmalar, oteller, okullar, yurtlar vs)

    MADDE 15 – (1) Erişim sağlayıcı yükümlülükleri;

    • Sağladığı hizmetlere ilişkin olarak, Başkanlığın Kanunla verilen görevlerini yerine getirebilmesi için; erişim sağlayıcı trafik bilgisini iki yıl saklamakla, bu bilgilerin doğruluğunu, bütünlüğünü oluşan verilerin dosya bütünlük değerlerini (hash) zaman damgası ile birlikte muhafaza etmek ve gizliliğini temin etmekle. (Türk telekom, Vodafone, Turkcell, Avea vb.)

    MADDE 16 – (1)Yer sağlayıcının yükümlülükleri;

    • Yer sağlayıcı trafik bilgisini iki yıl saklamakla, bu bilgilerin doğruluğunu, bütünlüğünü oluşan verilerin dosya bütünlük değerlerini (hash) zaman damgası ile birlikte saklamak ve gizliliğini temin etmekle.

    • Web sitelerinin internet üzerinden yayınlanmasını sağlayanlar (Temel olarak hosting hizmeti verenler)

    MADDE 17 – (1)Erişimin engellenmesi kararı ve yerine getirilmesi;

    İnternet ortamında yapılan ve içeriği aşağıdaki suçları oluşturduğu hususunda yeterli şüphe sebebi bulunan yayınlarla ilgili olarak erişimin engellenmesine karar verilir:

    • İntihara yönlendirme,

    • Çocukların cinsel istismarı,

    • Uyuşturucu veya uyarıcı madde kullanılmasını kolaylaştırma,

    • Sağlık için tehlikeli madde temini,

    • Müstehcenlik,

    • Fuhuş,

    • Kumar oynanması için yer ve imkân sağlama,

    OpenSSL Log İmzalayıcı

    Script dosyalarını bizzat benim hazırlamadığım (https ve ftp scriptleri hariç) fakat tüm yapılandırmaları, bunların bir araya getirilmesi ve anlatımı bana aittir. Hali hazırda ayarlamış olduğum openssl sertifikaları vb. ayarları ile birlikte 5651 kanuna göre imzalama yapmak istemezseniz, bu yazının en alt satırında yardım almış olduğum kişinin blog sayfasındaki adımları takip ederek 5651 sizde yapabilirsiniz.

    Hazırlamış olduğum 5651 dosyasını benim google driver hesabım üzerinden güvenli bir şekilde indirebilirsiniz. Lütfen aşağıdaki adresten başka bir yerden indirmemeye dikkat ediniz!!

    Dosya : 5651.tar.gz

    pfSense Yapılacak İşlemler

    Direkt olarak 5651 konusuna geçmeden önce, pfsense üzerinde yapmamız gereken bazı yapılandırma ayarları var. Hazırlamış olduğum 5651 dosyası içindeki script dosyaları ile birlikte openssl ile Squid ve Dhcp adlı iki farklı servisin log dosyalarını imzalıyoruz. 5651 için bu iki servisin log dosyalarını imzalamamız yeterli oluyor. Tabi siz isterseniz aynı script dosyasını oluşturup farklı bir servisin log dosyasınıda imzalayabilirsiniz.

    Dediğim gibi bu iki servisin log dosyasını imzalayıp sakladığımız için, bu iki servisi pfsense üzerinde kurmamız ve çalıştırıyor olmamız gerekiyor.

    Önceden yazmış olduğum Squid ve SquidGuard paketlerinin kurulumu ile ilgili blog yazısına aşağıdaki link üzerinden ulaşabilirsiniz. Özellikle squid bölümündeki tüm ayarları adım adım doğru yaptığınızdan emin olunuz lütfen. ( Squid resmindeki "Enable Access Logging" seçeneğini aktif ediniz!!)

    Link adresi için tıklayınız.

    Yine önceden yazmış olduğum DHCP sunucu yapılandırması ile ilgili blog yazısına aşağıdaki link üzerinden ulaşabilirsiniz. DHCP sunucusu çalışıyor, kullanıcılar pfSense cihazının dhcp sunucusunu kullanarak TCP/IP bilgilerini alması gerekiyor 'ki imzalama yapalım.

    Link adresi için tıklayınız.

    Bir sonraki adım ise pfSense üzerinde SSH servisini aktif etmek. Ana menüde System > Advanced sekmesine giriyoruz, orta bölümde bulunan SSH özelliğini "Enable Secure Shell" seçeneğini seçip ardından en alt satırdan Save butonuna tıklayarak ayarları kaydediyoruz.

    Son olarak pfsense cihazınızın tarih ve saat ayarlarının doğru olması gerekiyor. Ana menüde System > General Setup sekmesine giriyoruz, orta bölümde bulunan Timezone bölümünde "Europe/İstanbul" seçeneğini seçip en alt satırdan Save butonuna tıklayarak ayarları kaydediyoruz.

    pfSense üzerindeki yapılacak adımlar şimdilik bu kadar, gelin birlikte 5651 yapılandırmasını nasıl yaparız buna bakalım.

    pfSense 5651 Yapılandırması

    Bu başlık altında pfSense üzerinde 5651 yapılandırması için aşağıdaki adımları birlikte uyguluyor olacağız. Bu blog yazısında anlatmış olduğum 5651 çözümü ile neler yapabiliyoruz aşağıda belirttim.

    • DHCP Leases adlı log dosyasını imzalayıp, arşivleyip, sıkıştırıp, disk içerisine saklayıp daha sonra ftp sunucusuna gönderiyoruz.

    • DHCP Log adlı log dosyasını imzalayıp, arşivleyip, sıkıştırıp, disk içerisine saklayıp daha sonra ftp sunucusuna gönderiyoruz.

    • Squid servisinin üzerinden geçen HTTP trafiğini içeren access.log dosyasını imzalayıp, arşivleyip, sıkıştırıp, disk içerisine saklayıp daha sonra ftp sunucusuna gönderiyoruz.

    • HTTPS, bir ağ arabirimin HTTPS trafiğini dinleyip bunu bir dosya üzerine yazıp ardından log dosyasını imzalayıp, arşivleyip, sıkıştırıp, disk içerisine saklayıp daha sonra ftp sunucusuna gönderiyoruz.

    • FTP, hazırlamış olduğum pratik çözüm ile istediğimiz log dosyalarını otomatik ftp sunucusuna yollayabiliyoruz.

    Aynı zamanda hangi log dosyalarının imzalandığını bilmek istersiniz diye aşağıda belirttim.

    DHCP Leases : /var/dhcpd/var/db/dhcpd.leases
    DHCP Log : /var/log/dhcpd.log
    Squid (Http) : /var/squid/logs/access.log
    HTTPS : /var/log/https_log/

    Bilgisayarımıza indirmiş olduğumuz 5651.tar.gz dosyasını scp aracını kullanarak pfsense 'in kök "/" dizinine gönderiyoruz. Dosyayı göndermek için filezilla, winscp vb. araçlar kullanılabilir.

    ucribrahim# scp /Desktop/5651.tar.gz root@pfsense_ip_adresi:/
    
    Password for root@pfSense.localdomain:
    
    5651.tar.gz                      100%   15KB   8.3MB/s   00:00
    
    

    Daha sonra ssh ile pfsense cihazına bağlanıyoruz.

    ucribrahim# ssh root@pfsense_ip_adresi
    

    Bağlantı kurduktan sonra, kök dizin içerisindeki 5651.tar.gz dosyasını aşağıdaki komutu kullanarak açıyoruz.

    x CA/
    
    x CA/private/
    
    x CA/newcerts/
    
    x CA/cacert.pem.old
    
    x CA/cacert.pem
    
    x CA/serial.old
    
    x CA/serial
    
    x CA/index.txt.old
    
    x CA/index.txt
    
    x CA/index.txt.attr
    
    x CA/tsacert.pem
    
    x CA/tsaserial
    
    x CA/newcerts/011E.pem
    
    x CA/private/cakey.pem.old
    
    x CA/private/cakey.pem
    
    x CA/private/tsakey.pem
    
    x sertifikalar/
    
    x sertifikalar/privkey.pem
    
    x sertifikalar/cacert.pem
    
    x sertifikalar/tsakey.pem
    
    x sertifikalar/tsareq.csr
    
    x sertifikalar/tsacert.pem
    
    x usr/
    
    x usr/local/
    
    x usr/local/ssl/
    
    x usr/local/ssl/imzalama/
    
    x usr/local/ssl/imzalama/dhcp-kiralar-imzalama.sh
    
    x usr/local/ssl/imzalama/dhcp-log-imzalama.sh
    
    x usr/local/ssl/imzalama/ftp.sh
    
    x usr/local/ssl/imzalama/https-servis-takip.sh
    
    x usr/local/ssl/imzalama/https-servis.sh
    
    x usr/local/ssl/imzalama/https-trafik-dinleme.sh
    
    x usr/local/ssl/imzalama/https-trafik-duzenleme.sh
    
    x usr/local/ssl/imzalama/https-trafik-imzalama.sh
    
    x usr/local/ssl/imzalama/openssl.cnf
    
    x usr/local/ssl/imzalama/squid-access-imzalama.sh
    
    x usr/local/ssl/imzalama/dosya.sh
    

    Yukarıdaki çıktıda gördüğünüz gibi 11 adet farklı işleri yapmak için script dosyaları bulunmakta. Bu dosyaların içerisini görebilir ve isterseniz düzenleyebilirsiniz, tabi ne yaptığınızı biliyorsanız.

    pfsense# cd /usr/local/ssl/imzalama
    
    pfsense#/usr/local/ssl/imzalama: ls -lh
    
    -rwxr-xr-x 1 root wheel 3.1K Mar 14 15:20 dhcp-kiralar-imzalama.sh
    
    -rwxr-xr-x 1 root wheel 3.1K Mar 14 15:20 dhcp-log-imzalama.sh
    
    -rwxr-xr-x 1 root wheel 434B Apr 11 15:14 dosya.sh
    
    -rwxr-xr-x 1 root wheel 341B Apr 11 14:56 ftp.sh
    
    -rwxr-xr-x 1 root wheel 290B Apr 11 14:33 https-servis-takip.sh
    
    -rwxr-xr-x 1 root wheel 775B Apr 10 11:40 https-servis.sh
    
    -rwxr-xr-x 1 root wheel 364B Apr 11 15:15 https-trafik-dinleme.sh
    
    -rwxr-xr-x 1 root wheel 339B Apr 10 11:45 https-trafik-duzenleme.sh
    
    -rwxr-xr-x 1 root wheel 3.3K Apr 10 11:48 https-trafik-imzalama.sh
    
    -rw-r--r-- 1 root wheel 11K Mar 14 15:20  openssl.cnf
    
    -rwxr-xr-x 1 root wheel 3.1K Mar 14 15:20 squid-access-imzalama.sh
    

    İlk önce elle imzalama yapalım, bakalım bu script dosyaları çalışıyormu ve imzalama doğru yapıyormu test edelim.

    pfsense# sh /usr/local/ssl/imzalama/dhcp-kiralar-imzalama.sh
    
    Using configuration from /usr/local/ssl/imzalama/openssl.cnf
    
    Response has been generated.
    
    Dogrulama tamam.
    
    a dhcpd.leases
    
    a dhcpd.leases.der
    
    a dhcpd.leases.tsq
    
    
    
    pfsense# sh /usr/local/ssl/imzalama/dhcp-log-imzalama.sh
    
    Using configuration from /usr/local/ssl/imzalama/openssl.cnf
    
    Response has been generated.
    
    Dogrulama tamam.
    
    a dhcpd.log
    
    a dhcpd.log.der
    
    a dhcpd.log.tsq
    
    
    
    pfsense# sh /usr/local/ssl/imzalama/squid-access-imzalama.sh
    
    Using configuration from /usr/local/ssl/imzalama/openssl.cnf
    
    Response has been generated.
    
    Dogrulama tamam.
    
    a access.log
    
    a access.log.der
    
    a access.log.tsq
    
    

    Yukarıdaki çıktıda görüldüğü gibi başarılı bir şekilde openssl ile imzalama yapıyor ve doğruluyor. Şuan Dhcp ve Squid adlı iki farklı servisin loglarını imzaladık ve doğruladık. Şimdi ise HTTPS trafiğini dinlemek ve imzalamak için yapılandırmalar yapıyor olacağız.

    Aşağıdaki dosyası favori editörünüz ile editleyiniz ve hangi ağ arabirimin https(443) trafiğini dinlemek ve imzalamak istiyorsanız o ilgili ağ arabiriminin bağlı olduğu ağ kartının numarasını yazıyorsunuz.

    NOT: HTTPS trafiğini dinleme ve imzalama yapmak istiyorsanız bu ayarı yapmanız gerekiyor!

    NOT: Birden fazla ağ arabirimi dinlemek istiyorsanız, ilgili ağ arabirimleri aralarında bir boşluk bırakarak yazınız. Aralarına bir BOŞLUK bırakmayı unutmayınız!!

    Örneğin benim sahip olduğum arabirimler ve bağlı oldukları ethernet kartlarının numaraları. Ben em1, em2, em3 adlı 3 tane ağ arabirimin https trafiğini dinlemek ve imzalamak istiyorum.

    WAN (wan) -> em0 -> v4/: 1.1.1.1.1/24
    
    LAN (lan) -> em1 -> v4: 2.2.2.2/24
    
    MUHASEBE (opt1) -> em2 -> v4: 3.3.3.3/24
    
    ARGE (opt2) -> em3 -> v4: 4.4.4.4/24
    

    Değiştireceğiniz ilgili yer koyu siyah renk ile işaretlenmiştir, ayarları yaptıktan sonra dosyayı kaydedip çıkmayı unutmayınız.

    pfsense# nano /usr/local/ssl/imzalama/https-trafik-dinleme.sh
    
    
    #!/bin/sh
    
    for i in em1 em2 em3
    
    do
    
    tcpdump -nn -tttt -e -i $i port 443 -q >> /var/log/https_log/https-$i-trafik.log &
    
    done
    

    (Opsiyonel) Bir sonraki adım ise imzalanan log dosyalarını otomatik olarak FileZilla FTP Server kurulu bir windows makineye göndermek için ayarlar yapıyor olacağız. Aşağıdaki dosyayı favori editörünüz ile düzenleyin ve içerisindeki HOST, USER, PASSWD alanları size uygun olarak değiştirin. Ayarları kaydetmeyi unutmayınız.

    Aşağıdaki adımları yapmadan önce yazdığım blog yazısındaki adımları gerçekleştiriniz!

    Blog yazısı= https://lifeoverlinux.com/pfsense-5651-filezilla-ftp-server-kurulumu/

    HOST=Windows ip adresi.

    USER=FTP kullanıcısı.

    PASSWD=FTP kullanıcının parolası

    pfsense# nano ftp.sh
    
    HOST="1.1.1.1"
    
    USER="test"
    
    PASSWD="test123"
    
    
    #DATE
    
    DATE=`date "+%Y%m%d"`
    
    
    cd /calisma_dizini
    
    for file in $(ls $calisma_dizini | cut -d"." -f1-)
    
    do
    
    
    ftp -inv $HOST << EOT
    
    user $USER $PASSWD
    
    binary
    
    mput $file*
    
    bye
    
    EOT
    
    done;
    

    İmzalanan başarılı ve başarısız kayıtları aşağıdaki dizin içerisinde bulabilirsiniz. Aşağıda görüldüğü üzere başarılı imzalama yapılmış dosyalar bulunuyor.

    Üçüncü komutu kullanarak ilgili arşivlenmiş dosyanın içeriğini okuyabilirsiniz. Aynı zamanda dördüncü komutu kullanarak arşivlenmiş dosyayı açabilirsiniz.

    pfsense# cd /var/imzali_kayitlar/
    
    pfsense# ls
    
    access.log.20180104-135102.tar.gz
    
    dhcpd.leases.20180104-135007.tar.gz
    
    dhcpd.log.20180104-135018.tar.gz
    
    
    pfsense# tar tf access.log.20180104-135102.tar.gz
    
    access.log
    
    access.log.der
    
    access.log.tsq
    
    
    pfsense# tar xvfz access.log.20180104-135102.tar.gz
    
    access.log
    
    access.log.der
    
    access.log.tsq
    

    Şimdi aklınıza şöyle bir soru gelebilir, kardeş biz her gün gelip ellemi imzalama yapıcaz. Tabiki hayır, bu işin otomatik olarak yapılması için crontab kullanıyor olacağız. Ana menüde System > Package Manager > Available Packages sekmesine girdikten sonra cron paketini kurunuz.

    Daha sonra Services > Cron menüsüne giriniz ve yeni bir cron görevi oluşturunuz. Benim eklemiş olduğum cron görevleri gibi sizde ekleyebilirsiniz.

    NOT : Eğer FTP ile yedekleme özelliğini kullanmıyorsanız, dosya.sh adlı satırı cron içerisine eklemenize gerek yok.

    0_1532005060005_Screen-Shot-2018-04-11-at-17.41.32.png

    Cron görevlerini ekledikten aşağıdaki komutu kullanarak cron servisini yeniden başlatılır.

    pfsense# service cron onerestart
    

    OpenSSL ile İmzalama Kontrolü

    OpenSSL ile imzaladığımız dosyaların eğer içeriği değiştirilirse, openssl ‘in ilgili dosya için imzalama sırasında oluşturduğu TimeStamp ve Hash bilgisi değişecektir ve artık o log dosyası hiçbir işe yaramaz, yani temelde işe yarar fakat polis, savcı, hakim vb. kişiler için dosyanın içeriği değiştirildiği için birşey ifade etmez.

    Birlikte imzalanan log dosyalarının doğruluğunu nasıl kontrol edebilir buna bakalım. Aşağıdaki adımları sırasıyla takip ederek doğruluğunu kontrol edebilirsiniz.

    pfsense# cd /var/imzali_kayitlar/
    
    
    pfsense#/var/imzali_kayitlar: tar xvfz dhcpd.leases.20180104-143607.tar.gz
    
    x dhcpd.leases
    
    x dhcpd.leases.der
    
    x dhcpd.leases.tsq
    
    
    pfsense#/var/imzali_kayitlar: openssl ts -verify -data dhcpd.leases -in dhcpd.leases.der -token_in -CAfile /CA/cacert.pem -untrusted /CA/tsacert.pem
    
    
    Verification: OK
    

    Yukarıdaki çıktıda görüldüğü gibi doğrulama sağlandı. Şimdi dhcpd.laeses ve dhcpd.lases.der dosyalarından birisinin içerisine birşeyler yazalım ve değişiklikleri kaydedip çıkalım. Daha sonra yeniden aynı komutu kullanarak doğrulama işlemini yapalım, bakalım doğrulayacakmı.

    pfsense#/var/imzali_kayitlar: echo "Özgür Yazılım Ulan" >> dhcpd.leases
    
    
    pfsense#/var/imzali_kayitlar: openssl ts -verify -data dhcpd.leases -in dhcpd.leases.der -token_in -CAfile /CA/cacert.pem -untrusted /CA/tsacert.pem
    
    Verification: FAILED
    

    Yukarıdaki çıktıda gördüğünüz gibi doğrulama başarısız oldu, çünkü dosyaların içeriğini değiştirdik.

    Blog Yazısı Özet

    Bu blog yazısında 5651 kanununa uygun nasıl openssl ile log dosyalarını imzalarız bunu öğrendik ve uyguladık. Eğer bir polis, savcı vb. kişi sizden dhcp, squid servislerinin ve https erişim kayıtlarını isterse, openssl ile imzaladığımız .tar.gz uzantılı dosyaları onlara incelemeleri için verebilirsiniz.

    Her günün sonunda saat 23:30 'da o günün logları otomatik olarak openssl ile imzalanacak ve imzali kayıtlar adlı dizin içerisinde tutulacaktır.

    İmzalanan log dosyalarını (.tar.gz) 2 yıl saklamanız gerekiyor! Kanun bunu söylüyor.

    İmzalanan log dosyalarını 3 veya 5 ay aralıklarla kontrol ediniz, hatali imzalama varmı, dosya boyutları büyükmü, disk kapasitesi doldumu vb. kontrolleri yaparsanız sizin için iyi olur.

    Gün içinde imzalanan log dosyaları (tar.gz) otomatik olarak her günün sonunda 23:30 'da ftp sunucusuna gönderiliyor. (Tabi ayarlamasını yaptıysanız!)

    Github Adresi

    Bu projemi github adresime taşıdım. Aşağıdaki adres üzerinden bu projenin detaylarına github adresim üzerinden ulaşabilir ve isterseniz destek verebilirsiniz.

    https://github.com/lifeoverlinux/pfSense-5651

    5651 Destek

    Eğer 5651 veya pfsense ile ilgili destek ihtiyacınız olursa benim ile aşağıdaki mail adresim üzerinden iletişim kurabilirsiniz. Bir sorunuz olursa yorum yazabilir veya mail adresim üzerinden benimle iletişime geçebilirsiniz.

    Mail : ucribrahim@gmail.com

    Çağrı Ersen’e çok teşekkürler.

    https://www.syslogs.org/openssl-ile-5651-sayili-kanun-geregi-log-imzalamak/

    https://www.syslogs.org/openssl-ve-tsa-ile-otomatik-log-imzalayici-shell-script/

    ” Online pfSense Firewall & Router Eğitimi | www.udemy.com/pfsense-training




  • Emeğinize sağlık güzel çalışma olmuş.



  • Emeğine sağlık üstat,

    Dediğin gibi her şeyi yaptım lakin son

    sh /usr/local/ssl/imzalama/squid-access-imzalama.sh komutundan sonra aşağıdaki gibi bir hata alıyorum sorun ne olabilir?

    [2.4.2-RELEASE][admin@pfSense.localdomain]/usr/local/ssl/imzalama: sh /usr/local/ssl/imzalama/squid-access-imzalama.sh

    cp: /var/squid/logs//access.log: No such file or directory

    34380755912:error:02001002:system library:fopen:No such file or directory:/builder/ce-242/tmp/FreeBSD-src/crypto/openssl/crypto/bio/bss_file.c:175:fopen('access.log','rb')

    34380755912:error:2006D080:BIO routines:BIO_new_file:no such file:/builder/ce-242/tmp/FreeBSD-src/crypto/openssl/crypto/bio/bss_file.c:182:

    Using configuration from /usr/local/ssl/imzalama/openssl.cnf

    Response is not generated.

    34380755912: hata: 02001002: sistem kitaplığı: fopen: Böyle bir dosya veya dizin yok: /builder/ce-242/tmp/FreeBSD-src/crypto/openssl/crypto/bio/bss_file.c: 175: fopen ('access.log .tsq', 'RB')

    34380755912: hata: 2006D080: BIO yordamları: BIO_new_file: böyle bir dosya yok: /builder/ce-242/tmp/FreeBSD-src/crypto/openssl/crypto/bio/bss_file.c: 182:

    34380755912: hata: 02001002: sistem kitaplığı: fopen: Böyle bir dosya veya dizin yok: /builder/ce-242/tmp/FreeBSD-src/crypto/openssl/crypto/bio/bss_file.c: 175: fopen ('access.log .der', 'RB')

    34380755912: hata: 2006D080: BIO yordamları: BIO_new_file: böyle bir dosya yok: /builder/ce-242/tmp/FreeBSD-src/crypto/openssl/crypto/bio/bss_file.c: 182:

    Dogrulama Saglanamadi. Islemler geri aliniyor.

    mv: /var/imza_isleri/access.log* dosyasını /var/imzali_kayitlar/hatali-imza-access.log-20180129-170753/access.log* olarak yeniden adlandırın: Böyle bir dosya veya dizin yok

    /usr/local/ssl/imzalama/squid-access-imzalama.sh: posta: bulunamadı



  • Dosya yok! Lütfen aşağıdaki dosya varmı yokmu kontrol et, varsa yeniden dene.

    /var/squid/logs/access.log

    Note: Birde rica etsem karmaşıklık olmaması adına sadece hata aldığın yeri yazsan yeterli diğerlerini silebilirsen sevinirim.



  • /var/squid/logs/  altında cache.log ve netdb.state var, log dosyasının içinde ERROR No forward-proxy configured. hatası vermiş.

    Squid güncellemesi varmış onuda yapıp tekrar denediğimde aşağıdaki hataları alıyorum.

    [2.4.2-RELEASE][admin@pfSense.localdomain]/usr/local/ssl/imzalama: sh /usr/local/ssl/imzalama/squid-access-imzalama.sh
    cp: /var/squid/logs//access.log: No such file or directory
    34380755912:error:02001002:system library:fopen:No such file or directory:/builder/ce-242/tmp/FreeBSD-src/crypto/openssl/crypto/bio/bss_file.c:175:fopen('access.log','rb')
    34380755912:error:2006D080:BIO routines:BIO_new_file:no such file:/builder/ce-242/tmp/FreeBSD-src/crypto/openssl/crypto/bio/bss_file.c:182:
    Using configuration from /usr/local/ssl/imzalama/openssl.cnf
    Response is not generated.
    34380755912:error:02001002:system library:fopen:No such file or directory:/builder/ce-242/tmp/FreeBSD-src/crypto/openssl/crypto/bio/bss_file.c:175:fopen('access.log.tsq','rb')
    34380755912:error:2006D080:BIO routines:BIO_new_file:no such file:/builder/ce-242/tmp/FreeBSD-src/crypto/openssl/crypto/bio/bss_file.c:182:
    34380755912:error:02001002:system library:fopen:No such file or directory:/builder/ce-242/tmp/FreeBSD-src/crypto/openssl/crypto/bio/bss_file.c:175:fopen('access.log.der','rb')
    34380755912:error:2006D080:BIO routines:BIO_new_file:no such file:/builder/ce-242/tmp/FreeBSD-src/crypto/openssl/crypto/bio/bss_file.c:182:
    Dogrulama Saglanamadi. Islemler geri aliniyor.
    mv: rename /var/imza_isleri/access.log* to /var/imzali_kayitlar/hatali-imza-access.log-20180130-082026/access.log*: No such file or directory
    /usr/local/ssl/imzalama/squid-access-imzalama.sh: mail: not found



  • Şöyleki dosya halen yok :) Squid servisini ayarlayınız daha sonra üzerinden trafik geçirin 'ki dosya oluşsun veya elle dosya oluştur "access.log" adında /var/squid/logs/ dizini altında daha sonra test et. Başarılı bir şekilde imzaladığını göreceksin.

    Dediğim gibi dosya yok veya dosya yolu bozuk. Eğer script içerisindeki dosya yolunu değiştirmediysen /var/squid/logs/access.log dosyası senin sistemde yok o yüzden imzalama yapamıyor çünkü dosya yok.

    Aşağıdaki adımları deneyerek test et, daha sonra sonuçları bizimle paylaşırsın.

    pfsense# touch /var/squid/logs/access.log

    pfsense# sh /usr/local/ssl/imzalama/squid-access-imzalama.sh

    Kolay gelsin.



  • İbrahim hocam,
    Söyledikleri yaptım herhangi bir hata almıyorum teşekkür ederim.

    Makalende Corn için görev yapmışsın ek' te resim silinmiş sanırım göremedim hangi ayarları yapmamız lazım ?

    Diğer bir sıkıntı ise;

    /var/squid/logs/access.log içeriği boş

    diğer bir konu ise /var/imzalı_kayitlar/ altındaki dhcpd.log, dhcpd.leases ve access.log içerklerine girdiğimde şaçma sapan karaterler görünüyor.



  • 1. Cron resmi halen ekte duruyor. Yazının en altında.

    2. /var/squid/logs/access.log dosyası boş olur içerisi. Neden çünkü biz elle boş bir dosya oluşturduk test için. Sizin squid servisini yapılandırmanız lazım.

    3. O dosyaların içerisinde normalde saçma sapan karakterler olmaz. İşe yarar bilgiler var içerlerinde. Yanlış birşey yapıyorsunzdur.



  • İbrahim Hocam,
    Squid ayarları bu şekilde,




  • Ben özellikle squid bölümündeki ayarlarının doğru bir şekilde yapılandırıldığından emin olun dedim. Logging Settings bölümdeki seçeneği aktif et ve rotate bölümüne ise 2 yaz daha sonra ayarları kaydet. Böylelike log tutmaya başlayacak ve access.log içerisi artık boş olmayacak.



  • Evet İbrahim hocam logları tutmaya başladı, hard disk kapasitem 1tb buradaki dosya boyutunu ara sıra kontrol edip silmek gerekebilir,

    aşağıda log örnekleri koydum,

    517300231.690    27 192.168.100.100 TCP_MISS/200 1353 GET http://idora.milliyet.com.tr/80x55/2018/01/30/–10725656.Jpeg - ORIGINAL_DST/46.20.153.20 image/jpeg
    1517300231.694    31 192.168.100.100 TCP_MISS/200 11795 GET http://idora.milliyet.com.tr/80x55/2018/01/30/cumhurbaskani-erdogan-sudan-da-soz-vermisti-calisma-basladi-10725616.Jpeg - ORIGINAL_DST/46.20.153.20 image/jpeg
    1517300231.798    134 192.168.100.100 TCP_MISS/200 66864 GET http://idora.milliyet.com.tr/568x337/2018/01/30/abd-li-askere-evlatlik-verilen-kiz-28-yil-sonra-gercek-annesiyle-bulustu-10725621.Jpeg - ORIGINAL_DST/46.20.153.20 image/jpeg

    Bu loglar da tarih saat olması gerekmez mi?

    Orjinal Access Log dosyası ek' teki gibi düzelmiş görünüyor.

    access.txt



  • 1 TB harddisk varsa o harddisk ortalama seni 10 yıl götürür :)

    Aynı zamanda aşağıdaki yazımı inceleyebilirsin tarih olayı için.

    https://lifeoverlinux.com/pfsense-5651-log-dosyasi-inceleme/



  • İbrahim hocam çok teşekkür ederim, hiç sorunsuz imzalıyor,

    Bu şekilde imza resmi olarak kabul ediliyor mu? ve ayrıca diğer makalendeki pfsense# cat /var/squid/logs/access.log | perl -p -e 's/^([0-9]*)/"[".localtime($1)."]"/e'
    komutunu  sadece shell satırında okumak için sanırım bu düzeltilmiş veriyi export etmek mümkün değil mi?

    Diğer taraftan Corn minute ayarını 5 yaptım ama otomatik çalışmadı bir şeyi yanlış yapıyor olabilir miyim?

    Teşekkürler.



  • Levent bey şöyleki, bunu sürekli yapman gerekmiyor hatta hiç yapma. Gerek yok. Sadece bil diye söylüyorum log dosyası içerisindeki kayıtların tarih ve saat bilgilerini bu yöntem ile okuyabiliyorsun. Ne zaman log dosyasını okumak istersen bu yöntemle okursan tarih ve saat bilgisini anlarsın.

    Bu konuyu istersen kapatalım.)



  • Selam İbrahim hocam,

    Corn içindeki minute ayarını */59 yaptım her 59 dakikada bir imzalayacak test ettim düzgün çalışıyor.

    Bir durum olması halinde biz elimizdeki dhcpd.log, dhcpd.lease ve access.log tar.gz uzantılı dosyaları vererek resmi işlemden geçmiş oluyormuyuz? Yoksa farklı bir prosedür daha uygulamamız gerekir mi?

    Teşekkür ederim.



  • 1. 59 dk 'da bir loglar imzalanacak bunu tavsiye etmem kisa süre içerisinde yüzlerce binlerce .tar.gz uzantılı dosyanız olacak. Gün bazında yapsanız daha iyi olur. Yinede siz bilirsiniz.

    2. İmzali kayitlar dizini içerisindeki .tar.gz uzantılı dosyaları verirseniz başka hiçbir şey yapmanıza gerek yok.



  • Yardımlarınızdan dolayı çok teşekkür ederim, sıkıntısız çalışıyor.



  • İbrahim Bey, normalde sadece teşekkür yazıp bırakılan yazıları sevmem ancak, siz büyük bir teşekkürü hak ediyorsunuz, kıymetli zamanınızı ayırarak pfsense kullanıcılarını rahatlatacak bir çalışma yaptığınız için çok teşekkür ediyoruz, bahsettiğiniz adımları uyguladım bir sorun olmadan uygulamayı tamamladı yazınızın başında söylediğiniz gibi önce squid ve dans guardian kurulumu ile ilgili makaleye göz atılması fayda sağlayacaktır. (kuramayan arkadaşlar için)



  • Teşekkür ederim güzel yorumunuz için, mutlu oldum. 1 hafta içinde 443 https trafiğinide dinleyip ardından 5651 kanununa uygun imzalayacağım. Böylelikle tam teşekkürlü bir 5651 yapmış olacağız hem kendimiz için hemde savcı, polis vb. diğer kişiler için.

    İşin sonunda HTTPS, HTTP, DHCP kayıtlarını logluyor ve imzaliyor olacağız. Şuan HTTP, DHCP var, dediğim gibi 1 haftaya kalmaz HTTPS modülünü eklicem ;)



  • Merhabalar,

    anladığım kadarı ile sadece  pfsense üzerinde yapılan dhcp server la ilgili çalışması var peki active direcktory tarafında dhcp ve dns olan kişiler bu yapıdan yararlanabilir mi yararlanamazsa ne yapmaları gerekiyor ?



  • Merhaba,

    Network içerisinde dhcp sunucusu farklı bir server üzerinden dağıtılıyor ise Syslog özelliği ile bu dhcp kayıtlarını pfsense üzerine yollayıp, pfsense üzerinde imzalatabilirsiniz. Fakat bunun için biraz uğraşmam ve test etmem lazım, fakat şu günlerde hiç müsait değilim. O yüzden siz kayıtları pfsense 'e yollarsanız imzalama kısmında yardımcı olurum.



  • elinize sağlık teşekkürler.
    bir sorunum var. denemek için kurulumu yaptım. 25 kullanıcılı bir ağda https-re0-trafik.log dosyasının boyutu 2dk içinde 100mb. geçti. bu normal mi, yoksa yanlış bir şey mi yaptım?



  • @oguzk06 Eğer 2 dk içinde 100mb oluyorsa bir problem var demektir, bu kadar hızlı dosyanın boyutu o kadar olmaz. 150-200 kullanıcınız olsaydı normal fakat 25 kullanıcı ile 2 dk içinde 100mb sıkıntılı. Network trafiğinizi kontrol etmeniz gerekiyor. Çok yoğun bir trafik yapan birisi varmı, kontrol edin.

    Eğer kullanıcılarınız yüksek trafik tüketiyorsa bu normal olabilir. Yinede siz tcpdump komutu ile o network bacağını dinleyip trafik yoğunluğuna bakın.



  • teşekkürler paylaşım için...



  • Teşekkürler paylaşım için.



  • merhaba şuan bu projeniz 5651 i kanuna gore uygunmu imzalıyor ve uygularken manuel olarak .sh dosylaraı calıstırdıgımda sorun cıkmıyor fakat cron a kaydettigimde hiç çalıştırmıyor .sh dosyaları manuel yapınca sorun yok shellden



  • @steetstyle Evet 5651 kanuna göre uygun şuan. Cron kaydettikten sonra cron servisini yeniden başlatmanız gerekiyor.

    service cron onerestart



  • @ucribrahim onu hallettim teşekkür ederim tek bir sorun kaldı FTP ye bağlanamıyorum server üzerinden LAN networkünde olan FileZilla Server kurduğum bilgsayara o yüzdended Ftp kodlarınız çalımıyor ftp servera atamıyor sanırsam PFsense üzerinde bir ayar veya kuralmı belirlemem gerekiyor



  • @ucribrahim said in PfSense 5651 Kanuna Uygun Log İmzalama:

    for i in em1 em2 em3

    do

    tcpdump -nn -tttt -e -i $i port 443 -q >> /var/log/https_log/https-$i-trafik.log &

    done

    -q parametresi porttan sonra olduğunda syntaxerror hatası veriyor. Portun öncesine bir yere alındığında çalışıyor. Pfsense Sürüm 2.3.4



  • @steetstyle Hmm FTP kodları çalışmıyor diyorsun) Olabilir, test etmem lazım.

    Aşağıdaki adımları yaptın demi?
    https://lifeoverlinux.com/pfsense-5651-filezilla-ftp-server-kurulumu/

    Daha sonra ftp.sh dosyasının içerisine fizella kullanıcı adı ve parolasını yazdın aynı zamanda client 'ın ip adresini?

    https://lifeoverlinux.com/pfsense-5651-kanuna-uygun-log-imzalama/

    Daha sonra dosya.sh dosyasını çalıştırdın?

    sh dosya.sh

    Yukarıdaki adımları sırasıyla yaptıktan sonra ne hata aldın?



  • @ucribrahim said in PfSense 5651 Kanuna Uygun Log İmzalama:

    Yukarıdaki adımları sırasıyla yaptıktan sonra ne hata aldın?

    Adımları Aynen gerçekleştirdim fakat FTP Serverın Kurulugu oldugu ip adresine baglanırken timeout oluyor ve düşüyor bağlanmıyor



  • @steetstyle İlginç. Müsait olduğum zaman bakmaya çalışırım.



  • @ucribrahim Sorunu çözdüm sorun windowsun firewalı ve FTP Filezillanın firewallı yüzünden bağlanmanıza izin vermiyor programın ayarlarından tüm ip bloklarını işaretlerseniz ve Windows ta yüklü olan firewalı aktif halden çıkarırsanız sorun çözülüyor Son bir sorum olukcatı İbrahim bey Şimdi Devletin verdiği bi ip program imzalayıcı prgoram var onu kullanmak zorundamıyız ftp ile gelen her dosyayı imzalıyor oda bu yaptıgımız scriptte mi aynı şekilde imzalıyor ikisinide kullsank sorun olurmu hem openssl ile imzalıyp üstüne ftp ile gonderdigimde üstüne İP LOG İMZALAYICI Program ile imzalasam sıkıntı cıkarmı yoksa sizinki sadece yeterlimi



  • @steetstyle İki çözümden birisini veya her ikisinide aynı anda kullanabilirsiniz. 👍



  • Tutulan loglarla internet saati uyuşmuyor bunun nedeni ne olabilir pf sense in saati güncel fakat Squid proxy deki real time sekmesindeki saatler uyuşmuyor dosyaları göz gezdirdiğimde isede aynı durum 1 saat 12 dakikalık bir sapma var bu sorunu nasıl çözebilirim



  • @steetstyle Nasıl çözebilirsin bilmiyorum, araştırman lazım. pfSense saati mutlaka mutlaka doğru olması lazım!

    Squid "access.log" dosyasını incelemek ile ilgili bir blog yazısı yazmıştım aşağıdaki linkten bakabilirsin.

    https://lifeoverlinux.com/pfsense-5651-log-dosyasi-inceleme/



  • @ucribrahim Merhaba Sorunu çözdüm /etc/inc/services.inc doyasında db-time-format local; değişkenini tanımlarsak timestamp formatında yazıyor yanında açıklmaa satırındada Sat Dec 08 16:15:35 2018 bu tarih formatında yazıyor

    $dhcpdconf = <<<EOD

    option domain-name "{$syscfg['domain']}";
    option ldap-server code 95 = text;
    option domain-search-list code 119 = text;
    option arch code 93 = unsigned integer 16; # RFC4578
    {$custoptions}
    default-lease-time 7200;
    db-time-format local; # bu değişkeni buraya ekleyin !!!!!!!!!!!!!!!!!
    max-lease-time 86400;
    log-facility local7;
    one-lease-per-client true;
    deny duplicates;
    ping-check true;
    update-conflict-detection false;

    EOD;

    ve sonra Menü PFSENSE ADMIN ->Services>DHCP Server>LAN Change DHCP display lease time from UTC to local time
    kutucugunu işaretleyin

    Size sorum İbrahim Bey Yönetmenlikte nasıl bi formtta tutmamız lazım bu şeklde olsa kabul oluyor mu ?



  • @steetstyle Sorunu çözmeniz çok güzel. OpenSSL ile bu şekilde dosyaları imzalayıp ".tar.gz" formatında saklayabiliriz, 5651 kanunu için bu yeterli.

    Rica etsem aşağıdaki link üzerinden OpenSSL elektronik tabanlı imzalama hakkında yazı mevcut, bir göz atarmısınız.

    https://www.syslogs.org/openssl-ile-5651-sayili-kanun-geregi-log-imzalamak/