Aidsql PHP Fatal Error

Yaklaşık olarak 1,5-2 aydır blogumda birşeyler karalayamıyorum, malum yüksek lisans bitirme telaşı, proje savunması v.s. neyse bunları güzel bir şekilde atlattık, sıkıntı da yok gibi, kısaca yeniden sahalardayız..

AidSQL ile ilgileniyordum Kali de indirdim, her zamanki kurcalama modunda devam..

[important]./aidsql –url=http://www.w.com –list-links[/important]

komutundan sonra

[error]PHP Fatal error: Call to undefined function aidSQL\http\Adapter\curl_init() in /root/aidsql-latest/lib/aidSQL/class/http/adapter/Ecurl.class.php on line 39 Fatal error: Call to undefined function aidSQL\http\Adapter\curl_init() in /root/aidsql-latest/lib/aidSQL/class/http/adapter/Ecurl.class.php on line 39[/error]

şeklinde hata aldım, sebebini araştırdım bir paketin kurulu olmaması nedeni ile bu hatayı almaktayız.

 

Çözüm için yapmanız gereken işlem php5_curl paketini kurmanız, kurulum işlemini aşağıdaki gibi gerçekleştirebilirisiniz,

[important]apt-get install php5-curl[/important]

Problem yaşayan arkadaşlar uğraşmadan sorunu çözebilsinler diye buraya da karalamak istedim, faydalı olabilmesi temennisi ile.

Share Button

RHN Satellite Postgresql DB Schema Upgrade

Bundan önceki RHN Satellite Schema Upgrade yazımda, Oracle database kullanan RHN satellite sunucularında nasıl upgrade işlemi yapılabileceğinden bahsetmiştim.

Bu yazımda ise Postgresql database kullanan RHN Satellite sunucularının database schema upgrade nin nasıl yapılacağından bahsetmek istiyorum.

Bu işlemi hadi canım sıkıldı, schema upgrade edeyim diye yapmıyorum, aşağıdaki gibi bir uyarı maili geldiği için bu işlemi yapıyorum.

[important]
This is a notice to let you know that there is a satellite-schema
upgrade available for satellite.endersys.com.

Your current satellite-schema version:

5.6.0.10-1.el6sat

Available satellite-schema upgrade:

5.6.0.12-1.el6sat

We recommend to upgrade your satellite-schema at your earliest
convenience to receive latest schema fixes.

Please consult the appropriate errata solution text for detailed
instructions on how to upgrade your satellite-schema.

———————————————————————
This mail is being generated automatically by a daily cron job:

/etc/cron.daily/schema-upgrade-notif
[/important]

 

Bu işlemi iki farklı yöntem ile gerçekleştirebilirsiniz, 1. yöntem kolay ve uygulaması gereken yöntem, ikinci yöntem ise işin arka planında ne olur ben adım adım kontrol edip yapacağım diyenler için.

 

1. Yöntem :

Mailin altında da belirtildiği gibi cron job da bu işlem için yazılmış bir script var,

/etc/cron.daily/schema-upgrade-notif

isterseniz otomatik olarak bu script ile işinizi görebilirsiniz.

[important]# bash /etc/cron.daily/schema-upgrade-notif[/important]

 

Script içeriği şu şekilde,

[important]#!/bin/bash

installed_schema=$(rhn-schema-version 2> /dev/null)
available_schema=$(rpm -q –qf=’%{VERSION}-%{RELEASE}’ satellite-schema)

if [ -z “$installed_schema” ] || [ $installed_schema == $available_schema ]; then
exit;
fi

hostname=$(hostname)
to=$(spacewalk-cfg-get traceback_mail)

mail -s “New satellite-schema upgrade notification from $hostname” $to <<EOB
This is a notice to let you know that there is a satellite-schema
upgrade available for $hostname.

Your current satellite-schema version:

$installed_schema

Available satellite-schema upgrade:

$available_schema

We recommend to upgrade your satellite-schema at your earliest
convenience to receive latest schema fixes.

Please consult the appropriate errata solution text for detailed
instructions on how to upgrade your satellite-schema.

———————————————————————
This mail is being generated automatically by a daily cron job:

/etc/cron.daily/schema-upgrade-notif[/important]

 

2.Yöntem :

Bu yöntemde ise işlemi adım adım yapıyoruz ve arka planda ne olup bittiğini öğreniyoruz.

Öncelikle mevcut RHN schema versiyonumuza bakalım,

[important]echo $(rhn-schema-version 2> /dev/null)[/important]

5.6.0.12-1.el6sat dan eski olması gerekir, değilse zaten sizin schema güncellenmiş demektir, yapmanız gereken bir işlem bulunmamakta, ancak normal şartlarda

5.6.0.10-1.el6sat görmeniz gerekir.

Erişilebilir schema bilgisine aşağıdaki gibi erişebilirisiniz,

[important] echo $(rpm -q –qf=’%{VERSION}-%{RELEASE}’ satellite-schema)[/important]

 

Mevcut schema ile erişilebilir schema arasında fark var ise upgrade işlemine başlayabiliriz.

Öncelikle backup alalım;

[important]mkdir /tmp/Backup
chmod 777 /tmp/Backup
rhn-satellite stop
db-control backup /tmp/backup/[/important]

db-control backup komutu database büyüklüğüne bağlı olarak uzun sürebilmektedir.

Backup işlemi tamamlandığında database start ederek upgrade işlemine başlayabiliriz,

[important]

# /etc/init.d/postgresql start

# spacewalk-schema-upgrade

[/important]

Upgrade işleminde çıktı aşağıdaki gibi olmalıdır,

[important][root@satellite ~]# spacewalk-schema-upgrade

You are about to perform upgrade of your satellite-schema.

For general instructions on Red Hat Satellite schema upgrade, please consult
the following article:

https://access.redhat.com/knowledge/articles/273633

Hit Enter to continue or Ctrl+C to interrupt:
Schema upgrade: [satellite-schema-5.6.0.10-1.el6sat] -> [satellite-schema-5.6.0.12-1.el6sat]
Searching for upgrade path: [satellite-schema-5.6.0.10-1] -> [satellite-schema-5.6.0.12-1]
Searching for upgrade path: [satellite-schema-5.6.0.10] -> [satellite-schema-5.6.0.12]
The path: [satellite-schema-5.6.0.10] -> [satellite-schema-5.6.0.12]
Planning to run spacewalk-sql with [/var/log/spacewalk/schema-upgrade/20131211-115010-script.sql]

Plase make sure you have a valid backup of your database before continuing.

Hit Enter to continue or Ctrl+C to interrupt:
Executing spacewalk-sql, the log is in [/var/log/spacewalk/schema-upgrade/20131211-115010-to-satellite-schema-5.6.0.12.log].
The database schema was upgraded to version [satellite-schema-5.6.0.12-1.el6sat].[/important]

Gördüğünüz gibi upgrade işlemi problemsiz sonuçlandı, RHN Satellite start ederek işlemi tamamlayabiliriz.

[important]# rhn-satellite start[/important]

Faydalı olabilmesi temennisi ile.

 

Share Button

Cpanel (Exim) MX Değeri IP Olan Sunucuya Mail Gönderme

Bir süredir sürekli kullanmakta olduğum mail listesine mail atamadığımı gördüm, hali ile sinir bozucu bir durum.

Oturdum bir akşam şu konuyu çözeyim, neden mail atamıyorum ben bu listeye bir bakayım dedim,

Kullandığım liste mail adresi : liste@netsectr.org

Bana gelen hata şu şekilde;

[important] liste@netsectr.org     The mail server could not deliver mail to liste@netsectr.org.  The account or domain may not exist, they may be blacklisted, or missing the proper dns entries.[/important]

Hataya bakarsak domain yada user yok diyor, blackliste olabilir diyor v.s. ama ben bunların olmadığından eminim,  burada başka bir iş var deyip başlıyorum kurcalamaya.

 

Adım 1: DNS Check

Kısaca MX sunucusu kim bu domainin diyoruz.

[important]

root@server [/var/log]# dig netsectr.org mx

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> netsectr.org mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32323
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;netsectr.org.                  IN      MX

;; ANSWER SECTION:
netsectr.org.           300     IN      MX      1 178.18.195.170.

;; AUTHORITY SECTION:
netsectr.org.           84639   IN      NS      ns4jpz.name.com.
netsectr.org.           84639   IN      NS      ns1vwx.name.com.
netsectr.org.           84639   IN      NS      ns2fln.name.com.
netsectr.org.           84639   IN      NS      ns3dty.name.com.

;; ADDITIONAL SECTION:
ns3dty.name.com.        83885   IN      A       208.43.227.114
ns2fln.name.com.        83885   IN      A       98.124.246.1
ns4jpz.name.com.        83885   IN      A       184.72.222.215
ns1vwx.name.com.        83885   IN      A       184.172.60.177

;; Query time: 165 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Dec  5 23:39:55 2013
;; MSG SIZE  rcvd: 216

[/important]

 

gördüğünüz gibi dns de bir sorun yok, mail sunucunun ip adresini çözebiliyor.

Adım 2 : Smtp Erişimi

Peki mail kabul edecek bir muhatap buldukta bu abinin dükkan açık mı diyerekten 25 no lu kapıyı bir check ediyoruz, gelen misafirlere nediyor bu abiler der gibi…

[important]root@server [/var/log]# telnet 178.18.195.170 25
Trying 178.18.195.170…
Connected to 178.18.195.170.
Escape character is ‘^]’.
220 server1.bga.com.tr ESMTP Postfix (Ubuntu)[/important]

Gördüğünüz gibi smtp erişiminde de sorun yok, ee nerde bizim sorunumuz arkadaş, dns çözüyor telnet ile smtp baglantısı ok, userın olduğundan da eminiz ama her ihtimale karşı telnet den mail göndermeyi deneyerek gerçekten user var mı diye check de ettik, okey orada da sorun yok.

 

ee nedir yani şimdi sorun, cin mi kaçtı bizim makineye, user yada domain yok diye bize hata veriyor 🙂

Sorun şu arkadaşlar, genelde kabul görmüş olan standart mx değerinin dns A kaydı değil hostname şeklide olmasıdır.

Yani mx değeri mail.netsectr.org gösterir, mail.netsectr.org için A kaydı tanımlanır ve 178.18.195.170 ip adresini gösterir ancak burada bu standartın dışına çıkalar mx değerine IP adresi girilmiş, bu durumda mail sunucunuz exim ise ek bir ayar yapmanız gerekmekte, aksi taktirde mx değeri ip olan alan adlarına mail gönderebilmek mümkün olmuyor.

 

SORUNUN Çözümü :

exim.conf  benim sunucumda /etc/ altında sizde farklı olabilir, sırası ile

 

[important]

updatedb

locate exim.conf

[/important]

 

komutlarını çalıştırarak sizdeki exim.conf path bilgisine erişebilirsiniz, exim.conf bulduğumuza göre bir editör ile exim.conf dosyasını açıyoruz.

[important]vi /etc/exim.conf[/important]

ve aşağıdaki satırı exim.conf a ekleyin,

[important]allow_mx_to_ip = yes[/important]

exim.conf daki işlem okey, dosyayı kaydederek çıkın, exim servisini restart ediyoruz.

[important]/etc/init.d/exim restart[/important]

 

Ok şimdi herşeyin yolunda gidiyor olması gerekir, test etmek için önce logları izlemeye başlıyorum,

[important] tail -f /var/log/exim_mainlog[/important]

şimdi mail client uygulamamdan (thunderbrid) list@netsectr.org adresine bir mail gönderiyorum ve log dosyamda aşağıdaki gibi bir kayıt oluşuyor.

[important]2013-12-05 23:33:59 1VogYZ-0002Ly-Sr SMTP connection outbound 1386279239 1VogYZ-0002Ly-Sr kayhankayihan.com liste@netsectr.org
2013-12-05 23:34:00 1VogYZ-0002Ly-Sr => liste@netsectr.org R=dkim_lookuphost T=dkim_remote_smtp H=178.18.195.170 [178.18.195.170] X=TLSv1:ECDHE-RSA-AES256-SHA:256 C=”250 2.0.0 Ok: queued as 1411C426663″
2013-12-05 23:34:00 1VogYZ-0002Ly-Sr Completed[/important]

Gördüğünüz gibi mailimiz yerini buldu, 250 Ok aldık, complete dedik..

Sorun bittiğine göre yeni sorun çözümlerinde görüşmek temennisi ile, kalın sağlıcakla.. 🙂

 

Share Button

Cloudflare ve DDOS Tecrübesi

Cloud Flare kullanana arkadaşlar genellikle ddos dan ağzı yanmış, günlerce siteleri saldırı almış kişilerdir, kurtulmak adına Cloud flare kullanırlar…

Cloud flare ddos saldırıları anlamında %100 bir çözüm sağlamasa da genel anlamda basit tools ile yapılan saldırıları engelleyebilecek yeteneklere sahip. Bu nedenle birçok kişi free olması nedeni ile bu çözümü kullanmakta.

Kişisel  olarak bana soran arkadaşlara da ilk öneri olarak sunuyorum cloud flare..

Geçtiğimiz günlerde bu şekilde öneride bulunduğum bir arkadaş denemek istedi ve ns adreslerini cloud flame *olarak değiştirdi. Saldırıların artık onu etkilemiyeceğini rahat bir nefes alacağını düşünüyordu, hiçte umduğu gibi olmadı..

Saldırı devam ediyor, cloud flare hiç bir işe yaramamış gibi görünüyordu, bende yardım istedi, “dediğini yaptım ama bir türlü bu adamlara engel olamıyorum bir haftadır sitem neredeyse hiç çalışmıyor” v.s diyerek…

Bende firsattan istifade cloud flare bir bakayım bakalım gerçten işe yaramıyor mu diye sunucuya login oldum, tcp dump ile paketleri dinlemeye başladım, sunucuya tek bir ip adresinden çok fazla paket geliyordu, ip engellediğimde sorun çözüldü 🙂 Tabi yeni IP adreslerinin gelmesi uzun sürmedi 🙂

Ok anladık ki bu arkadaş bizim sunucu ip adresini öğrenmiş ve domain adı ile değil ip adresi ile saldırıyor ve böylece cloud flare filitresinden geçmeden direk olarak sunucuya geliyordu.

Şimdi asıl soru şuydu;

“Cloud flare geçtikten sonra sunucuyu da değiştirdik ve ip adresimiz değişmişti, siteye bizim ip adresimiz ile değil cloud flare ip adresi ile erişilebiliyordu ancak bu arkadaş nasıl oluyorduda bizim ip adresimizi tespit edebiliyordu?

Kısa bir araştırmadan sonra IP adresinin nasıl tespit edildiğini anladım. Arkadaş subdomain kayıtlarını dns walk v.s. gibi uygulamalar ile tespit etmiş, name server ve mail gibi subdomain dns kayıtlarına ping atarak sitenin hangi ip adresinden yayınlandığını öğrenmiş, host dosyasına  site.com 1.1.1.1 şeklinde kayıt ekleyerek siteninde bu sunucu da olduğundan emin olduktan sonra ip adresine saldırmaya başlamış.

Çözüm apache config deki subdomainleri kaldırdık, IP adresini değiştirdik, arkadaşın IP ve subdomain ile erişebileceği bir adres kalmayınca arge yapmak üzere geri çekildiğini düşünüyoruz 🙂

Benim için küçük ama faydalı bir tecrübeydi, problem yaşayan farklı arkadaşlar olabilir düşüncesi ile tecrübelerimi paylaşmak istedim, Faydalı olabilmesi temennisi ile…

 

Share Button

Red Hat Network Satellite 5.6 Kurulum

Bu yazımda Red Hat satellite ürününün son versiyonu olan 5.6 kurulumundan bahsedeceğim.

Kurulum adımlarına başlamadan önce kısaca Red Hat satellite nedir, ne iş yapar, neden bu ürünü kullanmalıyız gibi sorulara kısa kısa yanıtlar vererek kurulum adımlarına geçmek istiyorum.

  1. 1.       Kısaca Red Hat Network Satellite,

Red Hat Network Satellite ürünü genel olarak bakıldığında paket yönetimi, merkezi yönetim,

update yönetimi, kickstart kurulum, snapshot, audit, life cycle management tool gibi özellikler sunmakta.

 

  1. 2.       Red Hat Network Satellite 5.6 ile gelen yenilikler nelerdir?

 

RHN Satellite 5.6 da yeni neler var diye göz attığımızda ilk olarak göze çarpan değişiklikler aşağıdaki gibi.

 

–          Artan esneklik ve ölçekleme.

–          Geliştirilmiş sistem kullanılabilirliği.

–          Gelişmiş içerik kontrolü ve senkronizasyon.

–          Gelişmiş abonelik ve sistem raporlama

–          Sistem servis analizi

–          Otomatik hata raporlama aracı (ABT)

–          DB olarak Postgresql kullanılabiliyor.,(Oracle da mümkün.)

 

  1. 3.       RHN Satellite için kurulumu

Satellite kurulumunu alt başlıklar şeklinde inceleceğiz, gereksinimler, ilgili paketler, kurulum gibi.

 

3.1.  RHN Satellite için yazılım gereksinimleri

Red Hat 5 veya 6 kurulabilir. (Base seçilmeli)

İşletim sistemi sanal olabilir. (RHEV, Xen, Vmware supported)

 

3.2. RHN Satellite için donanım gereksinimleri

3.2.1.        CPU

Gerekli: Intel Core processor, 2.4GHz, 512K cache or equivalent

Önerilen: Intel multi-core processor, 2.4GHz dual processor, 512K cache or equivalent

 

3.2.2.        Memory

Gerekli: 4 GB of memory

Önerilen: 8 GB of memory

 

3.2.3.        Storage

5 GB alan temel kurulum için.

40 GB alan Channel başına.

10 GB alan Cache dizini için(/var/cache/rhn)

Disk yapılandırması olarak Raid 5 tavsiye edilir.

 

3.2.4.        Database

İlk kurulum için 12 GB alan önerilir.

Client ve channel hesaplamaları ise,

250 KB alan client system başına,

500 KB alan çhannel başına, ayrıca 230 KB channel daki paket başına(5000 paketli bir channel için ortalama 1.1 GB)

 

3.2.5.        Firewall Port Erişim Gereksinimleri

Client sistemler Satellite sunucuya 80,443,4545(Monitoring özelliği kullanılacak ise)

Push client özelliği kullanılacak ise inbound client 5222, satellite inbound 5269.

 

Aşağıdaki adreslere erişilebilir olmalı,

rhn.redhat.com

xm lrpc.rhn.redhat.com

satellite.rhn.redhat.com

content-xm lrpc.rhn.redhat.com

content-web.rhn.redhat.com

content-satellite.rhn.redhat.com

 

Note : Red Hat update sunucuları akamai networks kullandığı için 443 den dışarı daki tüm adreslere erişim verilmesi daha kesin bir çözüm olacaktır.

 

3.2.6.        Dosya izinleri

Umask değeri 022 önerilir.

 

3.2.7.        Selinux

enforcing veya permissive öneriliyor ancak ihtiyacınız yok ise disabled kullabilirsiniz. Ben disabled olarak devam edeceğim.

 

3.2.8.        Caching

/var/cache/rhn/ dizinini kullanır, bu dizin paket sync da kullanılır. Channel paketleri bu dizine indirilir.

 

3.2.9.        DMZ Proxy

Satellite sunucu önünde proxy v.b. var ise satellite-sync –http-proxy ile sync edilir.

 

3.2.10.    SYNC Time

Sync işlemi için satellite sunucunun tarih saat ayarları doğru olması gerekir. Bu nedenle ntp kullanmata fayda var.

 

3.2.11.    System dili ve locate ayarı

UTF-8 kullanmak gerekiyor.

LANG=”[language_TERRITORY].UTF-8″

 

Örneğin:

LANG=”en_US.UTF-8″

 

3.2.12.    Hostname

Satellite sunucu da hostname değeri, satellite olarak belirtilirse bu hatalı olur ve kurulum esnasında hata almanıza neden olacaktır. Bu nedenle sunucu hostname değeri satellite.endersys.com şeklinde FQDN olarak belirtilmelidir.

 

Note : Hostname değeri işletim sistemi kurulurken düzgün belirtilmezse ve RHN Satellite kurulumu sırasında oluşturulan sertifika daki hostname hatalı olur ise, sunucuların RHN Satellite sunucuya register edilmesi ve update edilmesi aşamasında sorunlar yaşanabilmekte, bu nedenle dikkat edilmelidir.

 

3.2.13.    Dns Server

Satellite sunucuya hostname olarak verdiğimiz değer dns sunucuda da A kaydı olarak olması gerekir.

 

3.2.14.    Sertifika

Satellite kurulumunda sertifikaya ihtiyacınız olacak, bu aşamada sertifikayı Red Hat dan support case açarak talep edebilir veya generate certificate sayfasından faydalanabilirsiniz.

 

3.2.15.    Sistem register ve update işlemleri

Satellite kurulumu gerçekleştirecek olduğumuz sunucunun Red Hat işletim sistemini RHN networke register ediyoruz.

Komut :

Rhn_register

 

Register işlemini tamamladıktan sonra sistemimizi update ediyoruz.

Komut :

Yum update

 

3.3. RHN Satellite Kurulumu

3.3.1.        Satellite ISO dosyasının indirilmesi

RHN satellite ürününe ait ISO dosyasını Red Hat ın sitesinden indirerek her hangi bir dizine upload edebilirsiniz.

Note : Red Hat account bilgileriniz ile giriş yaptığınızda download bölümünde Redhat Network Satellite linkini göremezseniz Red Hat’in Türkiye deki ilk Advanced Business partneri olan Endersys’den(destek@endersys.com.tr) adresi ile iletişime geçerek destek alabilirsiniz.

 

3.3.2.        ISO dosyasının mount edilmesi

Satellite kurulumu için hazırlamış olduğumuz sisteme Satellite kurulum ISO sunu mount ediyoruz.

Komut:

mount -o loop /satellite-5.6.0-20130927-rhel-6-x86_64.iso /mnt/

 

3.3.3.        RHN Satellite kurulumuna başlayabiriz

Komut:

Cd /mnt

./install.pl –skip-selinux-test

 

Kurulum için farklı parametreler kullabilirsiniz, bununla ilgili detaylı bilgi için,

./install.pl –help

Parametresini kullabilirsiniz.

Note :  –skip-selinux-test parametresini selinux disable ettiğim için kullandım, selinux disabled dışındaki bir durumda ise bu parametreyi kullanmanıza gerek yok.

 

Kurulum esnasında sizden sertifika dosyasının path bilgisini, SSL sertifikası için gerekli bilgileri isteyecektir, bu bilgileri belirterek kurulumu sonlandırabilirsiniz.

Kurulum tamamlandığında satellite sunucu ip adresine erişimi olan bir PC den browser aracılığı ile

https://satelliteserver-Hostname

şeklinde erişerek yetkili user name ve password belirtmeniz gerekir.

 

RHN Satellite için yetkili user oluşturduktan sonra ilgili user bilgileri ile satellite sunucunuza web access den login olabilir ve satellite kullanmaya başlayabilirsiniz.

 

Sisteminizdeki sunucu işletim sistemleri, işletim sistemleri ve versiyonlarına bağlı olarak channel sync işlemi yapmanız gerekir. Aktif channel listesini görebilmek için,

 

satellite-sync –list-channels

 

komutu kullanılır, channel name belirlendikten sonra –c parametresi ile channel download işlemini başlata biliriz.

satellite-sync -c rhel-x86_64-server-6

RHN satellite sunucuya ilk login olduğunuz daki görüntü aşağıdaki gibidir.

 

ilgili channellar satellite sunucuya sync edildikten sonra kullanmakta olduğumuz Red Hat sunucuları sırası ile RHN satellite sunucumuza register edebiliriz.

Red Hat sunucularının RHN satellite sunucuna nasil register edildiğini linkten görebilirsiniz.

Faydalı olabilmesi temennisi ile…

Share Button