Emre Bey’in attığı bir yorum üzerine bu yazıyı yazıyorum. Emre Bey’in derdi günümüzde çok yaygın olan veri ve ürün hırsızlığı ile ilgili. Yasaların yetersiz kaldığı yada uygulanmasının mümkün olmadığı durumlarda (finansal yetersizliklerden dolayı) ürün ve kaynak kodunu korumak için neler yapabilirsiniz? Yazılım firmanızı ve ürününüzü meraklı yazılım uzmanları ve hırsızlara karşı nasıl koruyacaksınız? Finansal olarak zaten küçük bir işletmesiniz ve dava açıp avukat masrafları ile uğraşmak ta istemiyorsunuz. Zaman ve nakit kaybını en aza indirerek ürününüzü ve firmanızın geleceğini korumak istiyorsunuz.
Teknik açıdan ne yaparsanız yapın elbet bir delik bulunacaktır. Ya sosyal mühendislik yolu ile yada sistemdeki bir açık yüzünden gözünüzün nuru ürününüz dışarıya sızacaktır. Gene de teknik açıdan yapılabilecek pek çok şey var. Ne kadar çok kapıyı kapatırsak o kadar sızıntıyı önlemiş oluruz. Öte yandan yazılımcıların esnekliğini kısıtlamış oluyorsunuz ve bir yazılımıc için pek iyi bir durum değil.
Yapılacak teknik kısıtlamalara bir bakalım. Uyarı: Bu yazılanları uygularsanız firmanızda Darth Wader olarak adınız çıkabilir.
1- Tüm disket ve CD sürücüleri kaldırın
Firma içinde yazılım amaçlı kullanılan ve yazılımın bulunduğu ağ dizinlerine erişebilecek her bilgisayarın disket ve CD sürücülerini kaldırın. Böylece bir kapıyı kapamış oluyoruz. Benim şu an çalıştığım departmanda CD ve disket sürücüleri bilgisayarların üzerinde fakat işletim sisteminden hiç birine erişim yok. BIOS seviyesinde kapatılmışlar.
Bazı bilgisayar kasaları vidaları sökülüp açıldığında sistem yöneticisine bildiri gönderecek şekilde dizayn edilmiştir. Bu kasaları kullanırsanız bir miktar daha koruma sağlamış olursunuz.
2- USB portlarını kapatın
USB portlarına takılacak herhangi bir araç kodun dışarıya sızmasına neden olabilir. USB portları muhakkak kapatılmalıdır. Ayrıca varsa infrared portaları da kapatılmalıdır.
3- BIOS şifrelenmeli
BIOS sistem yöneticisi tarafından bir şifre ile korunmalıdır. Böylece kimse BIOS üzerinden USB portlarını açamaz yada IDE sürücülerini etkin hale getiremez. Kasaları açıp pilleri çıkartınca pek geçerli bir koruma olmuyor ama haftalık kontroller ile denetlenebilir.
4- Tek bir sistem yöneticisi
Genel olarak bir yazılım evinde herkes sistem yöneticisi olarak tanımlanır ki herkes istediği her yere ulaşabilsin. Fakat çok yanlış bir uygulama. Ben kendi bilgisayarlarımda bile sistem yöneticisi olarak iş yapmıyorum. Biraz daha profesyonel olmak için bir domain kurun ve tek bir sistem yöneticisi atayarak kullanıcıları yönetin. Verilecek hakları ve erişimleri sıkı denetleyin.
5- Security Policy ayarları
Windows üzerindeki Security Policy ayarları ile kullanıcıların uygulama kurma ve kaldırma haklarını kapatın. Böylece bir şekilde ağınıza bir uygulama girse dahi kurulumu çok zor olacaktır. Domain kurarak bu ayarları domain bazında yapın.
6- Hiç kimse lokal admin olmamalı
Eğer COM+ geliştiriyorsanız olabilir tabii ama hiç kimse kullandığı bilgisayarda lokal admin olarak iş yapmamalı.
7- İnternet bağlantısı olmamalı
İnternet verimliliği düşüren en büyük etkenlerden biri bence. Ben kod yazarken ne Outlook nede MSN Live Messenger açıktır. Zaten gerek te yok çünkü en son sürüm MSDN kurulu makinemde.
8- Domain kurun ve kullanıcıları iyi yönetin
Her kullanıcıyı admin olarak tanımlamaktansa bir domain kurup kullanıcılara verilecek hakları belirleyin. İstisnalar olacaksa neden olacağını ve nasıl yönetileceğini de belirleyin.
9- Ağınıza bağlanacak makineleri takip edin
Linux için www.arpalert.org adresinde ArpAlert diye bir ürün mevcut. Bu ürün ile ağınıza bağlı makinelerin MAC adreslerini bir veritabanında tutuyorsunuz ve kayıtlı olmayan bir makine bağlandığında size haber veriyor. Günümüz MAC Spoof yöntemleri ile biraz geçersiz bir ürün oluyor ama hiç yoktan iyidir. Kablosuz ağlar içinde iyi sayılabilecek bir yöntem.
10- Kod deponuzu koruyun
Kod deponuz hangi ürün olursa olsun kesinlikle kilitli kapılar ardında olmalıdır. Ayrıca kullanıcıların yaptığı işlemleri takip edip uygunsuz bir işlem gördüğünüzde soruşturma yapın. Örneğin bir kullanıcı tüm kod deposunu indirmeye kalkarsa arkasında muhakkak bir çapan oğlu vardır. Her gün sonunda bir yedek alıp güvenli bir şekilde saklayın. Yedeğin bir kopyasını firma dışında bir yerde hatta farklı bir şehirde tutun.
11- Güvenilir kişiler ile çalışın
Bulması ve anlaması zor bir özellik. Kişilerin güvenilirliği çok değişken de olabilir. Haysiyetli ve helal süt emmiş yazılım uzmanları ile çalışırsanız riskiniz daha da azalacaktır. Deneme yanılma yolu ile bulacağınız bu kişiler firmanın kök ekibini oluşturabilir.
12- Log tutun ve logları inceleyin
Herkes log tutar ama bunları inceleyen çok azdır. Kilit işlemler yapılırken muhakkak log tutun ve bunları gün sonunda inceleyin. Çeşitli otomatik uyarı mekanizmaları kurup yapılan bazı işlemlerden anında haberdar olmaya bakın.
13- Dışarıya giden postaların kontrolü
Firmanızın sunucularından çıkacak her türlü e-posta incelenmeli ve onaylanmalıdır. Böylece bir yazılım uzmanı kodları zipleyip e-posta ile göndermeye kalkarsa durdurulabilir.
Kodu çalmak isteyen yazılımcı kodu yazıcıdan basabilir ve bir şekilde kodu dışarıya çıkarabilir. Teknik açıdan ne kadar kısıtlama getirirseniz getirin bir açık elbet olacaktır. Bu kadar çok kısıtlama yazılım uzmanlarını da bunaltabilir. Hani bu kadar yazdım ama ben bu tür bir firmada çalışmak istemezdim. Eğer firma sahibi beni hırsız olarak görüyorsa neden çalışayım ki… Sanırım teknik açıdan yapılacak şey çok fazla ve takibi ve teftişi için nakit ve vakit harcamanız gerekecek.
Sonuç
Sadakat kişilerin karşılıklı güvenlerinin artması sonucu doğan bir unsurdur. Eğer siz firma sahibi olarak çalışanlarınızın geleceğini garanti edebilirseniz çalışanlar da size sadık olacaktır. Yapacağınız satışlar ile firmanıza sağlayacağınız gelir akışları ve akabinde bunun herkesin çabası ile olduğunu anlatacak toplantılar veya kutlamalar yapabilirsiniz. Böylece çalışanlar kendilerini daha da fazla firmanın bir parçası olarak görürler. Gelecek vaad etmeyen bir firmada hiç kimse durmak istemez.
Firma kültürünü ve sadakati misyon haline getirseniz dahi birileri mutlaka kodu çalmak için yeltenecektir. Gizlilik anlaşması bu aşamada imdadımıza yetişebilir. Bu anlaşma kişilerin çalıştıkları ürün hakkında dışarıda konuşmalarını ve herhangi bir şekilde kaynak kodunun dışarıya sızdırılması halinde yasal işlemlerin uygulanacağını açık seçik belirten bir anlaşmadır. (bakınız Non-Disclosure Aggrement yada Confidentiality Aggreement). En iyi çözüm bir gizlilik anlaşması imzalatmak ve güvenilir kişiler ile çalışmak. Yapılan her işlem için log da tutabilirsiniz. Anlaşmayı imzalayan ve her işlem için log tutulduğunu bilen yazılım uzmanları kodu çalmaya yeltenmeyecektir (en azından ben öyle umuyorum). Bu iki anlaşma örneğini yakında blogumda vereceğim.
Bazı anlaşmalarda ayrılan kişilerin rakip firmalarda çalışmasını önleyecek maddeler bulunur. Örneğin A firmasından ayrılıp aynı tür ürün geliştiren B firmasına geçip çalışmamız engellenmek istenebilir. Bu hayatımda gördüğüm en rezil uygulama. Zaten yasal bir dayanağı da yok. Ben kendi bildiğim işleri yapmak ve kariyerimde ilerlemek için tabii ki aynı işi yapan daha büyük bir firmaya geçicem. Bu kaçınılmaz.
Karşılıklı güven ve sadakatin gelişmesi için sağlanacak ortamın yaratılması ve kişilerin özveri ile çalıştığı bir firmada bu tür yaptırımlara gerek kalmaması lazım. Uygulanacak her türlü yaptırım, yazılım uzmanlarının çalışma şartlarını bozar. Kodun kalitesini dahi düşürebilir. Kontrolün dozajını iyi ayarlayıp çalışanları tiksindirmeden bu işi halletmek gerekiyor. Firmada çalışan herkes istisnasız bu anlaşmaları imzalamadır. İstisna yapmaya başlarsanız diğer çalışanlar bu durumdan rahatsız olabilir.
Diğer bir yöntem yazılım ve şirket genel ağlarını birbirinden fiziksel olarak ayırmak. Hatta her bir test seviyesi için birer ağ kurmak iyi olabilir. Örneğin benim çalıştığım departmanda Geliştirme, Fonksiyon Testleri, Kullanıcı Kabul Testleri, Entegrasyon Testleri, Performans Testleri için birer ağ mevcut. Bu ağlar birbirinin hemen hemen aynısı. Fakat domain olarak ayrılar. Aralarında fiziksel olarak bağlantı var fakat firewall bunları denetliyor. Masraflı ama günümüzün Virtual PC imkanlarını düşünecek olursanız aslında uygulaması o kadar da maliyetli değil. Benim çalıştığım yerde Performans testlerine kadar olan tüm ağlar ve bilgisayarlar sanal. Yönetimi de çok kolay oluyor. Bir temel “image” hazırlayıp her kurulumda bunu kullanabilirsiniz.
Kod çalınırsa yada kaçak olarak yerlerde satılmaya başlarsa yapacağınız en mantıklı hareket, ürünün bir sonraki sürümünde ekleyeceğiniz özellikleri geliştirmektir. Öyle ki müşteriler yerlerde satılan eski sürüm yerine yeni sürüm için aşersinler. Arayüzlerde yapılacak yenilikler veya sistemde temelden yapılacak değişiklikler buna neden olabilir. Evet masraflı ama pazarda kalabilmenin ve hırsızlarla mücadele etmenin başka bir yolu.
Umarım yararlı bir yazı olmuştur.
Share this:
Print
Tweet
WhatsApp
More
Telegram
Pocket
Email
Share on Tumblr
Posted in Bilişim, Türkçe.
Post navigation
← Yedeğiniz var mı?
Sürüm Yönetimi →
Son yazılar
Probiyotik Nedir?
Permakültür Yağmur Hendeği
Irımtüzende Hareketli Biyofilm Reaktörü
Mekân Kırılganlığı ve Esnekliği
Mağara Dönemi, Tarım, Kültür
Kapitalizm ve Sonrası
Yorumlar
Mavi Küflü Peynir – Tarif – Gürkan Yeniçeri on Termofilik Kültür Yapımı
Mavi Küflü Peynir – Tarif – Gürkan Yeniçeri on Mavi Küflü Peynir – Resimler
Gürkan Yeniçeri on Peynir Kabuğu ve Korunması
Can on Peynir Kabuğu ve Korunması
Probiyotik Nedir? – Gürkan Yeniçeri on Kombuça
Probiyotik Nedir? – Gürkan Yeniçeri on Kefir Bakterileri ve Starter Olarak Kullanımı
Arşivler
Arşivler Select Month September 2021 (4) July 2021 (3) June 2021 (6) May 2021 (7) April 2021 (1) March 2021 (1) January 2021 (1) December 2020 (1) November 2020 (1) July 2020 (1) June 2020 (1) April 2020 (2) December 2019 (1) November 2019 (2) September 2019 (1) August 2019 (1) July 2019 (1) May 2019 (1) February 2019 (1) January 2019 (2) December 2018 (2) November 2018 (7) October 2018 (7) September 2018 (9) August 2018 (14) July 2018 (3) June 2018 (7) May 2018 (14) April 2018 (3) March 2018 (1) February 2018 (2) January 2018 (1) December 2017 (3) November 2017 (7) October 2017 (2) September 2017 (4) August 2017 (11) July 2017 (1) June 2017 (11) February 2017 (1) November 2016 (1) July 2016 (1) May 2016 (1) January 2016 (2) December 2015 (3) August 2015 (1) July 2015 (1) June 2015 (2) March 2015 (1) February 2015 (1) December 2014 (4) September 2014 (1) August 2014 (1) April 2014 (1) February 2014 (1) December 2013 (1) November 2013 (5) October 2013 (7) September 2013 (2) August 2013 (2) July 2013 (11) June 2013 (4) May 2013 (6) April 2013 (5) March 2013 (5) February 2013 (2) January 2013 (2) December 2012 (3) September 2012 (2) August 2012 (3) July 2012 (1) June 2012 (2) April 2012 (3) March 2012 (8) February 2012 (5) January 2012 (12) December 2011 (8) November 2011 (15) October 2011 (7) September 2011 (9) August 2011 (11) July 2011 (8) May 2011 (3) October 2010 (2) May 2010 (1) April 2010 (3) March 2010 (2) February 2010 (1) January 2010 (2) December 2009 (3) November 2009 (10) October 2009 (10) August 2009 (2) May 2009 (6) April 2009 (1) February 2009 (2) January 2009 (7) December 2008 (3) September 2008 (8) August 2008 (2) July 2008 (4) May 2008 (11) April 2008 (14) March 2008 (4) December 2007 (1) November 2007 (1) September 2007 (5) August 2007 (9) June 2007 (2) May 2007 (1) April 2007 (7) March 2007 (19) February 2007 (15) January 2007 (17) December 2006 (10) November 2006 (11) October 2006 (19) September 2006 (24) August 2006 (1) July 2006 (2) June 2006 (22) May 2006 (19) April 2006 (10) March 2006 (18) February 2006 (3) January 2006 (11) December 2005 (7) November 2005 (6) October 2005 (10) September 2005 (9) August 2005 (9) July 2005 (24) June 2005 (8) May 2005 (8) April 2005 (8) March 2005 (28)
Kategoriler
Kategoriler Select CategoryArıcılık (30)Bilişim (338)English (189)Fermente (45)Irımtüzen (45)Permakültür (142)Peynir (126)Türkçe (546)Uncategorized (33)