Browse Category

Linux

Maldet Kurulumu ve Shell Taraması

Bu yazımızda linux sunucumuza maldet kurarak sunucu içersinde shell taraması nasıl yapılır bunu anlatacağız.

Maldet Nedir?

Maldet yazılımı Linux sunucularda zararlı malware ( trojan, backdoor, worm, adware vb) uygulamalarını sunucularımızda tespit etmeye yarar. Yazılımın kurulumu ve kullanımı aşağıda anlatılmıştır.

Maldet Kurulum

wget http:\\www.rfxn.comdownloadsmaldetect-current.tar.gz
tar zxvf maldetect-current.tar.gz
cd maldetect-*
sh install.sh
rm -rfv maldetect-

 

Kurulumu yukarıdaki komutlar ile tamamladıktan sonra tarama işlemlerine başlayabilirsiniz. Tarama esnasında sunucunuzda yavaşlama olacak ve I/O kullanımı yükselekcektir.

Maldet Kullanım
Tüm sunucuyu taratmak için kullandığımız komut aşağıdaki gibidir, tüm dosyaları tek tek tarayacağı işin işlem uzun sürecektir.

maldet -a /home/?/public_html

Tek kullanıcı tarama işlemi için ;

Plesk panelde tarama yapmak için

maldet -a /var/www/vhosts/siteadresiniz.com/httpdocs

Cpanel için

maldet -a /home/kullanici/public_html

daha sonra rapor numarası görünecektir.

files scanned: 1 hits 0 cleaned

Yukarıda görünen çıktı 1 adet zararlı dosya olduğunu söylüyor

maldet –report numara

komutu ile ayrıntılı olarak tarama sonucuna erişebilirsiniz.

maldet -q numara

komutuyla zararlı dosyaların karantinaya alınmasını sağlayabilirsiniz.

ifconfig

ifconfig linux üzerinde network ile ilgili işlemlerinizi yapmaya yarayan bir araçtır. Network ip konfigurasyonları ifconfig ile kolay yapılmaktadır.

eth0 isminde bir ethernet kartımız olduğunu düşünürsek;

ifconfig eth0

komutu ile eth0 kartına ait bilgileri görüntüleyebiliriz.

Makinada bulanan tüm network kartlarının bilgilerini görmek istersek

ifconfig -a

Ethernet kartını aktif etmek için

ifconfig eth0 up

Ethernet kartının çalışmasını durdurmak için

ifconfig eth0 down

ethernet kartına ip tanımalamak için

ifconfig eth0 192.168.1.5

subnet tanımlamak için

ifconfig eth0 netmask 255.255.255.0

broadcast tanımalamak için

ifconfig eth0 broadcast 192.168.1.255

hepsini birkere de yapmak için

ifconfig eth0 192.168.1.5 netmask 255.255.255.0 broadcast 192.168.1.255

linux snmp kurulumu

Snmp ile sunucularınızın anlık durumlarını izleyebilir ve geçmişe yönelik olarak durum izlemesi yapabilirsiniz. prtg mrtg gibi yazılımlarla sunucularınız uzaktan kontrol edilerek anlık veya geçmişe yönelik grafiksel sonuçlar görüntüleyebilirsiniz. 

Network durumu, işlemci, ram disk durumları gibi bir çok servisi snmp yoluyla izlemek mümkün. Centos’ta snmp kurulumu yum aracı ile çok kolay yapılmaktadır.

yum -y install net-snmp
yum -y install net-snmp-utils

kurulum tamamlandıktan sonra gerekli konfigurasyonları yapabiliriz.

Konfigurasyon dosyasını açalım

nano /etc/snmp/snmpd.conf

snmpd.conf dosyasını düzenleyelim

## sec.name source community
## ======== ====== =========
com2sec local localhost public
com2sec network_1 192.168.1.5 public

## Access.group.name sec.model sec.name
## ================= ========= ========
group MyROGroup_1 v1 local
group MyROGroup_1 v1 network_1

## MIB.view.name incl/excl MIB.subtree mask
## ============== ========= =========== ====
view all-mibs included .1 80

## MIB
## group.name context sec.model sec.level prefix read write notif
## ========== ======= ========= ========= ====== ==== ===== =====
access MyROGroup_1 “” v1 noauth exact all-mibs none none

disk /
disk /home
disk /backups

konfigurasyon dosyasındaki com2sec network_1 192.168.1.5 public bölümünde bulunan ip adresini snmp bağlantısının izin verileceği ip adresiyle değiştirmeniz gerekmektedir. İzleyeceğiniz diskleri ise

disk /
disk /home
disk /backup

bölümünden ekleyebilirsiniz.

snmp’nin otomatik çalışması için

chkconfig snmpd on

ve snmp servisini başlatmak için

service snmpd start

Dns ön belleği silmek

Bilgisayarınızla bir web sitesine girdiğinizde bilgisayarınız daha sonra tekrar aynı siteye girdiğinizde tekrar dns adresi aramamak için , servis sağlayıcısının dns adresini hafızasında tutar. Hafızasında tutma süresi servis sağlayıcı sunucunun belirlediği ttl süresine göre belirlenir. Bu değer tüm dünyada default olarak 48 saatir.

Eğer web sitesi dns değişikliği yaptıysa bilgisayarınızdaki dns önbelleği eski dns adreslerini gördüğünden dolayı web sitesini yeni servis sağlayıcısından açamaz ve hata alır.

Bu gibi durumlarda bilgisayarınızın dns önbelleğini silmek, açmaya çalıştığınız internet sitesinin  yeni dns adreslerini görmesinde size yardımcı olacaktır.

Aşağıdaki işlemleri yaparak windows işletim sistemli bir sunucuda dns ön belleğini silebilirsiniz.
Başlat -> çalıştır -> cmd

Açılan cmd komut satırına aşağıdaki komutları uygulayarak dns ön belleğini silebilirsiniz.

 

Sunucuda otomatik Yapım aşamasında sayfası

Aşağıdaki klasörün içine yüklediğiniz dosyalar yeni hosting açılışlarında otomatik olarak hosting hesabına  yüklenecektir.

WHM/Cpanel için;

/root/cpanel3-skel/public_html

 

Linux Plesk panel için;

/var/www/vhosts/default/htdocs/

 

Windows Plesk panel için; 

C:\inetpub\vhosts\default\htdocs

 

Yüklediğiniz dosyalar açılan her hosting hesabına otomatik olarak yüklenecektir. Yapım aşaması sayfası oluşturarak açılan her hosting hesabına otomatik açılış sayfası oluşturabilirsiniz.

 

Linux Sunucuda ssh root girişi kapatılması

Linux işletim sistemini dışardan erişilebilir bir sunucu olarak kullanıyorsanız, sunucunuza ssh üzerinden root girişini kapatmanız , sunucunuzun güvenliği için çok önemlidir. Bu nedenle muhakkak sunucunuzun root girişini ssh üzerinden kapatmanızı ve daha da rahat uyku uyumanızı öneririz.

Root girişini kapatmadan ilk olarak kendimize farklı bir kullanıcı açmalıyız. Bu kullanıcı üzerinden root olabiliriz. Örnek olarak webkur isminde bir kullanıcı açıyorum.

 

adduser webkur

daha sonra bu kullanıcıya bir şifre vermemiz gerekecektir. Kullanıcıya şifre vermek için aşağıdaki komutu kullanabilirsiniz.

passwd webkur şifre

Root girişini kapattıktan sonra artık yeni oluşturduğumuz kullanıcı ile ssh bağlantısı yapabiliriz.

Şimdi ise root girişini engellemek için sshd_config dosyasına giriş yapıyoruz

nano /etc/ssh/sshd_config

Dosyada bulunan

#PermitRootLogin yes

Satırını önündeki # işareti kaldırarak

PermitRootLogin no

olarak değiştiriyoruz. Ssh servisini resetlememizle birlikte artık root olarak giriş yapılamaz.

service sshd restart

Root olarak işlem yapmanız gerektiğinde oluşturduğunuz kullanıcı adıyla ssh bağlantısı yapıp daha sonra root olmanız gerekecektir.

Daha sonra “su root” komutuyla root şifremizi girerek tekrar sunucuda root olabiliriz. Böylece sunucunuza doğrudan root kullanıcısı ile giriş yapılamayacaktır. Bu durum sunucunuza büyük bir güvenlik sağlayacaktır.

 

 

nfs disk ekleme ( nfs disk mount)

Uzak ortamdaki nfs ile paylaşılan bir klasörü sunucunuza disk olarak mount edebilirsiniz. Nfs servisini kullanabilmeniz için sunucunuzda nfs servisi kurulu olmalıdır.

Yum aracılığıyla kurulumu aşağıdaki komutla yapabilirsiniz

yum install nfs-utils nfs-utils-lib

Kurulum tamamlandıktan sonra açılışta otomatik çalışması için

chkconfig nfs on

Servisin çalışması için rpcbind servisini aktif ederiz.

service rpcbind start

nfs servisini artık çalıştırabiliriz.

service nfs start

 

Disk mount işlemini tamamlamak için;

mount 192.168.1.5/mnt/raid5/backups /backup

Açılışta otomatik olarak mount olması için

nano etc/fstab (fstab dosyasını açıyoruz)

en alttaki boşluğa kendinize göre düzenleyerek yapıştırabilirsiniz.

192.168.1.5:/mnt/disk2/backup /backups nfs auto,noatime,nolock,bg,nfsvers=3,intr,tcp,actimeo=1800 0 0

Bash Remote Code Execution Açığı

Linux Centos 3.0 – 4.2.x işletim sistemi kullanan sistemler için 24 eylülden itibaren duyurulan açık Network üzerinden kimlik denetimi olmadan bash’e erişilebilmesi durumunda uzaktan komut çalıştırmaya imkan tanımaktadır.

Açık varmı kontrol etmek için;

env x='() { :;}; echo vulnerable’ bash -c “echo this is a test”

Aşağıdaki sonuç çıkıyorsa sunucunuzda bash açığı var anlamına gelmektedir.

vulnerable
this is a test

Açığı gidermek için aşağıdaki komutu kullanarak güncelleme yapmanız gerekir.

yum update bash -y

Cpu/Ram sınırlaması Havuz kitlenmesi (Dedicated pool)

Kullanım nedeni : Shared (paylaşımlı) Hosting hizmeti veren hosting firmaları bir sitenin tüm sunucuyu kitlemesini veya yavaşlatmasını önlemek için çeşitli yöntemler kullanır. Bu yöntemler paylaşımlı hosting sunucularında mecburi bir şekilde kullanılmaktadır.

Birden fazla sitenin çalıştığı hosting sunucularında eğer havuz sistemi kullanılmazsa sorunlar hiç bitmez. Örnek olarak sunucuya yeni gelen bir sitedeki hatalı bir kodlama, hatalı kodlama nedeniyle oluşan sonsuz bir döngü yaratabilir.

Bilgisayarımızda zaman zaman programların hatalı işlem yürütmesi bilgisayarımızı nasıl kitliyorsa aynı durum hosting sunucusununda başına gelebilmektedir. Eğer sunucuda havuz sistemi bulunmuyorsa , sunucudan hizmet alan tüm siteler yavaşlar ve hatta sunucu komple yanıt vermez hale gelebilir.

Havuz sistemi (dedicated pool) Windows server sunucularında ücretsiz sunulan bir hizmettir. Linux sunucularda ise çeşitli yazılımlar kullanılarak veya ekstra optimizasyonlar yapılarak sağlanabilmektedir.

Havuz kitlendiğinde : Hosting hesabı kendine ayrılan cpu , ram veya disk Io işlemi kadar kaynağın fazlasını kullanmaya çalıştığında sitede yavaşlamalar başlayacaktır. Sürekli olarak bu durumun devam etmesi halinde ise siteniz “INTERNAL SERVER ERROR 500” hatası ile karşılaşabilir. Windows sunucularda ise havuz duracağından site çeşitli hatalar verebilir veya sayfa bulunamıyor hatası alabilirsiniz.

Sonuç : Sunucu kendini korumaya alarak , sitenizin daha fazla kaynak tüketimini sınırlamıştır ve sitenizin sunucuya zarar vermesini önlemiştir. Böylece tüm sitelerin yavaşlaması veya yanıt vermemesi yerine sadece sorunlu site yanıt vermiyordur.

HAVUZ İŞLEMİ HOSTİNG HİZMETİ ALAN MÜŞTERİNİN İŞİNE YARAR MI?

Bu durum site sahibinin de işine yarayacaktır. Eğer siteniz çok yüksek yoğunluğu olmayan bir site ve buna rağmen havuz kitlenmesi yaşıyorsanız, sitenizde kodlama hatası var anlamına gelir.

Havuz sistemi olmasaydı, sitenizde bir sorun olduğunu düşünmez daha yüksek maliyetli hizmetler almak için uğraşırdınız. Tüm kaynakları sitenize ayrılmış bir  sunucudan da hizmet alsanız siteniz yine kitlenecek ve boşuna maddi zarar ve zaman kaybı yaşayacaktınız.

Site kodlamanızda herhangi bir hata yoksa ve yüksek hitli veya yoğun işlemler yapan bir yazılım kullanıyorsanız, günümüzün teknolojisi olan vds (virtual dedicated server) sanal sunucularla başlayarak kaynak gerektikçe daha yüksek kaynağa sahip olan dedicated sunucu hizmetlerini incelemenizi öneririz.

Vds sunucu paketleri ve fiyatları için tıklayınız http://www.webkur.com.tr/vds.html

Kiralık sunucu hizmetlerimiz için http://www.webkur.com.tr/kiralik-sunucular.html

Kiralık sunucularda size yetersiz geliyorsa birden fazla sunucunun birleşmesinden oluşan hizmetlerimiz için 0850 333 4678 numaralı telefonumuzdan bizimle irtibata geçebilirsiniz.

Vnc & Xorg & Kde

linux Sunucularınızı masaüstü desteği ile  uzaktan yönetebilirsiniz. İstediğiniz zaman masaüstünü aktif edebilir, gereksiz zamanlarda yük oluşturmaması için kapatabilirsiniz. Vnc ile uzaktan yönetim oldukça kolaydır.

Vnc ile masaüstü kullanabilmek için ilk olarak bir masaüstü programı kurmamız gerekir. Linux işletim sistemlerinde çalışan çeşitli masaüstü programları vardır (gnome, kde gibi) Bunların içinde en çok kullanılanı ve basit olanı kde’dir. Kde masaüstü ile windows gibi bir masaüstüne sahip olabilir, kod kullanmadan çoğu işleminizi linux üzerinden yapabilirsiniz.

Kde kurulumu yapmadan önce X pencere sistemini yüklemeniz gerekir (Xorg) . Sunucunuzu kurarken X pencere sisteminizi kurduysanız tekrar kurulum yapmanıza gerek yoktur.Kurulumlarda linux’ın otomatik kurulumu olan yum kullanacağız.

İlk olarak vnc kuralım;
yum -y install vnc*
X Pencere Sistemini kuralım;
yum -y install xorg-x11*
Kde Masaüstü sistemini kuralım
yum -y install kde*
Sunucumuzu yeniden başlatalım (reboot)
reboot
Kurulumları tamamladıktan sonra, küçük bir ayar yapmamız gerekir. Nedeni ise vnc ye bağlantı kurduğumuzda vnc nin default olarak gelen ayar dosyasında xpencere sistemi tanımlıdır. Bizim bunu kde nin çalışması için değiştirmemiz gerekir.
cd .vnc/

nano xstartup
yazarak xtartup dosyasına giriyoruz
#unset SESSION_MANAGER

#exec /etc/X11/xinit/xinitrc
Yukarıdaki şekilde olan yazıların başındaki #  işaretlerini kaldırıyoruz. Aşağıdaki gibi olmalıdır.
unset SESSION_MANAGER

exec /etc/X11/xinit/xinitrc
ctrl + x basarak ardından y tuşuna basıp dosyayı kayıt ediyoruz.

Artık herşey hazır. Vnc mizi çalıştırabiliriz.

vncserver

yazıyoruz. Bizden vnc için şifre belirlememizi isteyecek ve ardından şifreyi onaylamamızı isteyecek..Bu bölümde şifrenizin güvenilir bir şifre olduğuna emin olmalısınız.

Şifreler girildikten sonra vnc size bir port ataacaktır. Bu port ile vnc görüntüleme programından giriş yapılabilmektedir. ipadresiniz:port

Eğer güvenliğe önem veriyorsanız ve aynı zamanda sunucunuzda boşuna proccess çalışmasını istemiyorsanız işiniz bittiğinde aşağıdaki komutla vnc’yi kapatabilirsiniz.
vncserver -kill :1