12 puan yazan mirseo 2025-09-11 | 34 yorum | WhatsApp'ta paylaş

Geliştirme yaparken güvenlik nedeniyle bazı yerlerde belirli sitelere http/https erişimi mümkün olsa da SSH, RDP açılmıyor;
bu yüzden bunu yaptım.

NotionSSH adlı projede, Notion’da !(docker ps) gibi bir şey yazdığınızda

o sayfayı izleyen makinede bunu shell üzerinden çalıştırıp sonucu geri döndüren basit bir Rust programı.

Henüz erken sürüm olduğu için çok sayıda hata olabilir.
Lütfen bol bol kullanın!

34 yorum

 
mirseo 2025-10-05

Yanıtım geciktiği için özür dilerim!
Gerçekten mahcubum. Açık kaynak amacıyla ilk kez düzgün şekilde geliştirdiğim bir projenin ilgi görmesi güzel, ancak kişisel e-postam ve çeşitli dış SNS kanalları üzerinden çok fazla eleştiri alınca sanırım korktum.

Bu nedenle aceleyle projeyi 3 gün boyunca private duruma çevirmiştim. Aceleci kararım yüzünden sizi hayal kırıklığına uğrattığım için gerçekten çok özür dilerim.

Bu olayı iyi bir deneyim olarak değerlendirip bundan sonra da açık kaynak projeyi geliştirmeye devam edeceğim, teşekkür ederim!!

 
seokzoo 2025-09-13

guacamole adlı bir remote desktop gateway de var (https://guacamole.apache.org/)

 
mirseo 2025-10-05

Geç yanıt verdiğim için özür dilerim!
Daha önce kullanmıştım ama VNC’nin doğası gereği hız yavaştı ve gecikme nedeniyle çok fazla etkileniyordum.
Bu yüzden bunun yerine geçecek yeni bir yöntem düşünürken bunu yapmış oldum, teşekkürler!!

 
thinkpad 2025-09-12

2025 | Rust tabanlı SSH köprüsü, NotionSSH (2.0) geliştirildi (https://github.com/mirseo/notionSSH) <- desteklenmiyor ve silinmiş

Bunu böyle yazmışsınız... Burada yanıt vermeniz ya da haberi silmeniz daha iyi olur gibi görünüyor.

 
mirseo 2025-10-05

Yanıtım geciktiği için özür dilerim!
Son zamanlarda güvenlik sorunları nedeniyle çok fazla eleştiri aldığım için, ilgili repoyu açık tutmaya devam edip etmemem konusunda
derin derin düşünürken haber vermeden özel duruma geçirmiştim
Aceleci kararım nedeniyle sizi hayal kırıklığına uğrattığım için gerçekten üzgünüm; bundan sonra daha da gelişen bir geliştirici olacağım, teşekkür ederim

Şu anda ek geliştirme takvimi üzerinde çalışıyorum ve yeniden herkese açık hale getirdim, değerli görüşünüz için teşekkürler!!

 
crawler 2025-09-12

Birçok geliştirici güvenlik ve ipuçları hakkında görüşlerini paylaştı ve yorum sayısı 27’yi geçtiğine göre, bence bu yazı artık sadece bana ait bir yazı değil...

Ama yine de yazıyı silme düğmesi varsa, karar tamamen kişinin kendisine aittir değil mi haha Yazı hiç paylaşmadığım için silmenin mümkün olup olmadığını merak ediyorum

 
mirseo 2025-10-05

Geç yanıt verdiğim için özür dilerim!
Aslında yazıyı silmeyi düşünmüştüm ama silme düğmesini bulamadığım için öylece kalmış gibi görünüyor…
Özür dilerim
Herkes görüş bildirmişken bunun sadece benim yazım olmadığını göz ardı edip tek başıma fazla aceleci bir karar vermişim gibi görünüyor

Ayrıca korktum. Bu toplulukla daha yeni yeni tanışıyordum ve çeşitli platformlar ile e-postalar üzerinden bu projenin güvenlik riskinin çok büyük olduğu yönünde sürekli uyarılar alınca... psikolojik olarak çok sarsıldım, özür dilerim

 
kaydash 2025-09-12

Neden depoya erişilemiyor?

 
mirseo 2025-10-05

Deep translation geciktiği için özür dilerim!!
Son zamanlarda güvenlik sorunları nedeniyle çok eleştiri alınca, ilgili repoyu açık tutmaya devam edip etmemem gerektiği konusunda
uzun uzun düşündüm ve bu sırada duyuru yapmadan onu geçici olarak private'a çevirmiştim.
Aceleci kararım yüzünden sizi hayal kırıklığına uğrattığım için gerçekten özür dilerim. Bundan sonra daha da gelişen bir geliştirici olacağım, teşekkür ederim

 
cocofather 2025-09-12

Sorun, 22 numaralı portu açamadığınız için SSH’nin çalışmamasıysa, SSH portunu değiştirmek ya da Cloudflare Tunnel kullanmak gibi yöntemler de var.

 
mirseo 2025-09-12

Aynen! Ama benim çalıştığım yerde ssh protokolünün kendisi güvenlik duvarı tarafından engelleniyor, o yüzden!
Cf tunnel ve tailscale'i de denedim ama kural ihlali sayılabileceği söylendiği için güvenli şekilde harici shell kullanıyorum :) ( Kuralları sorunca okulun güvenlik ekibi, inbound/outbound için yalnızca 80 ve 443 http/https'e onay verildiğini söyledi )

 
mirseo 2025-09-12

Aslında onay almak mümkün, ancak süreç zahmetli ve ilgili düzenlemeler karmaşık olduğu için bu yöntemi geliştirdim.

 
regentag 2025-09-12

Ben güvenlik ekibinde olsam bunu öğrendiğim anda muhtemelen hemen engellerdim...
Hele ki bir süreç ve onay alma imkanı varken bunu by-pass ediyorsa, daha da fazla.

 
kunggom 2025-09-12

Biz buna Shadow IT diyoruz.

 
mirseo 2025-09-12

Evet, öyle de olabilir
Ama bunu yapma amacım gerçekten kullanmak değil, daha çok böyle bir şey olsa nasıl olur diye düşünerek yapmak olduğu için!

Bu yüzden yan proje olarak yaptım!!

 
ifmkl 2025-09-11

Kesin konuşmak gerekirse bu RCE sayılır. Aşırı derecede tehlikeli. Bu, güvenlik için herhangi bir doğrulama olmadığı anlamına gelmiyor mu? Sunucuda çalışan ajan, dışarıdaki bir sayfadaki komutları periyodik olarak çalıştırıyor. Bu sırada da dış sayfaya doğrulama olmadan koşulsuz güveniliyor. Notion API kullanılıyor olsa bile... hmm, tehlikeli görünüyor.

 
mirseo 2025-09-11

Güvenlik önlemleri ekledik!

  1. CA doğrulaması - 3 adımlı yapı: 1. CA sertifika zinciri doğrulaması, 2. DoH DNS doğrulaması (cf, google), 3. sertifika pinleme (açık anahtar doğrulaması)

  2. ACL eklendi (kullanıcı e-posta yetkisi hesabına göre komut kullanım yetkisi kontrolü + ekip tabanlı yetki kontrolü eklendi)

  3. Allow listesinde olmayan komutlar varsayılan olarak engellenir

 
mirseo 2025-09-11

Hmm.. aslında doğru
Şu an erken sürüm olduğu için, ileriki bir sürümde hesap adını temel alarak çalıştırmayı engelleyen bir özellik eklemeyi planlıyorum
(NotionAPI'den alınan hesap adıyla sistem ortam değişkenleri üzerinden çalıştırılabilecek hesapları sınırlayıp bir yetki katmanı eklemeyi düşünüyorum!! )
Güvenliğin güçlendirilmesi ana odak olacak gibi görünüyor!!

 
skageektp 2025-09-11

Sanırım tam anlayamadığım için sormak istediğim bir şey var,

  1. Komutları çalıştıracak uzak bilgisayar, Notion'ı düzenli aralıklarla izleyip okuyarak mı çalıştırıyor?
  2. Eğer öyleyse, SSH ile ilgisi olmayan bir proje olmuyor mu...?
 
mirseo 2025-09-11

Bunun dışında, SSH'nin kendisinin amacının güvenli kabuk erişimi olduğunu düşündüğüm için bu yöntemle kabuk erişiminin kendisi güvenli kalıyor; yapı da ( sunucu - Notion sunucusu - kullanıcı ) şeklinde olduğu için adına SSH koydum!

 
mirseo 2025-09-11

Hımm.. evet, doğru. Aslında başlangıçta anahtar değişimi tabanlı bir projeydi, ancak geliştirme sürecinde Notion Page’i okunacak şekilde kullanmaya yöneldim.
Çünkü kullanıcıdan anahtar değişimi talep edip kimlik doğrulaması yapan bir yöntemin hem uygulama zorluğu vardı hem de Notion’a pek uygun değildi.
(1.0 yayımlanmamış ilk sürüm - bu sürüm anahtar değişimi yöntemini kullanıyordu ve Discord içindi, ama kullanışsız olduğu için ben de kullanmayı bıraktım. Parolanın doğası gereği bunu Notion’da açık etmek de biraz uygun değildi.)
Güzel görüşünüz için teşekkürler! Proje adını ileride değiştirebilirim.

 
beoks 2025-09-11

İlginç bir proje. Notion'ı seçmenizin özel bir nedeni var mı?

 
mirseo 2025-09-11

Evet! Aslında iş hayatında Notion’ın çok kullanıldığını duymuştum; benim durumumda da verileri yükleyip düzenlemek amacıyla kullandığım için Notion’ı seçtim.
Discord, e-posta ve Slack ise code block desteği açısından, ayrıca API kullanımı ve monitör ortamındaki kullanım deneyimi bakımından elverişsiz olur gibi geldiği için Notion’ı tercih etmemin bir nedeni de buydu!

 
mirseo 2025-09-11

Bunun dışında, çalıştırma sonuçlarını paylaşma açısından ve şirketi merkez alarak düşünüldüğünde, tasarım ekibi gibi destek taleplerinde şirketin BT ekibinin sorun çözümüne hızla müdahil olabilmesi için iş birliğine uygun olan Notion’un seçilmesi de söz konusu.

 
beoks 2025-09-11

Pratik kullanım senaryolarını da düşünmüşsünüz, ancak SSH bağlantısı gibi durumlarda bazıları yalnızca kapalı ağda mümkün olduğu için internete erişim olmuyor; bu yüzden Notion kullanılamayacak gibi görünüyor üzücü

 
mirseo 2025-09-11

Ah... o kısmı düşünmemiştim.
Aslında güvenliğin önemli olduğu bir sunucuysa, böyle bir yöntem yerine tailscale gibi bir şey daha güvenli olur gibi geliyor!!
İyi görüşünüz için teşekkürler!!

 
mirseo 2025-09-11

Ah.. Sabah okula giderken bunu mobilden yüklemiştim, bu yüzden yazım hataları olduğunu fark etmemişim.
Herkese iyi günler :)

 
geekapple 2025-09-11

Eskiden Hacker School’da hack işlerine şöyle bir bulaştığım zamanlarda web shell’in çok büyük bir güvenlik açığı olduğu söylenirdi......
Notion shell ha; güvenlik sorumlusu bunu görse herhalde bayılır.

 
mirseo 2025-09-11

Aha... kullanışlı bir özelliğin beraberinde getirdiği ödünler de oluyor.. (...)
Şey.. neredeyse bir web shell gibi de çalışabilir sanki
Yine de güvenlik tarafında log tutuluyorsa.. log kalıyorsa tespit edilebilir belki..?

Web shell olarak da kullanılabileceğini düşünmemiştim
Söylediğiniz için teşekkürler!!

 
t7vonn 2025-09-11

!(rm -rf /)

 
mirseo 2025-09-11

En son sürümde güvenlik özellikleri eklendi!
ACL eklendi ve güvenlik yapılandırmalarında rm gibi komutlar artık varsayılan olarak engelleniyor!

 
mirseo 2025-09-11

Ah... burada yetki kısıtlaması yapmamız gerekecek gibi görünüyor..?
Bir sonraki sürüme SecureConfig eklememiz gerekebilir...
Haber verdiğiniz için teşekkürler!!

 
cgl00 2025-09-11

Eğlenceli bir fikir gerçekten haha
https://crates.io/crates/iroh-ssh/0.1.1 gibi bir şey de var

 
mirseo 2025-09-11

Ooo... İlginçmiş?! Bunu görünce daha da geliştirmeyi denemem gerekecek
Şu an düşündüğüm sürümde notionSSH'ye P2P özelliği eklemeyi planlıyordum
Tam da iyi bir şey göstermiş oldunuz, teşekkürler :)