SIM ( System Integrity Monitor ) Kurulumu

SIM ( System Integrity Monitor ) Nedir ?

SIM serverinizin yük durumunu hata veren servisleri serverinizin durum bilgisini mail adresinize gönderip aynı zamanda serverda log olarak tutan bir yazılımdır.

SIM’in Genel Özellikleri

1-) HTTP, FTP, DNS, SSH, MYSQL,PSQL ve bir çok servisin 7/24 gözlemlenmesi loglarının incelenmesi.
2-) Kapanan servisleri otomatik olarak yeniden başlatması.
3-) HTTP log boyutu kontrol sistemi,Apache nin 2 gb ın üstündeki loglarda sisteme aşırı yük getirmesini engeller.
4-) Web sitenize HTTP yolu ile ulaşıp Apache’nin kilitlenip kilitlenmediğini kontrol eder.
5-) Programa vereceğiniz değerlere göre sunucunuzu yeniden başlatması veya uyarı maili göndermesi.

SIM’in Kurulumu :

1-) SIM’i Serverimiza Çekiyoruz.

wget http://www.r-fx.org/downloads/sim-current.tar.gz

2-) Arşivden Çıkartıyoruz.

tar -xzvf sim-current.tar.gz

3-) Arşivden Çıkarttığımız Klasöre Giriyoruz

cd sim*

4-) Otomatik Kurulum Scriptini Çalıştırıyoruz.

./setup -i
Bu komutu verdikten sonra size lisanslama bilgilerini verecektir.config dosyasına gelene kadar enter’a basarak burayı geçebilirsiniz.

Kurulumda karşınıza çıkacak sorular ve vereceğiniz cevaplar.

Where is SIM installed ? [/usr/local/sim]: ” Sim Nereye Kurulsun ”

/usr/local/sim

Where should the sim.log file be created ? [/usr/local/sim/sim.log]: ” Sim.log Dosyası Nereye Oluşturulsun ”

/usr/local/sim/sim.log

Max size of sim.log before rotated ? (value in KB) [128]: “sim.log boyutu ”

512

What is the location of your kernel log Found kernel log at /var/log/messages ” Kernel loglarının olduğu klasör ”

/var/log/messages
Where should alerts be emailed to ? (e.g: root, user@domain) [root]: ” Logların gideceği mail adresi ”

email@emailadresiniz.com

Disable alert emails after how many events, to avoid email flood ?(Note: events stats are cleared daily)[8]: ” Kaç Email’den sonra Email gönderilmesin ”

10

The below are configuration options for Service modules: press return to continue ” Servisleri Configure Edeceksiniz .

Entera Basıp Geçin

Auto-restart services found to be offline ? (true=enable, false=disable) [true]: ” Çalışmayan servisler yeniden başlatılsınmı ”

true

Enforce laxed service checking ? (true=enable, false=disable) [true]:

true

Disable auto-restart after how many downed service events ?(Note: events stats are cleared daily) [10]: ” Servis kaç kez yeniden başlatıldıktan sonra yeniden başlatma kapansın ”

10

Enable FTP service monitoring ? (true=enable, false=disable) [false]: ” FTP Servisi Kontrol Edilsinmi ”

true

Enable HTTP service monitoring ? (true=enable, false=disable) [false]: ” HTTP Servisi Kontrol Edilsinmi ”

true

Enable DNS service monitoring ? (true=enable, false=disable) [false]: ” DNS Servisi Kontrol Edilsinmi ”

true

Enable SSH service monitoring ? (true=enable, false=disable) [false]: ” SSH Servisi Kontrol Edilsinmi ”

true

Enable MYSQL service monitoring ? (true=enable, false=disable) [false]: ” MYSQL Servisi Kontrol Edilsinmi ”

true

Enable SMTP service monitoring ? (true=enable, false=disable) [false]: ” SMTP Servisi Kontrol Edilsinmi ”

true

Enable XINET service monitoring ? (true=enable, false=disable) [false]: ” XINET Servisi Kontrol Edilsinmi ”

true

Enable ENSIM service monitoring ? (true=enable, false=disable) ” ENSIM Servisi Kontrol Edilsinmi ”

true

Enable PGSQL service monitoring ? (true=enable, false=disable) ” PGSQL Servisi Kontrol Edilsinmi ”

true

After an unclean HTTP shutdown, semaphore array’s may remain allocated
and cause the service to fall into a looping restart cycle. Using this
feature clears semaphore arrays on HTTP restart.
Enable semaphore cleanup ?

true

This is an implamented feature in the http module, its purpose is to
determine if/when the apache server locks up or otherwise stops responding.
Enable URL aware monitoring ? ” Apache Çalışır Gözükür Ama Bazen Cevap Alınamayabilir. Apache Yeniden Başlatılsınmı ”

true

URL path to a local file ? (exclude HTTP://)
Note: This URL should be valid and reside on the local server, otherwise
HTTP will loop restarting
[127.0.0.1/index.html]: ” Serverinizda Barinan Bir Link Verin ( Silinmemesi Gerekiyor ) ”

www.domaininiz.com/index.php

HTTP log files can grow large and cause the service to crash
(segfault), this feature will keep the main HTTP logs incheck.
Enable HTTP log monitor ? ” HTTP Logları Kontrol Edilsinmi ”

true

MySQL uses a /tmp symlink of its mysql.sock socket file. This
feature verifies that the symlink exists from the main mysql.sock
file, and if not it is recreated.
Enable MySQL Socket correction ? ” Mysql Socket Correction Akfitleştirilsinmi ”

true

Enable NETWORK monitoring ? (true=enable, false=disable) ” Network Kontrol Edilsinmi ”

true

interface to monitor ? ” Ethernet Kartınız ”

eth0

Enable LOAD monitor ? (true=enable, false=disable) ” Yük Durumu Kontrol Edilsinmi ? ”

true

Load level before status condition ‘warning’ ? ” Server Yükü Kaçı Geçtiğinde Uyaruı Mesajı Verilsin ”

6

Load level before status condition ‘critical’ ? ” Server Yükünün Kritik Seviyesi ”

12

Enable a global (wall) message at status condition ‘warning’ & ‘critical’ ? ” Root’taki Kullanıcılara Yük Kritikleşince Uyarıu Mesajı Verilsinmi ”

true

Renice services at status condition ‘warning’ or ‘critical’ ?
(3 values – warn, crit, false – false=disabled)

crift

Stop nonessential services at status condition ‘warning’ or ‘critical’ ?
(3 values – warn, crit, false – false=disabled)

false

Reboot system on status condition ‘warning’ or ‘critical’ ?
(3 values – warn, crit, false – false=disabled)

false

Kurulum işlemi tamamlandı şimdi SIM’i crona ekleyerek 5 dakikada bir çalışmasını ayarlayalım

./setup -c
Removed SIM cronjob. bu yazıyı aldıktan sonra tekrar bu komutu veriyoruz

./setup -c

Installed SIM cronjob. mesajı geldiyse işlem tamamlandı.

IPTABLES Kullanımı

IPTables Kullanımı

Linux’ın hayatımıza girmesi ile özellikle uygulama sunucularındaki yapıların esnekleşmesi çoğu sistem yöneticisinin işini kolaylaştırmıştır. Özellikle güvenlik olgusunun önem kazanması ile muhafaza edilmeyen, korunup takibi yapılmayan sistemler art niyetli kullanıcıların iştahını kabartıyor.

Bu makalede Herhangi bir Linux sunucusunun IPTables ile nasıl temel güvenlik yapılandırmasından geçirileceğini ve bu Esnek yönetim aracının nasıl kullanılacağını inceleyeceğiz.

Öncelikle IPTables’ı tanıyalım. IPTables Linux, Unix ve BSD sistemler için geliştirilen Nic üzerinden geçen trafiğin ve dataların Başlıklarına bakarak erişim denetimlerini sağlayan pratik bir araçtır. Hemen güncel Linux sürümü IPTables’ı bünyesinde barındırır. Bunun için IPTables’ı kuruluma çoğu zaman ihtiyaç duymayız. Bu makalede IPTables’ın kurulumundan çok kullanımını ve pratik yol ve yöntemlerini inceleyeceğiz.

Sırası ile başlayalım. IPTables, daha öncede bahsettiğimiz gibi, Ethernet aygıtımız üzerinden geçen trafikdeki dataların başlıklarına bakarak erişim denetimlerini sağlar. Bu denetimleri IPTables komutu ile veririz. IPtables komutunun temel kullanım betikleri ve prosedürü şu şekildedir ;

#iptables İŞLEM PROSEDÜR PROTOKOL HEDEF KAYNAK DENETİM

Şeklindedir. Şimdi sırası ile inceleyelim.

İşlem ; Bir diğer adıyla zincir. Çoğu makalede Zincir olarak tanımlanan bu ime biz daha anlaşılır olması için İşlem diyeceğiz. IPTables için en temel işlemler aşağıdaki gibidir.

N – Yeni İşlem Ekleneceğini belirtir ( New )
X – Silme işlemini belirtir. ( Eks )
L – Listeleme İşlemini belirtir ( List )
F – Tüm Kuralların silineceğini belirtir ( Flush )
Z – Sayaçların sıfırlanacağını belirtir ( Zero )
A – Yeni Kural eklentileri için kullanılır ( Add )
I – Bir aralığa kural eklemek için kullanılır ( Insert )
D – Belirtilen kuralı silmek için kullanılır ( Delete )
R – Belirtilen kuralı değiştirmek için kullanılır ( Replace )

Burada Iptables ile herhangi bi işlem yaparken yapacağımız işlemin türünü belirtiriz. “#iptables -A” diycek olursak bu yeni bir işlem eklemek istediğimizi belirtir.

Prosedür ; İşlemin yapılacağı prosedürü belirtir. Burası için üç temel Prosedür vardır. “INPUT – OUTPUT – FORWARD” Bu prosedürler ne anlama gelir açıklayalım. Sistemimiz üzerinden geçecek tüm trafikler ya giriş, ya çıkış yada yönlendirmedir. Dışarıdan sistemimize gelecek paketler için “INPUT”, sistemimizden dışarıya çıkacak paketler için “OUTPUT”, başka bir sistemden, diğer bir sisteme gidecek ve bizim üzerimizden geçecek paketler için “FORWARD” prosedürlerini kullanırız.

Protokol ; Denetimi hangi protokol üzerinde yapacağımızı, “Tcp, Udp, Icmp, Igmp” bu betikte belirtiriz. Örneğin “-p tcp”

Hedef ; Yapacağımız denetim işleminin hedefini belirtir. Örneğin “-d 212.174.199.71” Burada 127.0.0.1 IP adresini hedef olarak belirtiyoruz. Bu IP adresi üzerindeki herhangi bi portuda “–dport” betiğiyle belirtebiliriz. Örneğin “-d 212.174.199.71 –sport 21” diyelim. Bu betik 212.174.199.71 Nolu istemcinin 21 nolu portunu gösterecektir.

Kaynak ; Yapacağımız denetimin kaynağını belirtir. Örneğin “-s 127.0.0.1” Burada 127.0.0.1 IP adresini kaynak olarak belirtiyoruz. Bu IP adresi üzerindeki herhangi bi portuda “–sport” betiğiyle belirtebiliriz. Örneğin “-s 127.0.0.1 –sport 21” diyelim. Bu betik 127.0.0.1 Adresimizin 21 nolu portunu gösterecektir.

Denetim ; Yapacağımız denetimin türünü belirtir. Örneğin, yasaklamak istiyor isek “DROP”, izin vermek istiyor isek “ACCEPT”, kabul etmeyip red cevabını göndermek istiyor isek “REJECT”, işlemin kaydını tutmak istiyor isek “LOG” seçenklerini kullanırız.

IPtables komutunun temel kullanım betiklerini inceledik. Şimdi bu komut ile bikaç örnek çalışma yapalım. Önce iki örnek senaryo hazırlayalım.

1. Sistemimizde HTTP, FTP, Pop3, Smtp servisleri çalışıyor olsun. Sistemimiz dışarıdan gelecek Ping’lere yanıt vermesin ve belirtilen servisler dışındaki hiçbir porta talep gönderilemesin.

2. Sistemimizde belirteceğimiz protokollere 212.175.211.19 nolu Bilgisayarın erişmesini engelliyoruz.

Şimdi bu iki temel senaryoyu sırası ile gerçekleştirelim.

1. Nolu senaryo için sistemimize dışarıdan tüm erişimlere yasaklıyalım, ve yalnızca belirtilen portlarımıza erişimleri olanaklı kılalım.

#iptables -F Prosedürleri Siliyoruz

#iptables -A INPUT -p tcp -j DROP Girişleri Yasaklıyoruz

#iptables -A INPUT -p ICMP -j DROP Ping’leri Yasaklıyoruz

#iptables -A INPUT -p tcp -s 0/0 –dport 80 -j ACCEPT 80 Nolu Portu açıyoruz

#iptables -A INPUT -p tcp -s 0/0 –dport 21 -j ACCEPT 21 Nolu Portu açıyoruz.

#iptables -A INPUT -p tcp -s 0/0 –dport 25 -j ACCEPT 25 Nolu portu açıyoruz

#iptables -A INPUT -p tcp -s 0/0 –dport 110 -j ACCEPT 110 Nolu portu açıyoruz

Şimdi sırayla inceliyelim. Öncelikle daha önce girdiğimiz tüm betikleri temizliyoruz. ( Girmiş isek )

Daha sonra IPtables -A INPUT diyerek dışıradın gelen tapeler hakkında bir kayıt gireceğimiz belirterek protokolümüzü “-p tcp” diyerek seçiyoruz. Eğer kaynak ve hedef belirtmezsek tüm kaynak ve tüm hedefleri kapsar yaptığımız işlem. Ozaman kaynak belirtmiyoruz ve “-j DROP” diyerek denetimlerimizi yasaklıyoruz. Böylelikle sistemimize dışarıdan hiç kimse ulaşamaz hale geliyor.

Şimdi Dışarıdan sistemimize Ping atılmasını engelleyelim. Bunun için yine “IPtables -A INPUT” diyoruz ve yeni bir işlem gireceğimizi belirtiyoruz. “-p ICMP” diyoruz ve üzerinde işlem yapacağımız protokolün “ICMP” olduğunu gösteriyoruz. Akabinde “-j DROP” diyoruz ve tüm kaynak ve hedefleri içine kapsayacak bir kural ile bu prosedüre engel kuyoyoruz.

Şimdi sırayla kullanacağımız servisleri açalım.

IPtables -A diyoruz, ve bir denetim gireceğimiz gösteriyoruz. “-p tcp” diyoruz ve işlemin hangi protokol üzerinde uygulanacağını belirtiyoruz. “-s 0/0” diyoruz ve kaynağı tüm network olarak gösteriyoruz. Burada hiçbirşey belirtmeyebilirdikte. “-s” kullanımına örnek olması açısından gösteriyoruz. “-s 0/0” diyerek tüm IP aralıklarını içine kapsayacağını gösteriyoruz. “–dport 80” diyerek sistemimizdeki 80 nolu portu belirtiyoruz ve “-j ACCEPT” diyerek bu porta erişimleri olanaklı kılıyoruz.

Aynı işlemi 21, 25 ve 110 nolu portlar içinde yapıyoruz.

Şimdi ikinci senaryo için örnek işlemler yapalım.

#iptables -F

#iptables -A INPUT -p tcp -s 212.175.211.29 –dport 80-j DROP

#iptables -A INPUT -p ICMP -j DROP

#iptables -A INPUT -p tcp -s 212.175.211.29 –dport 22 -j LOG

Yukarıdada basit bikaç işlem yapıyoruz ve 212.175.211.29 IP adresli istemcinin 80 nolu porta erişimini engelliyerek, Ping atamamasını sağlıyoruz. Daha sonra 22 nolu porta giriş yapmaya çalışır ise bu taleplerini Log’luyoruz.

Görüldüğü gibi IPTables oldukça pratik ve esnek bir araç. Kullanımıda bir okadar geniş ve detaylı. IPtables ile ilgili senaryolar pekiala genişletilip çoğaltılabilir. Yukarıdaki örnek işlemlerden yola çıkarak kendi senaryolarınızı üretebilir, çok daha gelişmiş, komplike güvenlik yapılandırmalarını rahatlıkla yönetebilirsiniz.

Netstat Nedir ? — Nasıl Kullanılır ?

Netstat (network statistics) Network baglantilari, routing tablosu, ara birim istatistikleri ve benzeri ag baglantisi bilgileri ile ilgili ayrintili bilgiler verebilen bir konsol komutudur.

Netstat komutu cesitli parametrelerle kullanilmaktadir. Bu parametrelerin anlamlari sunlardir:

-a Tüm TCP ve UDP baglantilari ekrana basar
-e Gelen ve giden paket sayisini istatistiklerini görüntüler
-n Tüm baglantilari rakamsal olarak görüntüler
-o Tüm baglantilari PID numarasi ve uygulama adina göre listeler
-p Baglantilarin kullandigi uygulama ve PID numarasini ekrana basar
-s Kurallara göre istatistiksel verileri ekrana basar
-r IP Yönlendirme tablosunu icerigini görüntüler.

Netstat ciktisinda yer alan baglanti durumlarinin anlamlari da sunlardir:

ESTABLISHED : Soket baglanti gerceklestirmis durumdadir.
SYN_SENT : Soket baglanti kurmaya calisiyordur.
SYN_RECV : Agdan bir baglanti istegi gelmistir.
FIN_WAIT1 : Soket kapatilmis , baglanti sonlandirilmak üzeredir.
FIN_WAIT2 : Baglanti sonlandirilmistir. Soket karsi ucun baglantiyi sonlandirmasini beklemektedir.
TIME_WAIT : Soket kapndiktan sonra gelebilecek paketleri alabilmek icin beklemektedir.
CLOSED : Soket kullanilmamaktadir.
CLOSE_WAIT : Karsi uc baglantiyi kapatmistir. Soketin kapanmasi beklenmektedir.
LAST_ACK : Karsi uc baglantiyi sonlandirmis ve soketi kapatmistir. Onay beklenmektedir.
LISTEN : Soket gelebilecek baglantilar icin dinleme konumundadir.
CLOSING : Yerel ve uzak soketler kapatilmis fakat tüm verilerini göndermemis durumdadirlar. Tüm veriler gönderilmeden soketler kapanmazlar.

SSH üzerinde netstat ciktilarini almak icin bazi örnek komutlar..

netstat -ntu

tüm TCP ve UDP baglantilari listeler (rakamsal olarak)

netstat -ntu | grep SYN

tüm TCP ve UDP baglantilar icinde SYN_SENT ve SYN_RECV baglanti durumlarini ekrana basar

grep sonrasinda yer alan kismi kendi isteginize göre degistirebilirsiniz. Örnek komut yazacak olursak

netstat -ntu | grep ESTABLISHED

ekrana sadece ESTABLISHED olan baglanti durumlarini basar..

netstat -ntu | awk '{print $5}' | awk '{sub("::ffff:","");print}' | cut -f1 -d ':' | sort | uniq -c | sort -n | grep -v -e server -e Address -e 127.0.0.1 -e 0.0.0.0

Yukarida yer alan komut ffff tablosu ile ekrana basilan degerler dahil tüm ip listesini kücükten büyüye göre siralar. Yine komuta grep ekleyerek baglanti durumuna göre listeleme yapabiliriz.

for i in $(netstat -ntu | awk '{print $5}' | awk '{sub("::ffff:","");print}' | cut -f1 -d ':' | sort | uniq -c | sort -n | grep -v -e server -e Address -e 127.0.0.1 -e 0.0.0.0 | awk '{ if ($1 > 30) print $2 }'); do /usr/sbin/csf -d $i;done

Yukarida yer alan komut ise 30 rakamindan büyük baglanti sayisi olusturan tüm ipleri csf firewall yazilimi araciligi ile banlayarak sunucudan uzaklastirilir. Son awk yaziliminda yer alan 30 degerini yükselterek limiti arttirabilir yine netstat sonrasi grep ekleyerek siralamayi belirli baglanti durumlarina göre listeleyebilirsiniz.

netstat ile bunun disinda bircok yaziliminizin istatistik toplayarak kullanacagi en yararli ag komutlarindan biridir.

Sunucuya sql database import etmek

Sunucuya ssh bağlantısı yapılır.

root dizinine import edilecek database upload edilir. Örnek: vusltcom_agd.sql

mysql -uadmin -p DB_Adi < vusltcom_agd.sql    (import etmek)
Enter passwd : plesk şifresini giriceksiniz.

mysql -uadmin -p DB_Adi > vusltcom_agd.sql     (export etmek)

Windows domain eklerken fcgiext.ini Hatası

Dosyanın yeri ( C:WINDOWSsystem32inetsrvfcgiext.ini) 

Sunucuda regedit çalıştırılıp aşağıdaki yol bulunur…

HKEY_LOCAL_MACHINESOFTWAREPLESKPSA ConfigConfig
İçerisinde PLESCP_PHP_MODE bulunarak değere isapi yazılır.

Sonra plesk reconfigurator içerisinde repair plesk installation dan
sadece services seçilerek çalıştırılır.

Alternatif Çözüm

Command line dan plesk admin bin dizini içerisine gidilerek
Reconfigurator.exe –switch-plesk-web-server –new-provider=iss –php-handler-type=isapi -force

Çalıştırılır.

Sormak istediğim başka sorularım var ?

Aklınıza takılan tüm sorular ve sorunlarla ilgili olarak 24 saat bize ulaşabilirsiniz. Bize ulaşabileceğiniz telefon numaraları ve email adresleri için iletişim sayfamızdaki bilgileri kullanabilirsiniz.

Hizmetinizi yaygınlaştırmayı düşünüyormusunuz ?

Bu konudaki çalışmalarımız büyük bir hızla devam ediyor. Sizlerden gelecek talepleri değerlendirerek kapsama alanımızı genişletmek başlıca hedefimiz olacaktır. Bir çok ilde partnerlik yapacak firmalarla iletişim halindeyiz.

Yapılan bu bağlantı güvenlimi ?

Kullandığımız üyelik sistemi ile yapılan tüm bağlantıların kayıtlarını tutmaktayız. Ancak yaptığınız veri transferinin şifrelenmeden (No-Encryption) iletildiğini belirtmek isteriz. Yaptığınız bağlantılarda https bağlantıları tercih etmenizi tavsiye ederiz.

Evimde yada iş yerimde verdiğiniz bu hizmeti kullanabilir miyim ?

Genel olarak sinyalimiz açık alanlarda daha güçlü olacaktır. Bina içi kullanımlar için sinyal replike eden cihazlar ile binanızda kapsama alanı yaratabilirsiniz. Bunun dışında dilediğiniz şekilde evde yada işte sunduğumuz hizmetden yararlanabilirsiniz.

Bu hizmetden nasıl yararlanabilirim ?

Günümüzde birçok dizüstü bilgisayar kablosuz internet desteği ile satılmaktadır. Kablosuz internet özelliği olmayan bilgisayarınıza kablosuz bağlantı kartı takmanız gerekmektedir. Bunun yanında güçlü sinyal alarak sorunsuz şekilde sürekli bağlı kalmak için kablosuz bağlantı cihazı (wireless access point) alarak iyi sinyal aldığınız bir noktaya konumlandırabilirsiniz. Donanımsal gereklilikleri tamamladıktan sonra tek yapmanız gereken bilgisayarınız aracılığı ile sinyalimizi seçmek ve herhangi bir web browser yardımı ile kullanıcı adı ve şifrenizle giriş yapmak.