Sunucu Güvenliği Hk.
-
Herkese merhaba,
Bir süredir VPS sunucum bulunuyor. (Contabo) Genellikle kendimi geliştirebilmek için ufak projeler yapıp yayınlıyorum. Aynı zamanda canlı ortamda da deneyim kazanıyorum.
Sunucuda kurduklarım : MySQL, Apache2, Apache Tomcat, Redis, Mail için gerekli bir iki şey. Bunun dışında çok fazla şeyim yok.
Sadece 1 adet website ve 10 adet subdomain barındırmaktayım. Bir süredir güvenlik konusuna ciddi derecede taktığım için öğrenmek istiyorum, en azından yapılacak saldırıların %90 engellenmiş olsun.
auth.log dosyasının incelediğim de, özellikle asya bölgesinden sürekli SSH portundan istek atıp deneme yanılmayla deniyorlardır. İlk haftalar ip adreslerini banlıyordum ama baktım bu böyle olmaz çünkü sayı artmaya başlıyordu.
15 den fazla port kullanıyordum ve bende sadece bu kullandığım portları kabul edeyim geri kalanların hepsini engelleyeyim. Ek olarak SSH portunu değiştireyim dedim. Normalde 22.port ssh içindi. İptal edip farklı bir porta çektim.
Tüm portları şu şekilde yasakladım :
iptables -D INPUT -p tcp --dport 1:65532 -j DROP --> 1 ile 65532 arasında tüm portlardan gelen istekleri DROP olacak,
bunun dışında da kullandığım portlardan gelen gidek istekler açık kalsın.
Aynı şekilde yetkilendirmeye gittim. Her database için sadece kendisinin tablolarına erişim sağlayacağı bir yapı kurdum. Her projemde farklı bir kullanıcı adı ve şifre gerektiriyor.
Bütün trafik HTTPS üzerinden akıyor.
Ek olarak domainleri cloudflare'ye yönlendirdim. Oradan da sunucuya. Let's Encrypte yerine de cloudflare'nin sertifikasını kullanmaktayım.
En son önlemimde fail2ban kurdum. Bunun hala configürasyonlarını çözmeye çalışıyorum Kısaca birden fazla istek atan kullanıcıları belli bir süre kadar hapiste tutuyorum.
Log kayıtlarına baktığımda bu ayarlardan sonra %99 oranında deneme-yanılma ile yapılan istekler bitti.
Şimdi umarım buraya kadar okudunuz ;
Aklımı kurcalayan sorular şunlar :
Mail portunu değiştirmeli miyim ?
Database portunu değiştirmeli miyim ? Default (3306)
Subdomainlerimin birinde resim upload etme imkanı da var. Biri zararlı bir resmi upload ettiğinde bu sunucuya zarar verir mi ?
Normalde virüstotal API'sini denedim. Fakat ciddi bir zaman kaybı yaşatıyor. Diyelim ki resim yükleyeceksiniz, virüs total'a resmi yolluyorum, 3-4 dakika sonra sonuç çıkıyor. Eğer dosya sağlamsa virüs total'a yollarken bana geri verdiği linkten dosyayı sunucuya indiriyorum. Böylelikle içeriğin zararsız olduğunu anlıyorum.
Son sorum :
Databaseye bağlanırken ipadresi:3306?kullaniciadi şeklinde bir url'ye sahibim. Fakat mantıken, database ve sunucu aynı ortamda barındırılıyor. Yani database sadece 127.0.0.1 adresinden gelen istekleri cevap verse bu daha güvenli olmaz mı ? Böylelikle doğrudan kimse DB'ye erişemez. Bu konuda tecrübeli arkadaşları dinlemek isterim?
Bana verebileceğiniz her türlü tavsiyeyi seve seve dinlerim.
Şimdiden teşekkürler hocalarım
-
mysql secure installation diye aramalar yaparsan mysqli yalnizca kurdugun makina icerisinden erisilebilir hale getirebilirsin.
-
Resim yükleme alanından Shell yüklenebilir
-
tarzan bunu yazdı
mysql secure installation diye aramalar yaparsan mysqli yalnizca kurdugun makina icerisinden erisilebilir hale getirebilirsin.
Teşekkürler yorum için, araştıracağım.
aylmz bunu yazdıResim yükleme alanından Shell yüklenebilir
Hocam bunu biraz açabilir misiniz ? anlayamadım tam olarak :/
-
E-posta hizmetini sunucun uzerinden veriyorsan cloudflare'nin ip gizleme kismi hikaye olur.
İstersen konsoldan "dig mx alanadin.xxx" seklinde deneme yapabilirsin.
Ssh'ta port degistirmek iyidir ama daha da guzeli ssh key kullanmaktir.
Mysql varsayilan olarak uzaktan erisime kapalidir, portu degistirmesende olur.
Dosya - resim yukleme icin kullandigin script'i incelemek lazim. Bir sikinti varsa sunucunun icinde at kostururlar.
Zararli taramasi icin zamanlanmis gorevleri (cron) kullanip clamav ile tarama yapabilirsin.
Ek olarak daha bugun denk geldigim bir selfhosted virustotal projesi, belki ilgini ceker.
https://github.com/mindcollapse/MalwareMultiScan
Demo: http://199.247.24.56:8888/
-
telekom bunu yazdı
E-posta hizmetini sunucun uzerinden veriyorsan cloudflare'nin ip gizleme kismi hikaye olur.
İstersen konsoldan "dig mx alanadin.xxx" seklinde deneme yapabilirsin.
Ssh'ta port degistirmek iyidir ama daha da guzeli ssh key kullanmaktir.
Mysql varsayilan olarak uzaktan erisime kapalidir, portu degistirmesende olur.
Dosya - resim yukleme icin kullandigin script'i incelemek lazim. Bir sikinti varsa sunucunun icinde at kostururlar.
Zararli taramasi icin zamanlanmis gorevleri (cron) kullanip clamav ile tarama yapabilirsin.
Ek olarak daha bugun denk geldigim bir selfhosted virustotal projesi, belki ilgini ceker.
https://github.com/mindcollapse/MalwareMultiScan
Demo: http://199.247.24.56:8888/
Hocam yorumunuz için teşekkürler. mail konusunda haklısınız. Java projelerimde mail yollayamıyordum sebebide cloudflare yüzündenmiş. SSH portuna key ile bağlanma işini araştıracağım. Hocam bir de şunu merak ediyorum. İçinde zararlı yazılım bulunan bir resim dosyasını açılmadığı takdirde bir sorun teşkil ediyor mu ?
-
solsrce bunu yazdıtelekom bunu yazdı
E-posta hizmetini sunucun uzerinden veriyorsan cloudflare'nin ip gizleme kismi hikaye olur.
İstersen konsoldan "dig mx alanadin.xxx" seklinde deneme yapabilirsin.
Ssh'ta port degistirmek iyidir ama daha da guzeli ssh key kullanmaktir.
Mysql varsayilan olarak uzaktan erisime kapalidir, portu degistirmesende olur.
Dosya - resim yukleme icin kullandigin script'i incelemek lazim. Bir sikinti varsa sunucunun icinde at kostururlar.
Zararli taramasi icin zamanlanmis gorevleri (cron) kullanip clamav ile tarama yapabilirsin.
Ek olarak daha bugun denk geldigim bir selfhosted virustotal projesi, belki ilgini ceker.
https://github.com/mindcollapse/MalwareMultiScan
Demo: http://199.247.24.56:8888/
Hocam yorumunuz için teşekkürler. mail konusunda haklısınız. Java projelerimde mail yollayamıyordum sebebide cloudflare yüzündenmiş. SSH portuna key ile bağlanma işini araştıracağım. Hocam bir de şunu merak ediyorum. İçinde zararlı yazılım bulunan bir resim dosyasını açılmadığı takdirde bir sorun teşkil ediyor mu ?
Elbette etmiyor. Web serverini o klasördekileri exec etmeyecek şekilde konfigure etmen kafi. Statik dosyalar zararsızdır.
-
Upload kısmında shell yüklenebilir. Gdlibrary imagemagick gibi kütüphanelerle ya boyutlarını 1px küçülterek resize et ya da fligram bas.