• 14-01-2025, 14:15:07
    #1
    Selamlar,

    Şuanda RoketBayim olarak hiç bir sitemiz internet ortamında herkese açık olarak paylaşmıyoruz ve yakında yeni web sitelerimizi artık herkese açık bir site haline getirip,son kullanıcılarla açacağız.

    Peki asıl sorum şu,açacağımız web sitelerinde database'de olan bir veri çekilmeyecek ana iki tane cihaz olacak.Şimdi veri barınan sitenin hostinginde değil de bütün verileri ana cihaza istek atarak verileri çekeceğiz ve ayrıca istekler için bir "rate-limit" normal olarak olmayacak ve sadece belirli keyler ile "yetkilendirme" verip sadece o yetkinlendirme verilen hesaplardan gelen istekleri kabul ettirmeyi planlayıp ona göre verileri vereceğiz ve sistemde buna göre işleyecek.

    Peki böyle bir sistemde nasıl bir açık olabilir?
    İlgili cihazlar gizli olacağından dolayı açık ile bulunması zorlaştırılacak.
    İlgili cihazlar bulunsa bile yetkilendirme dışında kalacakları için istekleri kabul edilmeyecek.

    Böyle bir mantıksal sistemde nasıl bir açık olabilir?
  • 14-01-2025, 14:33:21
    #2
    Rate-limit, timeout ve max up size vb. olmayan hiçbir sistem güvenli diyemeyiz.

    Bu limitleri kendi sisteminize uygun hale getirdikten sonra ve verilerinizi filtreleyip oop bir kodlama yapısından sonra hiçbir verinize birşey olmaz.
    Girdi ve çıktılarınız çok önemli. Kullanıcıdan aldığınız girdiler ve verdiğiniz çıktılar duruma göre filtrelendikten sonra veritabanına yapılacak erişimler direkt veya api üzerinden olması güvenli/güvensiz olarak tanımlanmaz.
    Siz birkaç katman arkasına saklanırsam sorun çözülür zannediyorsunuz ama isterseniz 50 katman arkadan alın veriyi, günün sonunda yine suistimal edilebilirsiniz.

    Eğer client tarafında bir suistimal varsa zaten buna hiç kimsenin yapacağı birşey yok. Örneğin müşteriniz ortadaki adam saldırısına kurban gittiğini varsaylım, böyle bir durumda google gibi bir şirket bile böyle bir sorunun önüne geçemez.
  • 14-01-2025, 14:51:07
    #3
    @oktayc0; hocamın da dediği gibi olduğu sürece çok problem yaşayacağınızı zannemtiyorum. Biraz daha basite indirgermemiz gerekirse;

    Api servisinde limitleri belirleyin ve kullanıcıdan talep ettiğiniz verilere göre işlem yaptırın bir alan yalnızca sayı ile çalışıyorsa yalnızca sayı ile cevap vermeli. Jwt kullanarak client-api arasında ki işlemlerde çift taraflı doğrulama sağlayabilirsiniz.
    Bir de client -> server -> api şeklinde bir ilerleme var ise client, apiye doğrudan erişememeli. Server->api arasında bir ip sınırlaması yapmalısınız.
  • 14-01-2025, 15:07:52
    #4
    iyi düşünmüşün.
    şimdi veriye yönelik bir güvenlik değilmi.
    peki sızan birisi kendini yetkilendirmeyi başarırsa
    tek yetkilemdirme ile tüm herşeyi eline alacak .

    veri cekemeyecek, ama kendisi yetkili olduğu için aynı verileri başka bir yere yazdırıp ordan cekebilir, başka bir sunucuya veya aynı sunucu içerisine.

    aslında mantık güzel ama pek acmadı,
    saldırganı sadece limitlere takılarak enellemede belli bir aşamaya kadar durdurabilir.

    aslında özel yetkili istekleri ile veri işlenecek, bu yetkili verileri suistimal edilsede veri kullanılmamalı bunun için eklenti olması gerek.
    google, youtube, Twitter, nasa gibi büyük online mühendislik ile kontrol edilen bir sistemleri hack edenler bence bunda pek sıkıntı yaşayacaklarını sanmıyorım..
    ama işlem güzelmi güzel iyi düşünce etkili olurmu olur, ama ne kadar?
    bende artı olarak hadi calınan verilerin kullanılmamasını sağlamak olmalı.

    Başarılar