Redhat Sunucuyu Satellite Register etmek

Satellite ile ilgili daha önce sitemde bilgi vermiştim, çok fazla özelliği var kısaca yeniden değinecek olursak redhat sunucularınız update yönetimini ve kickstart kurulum yapmanızı sağlayan redhat ürünü diyebiliriz.

Bu yazıda redhat sunucularınızı satellite nasıl register edeceğinizden bahsedeceğim.

rhn_check komutu ile öncelikle sunucumuz rhn(redhat network) register mı değil mi check ediyoruz.

[root@rhel63 ~]# rhn_check
ERROR: unable to read system id.
Çıktıda yukarıdaki gibi bir error var ise rhn veya her hangi bir satellite register edilmemiş demektir.

[root@rhel63 ~]# rhn_check
[root@rhel63 ~]#

Çıktı yukarıdaki gibi ise rhn veya her hangi bir satellite register edilmiş demektir.

Sunucu rhn veya satellite register durumdaysa systemid dosyasını yedekleyerek silebiliriz, daha sonra yeniden rhn_check dediğiniz de Error verecektir ve register edilmemiş bir sunucu gibi hareket edecektir.

systemid dosyası işlemi şu şekilde,

[root@rhel63 ~]# cp /etc/sysconfig/rhn/systemid /etc/sysconfig/rhn/systemid.backup
[root@rhel63 ~]# rm -rf /etc/sysconfig/rhn/systemid

[root@rhel63 ~]# rhn_check

ERROR: unable to read system id.

daha önce register edilmiş bir sistem ise systemid dosyası silerek bu işlemi iptal etmiş olduk şimdi yeni satellite register etme işlemine başlaylaım.

Dns de bir sorun olması durumunda satellite erişim ve updateler de sorun yaşamamak adına hosts dosyasına satellite sunucu dns kaydını ve ip adresini ekliyoruz.

[root@rhel63 ~]# vi /etc/hosts

10.0.0.20    satellite.endersys.com

şeklinde kaydedip çıkıyoruz.

Şimdi de up2date dosyasını editleyerek updateleri rhn den değil satellite den check etmesini sağlayacağız.

Yine her ihtimale karşı up2date dosyamızı yedekliyoruz.

[root@rhel63 ~]# cp /etc/sysconfig/rhn/up2date /etc/sysconfig/rhn/up2date.backup

cd /usr/share/rhn/ ; wget http://satellite.endersys.com/pub/RHN-ORG-TRUSTED-SSL-CERT

[root@rhel63 ~]# vi /etc/sysconfig/rhn/up2date

up2date dosyasındaki,

serverURL[comment]=Remote server URL (use FQDN)
serverURL=https://satellite.endersys.com/XMLRPC

sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT

bölümünü editleyerek yukarıdaki gibi kendi satellite sunucu adresimizi yazıyoruz.

Bu işlemden sonra sunucumuzu satellite register edebiliriz.

[root@rhel63 ~]# rhn_register

Bu komutu verdiğimizde her hangi bir hata yapmadıysak ve sorun yok ise aşağıdaki gibi bir ekran görüntüsü gelecek karşımıza. Next ile devam ediyoruz.

Bir sonraki adımda bizden username ve password isteyecek.

Buraya girecek oluduğumuz username ve password satellite login olduğumuz user name password olmalı.

Örneğin database adminleri için oracle adında bir user verdiniz, satellite oracle user ve password ile giriş yapıyorlar, aşağıdaki username ve password alanına da oracle ve şifresi ile giriş yapmanız gerekir.

Sunucuya ait donanımsal ve hostname gibi bilgileri satellite gönderiyor bu bölümde next ile devam edelim.

System profilinde mevcut olan rpm paketlerini göstermekte, istemediklerinizi çıkartarak next ile devam edebilirsiniz.

Bilgileri satellite göndermek için son kez soruyor, next ile devam edelim.

Bilgileri satellite gönderiyor.

ve finish ile register işlemini sonlandırıyoruz.

Register işlemi tamamlandı, rhn_check ile check ediyoruz.

[root@rhel63 ~]# rhn_check
[root@rhel63 ~]#

Gördüğünüz gibi her hangi bir hata veya error almyoruz, sunucumuz başarılı bir şekilde satellite register edildi.

yum update -y ile sunucumuzu update edebiliriz.

Satellite web den login olarak sunucumuzu burada da görebiliriz.

Faydalı olabilmesi temennisi ile.

 

 

Share Button

Text deki veriyi ve MD5 ni MySQL e insert etmek

Bir süredir aklımda md5 crack sitesi kurmak vardı, can sıkıntısında bu gece bununla uğraşayım dedim, python ile ufak bir script yazdım, Şimdilik elimdeki password listleri ve md5 ni mysql e insert etme işlemini gerçekleştiriyorum. Müsait bir arada php de ufak bir gui yazarsak kamuya açacağım 🙂

Belki birininde işine yarar düşüncesi ile sizlerlede yaplaşmak istedim.

 

import MySQLdb as mdb
import sys
import hashlib
import md5
m = hashlib.md5()
password = open(‘password_list’, ‘r+’)
passlist=password.readlines()
con = None
for y in passlist:
try:
m=hashlib.md5(y.rstrip()).hexdigest()
ymdfive=m
con=mdb.connect(‘192.168.1.100’, ‘toolsuser’, ‘t==L5q@55w0rD’,’kk_tools’);
cur=con.cursor()
x=y.rstrip()
cur.execute(‘INSERT INTO `kk_tools`.`pl` ( `id` , `pass` , `md5` ) VALUES ( NULL , “%s”, “%s”)’ % \
(x, ymdfive))
print “Bu sifre eklendi : %s ” % y
print “MD5 bu : %s ” % ymdfive
except mdb.Error, e:
print “Error %d: %s” % (e.args[0],e.args[1])
finally:
if con:
con.close()

 

Faydalı olabilmesi temennisi ile.

Share Button

EMC PowerPath Komutları

Kritik sistemler de sunucu storage arasında baglantıyı sağlayan Fiber kablolar (FC) bulunur. Bu Fiber kablolar genellikle yedeklidir, yani sistemler tek fiber kablo ile çalışabilir ancak her hangi bir problem anında sorun yaşamadan sistemin çalışmasını sağlamak için 2,3,4 gibi baglantı ile yedeklilik saglanır. Biz her baglantıya path diyoruz, yani 2 kablo ile baglı bir sistem için 2 path den baglı diyoruz.

Bu işlem sizin uptime sürenizi uzatırken kaliteli bir hizmet sunmanızı sağlayacaltır, örneğin datacenter da çalışan teknisyen hata ile yanlış bir kabloyu çekti. Normal şartlar da sizin disklere erişiminiz olmayacak ve sisteminiz down olacaktır ancak, multipath veya powerpath gibi çözümler sizi bu gibi durumlar da down olmakta kurtarır.

NOT : Redhat işletim sistemlerin de powerpath kullanabilirsiniz ancak her hangi bir error almanız v.b. durumlar da redhat a case açtığınızda redhat size powerpath ın unsupport olduğunu söyleceyecektir. Powerpath kullanmanızı önerecektir, powerpath de sorun yaşamanız durumunda support verebileceklerini söylerler. Bu nedenle redhat kullanıyorsanız powerpath kullanmak yerine redhat ın multipath servisi olan multipathd yi kullanmanızı tavsiye ederim.

Farklı linux versiyonlarında veya Redhat da powerpath kullanmanız durumunda powerpath ait komutları kullanmayı biliyor olmanız gerekmekte, powerpath ile ilgili bazı komutlar aşağıdaki gibidir.

1.powermt display ====>Display High Level HBA I/O Paths
2.powermt display dev=emcpowera ===>Display for specific LUN
3.powermt display dev=all ====> Display All Attached LUNs
4.powermt check_registration ===> Display PowerPath Registration Key / Status
5.powermt display options ===> Display EMC PowerPath Options
6.powermt display hba_mode ====> Display PowerPath HBA Mode
7.powermt display paths – Display available I/O Paths.
8.powermt displays port_mode ===>Display Port Status
9.powermt version ====> Display EMC PowerPath Version
10.powermt check ===>Check the I/O Paths

Powerpath uygulaması EMC storage firması tarafında geliştirilmiş bir uygulamadır ancak benim kişisel tavsiyem redhat sistemlerde multipath servisini kullanmanızdır.

Faydalı olabilmesi temennisi ile.

Share Button

Şifresiz SSH Baglantısı ve Komut Çalıştırmak

Bazı durumlar da bir sunucu dan diğer sunucuya baglanarak komut çalıştırmanız gerekebilir ve bu işlemin sürekli olarak gerçekleştirilmesi gerekebilir. (crontab v.s. ile)

Bu gibi durumlar da şifresiz olarak sunucular arasında ssh baglantısı yapabiliyor olmanız gerekir.

Linux de bu işlemi gerçekleştirebilmek oldukça basit,

Sunucu X   : Şifresiz Y sunucusuna baglantı yapabilecek sunucu.

Sunucu Y : Şifre istemeden X sunucusundan gelen ssh baglantılarına izin verecek olan sunucu.

 

Sunucu X de yapmamız gekenler ;

root@k-Sys:~/.ssh# cd /root/.ssh/
root@k-Sys:~/.ssh# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
07:e8:71:39:8d:72:19:42:ea:e1:06:cb:f7:73:95:0e root@k-Sys
The key’s randomart image is:
+–[ RSA 2048]—-+
|     .o .        |
|     . o *       |
|  . o + O .      |
| . = o = o .     |
|  o = . E +      |
|   o .   =       |
|      o . .      |
|       o         |
|                 |
+—————–+
root@k-Sys:~/.ssh# ls
id_rsa  id_rsa.pub  known_hosts  known_hosts.old

ssh-keygen -t rsa komutundan sonra 1-2 soru soracak enter enter diyerek bunları geçelim.

İşlem sonunda id_rsa  id_rsa.pub dosyaları oluşacak. Bu dosyalardan id_rsa.pub dosyasıını Sunucu Y ye scp ile veya farklı bir yöntem ile gönderiyoruz. (/root dizinine)

 

Sunucu Y de yapılması gereken işlemler;

root@k-Sys:~# cat /root/id_rsa.pub > /root/.ssh/authorized_keys
root@k-Sys:~#

Bu işlemden sonra Sunucu X in komut satırında ssh root@sunucuy komutu verildiğinde hiç bir şifre sormaksız Sunucu Y nin komut satırına erişim sağlayacaktır.

root@k-Sys:~#ssh root@sunucuy “echo test > /root/test.txt”

Yukarıdaki komutu çalıştırdığınızda Sunucu Y nin /root/test.txt içerisinde test  yazdığını görebilirsiniz.

Faydalı olabilmesi temennisi ile.

Share Button

Bash Script ile port scanner

Bazı durumlar çok fazla ip adresine ait servis bilgisini scan etmeniz gerekebiliyor, normal tools ile bu işlem biraz uzun sürebiliyor, bu gibi durumlar da kendimizin yazacak olduğu port scanner daha hızlı sonuç verecektir.

Ktools adında bir folder oluşturun bir kereye mahsuz sunu kopyalayıp komut satırına yapıştırın.

touch FTP.txt
touch SSH.txt
touch SMTP.txt
touch DNS.txt
touch WEB.txt
touch IMAP.txt
touch SNMP.txt
touch HTTPS.txt
touch SMTPS.txt
touch RLOGİN.txt
touch SUBMISSION.txt
touch IMAPS.txt
touch OPENVPN.txt
touch DELL.txt
touchMsSQL.txt
touch MCSVPN.txt
touch CPANEL.txt
touchDADMİN.txt
touch MySQL.txt
touch RDP.txt
touch RADMIN.txt
touchSIP.txt
touch PLESK.txt
touch WEBMIN.txt
touch ip_list

Bu işlem ile klasör içerisinde yukarıdaki isimler de text boş dökümanlar oluşacak.

ip_list içerine scan işlemini gerçekleştireceğimiz ip adreslerini eklemeliyiz.

Port check işlemini yapan komut,

#timeout 0.5 bash -c "echo >/dev/tcp/$x/21" 2>/dev/null
#if [ $? -eq 0 ]
#then
#echo $x":21:FTP"
#echo $x >> FTP.txt
#fi

bu şekilde, $x ip adresini temsil ediyor sonrasındaki /21 de portu, örneğin aşağıdaki komut 192.168.1.2 ip adresinin 21. portunu check edecek açık ise ekrana;

192.168.1.2:21:FTP yazacak ve ip adresini FTP.txt içerisine keleyecektir.

Sizler de bu yapı üzerinden istediğiniz gibi değişikliker yapabilirsiniz.

#timeout 0.5 bash -c "echo >/dev/tcp/192.168.1.2/21" 2>/dev/null
#if [ $? -eq 0 ]
#then
#echo $x":21:FTP"
#echo $x >> FTP.txt
#fi

Faydalı olabilmesi temennisi ile.

#!/bin/bash
echo "####################################################################"
echo "#                       ______                                     #"
echo "#                        .-.      .-.                              #"
echo "#                       /            \                             #"
echo "#                      |    kAyhAn    |                            #"
echo "#                      |,  .-.  .-.  ,|                            #"
echo "#                      | )(X_/  \X_)( |                            #"
echo "#                      |/     /\     \|                            #"
echo "#              _       (_     ^^     _)                            #"
echo "#      _\ ____) \_______\__|IIIIII|__/_________________________    #"
echo "#     (_)[___]{}<________|-\IIIIII/-|__kYh__kYh__kYh___________\   #"
echo "#       /     )_/        \          /                              #"
echo "#                         \ ______ /                               #"
echo "#                                                                #"
echo "#                         Scan All IP                              #"
echo "#                                                   #"
echo "####################################################################"
for x in `cat ip_list` ; do
echo ""
echo $x >last_ip
echo //// $x ////

timeout 0.5 bash -c "echo >/dev/tcp/$x/21" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":21:FTP"
echo $x >> FTP.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/22" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":22:SSH"
echo $x >>  SSH.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/25" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":25:SMTP"
echo $x >>  SMTP.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/53" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":53:DNS"
echo $x >>  DNS.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/80" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":80:Web"
echo $x >>  WEB.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/110" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":110:POP3"
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/135" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":135:RPC"
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/143" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":143:IMAP"
echo $x >>  IMAP.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/161" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":161:SNMP"
echo $x >>  SNMP.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/443" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":443:HTTPS"
echo $x >>  HTTPS.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/465" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":465:SMTPS"
echo $x >>  SMTPS.txt
fi

#timeout 0.5 bash -c "echo >/dev/tcp/$x/513" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":513:Rlogin"
echo $x >>  RLOGİN.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/587" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":587:Submission"
echo $x >>  SUBMISSION.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/993" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":993:IMAPS"
echo $x >>  IMAPS.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/1194" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":1194:OpenVPN"
echo $x >>  OPENVPN.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/1311" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":1311:Dell Open Manage"
echo $x >>  DELL.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/1433" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":1433:MsSQL"
echo $x >>  MsSQL.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/1723" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":1723:PPTP(MCS VPN)"
echo $x >>  MCSVPN.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/2083" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":2083:Cpanel"
echo $x >>  CPANEL.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/2086" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":2086:Cpanel"
echo $x >>  CPANEL.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/2222" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":2222:Direct Admin"
echo $x >>  DADMİN.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/3306" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":3306:MySQL"
echo $x >>  MySQL.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/3389" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":3389:RDP"
echo $x >>  RDP.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/4899" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":4899:Radmin"
echo $x >>  RADMIN.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/5060" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":5060:SIP"
echo $x >>  SIP.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/8443" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":8443:Plesk"
echo $x >>  PLESK.txt
fi

timeout 0.5 bash -c "echo >/dev/tcp/$x/10000" 2>/dev/null
if [ $? -eq 0 ]
then
echo $x":10000:webmin"
echo $x >>  WEBMIN.txt
fi
done
Share Button