Fcrackzip ile .zip ve .7z Uzantılı Arşiv Dosyası Şifrelerini Kırma

https://www.ayhanarda.com/blog/2016/11/rarcrack-ile-rar-uzantili-arsiv-dosyasi-sifrelerini-kirma/ adresinde yöntemin esasına değinmiştim , bu sefer fcrackzip isimli tool u kullanacağız , bu tool kali linux te kurulu geliyor , dolayısı ile kurmakla uğraşmıyoruz.

Elimde .zip olarak şifrelenmiş bir dosya var , yine hızlı bulması için 3 karakterli büyük küçük harf ve sayı içeren bir şifre verdim test için. Komut aşağıdaki gibi.

root@kali-ayhanarda:~# fcrackzip -l3 -u upload.zip
PASSWORD FOUND!!!!: pw == a7B

Burda bulması 1 sn bile sürmedi , sanıyorum sadece 3 karakterli olanları dene dediğimiz ve şifremizin a harfi ile başlamasından dolayı bu kadar hızlı oldu.

Gördüğünüz üzere biz bir şifre dosyası belirtmedik , kendi türetip denedi , ancak elinizde bir password list var ise onuda kullandırabiirsiniz.

Bu kez komutumuz aşağıdaki gibi olacaktı.

root@kali-ayhanarda:~# fcrackzip -D -p ayhanarda-sifrelistesi.txt -u upload.zip

Ayhan ARDA

Rarcrack ile .rar Uzantılı Arşiv Dosyası Şifrelerini Kırma

Yöntem esasen bruteforce a dayanıyor , test için bir klasörü .rar olarak şifreledim , çabuk bulabilmesi için 3 haneli içinde büyük küçük harf olan bir şifre verdim. Bu rar dosyasını kali linux e yükledim. Kali linux te rarcrack default olarak kurulu gelmiyor , o yüzden önce kurmalıyız , aşağıdaki komut ile kurabilirsiniz , bildiğiniz debian , ubuntu tarzı..

root@kali-ayhanarda:~# apt-get install rarcrack
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following NEW packages will be installed:
rarcrack
0 upgraded, 1 newly installed, 0 to remove and 18 not upgraded.
Need to get 17.0 kB of archives.
After this operation, 65.5 kB of additional disk space will be used.
Get:1 http://http.kali.org/kali/ sana/main rarcrack amd64 0.2-1 [17.0 kB]
Fetched 17.0 kB in 1s (15.5 kB/s)
Selecting previously unselected package rarcrack.
(Reading database … 323141 files and directories currently installed.)
Preparing to unpack …/rarcrack_0.2-1_amd64.deb …
Unpacking rarcrack (0.2-1) …
Setting up rarcrack (0.2-1) …

Kuruldu , rarcrack yazıp doğrulayabilirsiniz.

root@kali-ayhanarda:~# rarcrack
RarCrack! 0.2 by David Zoltan Kedves (kedazo@gmail.com)

USAGE: rarcrack encrypted_archive.ext [–threads NUM] [–type rar|zip|7z]
For more information please run “rarcrack –help”

Şimdi dosyamız ile aynı dizinde olduğumuzu varsayıyorum , dosyamın adı upload.rar şeklinde , komutum aşağıdaki gibi.

root@kali-ayhanarda:~# rarcrack upload.rar –type rar

tabi burda extra thread verebilirsiniz , benim kali bir sanal makina , saniyede 80-90 şifre deneyebiliyor , buna 4 thread verince 140-150 ye kadar hızlanıyor. Sonuç olarak uzun bir şifreniz var ise bir kaç gün sürebilir 🙂

root@kali-ayhanarda:~# rarcrack upload.rar –type rar –threads 4
RarCrack! 0.2 by David Zoltan Kedves (kedazo@gmail.com)

INFO: the specified archive type: rar
INFO: cracking upload.rar, status file: upload.rar.xml
Probing: ‘6S’ [161 pwds/sec]
Probing: ‘eG’ [161 pwds/sec]
Probing: ‘ml’ [158 pwds/sec]
..

.
Probing: ‘2Nu’ [142 pwds/sec]
Probing: ‘2Ut’ [144 pwds/sec]
Probing: ’31z’ [146 pwds/sec]

..

.
Probing: ‘9SZ’ [145 pwds/sec]
Probing: ‘a04’ [146 pwds/sec]
Probing: ‘a7a’ [146 pwds/sec]
GOOD: password cracked: ‘a7B

Evet , şifremiz a7B imiş.

Ayhan ARDA

/bin/bash^M: bad interpreter: No such file or directory hatası ve çözümü

Bazı bash scriptleri çalıştırmak isterken /bin/bash^M: bad interpreter: No such file or directory hatası alabilirsiniz , benim başıma gelme sebebi scripti windows ortamında hazırlayıp linux e indirerek çalıştırma denemem sonucunda oluştu. Çözüm için bash scriptinizi vi editörü ile açınız , aşağıdaki satırı yapıştırıp yine esc ve :wq ile kaydedip çıkınız  i şimdi bash scriptiniz çalışacaktır

:set fileformat=unix

Linux’te en çok dosya barındıran 10 klasörün tespiti (inode)

Aşağıdaki bash scripti kullanabiliriz.

Kullanımı aşağıdaki bash scripti bir dosyaya yazın , örneğin   nano inode.sh  , içeriği yapıştırın , ctrl +x ile kaydedin , chmod +x inode.sh ile çalıştırma izni verin , sonra ./inode.sh /home şeklinde kullanabilirsiniz.

#!/bin/bash
 
if [ $# -ne 1 ];then
  echo "Usage: `basename $0` DIRECTORY"
  exit 1
fi
 
echo "Lutfen sonucu gormek icin biraz bekleyin... Ayhan ARDA..."
 
find "$@" -type d -print0 2>/dev/null | while IFS= read -r -d '' file; do 
    echo -e `ls -A "$file" 2>/dev/null | wc -l` "files in:\t $file"
done | sort -nr | head | awk '{print NR".", "\t", $0}'
 
exit 0

 

Sonuç aşağıdaki gibi gözükecektir.

root@ayhanarda:~# ./inode-arda.sh /home
Lutfen sonucu gormek icin biraz bekleyin… Ayhan ARDA…
1. 18507 files in: /home/orneksite/httpdocs/resimler/urun
2. 9370 files in: /home/orneksite2/httpdocs/images/resimler201203
3. 8729 files in: /home/orneksite3/httpdocs/urunler
4. 4828 files in: /home/orneksite4/httpdocs/wp-content/uploads
5. 4699 files in: /home/orneksite5/httpdocs/testi/images
6. 3162 files in: /home/orneksite6/httpdocs/Galeri/Foto
7. 2715 files in: /home/orneksite7/httpdocs/media/k2/users
8. 2250 files in: /home/orneksite8/httpdocs/deneme/par
9. 2230 files in: /home/orneksite9/tmp
10. 2039 files in: /home/orneksite10/tmp

 

Ayhan ARDA

Plesk 8447 Update portu çalışmama sorunu

Hosting sunucularımızdan birinde Plesk i güncellemek için panelden ilgili alana gittiğimizde açılan sayfa yanıt vermiyordu , netstat ile kontrol ettiğimizde sunucunun 8447 nolu portu dinlemediğini gördük.

[root@ayhanarda ~]# netstat -an | grep 8447

cevap dönmüyordu.

Bu durumda aşağıdaki komutu kullanabilirsiniz.

[root@ayhanarda ~]# plesk installer –all-versions –select-product-id plesk –select-release-latest –show-components >/dev/null && plesk installer –version

Eğer yukarıdaki komut “Doing restart of Plesk Installer…” hatası verir ise aşağıdaki komutu kullanıp sonrasında tekrar çalıştırınız.

[root@ayhanarda ~]# rm /tmp/psa-installer.lock

Şimdi tekrar kontrol edelim.

[root@ayhanarda ~]# netstat -an | grep 8447
tcp 0 0 :::8447 :::* LISTEN

Şimdi Plesk i güncelleme sayfasına tekrar erişip update çalıştırabilirsiniz.

Ayhan ARDA

docker compose

Centos 7 ‘de Docker ve Docker Compose Kurulumu ile Kullanımı

Docker Compose, multi-container uygulamalarınızı gereksinimleri ile birlikte tek bir dosyaya tanımlayarak akabinde tek bir komut ile reçetesini yazdığınız container ı ayağa kaldırmanızı sağlamaktadır.

Şimdi elimizde sıfır kurulu ve updateleri yapılmış bir centos 7 var , bir public ip verdim ( burada bolca var 🙂 ) , siz private ip de verebilirsiniz , sonuç olarak ssh erişimim de var ve makina bir şekilde internete çıkıyor, buraya kadar tamam ise konuya girebiliriz.

Bu arada docker compose eski fig in yerini aldı , fig duyar iseniz artık o deprecated oldu ve resmi olarak docker compose diye anılıyor.

Öncelikle Docker imajları hakkında bilgi verelim , Her bir docker container ı , bir docker imajının yerel bir kopyasıdır. Docker imajlarını bir linux işletim sistemi gibi düşünebilirsiniz ancak şöşnde sadece minimal gereksinimler bulunmaktadır ve bu imajlar ana host un kernel ini kullanırlar fakat çalışan bir container ın içine girerseniz sadece o container ın dosya sistemini görürsünüz.

En çok kullanılan imaj ları docker hub da bulabilirsiniz , Bunlar docker team tarafından kontrol edilir ve bazı imajların altında official ibaresini görür iseniz bu imajlara güvenebilirsiniz çünkü docker team bunları test etmiştir.

Şimdi docker kurarak başlayalım , bu iş için yine docker team ın hazırladığı bir shell script i çağırıp çalıştıracağız.

Centos 7 de wget öntanımlı gelmiyor , aşağıdaki komut ile indirebilirsiniz.

yum install wget

Şimdi scriptimizi çekiyor ve çalıştırıyoruz.

[root@ayhanarda-containers ~]# wget -qO- https://get.docker.com/ | sh

Yaklaşık 30 sn içinde kurulum tamamlandı , şimdi kurulup kurulmadığını aşağıdaki şekilde doğrulayabiliriz.

[root@ayhanarda-containers ~]# docker version
Client:
Version: 1.10.3
API version: 1.22
Go version: go1.5.3
Git commit: 20f81dd
Built: Thu Mar 10 15:39:25 2016
OS/Arch: linux/amd64

Eğer docker ı root olmayan bir kullanıcı ile kullanacak iseniz aşağıdaki komutla kendinizi docker grubuna dahil edebilirsiniz.

usermod -aG docker $(whoami)

Eğer root iseniz yukarıdaki komutu kullanmanıza gerek yok , şimdi docker ı başlatalım ve bundan sonraki rebootlar sonunda tekrar çalışacak hale getirelim , aşağıdaki 2 komutu kullanabilirsiniz.

[root@ayhanarda-containers ~]# systemctl enable docker.service
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@ayhanarda-containers ~]# systemctl start docker.service

Artık docker çalışır durumda. Şimdi docker compose kurulumuna geçebiliriz.

Öncelikle python-pip kuruyorum çünkü docker compose u pip ile kuracağım.

[root@ayhanarda-containers ~]# yum install epel-release

[root@ayhanarda-containers ~]# yum install -y python-pip

Şimdi docker compose u kuruyoruz.

[root@ayhanarda-containers ~]# pip install docker-compose

Kurulum tamamlandı.Şimdi hemen docker compose ile bir container ayağa kaldıralım.

Şimdi yaml dosyamız için bir klasör açıp içine giriyorum.

[root@ayhanarda-containers ~]# mkdir hello-world
[root@ayhanarda-containers ~]# cd hello-world

docker-compose.yml isimli dosyamızı oluşturup içine reçetemizi yazacağız. Ben favori editör olarak nano kullanıyorum , Siz farklı bir editor kullanabilirsiniz.

[root@ayhanarda-containers hello-world]# nano docker-compose.yml

içine aşağıdaki satırları yazabilir ve kaydedebilirsiniz.

ayhanarda-test:
image: hello-world

Yani aşağıdaki gibi gözükmeli.

[root@ayhanarda-containers hello-world]# cat docker-compose.yml
ayhanarda-test:
image: hello-world

Şimdi yapmamız gereken tek bir hareket kaldı , bu prospektüsün yazılı olduğu containerı up etmek , hala hello-world klasörümüzün içinde iken aşağıdaki komutu kullanabilirsiniz.

[root@ayhanarda-containers hello-world]# docker-compose up
Pulling ayhanarda-test (hello-world:latest)…
latest: Pulling from library/hello-world
03f4658f8b78: Pull complete
a3ed95caeb02: Pull complete
Digest: sha256:8be990ef2aeb16dbcb9271ddfe2610fa6658d13f6dfb8bc72074cc1ca36966a7
Status: Downloaded newer image for hello-world:latest
Creating helloworld_ayhanarda-test_1
Attaching to helloworld_ayhanarda-test_1
ayhanarda-test_1 |
ayhanarda-test_1 | Hello from Docker.

..

Şimdi belirttiğimiz image ı indirdik , hadi bunu doğrulayalım.

[root@ayhanarda-containers hello-world]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 690ed74de00f 5 months ago 960 B

Şimdi aynı yöntemle bir de nginx kuruyorum , bunu yazmayacağım , şimdi docker hub da offical nginx i bulup adını doğrulayıp aynı yöntem ile oluşturabilirsiniz. Docker ps ile çalıştığını görebilirsiniz.

[root@ayhanarda-containers ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e37b79df162b nginx “nginx -g ‘daemon off” About a minute ago Up About a minute 80/tcp, 443/tcp nginx_nginx_1

Yukarıda bir Container id göreceksiniz , her çalışan container ın bir id si vardır, yani eğer biz bu container ın dosya sistemine girmek ister isek aşağıdaki gibi o makinanın içine erişebiliriz , hatta nginx in conf dosyasında değişiklik yapabiliriz , işimiz bitince exit yazarak çıkabiliriz.

[root@ayhanarda-containers ~]# docker exec -it e37b79df162b /bin/bash
root@e37b79df162b:/# cd etc/nginx/conf.d/
root@e37b79df162b:/etc/nginx/conf.d# ls
default.conf

Farklı docker-compose ve multi-container örnekleri ile yakında görüşmek üzere..

Ayhan ARDA

lets-encrypt-cpanel

Let’s Encrypt Sertifika Kurulumu

Örneğimizi Cpanel kurulu sunucuda yapacağız , ihtiyaca göre farklı sunucular içinde yazabiliriz. Öncelikle Let’s Encrypt ten bahsedelim , ücretsiz ssl sağlayan bir organizasyon diyebiliriz , destekçileri arasında Mozilla , Facebook gibi devler bulunmakta , en önemli özelliği ücretsiz ssl sağlaması, en güzel tarafıda bir csr oluşturmaya gerek olmaması ve alan adının ya da hosting in sahibi olduğunuzu kanıtlayacak admin@alanadi.com gibi bir mail adresine sahip olmanızın gerekmemesi. Şu an için sunucu sahipleri avantajlı durumda , barındırdıkları siteler için ücretsiz kurup servis edebilirler ancak paylaşımlı hosting kullanıcıları servis yaygınlaşana kadar ssl e para ödemeye devam edecek gözüküyor çünkü sunucu yöneticisi shell access verse de kurulum için root hakları gerekmekte. Artık arama motorlarının da ssl li siteleri kendi algoritmasında 1 puan üstte tutması da ssl kullanmak için iyi bir sebep gibi gözüküyor. Şimdi cpanel kurulu bir sunucunuz olduğunu varsayıyorum , üzerinde kendinize ait 3-5 site olsun ve bunlara ssl kurmaya çalışalım.

Sunucunuza ssh tan bağlanalım.

Ben root dizininde çalışmak istedim , siz farklı bir dizinde çalışabilirsiniz.

root@ayhanarda [/]# cd root/

Devam edebilmek için git kurulu olması gerekir , kurulu olup olmadığını doğrulayalım.

root@ayhanarda [~]# git
usage: git [–version] [–help] [-c name=value]
[–exec-path[=<path>]] [–html-path] [–man-path] [–info-path]
[-p|–paginate|–no-pager] [–no-replace-objects] [–bare]
[–git-dir=<path>] [–work-tree=<path>] [–namespace=<name>]
<command> [<args>]

Yukarıdaki gibi bir sonuç ile karşılaştı iseniz kuruludur , değil ise aşağıdaki komut ile kuralım.

root@ayhanarda [~]# yum install git -y

Kurulum tamamlandı ise şimdi Let’s Encrypt dosyalarını /root dizini altına kopyalayabiliriz.

root@ayhanarda [~]# git clone https://github.com/letsencrypt/letsencrypt
Cloning into ‘letsencrypt’…

İşlem tamamlandığında aşağıdaki komut ile letsencrypt dizini içine girelim.

root@ayhanarda [~]# cd letsencrypt

Şimdi bu noktadan sonraki işlemde python-virtualenv kurulu olması gerekmekte , yum install python-virtualenv -y komutu ile kurabilirsiniz ama ben aşağıdaki doğrulama işlemini yapınca kendi farkına varıp kurmaya başladı , tavsiyem öncelikle aşağıdaki komutu kullanmanız ,hata almanız durumunda bu paragraftaki komutu kullanmanızdır.

root@ayhanarda [~/letsencrypt]# ./letsencrypt-auto –help

İşlem 1-2 dakika sürebilir , ben bir ara panik olup elim hemen snapshot almaya gitmişti ama gereksizmiş , sıkıntı olmuyor , benim düşüncem bu paketin cpanelin kendi phyton paketlerine zarar vereceği şeklinde idi , bir şey olmadı 🙂

Şimdi tavsiyem httpd servisini kısa süreliğine durdurmanız.

root@ayhanarda [~/letsencrypt]# service httpd stop

Eğer ssl kuracağınız alan adına karar verdi iseniz aşağıda ayhanarda.com gördüğünüz yerleri kendi alan adınız ile değiştirmelisiniz.

root@ayhanarda [~/letsencrypt]# ./letsencrypt-auto certonly –standalone -d ayhanarda.com -d www.ayhanarda.com

Ekranda size bir mail adresi yazmanızı isteyen soru gelecek , kendi ya da müşterinizin mail adresini yazın ve devam edin.

Sonrasında şartları vs kabul etmenizi isteyen bir ekran gelecek , onaylayıp geçiniz.İşlem sonunda sertifika dosyalarının nereye koyulduğunu belirten bir yazı göreceksiniz , muhtemelen /etc/letsencrypt/live/ayhanarda.com dizininde olacak.

Şimdi hemen httpd servisini tekrar başlatalım.

root@ayhanarda [~/letsencrypt]# service httpd start
Redirecting to /bin/systemctl start  httpd.service

Hemen sertifikanın olduğu dizine erişelim.

root@ayhanarda [~/letsencrypt]# cd /etc/letsencrypt/live/
root@ayhanarda [/etc/letsencrypt/live]# ls -al
total 12
drwx—— 3 root root 4096 Mar  4 16:13 ./
drwxr-xr-x 8 root root 4096 Mar  4 16:13 ../
drwxr-xr-x 2 root root 4096 Mar  4 16:13 ayhanarda.com
root@ayhanarda [/etc/letsencrypt/live]# cd ayhanarda.com/
root@ayhanarda [/etc/letsencrypt/live/ayhanarda.com]# ls -al
total 8
drwxr-xr-x 2 root root 4096 Mar  4 16:13 ./
drwx—— 3 root root 4096 Mar  4 16:13 ../
lrwxrwxrwx 1 root root   34 Mar  4 16:13 cert.pem -> ../../archive/ayhanarda.com/cert1.pem
lrwxrwxrwx 1 root root   35 Mar  4 16:13 chain.pem -> ../../archive/ayhanarda.com/chain1.pem
lrwxrwxrwx 1 root root   39 Mar  4 16:13 fullchain.pem -> ../../archive/ayhanarda.com/fullchain1.pem
lrwxrwxrwx 1 root root   37 Mar  4 16:13 privkey.pem -> ../../archive/ayhanarda.com/privkey1.pem

Görüldüğü üzere tüm sertifikalar burada , cat komutu ile okunabilir durumda , hemen whm panele erişip Install an SSL Certificate on a Domain bölümüne girelim.

Şimdi aşağıdaki resmi inceleyip resim üzerinde yazdığım detayları uygulayabilir ve ssl kurulumunu tamamlayabilirsiniz.

cpanel-lets-encyrpt-ayhanarda-com

Şimdi sitenize ssl ile erişmeyi deneyebilirsiniz. Bir detay vereyim , verdiği ssl süresi 3 ay gözüküyor , bu süre sonunda muhtemelen işlemi tekrarlamak gerekecek , umarım faydalı olur. Hosterlar için… hosting müşterilerinize ücretsiz ssl şeklinde servis edip  cüzi bir miktar kurulum ücreti ile bir ürün haline getirebilirsiz.

Ayhan ARDA

Ansible-kurulumu

Kali linux üzerine git ile ansible kurulumu

Ansible , linux sunucularınızı ssh üzerinden playbook denen iş dosyaları vasıtası ile yönetmenizi kolaylaştıran bir yazılım çatısı , farklı bir yazıda ansible kullanımını ayrıca aktaracağım , kali üzerinde kurma ihtiyacı hissettim ve kurulum adımları aşağıdaki şekildedir, komutları sırası ile çalıştırabilirsiniz, aynı yapı olduğu için komutlar ubuntuda da çalışabilecektir.

root@kali-ayhanarda:~/# apt-get update
root@kali-ayhanarda:~/# apt-get install python-pip python-dev git -y
root@kali-ayhanarda:~/# pip install PyYAML jinja2 paramiko
root@kali-ayhanarda:~/# git clone https://github.com/ansible/ansible.git
root@kali-ayhanarda:~/# cd ansible
root@kali-ayhanarda:~/# make install
root@kali-ayhanarda:~/# mkdir /etc/ansible
root@kali-ayhanarda:~/# cp ~/ansible/examples/hosts /etc/ansible/

Şimdi kurulumu doğrulayabiliriz.

root@kali-ayhanarda:~/ansible# ansible –version
ansible 2.1.0
config file =
configured module search path = Default w/o overrides

Ayhan ARDA

logstash forwarder log gönderme

Cpaneldeki Sitelerin Access Loglarını Logstash-Forwarder ile ElkStack ta Logstash Server a Gönderme

Daha önceki yazılarımızda bir elkstack server kurmuştuk ancak henüz farklı bir serverdan log göndermemiştik , şimdi örnek olarak elimizde bir cpanel sunucu olduğunu ve içinde yüzlerce site olduğunu varsayalım , cpaneldeki sitelerin erişim logları bilindiği üzere /usr/local/apache/domlogs/ altında yer almaktadır , her bir site için bu yolda birer klasör ve içinde sitelerin logları yer almaktadır.

Şimdi elkstack serverın adı elkstack.ayhanarda.com olsun , ip adresi 192.168.1.1 olduğunu varsayalım , cpanel sunucu adı ise cpanel.ayhanarda.com , ip adresi de 192.168.1.2 olsun.

Eğer bu isimler için bir dns serverda kaydımız yok ise cpanel sunucuda aşağıdaki dosyaya elkstack serverın ip ve hostname ini girelim ki aramak ile vakit kaybetmesin. /etc/hosts dosyasını açıp aşağıdaki kaydı girelim , tabi hostname ve ip adresi Sizin yapınıza göre olmalı.

root@cpanel.ayhanarda.com [~]# nano /etc/hosts
192.168.1.1           elkstack.ayhanarda.com

Şimdi centos repo suna logstash forwarder için kayıt ekleyelim.

rpm –import http://packages.elasticsearch.org/GPG-KEY-elasticsearch

cat >> /etc/yum.repos.d/logstash-forwarder.repo << REPO
[logstash-forwarder]
name=logstash-forwarder repository
baseurl=http://packages.elasticsearch.org/logstashforwarder/centos
gpgcheck=1
gpgkey=http://packages.elasticsearch.org/GPG-KEY-elasticsearch
enabled=1
REPO

Artık logstash-forwarder kurmaya hazırız.

yum -y install logstash-forwarder

Elkstack serverda oluşturduğumuz sertifikayı aşağıdaki dosyanın içine girip kaydedelim , bu dosya yok ise oluşturalım.

nano /etc/pki/tls/certs/logstash-forwarder.crt

—–BEGIN CERTIFICATE—–
MIIDDTCCAfWgAwIBAgIJANcKD2AfHuraMA0GCSqGSIb3DQEBCwUAMB0xGzAZBgNV
BAMMEmVsa3N0YWNrLm5hdHJvLmNvbTAeFw0xNTEwMjcxMTI4NTFaFw0yNTEwMjQx



—–END CERTIFICATE—–

Şimdi logstash-forwarder ın conf dosyasını oluşturalım.

nano /etc/logstash-forwarder.conf

{
  “network”: {
“servers”: [ “elkstack.ayhanarda.com:5001” ],
“timeout”: 15,
“ssl ca”: “/etc/pki/tls/certs/logstash-forwarder.crt
  },

“files”: [
{
      “paths”: [
        “/usr/local/apache/domlogs/*/*
       ],
      “fields”: { “type”: “apache-access” }
    }
]
}

Yukarıdaki dosyada dikkat ederseniz 4 farklı ve önemli bölümü işaretledim , birincisi logları nereye ve hangi porta ileteceğimiz , ikincisi bir önceki adımda hazırladığımız ssl dosyasının yolu , üçüncüsü cpanel sunucudaki hangi logları göndereceğimiz , dördüncüsü ise bu logların çeşidi.

Şimdi logstash forwarder ı başlatalım ve aynı zamanda sunucunun bir sonraki açılışında otomatik olarak çalışmasını sağlayalım.

service logstash-forwarder restart && chkconfig logstash-forwarder on

Conf dosyamızda 5001 nolu porta göndereceğimizi belirtmiştik , o halde cpanel server üzerinde bir firewall kullanıyor isek dışarıya doğru bu portu aktif etmeliyiz , ben cpanel sunucularda csf kullanmaya özen gösteriyorum , aşağıdaki dosyasyı açıp tcp_out ve udp_out bölümlerine 5001 nolu portu ekliyorum. Buradaki 5001 portu elkstack serverınız ile ilgili bir durum , yani orada kullanmayı seçtiğiniz porttur , Sizin elkstack ya da logstash server da bu farklı olabilir.

root@cpanel.ayhanarda.com [/usr/local/apache/logs]# cat /etc/csf/csf.conf | grep TCP_OUT
TCP_OUT = “20,21,25,37,43,53,80,110,113,443,587,993,995,2086,2087,2089,2703,3306,4443,5001,6343,30000:35000,65000:65535″
root@cpanel.ayhanarda.com [/usr/local/apache/logs]# cat /etc/csf/csf.conf | grep UDP_OUT
UDP_OUT = “53,113,123,873,5001,6277,6343″

sonrasında csf -r komutu ile csf yi restart edelim. Eğer csf kullanmıyor iseniz iptables üzerinden direkt olarak ta açabilirsiniz.

Şimdi eğer elkstack bu portu dinliyor , cpanel de log gönderiyor ise bunu aşağıdaki dosyayı izleyerek görebilirsiniz

tail -f /var/log/logstash-forwarder/logstash-forwarder.err

2015/11/03 06:57:38.745365 Setting trusted CA from file: /etc/pki/tls/certs/logstash-forwarder.crt
2015/11/03 06:57:38.745939 Connecting to [192.168.1.1]:5001 (elkstack.ayhanarda.com)
2015/11/03 06:57:38.838187 Connected to 192.168.1.1

Hepsi bu kadar , iyi çalışmalar..

Ayhan ARDA

Mosh nedir , Kurulumu ve Kullanımı

SSH protokolü bir çoğumuzun sıklıkla kullandığı hatta bazılarımızın aynı anda onlarca servera erişip işlem yaptığı bir protokoldür ancak hepimiz biliyoruz ki bulunduğumuz lokasyonda internet erişimi kaybolduğunda karşı sunucuya olan ssh bağlantığımız da kopar ve tekrar bağlanmak zorunda kalırız ya da şöyle düşünelim , bir tren yolculuğundasınız , akıllı telefonunuzda yer alan bir ssh istemci uygulamasından şirketinizde ki server a bağlandığınız ve tam işlem yaparken tren tünele girdi ve internet erişiminiz koptu, şimdi bu durumda tekrar bağlanmalısınız ve son bastığınız komutun sonucunu artık ekranda göremeyeceksiniz. İşte bu durumun önüne MOSH ile geçebilirsiniz, Üstelik tekrar bağlandığınızda ip adresiniz değişmiş olsa bile, gayet güzel değil mi?

Mosh adı Mobile Shell’ in kısaltmasından gelmekte, vaad ettiği durum ise yukarıda örneklediğimiz üzere Shell oturumunuz kopmadan, ağlar arası roaming yapmanıza , zayıf ve gidip gelen bağlantılarda erişiminizin kaybolmamasına hatta networkte lag olsa bile bunu Size farkettirmeden işlem yapmanıza imkan sağlamak. Ayrıca adı mobil diye sadece mobil olarak kullanmanız gerekmiyor , sunucular arası kabuk erişimlerinizde de bunu kullanabilirsiniz.

Kurulumu ise oldukça basit , aşağıda kullandığınız dağıtıma göre kurulum komutlarını belirttim ve bunlar harici epel repoda da bulunmakta.

Debian, Ubuntu tabanlı dağıtımlarda;

apt-get update
apt-get install mosh

RHEL, Centos, Fedora tabanlı dağıtımlarda;

yum update
yum install mosh

şeklinde kurabilirsiniz , Daha farklı sistemlere kurulum için https://mosh.mit.edu adresinde yer alan kurulum bilgilerine inceleyebilirsiniz ya da direk kaynağından da derleme şansımız bulunmakta, işin bir diğer güzel yanı ise clientlar için Google Chrome plugin i de bulunuyor ve yine detaylar yukarıdaki adreste yer almakta.

mosh-chromemosh-kurulumu-androidAkıllı telefon kullanıcıları da JuiceSSH isimli ssh client ı Android tabanlı cihazlarına indirip Mosh Client özelliğini kullanabilirler.

 

 

 

 

Server tarafının kurulumundan sonra önemli bir detay var , UDP 60000:61000 arası portları açmamız gerekli , bunu da iptables ve ufw için aşağıdaki şekillerde yapabilir ya da test için kısa süreliğine firewall ı devre dışı bırakabilirsiniz.

iptables için;

sudo iptables -I INPUT 1 -p udp –dport 60000:61000 -j ACCEPT

ufw için;

sudo ufw allow 60000:61000/udp

Kullanımı oldukça basit hatta ssh erişiminden pek bir farkı yok diyebiliriz, aşağıda birkaç örnek paylaşmak istiyorum.

SSH portu standart 22 olan bir servera bağlanmak için;

mosh root@alanadi.com

ya da

mosh ipadresi (mosh x.x.x.x)

SSH portu farklı olan (örneğin 9998) bir servera bağlanmak için;

mosh –ssh=”ssh -p 9998″ root@alanadi.com

şeklinde bağlantı sağlayabilirsiniz.

Özetle her Linux kullanıcısının mutlaka deneyimlemesi gerektiğini düşünüyor ve öneriyorum.

Ayhan ARDA