Forum

Linux üzerinde...
 
Bildirimler
Hepsini Temizle

Linux üzerinde proxy configurasyonu (Uzmanlık soru)

9 Yazılar
3 Üyeler
0 Likes
571 Görüntüleme
(@MuratSenturk)
Gönderiler: 9
Active Member
Konu başlatıcı
 

Merhaba arkadaşlar,

 

Bugüne kadar hep windows üzerinde çalışmıştım fakat bir güvenlik önlemi almam gerekiyor ki sadece linux üzerinden mümkün. Çoğu bilmediğimiz şeyi üzerinde çalışarak bir kaç güne öğrenebiliyoruz internet sayesinde ama yol yordam bilmek yada bir ipucu almak her zaman büyük bir fayda oluyor.

Umarım çok değerli siz arkadaşlarımdan bu konu da destek alabilirim.

 

Giriş: Windows serverımda belli portlar üzerinde çalışan exe uygulamalarım da "opcode" dediğimiz bazı kodlar flood atak yöntemiyle seri bir şekilde gönderilerek programın şişmesine ve crash olmasına neden oluyor. Bunun tek çözümü de kullanıcıları proxy görevi görür gibi ana linux servera yönlendirip orada filtreleme yaparak windows sunucusuna aktarımını sağlamak.. Not: bu exe oyuna giriş ve çıkışların terminalliğini yapan bir uygulama

 

Yapılması gerekilen:  Linux bir sistem üzerinde;

Requirements:

VC++ 2010 / Linux gcc, Boost (random.hpp), Ruby

 Programlarını kullanarak bir proxy oluşturmam gerekiyor. Umarım doğru terimleri kullanıyorum dur.

 

Gerçekleştirmem gereken şey bu şekilde paylaşılmış :  https://github.com/ProjectHax/SilkroadDoS  

Açıklama şu şekilde:

----------------------------------------------------------------------------------------------- 
"(C++) This exploit works by sending packets with a null opcode into the GatewayServer/AgentServer after completing the handshake process. When the server receives the packets it displays an error message saying it has an unhandled opcode. By spamming the server these messages are written to the log thousands of times until no memory is left and then the server dies.

(Ruby) The next method is to spam the server with tons of connections and send an opcode before the handshake completes. Although less effective, this also creates tons of messages in the log and will eventually kill the server.

If you have enough bandwidth the server will die even if the server is patched no matter if the log messages are being displayed or not."
 
--------------------------------------------------------------------------------------------- 
 
Dosya uzantıları uzantıları;  ".rb" - ".sln" - ".cpp" - ".vcxproj" - .vcxproj.filters"
 
Tahminimce yapmam gereken : Sunucum üzerinde bir sanallıştırma yapıp ubuntu server kuracağım(daha önce hiç ubuntu tecrübem yok)  bu sistem üzerine VC++ 2010 / Linux gcc, Boost (random.hpp), Ruby bu uygulamarı kuracağım.
 
Asıl sorun : Bu uygulamarı kurduktan sonra, bu dosyaları nedir nasıl tanıtılır bu programlar nasıl filtreleme yapar portları açmam yönlendirmem nasıl olacak nasıl fitreleyeceğim, bir proxy programı kullanmam gerekiyor mu ? .... v.b.
 
Açıkcası siz değerli üstadlarımdan bir yol göstermenizi rica edicem. Kalkıp benim için tek tek anlatmanız mümkün değil biliyorum ama en azından şu yolda gitmelisin şunları yapmalısın gibi bilgilendirmeyle yoluma ışık tutmanızı bekliyorum.
 
Şimdiden bu uzunca yazımı okuyan destek olmaya niyet eden herkese bu mübarek ayda bolca teşekkürlerimi ve hayır dualarımı sunuyorum.
 
Teşekkürler, 

 

 
 
 
Gönderildi : 23/07/2013 04:16

(@mertkibar)
Gönderiler: 855
Noble Member
 

sunucunuz nerde  duruyor.. şirketinizde mi yoksa datacenter mı

flood,ddos gibi saldırlardan korunmak istiyorsan proxy server kurmak yerine application bazlı koruma sağlayan bir firewall cihazını sunucunuza dahil etmeniz olacaktır.

biz tüm sunucularımızda citrix netscaler firewall cihazlarını kullanmaktayız. sunucularımız üzerinde çalışan sql atakları, ddos, botnet, flood, shell atakları başta olmak üzere korumaktadır. sizin kullanmış olduğunuz diğer uygulamalarınızı dahil koruyabilmektedir.  

birde cihaz üzerinde sanal ipler yarattık. gerçek iplerimiz firewall üzerindedir. biz gerçek iplerimizi sanal iplere yönlendirdim.

birisi saldırı yapmak istediği zaman gerçek iplerimize saldırıyor, bu ipler firewall üzerinde olduğu için direk oraya saldırıyor.

bu anlattığım tamamen benim fikrim. diğer arkadaşların farklı fikirleri olabilir.

 

 

 
Gönderildi : 23/07/2013 05:20

(@MuratSenturk)
Gönderiler: 9
Active Member
Konu başlatıcı
 

Mert Bey samimi cevabınız için çok teşekkürler. Bu sistem firmaya bağlı bir sistem değil kendi private sistemin. Fransa ovh üzerinde bir sunucu büyük özelliklere sahip birşey değil 16gb ram i5 işlemci v.s.

 

Bütçesi küçük olan bir şey firewall cihazları v.s. astarı yüzünü geçer. Benim sadece program bazında 2 portuma flood attack tarzında erişimi engellemem gerekiyor. Ve tam olarak detaylı çözümünü konu verdiğim linkte paylaşmışlar fakat anlamak gerekiyor.  O konuda bir yorum daha makul bir çözüm olacaktır benim için. Tabi ki işten anlamadığımız için her öneri bir altın değerinde

 
Gönderildi : 23/07/2013 05:49

(@MuratSenturk)
Gönderiler: 9
Active Member
Konu başlatıcı
 

evet yardım alamadık üzücü oldu 

 
Gönderildi : 25/07/2013 02:32

(@SavasKAPLAN)
Gönderiler: 244
Reputable Member
 

Yapılması gerekilen:  Linux bir sistem üzerinde;
Requirements: 
VC++ 2010 / Linux gcc, Boost (random.hpp), Ruby
Programlarını kullanarak bir proxy oluşturmam gerekiyor. Umarım doğru terimleri kullanıyorum dur.
VC++ 2010: Visual Studio 2010 C++ gelistirme ortami, yani program yazmak icin kullanilan program.

Linux gcc: gcc, C/C++'la yazilmis kodu programa ceviren yazilim. Gcc linux ise gcc'nin linux versiyonu.

Ruby: Python, perl vs. gibi bir betik dili.

Boost: C++'ta kullanilan bir kutuphane toplulugu(Bunu kullanabilen Senior C++ developer olur.) 

Ozetle bunlar oyle bilgisayara indirip kurayim diyebilecegin programlar degil. Cunku bunlar tam olarak birer program degil.

Gerçekleştirmem gereken şey bu şekilde paylaşılmış :  https://github.com/ProjectHax/SilkroadDoS
Orda oyle bir aciklama yok. Adam sadece C++ ve Ruby ile yazdigi uygulamalarin ne ise yaradigindan bahsetmis. Bu tur bir uygulamayi kullanma gibi bir durumu soz konusu olan biri zaten ne yapilmasi gerektigini bildigi icin yazmamis. 

Yok ben kurcalamak istiyorum dersen: illa linux olmasina gerek yok. Kodlar, hem linux hemde windows'ta calisacak sekilde yazilmis, hangi sistemde derlenirse o sisteme uygun sekilde calisir. 

Windows altinda derlemek icin: Visual Studio 2010 Express

Linux'larin neredeyse tamaminda gcc/g++ bulunuyor.

C++ kodlarini derlemek icin sistemde Boost 1.51.0 kutuphanesinin kurulu olmasi gerekiyor.
http://www.boost.org/users/history/version_1_51_0.html  

Boost dosyalari, windows altinda C:\boost_1_51_0. Linux icin: /usr/include/boost dizinlerine kurulacak.

Github'daki dosyalari indirip projeyi actiginda kutuphane dosyalarinin yolu proje icinde ayarlanmis oldugu icin(C:\boost_1_51_0) windows altinda direk derler.

Linux'ta derlemek icin: https://github.com/ProjectHax/SilkroadDoS/blob/master/linux  komutunu kullanmak gerekiyor.

--------- 

Aslina bakarsan ne kadar aciklarsam aciklayayim, bu uygulamayi calistirma ihtimalin soz konusu dahi degil. Insanlarin ogrenmek icin yillarini verdigi bi konuyu iki dakikada surda aciklamam kanimca pek mumkun degil.

Peki madem mumkun degil niye yazdim o zaman bunlari?

Sordugun soru icin:

Oyle sandigin kadar kolay degil; yapamazsin, edemezsin desen olmuyor.

Yapman icin su sekilde bir yol izlemen gerekiyor desek: su yukaridaki yazdiklarim gibi pek bir sey ifade etmeyen, her kisimi ayrintili sekilde aciklamaya kaltigimizda icerigi en az bir kitap kadar genis alanlardan bahsediyoruz ki, bu da olanaksiz bir sey.

E ne yapayim o zaman, yazmiyim en iyisi, desek:

evet yardım alamadık üzücü oldu

Bu arada ruby icin:  http://www.ruby-lang.org/

Savas 

 
Gönderildi : 25/07/2013 07:08

(@MuratSenturk)
Gönderiler: 9
Active Member
Konu başlatıcı
 

Savaş bey, verdiğiniz cevap için ağzınıza sağlık. İnsanların başkalarına karşılıksız yardım etmesi pek sıklıkla gördüğümüz birşey değil.

 Çok bilgili olduğunuzu gördüm, bu projeyi gerçekleştirecek kadar yeterli değilsem farklı bir öneriniz var mı. Amacım çok basit çünkü belli portlarda çalışan ve online oyuncuların bağlandığını .exe dosyalarıma erişimi kısıtlamam gerekiyor. OP kodları üzerinden yapılan flood atağı v.s. kesmem gerekiyor, yani herhangi bir ip nin erişimini belli bir standarta çekmem lazım saniyede 10 kere gibi v.s.

 

Öneriniz benim için çok değerli olur, tekrar teşekkürler 

 
Gönderildi : 25/07/2013 18:10

(@SavasKAPLAN)
Gönderiler: 244
Reputable Member
 

Dostum merhaba,

Yazdigin mesaja cevap yazma firsatim pek olmadi. Simdi sehir disina cikiyorum, mesajini gorup, gider ayak kodlarini derliyeyim dedim.

Soyle bir sorun var.

(C++) This exploit works by sending packets with a null opcode into the GatewayServer/AgentServer after completing the handshake process. When the server receives the packets it displays an error message saying it has an unhandled opcode. By spamming the server these messages are written to the log thousands of times until no memory is left and then the server dies.

Bu yaziyi gecen tam anlamiyla okumamistim, o gun kafam allak bullakti ve tabir-i caizse yuzeysel gecmistim. Simdi kodu derleyince fark ettim ki, bu kodlar guvenlik amaciyla degil, aksine saldiri amaciyla yazilmis. Yani baya bildigin ddos yazilimi. Artik okurken kafa nereye gittiyse olaya cok farkli acidan yaklasmisim.

Koruma amaciyla onerebilecegim bir sey yok maalesef, hani hic bilgim olmayan bir konu.

 
Gönderildi : 26/07/2013 15:57

(@MuratSenturk)
Gönderiler: 9
Active Member
Konu başlatıcı
 

Tüm bilgilendirme için teşekkürler Savaş bey, an itibari ile diğer arkadaşlardan güvenlik önerileri beklemekten başka bir çare kalmadı 🙂

 
Gönderildi : 26/07/2013 16:22

(@MuratSenturk)
Gönderiler: 9
Active Member
Konu başlatıcı
 

Bir umut başka güvenlik önerilerini beklemekteyim 🙂

 
Gönderildi : 30/07/2013 19:24

Paylaş: