Toplam Sayfa Görüntüleme Sayısı

22 Haziran 2016 Çarşamba

Usb Data Logger

Selamlar bu paylaşımda usb bellekteki veriyi windows domainde bulunan bir dosya sunucusuna kaydeden ve aynı zamanda bu işlemi yaparken loglayan benim oluşturduğum bir yapıdan bahsetmek istiyorum. Yapı olarak mikisoft windows server 2003  "dc" (domain control) rolünde birde Ubuntu 12.05 LTS istemcimiz bulunmakta. Kısaca Ubuntu istemci windows domaine join olacak, domain kullanıcılar Ubuntu istemcide  gui oturum açıp kendi oturumların da kullandıkları  usb bellekleri networkte paylaşılmış bir alana yazacaklar, aynı zamanda bu işlem arka planda bir log dosyasına yazılacak. Usb bellek birçok işletmenin başını ağrıtan bir durum olduğu için bu konuda bir çalışma yapmaya karar verdim. Bu işi yapan birkaç yüksek ücretli yazılım söz konusu, locale kurulum yapılan usb loglayan yada usb port kapatan yazılımlardan bahsetmiyorum. Bunlar networkten yönetilen ajan ve sunucu mimarisi olan yazılımlar neyse konuyu dağıtmadan sistemin kurulumuna geçiyorum. Mevcutta çalışan bir windows domain ve Ubuntu 12.05 LTS olduğunu varsayarak anlatıma başlıyorum, eğer yeni bir domain kurulumu yapılması gerekli ise aşağıdaki adresten kurulum adımlarına ulaşabilirsiniz


Domain sunucumuz hazır olduğuna göre; istemci yani Ubuntu 12.05 LTS sürümle çalışmaya başlayabiliriz. İlk olarak yapmamız gereken aşağıda verdiğim adreslerden gerekli paketleri indirmek
Sırasıyla likewise-open_6.1.0.406-0ubuntu5_amd64.deb sonra likewise-open-gui_6.1.0.406-0ubuntu5_amd64.deb kurulmalı, paket indirme işleminde wget kullanılacaksa  ;
BÖLÜM-1 (Windows Domain Üyeliği )

Deb paket kurulumu için aşağıdaki komutu kullanabilirsiniz.
  • sudo dpkg -i likewise-open_6.1.0.406-0ubuntu5_amd64.deb
  • sudo dpkg -i likewise-open-gui_6.1.0.406-0ubuntu5_amd64.deb
Apt-get kurulumu için ;
  • sudo apt-get install likewise-open-gui
likewise-open deb paket kurulumları tamamladıktan sonra editlememiz gereken üç (3) dosya bulunmakta.

  • nano /etc/nsswitch.conf
hosts : files | dns | eklenecek, kırmızı daire içine aldım.
  • nano /etc/lightdm/lightdm.conf
greeter-hide-users=true eklenmeli
  • nano /etc/resolv.conf
nameserver dc makine ip adresi benim kullandığım adres 50.50.50.10

NOT: resolve.conf dosyası editlendik ten sonra makine restart edilip resolve.conf dosyası kontrol edildiğinde yapılan değişiklik silinmiş ise dosya aşağıdaki ekran görüntüsündeki gibi editlenmelidir.
  • nano /etc/resolvconf/resolv.conf.d/head


Gerekli değişiklikleri tamamladığımıza göre artık Ubuntu 12.05 LTS istemcimizi windows domaine üye etmeye sıra geldi bu işlem için gui ekrandan "Dash Home" butonu ile gelen arama ekranına active yazıp "Active Directory membership" uygulamasını çalıştırmak. Uygulama ikonuna tıklıyoruz, sonrasında gelen parola ekranına root kullanıcı parolasını giriyoruz.




Açılan uygulama ekranında bulunan alanlara gerekli bilgileri doğru bir şekilde girmeliyiz. Aşağıdaki örnek ekran görüntüsünde "m.ocal" domaine makinayı başarılı bir şekilde üye ettim. Sizde görüntüdeki gibi alanları doldurup domain Admin parolası ile Ubuntu makinayı windows domanine üye yapabilirsiniz.


Makinayı restart edip domainde tanımlı bir kullanıcı ile oturum açalım. Örnek kullacı Ceyhun ÖCAL oğlum olur kendileri , gotham şehrinde batman derler kendisine :)

Login ekranında kullanıcı adı Ceyhun pass xxx girip oturum açıyorum.


Domain join işlemi tamamlandı, yapılması gereken birkaç iş kaldı.

BÖLÜM 2 ( Apache Web Sunucu )

Usb loğlarına ulaşmak için Apache web sunucusuna ihtiyaç duymaktayız, apache kurulumu yapmak için aşağıdaki komutu kullanabilirsiniz.
  • sudo apt-get install apache2
Apache kurulumu tamamlandıktan sonra ;
  • nano /etc/apache2/sites-enabled/000-default
<Directory "/var/www/html">
        AuthType Basic
        AuthName "Restricted Content"
        AuthUserFile /etc/apache2/.htpasswd
        Require valid-user
    </Directory>


  • http://www.htaccesstools.com/htpasswd-generator/ adresinde .htpasswd dosyasını oluşturuyoruz. Terminal komutu ile de oluşturmak mümkün bunun için aşağıdaki komutu kullanabiliriz.
  • sudo htpasswd -c /etc/apache2/.htpasswd kullanıcı_adı
  • nano /etc/apache2/apache2.conf
<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>



Usb loglarına ulaşacağımız sayfa artık kullanıcıcı adı ve parola istemekte.


BÖLÜM 3 ( Usb Log Script )

#!/bin/bash
cd /
cd /media
mkdir /tmp/usb
ls -l  | grep 1970 | awk '{print $9}' > /tmp/usb/l
echo "USB DISK ADI :"`cat /tmp/usb/l` >> /tmp/usb/l1
echo "AYRINTILI BOYUT :" >> /tmp/usb/l1
du -lh  /media/`cat /tmp/usb/l` >> /tmp/usb/l1
ls -ltrh /media/`cat /tmp/usb/l`/* >> /tmp/usb/l1
who | grep "tty*"  |awk '{print $1}' | uniq > /tmp/ad
c=`cat /tmp/ad`
d=`date +"%H_%M_%S"`
e=`date +%d_%m_%Y`
echo "$c$d$e" > /tmp/isim
cd /
mkdir /USB_LOG/`cat /tmp/isim`
cat /tmp/usb/l1 > /USB_LOG/`cat /tmp/isim`/usblog
echo "USB ISLEMI ICIN LUTFEN BIR ACIKLAMA GIRINIZ"
read t
echo "USB ISLEMI ICIN ACIKLAMA" >> /USB_LOG/`cat /tmp/isim`/usblog
echo $t >> /USB_LOG/`cat /tmp/isim`/usblog
cp -r /USB_LOG/`cat /tmp/isim` /var/www/html/USB/.
mkdir /Mehmet_OCAL/`cat /tmp/isim`
echo "USB BELLEK KOPYALANMAKTADIR.LUTFEN BEKLEYINIZ"
cp -r /media/`cat /tmp/usb/l` /Mehmet_OCAL/`cat /tmp/isim`
echo "USB BELLEK KOPYALANMISTIR.LUTFEN BELLEGI YUVASINDAN CIKARINIZ"
echo "Bu Ekran 5 Saniye Icinde Kapatilacaktir"
cd /tmp
rm -rf usb isim ad
sleep 5
NOT:Script içinde geçen sarı renk ile belirttiğim pathleri, betiği çalıştırmadan önce elle oluşturmalısınız.
Yukarıdaki içeriği nano veriaktar.sh dosyası içine kaydedelim. Sonra chmod a+x veriaktar.sh komutu ile çalıştırılabilir yapalım.


BÖLÜM 4 ( Unity menüye Program ikonu oluştuma )

Az önce oluşturduğumuz veriaktar.sh dosyasını başlat menüsüne eklemek için aşağıdaki komutları kullanmalıyız.

  • sudo apt-get install --no-install-recommends gnome-panel
  • sudo gnome-desktop-item-edit /usr/share/applications/ --create-new


Görüntüde olduğu gibi uygulama ismini veriyoruz pathini ve çalışma şeklini belirleyip kaydediyoruz.
Uygulama kısa yolumuz oluştu. Şimdi uygulamamızı test etmeden önce yapmamız gereken çok küçük bir işlem kaldı.

BÖLÜM 5 ( Paylaşım Klasörünü map etme)

Dc makina üzerinde "MOCAL_TEST" bir paylaşım klasörü oluşturdum. Yazma ve okuma yetkisini domain users grubuna verdim. Ubuntu makinadan bu oluşturduğum paylaşım klasörünü map etmek için /etc/fstab dosyasını editlemek gerekli.
  • sudo nano /etc/fstab
  • //50.50.50.10/MOCAL_TEST /Mehmet_OCAL cifs rw,uid=1000,gid=1235747329,username=Administrator,password=pass,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
  • sudo mount -a

BÖLÜM 6 ( Usb Log Çalıştırma)

Ubuntu istemciye Ceyhun ile oturum açıp, makinaya bir usb flash bellek takıyoruz.

Flash bellek MOCAL isimli sonrasında program menüden uygulamanızı buluyoruz.
Uygulamaya tıklayıp çalıştırıyoruz, ekranda açıklama alanına neden usb den veri aktardığımızı açıklıyoruz.

Dosyayı kaydettiği paylaşım alanına gidip kopyalama işlemini kontrol edelim.
Şimdi log dosyamıza bakalım.

Networkte bulunan diğer makinaların usb portlarını kapatarak (bios yada aygıt yönrticisinden), bu oluşturduğumuz Ubuntu usb log sistemi usb erişimler için tek alternatif olacak şekilde kullanırsak hem autorun virüslerinden etkilenmemiş olur hemde usb ile hangi kullanıcı neler aktardı bilgisine ulaşmış oluruz.


Teşekkürler.

Başka bir paylaşımda görüşmek üzere.
Mehmet ÖCAL 2016