Docker ile elasticsearch kurulumu
git clone https://github.com/ousiax/efk-docker.git
Oluşan klasör içine geçip
sudo docker compose up -d
Fluentd, Kubernetes’teki pod’lar tarafından üretilen logları toplar. Varsayılan olarak, Fluentd, Kubernetes’in var/log/containers dizinindeki logları izler ve toplar.
Örnek DaemonSet:
]]>İlk olarak Linux KVM hostunuza guestfish kurmalısınız..Kurulumu
sudo apt install libguestfs-tools
komutuyla yaptım.
Daha sonra ;
sudo guestfish -i win_11.qcow2
komutunu uyguladım ve beni fs alanına getirdi.
Welcome to guestfish, the guest filesystem shell for editing virtual machine filesystems and disk images. Type: ‘help’ for help on commands ‘man’ to read the manual ‘quit’ to quit the shell Operating system: Windows Server 2012 R2 Standard /dev/sda1 mounted on / ><fs> mv /Windows/System32/utilman.exe /Windows/System32/utilman1.exe ><fs> cp /Windows/System32/cmd.exe /Windows/System32/utilman.exe ><fs> exit
utilman.exe ile cmd.exe yi yer değiştirerek,windows 10 login sayfasında accesibility butonuna tıklayarak cmd.exe yi çağırmış oluyoruz.
Guestfish konsoldan exit yazarak çıktıktan sonra işletim sistemimizi normal şekilde başlatıyoruz.Aşağıdaki ekranda gördüğünüz butona tıklayınca utilman yerine cmd çalışacak.
Cmd komut satırında ekranda göreceğiniz komutu uygulayın.

]]>
Cloudlinux veya farklı bir Redhat tabanlı sunucunuz için aşağıdaki uygun olan versiyon repoyu sunucunuza ekleyin.
#RHEL 7 and Oracle Linux 7
#curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
#RHEL 8 and Oracle Linux 8
# curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
#RHEL 9
# curl https://packages.microsoft.com/config/rhel/9/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
Olası çakışma yaratacak paketleri varsa sistemden silin
# yum remove unixODBC-utf16 unixODBC-utf16-devel
Microsoft reposundan odbc paketini kurun
ACCEPT_EULA=Y yum install -y msodbcsql17 unixODBC-devel
Php kodlarınızla Microsoft SQL Server bağlantısı kuracağınız hostingin php selector ayarlarına gidin pdo,pdo_odbc,pdo_sqlsrv ,sqlsrv eklentilerini opsiyonel olarak da pdo_dblib eklentisini aktif hale getirin.

Cloudlinux OS için kurduğunuz paketini cagefs yapısına dahil etmeniz gerekiyor.Diğer RH tabanlı sistemlerde buna gerek olmayacak…
# cagefsctl –addrpm unixODBC
# cagefsctl –force-update
Sonrasında bir test scripti ile bağlantınzıı test edin.Örnek
getMessage();
}
exit;
?>
postqueue -j | jq -r ‘select(.sender == “[email protected]”) | .queue_id’ | xargs -I {} postsuper -d {}
jq kurulu olmalıdır ( apt install jq)
başka filtreleme kriterleri için
postqueue -j | jq
yazıp json çıktısındaki alanları görebilirsiniz.
]]>1.Dilediğin php versiyonu için pecl ve pear eklentisini kur.
apt install lsphp72-pecl lsphp72-pear
2.Phalcon 3.4.5 tar dosyasını indir.
wget https://github.com/phalcon/cphalcon/archive/refs/tags/v3.4.5.tar.gz tar zxvf v3.4.5.tar.gz cd cphalcon-3.4.5/build/ ./install
3.Tüm adımlar başarılı ise ini dosyasını ekle
/usr/local/lsws/lsphp72/etc/php/7.2/mods-available altında phalcon.ini dosyası oluştur.openlitespeed'i restart et. cat phalcon.ini #extension=psr.so #v4 ve sonrası için gerekli. extension=phalcon.so
Not:Benzer şekilde phalcon v4 de kurabilirsin ancak Phalcon v4 psr eklentisine gereksinimi var.Bunun için;
cd /usr/local/lsws/lsphp72/bin ./pecl install psr-1.1.0
]]>
1.Esx sunucunuza root olarak ssh üzerinden login olun.
2.Sanal sunucuların disklerinin bulunduğu ana klasöre geçin;
cd /vmfs/volumes/SİZİN_DATASTORE_KLASÖRÜNÜZ/SANAL_MAKİNA_ADI
3. Flat dosyanızın güncel boyutunu kontrol edin;
ls -l vmdisk0-flat.vmdk
4.yeni bir geçici vmdk dosyası oluşturun;
vmkfstools -c (dosya boyutunu buraya yazın) -d thin temp.vmdk
5.Yukarıdaki komutu uyguladığınızda temp.vmdk ve temp-flat.vmdk oluşturulmuş olacaktır.Kontrol edin.Not : Esx 5.5 öncesi -a ile iscsi tipini de ilave etmelisiniz.Örnek -a lsilogic
6.Şimdi temp-flat.vmdk yı silin;
rm -i temp-flat.vmdk
7.Şimdi sıra temp.vmdk yı gerekli sunucunuz için tekrar adlandırmanız gerekiyor;
mv -i temp.vmdk SANAL_MAKİNA_ADI.vmdk
8.Yukarda rename ettiğiniz dosyayı konsolda vi veya benzeri bir editorle açın.Açamıyorsanız dosyayı pc nize indirin.Notepad++ ile açın ve RW ibaresi geçen satırı bulun.Orada flat dosyasının adının bulunduğu kısmı değiştirmeli.kendi flat dosyanızın adını yazmalısınız.temp-flat.vmdk ibaresini orjinal sunucu ismi (SANAL_MAKİNA_ADI)-flat.vmdk olarak değiştirin.
9.Sonraki işlemler esx arayüzünde yapılıyor.Sanal sunucunuza varolan diski seçip diskinizi seçip ekleyin ve vm sunucunuzu start edin.
]]>Dequeuing CSS files conditionally
*/
function stramaxon_remove_unnecessary_styles() {
$remove_always = array(
// an empty array
);
// If home
if ( is_home() || is_front_page() ) {
$remove_always[‘font-awesome-css’] = ‘font-awesome’;
$remove_always[‘learnpress-widgets-css’] = ‘learnpress-widgets’;
$remove_always[‘structured-content-frontend-css’] = ‘structured-content-frontend’;
}
// Run the loop
foreach( $remove_always as $item_script ) {
wp_dequeue_style( $item_script );
wp_deregister_style( $item_script );
}
}
add_action( ‘wp_print_styles’, ‘stramaxon_remove_unnecessary_styles’, 1 );
//
// Alternative
// Fully Disable Gutenberg editor.
add_filter(‘use_block_editor_for_post_type’, ‘__return_false’, 10);
// Don’t load Gutenberg-related stylesheets.
add_action( ‘wp_enqueue_scripts’, ‘remove_block_css’, 100 );
function remove_block_css() {
wp_dequeue_style( ‘wp-block-library’ ); // WordPress core
wp_dequeue_style( ‘wp-block-library-theme’ ); // WordPress core
wp_dequeue_style( ‘wc-block-style’ ); // WooCommerce
wp_dequeue_style( ‘dashicons’ ); // WooCommerce
wp_dequeue_style( ‘storefront-gutenberg-blocks’ ); // Storefront theme
}
Eğer wordpress sitenizde embedded video kullanmıyorsanı mediaelements eklentisi için de aynı yolu izleyebilirsiniz.
function deregister_media_elements(){
wp_deregister_script('wp-mediaelement');
wp_deregister_style('wp-mediaelement');
}
add_action('wp_enqueue_scripts','deregister_media_elements');
Kaynak
https://www.stramaxon.com/2021/10/conditionally-loading-js-css-files-in.html
]]>find . -name user_prefs -exec sed -i ‘s/required_score 0.0/required_score 5.0/g’ {} \;
]]>tr -d ‘\n’ < dosyaniz.txt
]]>Debian veya Ubuntu türevleri için öncelikle gerekli paketleri sisteminize kurun.
apt-get install iptables-dev xtables-addons-common libtext-csv-xs-perl pkg-config
Redhat ve Centos için ise;
yum install gcc-c++ make automake kernel-devel-`uname -r` wget unzip iptables-devel perl-Text-CSV_XS
Daha sonrasında addons paketini proje sitesinden indirelim.(Not: Dkms modulu olarak veya src paketi olarak da debian/ubuntu depolarından indirebilirsiniz.)
Örneğin (sizin için uygun versiyon işletim sisteminizin kerneline göre farklılık gösterebilir.)
wget http://downloads.sourceforge.net/project/xtables-addons/Xtables-addons/xtables-addons-2.3.tar.xz
Sıkıştırılmaz paketi açıp paketi derliyoruz.
# tar xf xtables-addons-2.3.tar.xz
# cd xtables-addons-2.3
# ./configure
# make
# make install
Kullanacağımız eklenti maxmind’ın eski yapıdaki (Geoip Legacy Databases) veritabanını destekliyor.Öyle görünüyor ki maxmind eski yapıdaki veritabanın da indirme linkini kaldırmış.Yine de Geoip2 veritabanını bir script yazarak eski yapıya dönüştürmek mümkün görünüyor.Nette biraz araştırınca şöyle bir websitesiyle karşılaşıyoruz.
https://mailfud.org/geoip-legacy/
Websitesin sahibi, güncel v2 db yi alıp eski tip db ye sadece çevirmekle kalmamış aynı zamanda bunu sık sık güncelliyor da.
Iptables için uygun olan geoip db linki aşağıdadır.
https://mailfud.org/geoip-legacy/GeoIP-legacy.csv.gz
Linkten dosyayı download ettikten sonra sunucunzda bir yere gz dosyayı açın.
Açılan dosyayı önceden derlenmiş kodda hazır halde olan xt_geoip_build aracı ile iptables’a uygun hale getiriyoruz.
./xt_geoip_build GeoIP-legacy.csv
Ardından gerekli klasörü oluşturup bu db yi içine kopyalıyoruz.
mkdir -p /usr/share/xt_geoip/
cp -r {BE,LE} /usr/share/xt_geoip/
Artık dilediğimiz geoip tabanlı iptables kurallarını yazabiliriz.Son olarak dilerseniz ülke kodlarına https://en.wikipedia.org/wiki/ISO_3166-1 sayfasından bakabilirsiniz.
Örnek olarak Hindistan ve USA ‘dan gelen tüm istekleri engelleyebiliriz.
iptables -I INPUT -m geoip –src-cc IN,US -j DROP
Veya sadece TR dışındaki tüm talepleri engelleyebiliriz.
iptables -I INPUT -m geoip ! –src-cc TR -j DROP
Bir başka örnek ise sadece tcp port 587 e gelen istekleri Türkiye içi ağlarla sınırlandırabiliriz.
iptables -A INPUT -p tcp -m geoip ! –src-cc TR –dport 587 -j DROP
Bu eklentilerin kurulumunu Ubuntu 16.04 ve Ubuntu 14.04 de gerçekleştirdim.Esasen 14.04 de gerekliydi ve hem kaynaktan derleme hem de dkms şeklinde linux çekirdeğine ilavede sorun yaşadım.Sorun yaşamamın sebebini xtables-addons paketindeki başka eklentilerin kullanmakta olduğum kernel ile uyumsuz olduğunu (daha açık olarak belirtmek gerekirse Linux 3.16 da bu bazı eklentilerin desteğinin yeni başladığını) okudum.O yüzden bazı eklentileri mconfig dosyasından iptal ettip.Çünkü bana özellikle geoip modulu gerekiyordu.
Örnek mconfig dosyam aşağıdadır.Karşılıkları boş olanlar sistemde derlenemedi malesef.
# -*- Makefile -*-
#
build_ACCOUNT=m
build_CHAOS=
build_DELUDE=m
build_DHCPMAC=m
build_DNETMAP=m
build_ECHO=m
build_IPMARK=m
build_LOGMARK=m
build_RAWNAT=m
build_STEAL=m
build_SYSRQ=m
build_TARPIT=
build_condition=m
build_fuzzy=m
build_geoip=m
build_gradm=m
build_iface=m
build_ipp2p=m
build_ipv4options=m
build_length2=m
build_lscan=m
build_pknock=
build_psd=m
build_quota2=m
Ancak Ubuntu 16.04 de bunlara hiç gerek duymadan dkms ile tümünü kernele eklemeyi başardım.
Geoip & Iptables kullanmaktaki amacım,mail sunucunun (postfix) email kullanıcı şifre doğrulaması yapılan portlarını kısıtlamak idi.
Tcp Port 25 i sadece email sunucularından gelen isteklere yanıt verir hale getirirken port 587 (submission) ve port 465’i (smtps) sadece TR içinde izin vermek amaç..
Her ne kadar “en mantıklı/iyi çözüm” olmasa da sunucuları brute force ataklarından ve şifresini çaldıran eposta kullanıcılarının başıma açtığı dertlerden kurtardı.
]]>Bunu yapmak için öncelikle ssh login olup /etc/cl.selector/ dizinine geçin.
global_php.ini isimli dosyayı nano veya vi gibi bir editorle açın.
[Global PHP Settings] tagı altında tıpkı php.ini standart formatında olduğu gibi kendi direktiflerinizi yazın.Örneğin date.timezone veya disable_functions gibi.Altta sizin için bir örnek;
[Global PHP Settings]
disable_functions= proc_open,escapeshellcmd,escapeshellarg, show_source,
posix_mkfifo, ini_restore, mysql_list_dbs, get_current_user, getmyuid,pconnect, link, symlink, fin, exec, fileread, shell_exec, pcntl_exec, leak, apache_child_terminate, ch
own, posix_kill, posix_setpgid, posix_setsid, posix_setuid, proc_terminate, syslog, fpassthru, execute, shell, chgrp, stream_select, passthru, socket_select, socket_create,
socket_create_listen, socket_create_pair, socket_listen, socket_accept, socket_bind, socket_strerror, pcntl_fork, pcntl_signal, pcntl_waitpid, pcntl_wexitstatus, pcntl_wif
exited, pcntl_wifsignaled, pcntl_wifstopped, pcntl_wstopsig, pcntl_wtermsig, openlog, apache_get_modules, apache_get_version, apache_getenv, apache_note, apache_setenv, vir
tual, eval, allow_url_fopen, pconnect, p_connect,posix_getpwuid,fileowner,sym
Dosyanızı kaydedip editorden çıkın.Tekrar konsola geldiğinizde şu komutla işlemi onaylayın.
[root@srv ~]# selectorctl –apply-global-php-ini
Bunu dilerseniz herhangi bir web hosting altına yükleyebileceğiniz phpinfo ile yaptığınız değişiklikleri görebilirsiniz.
]]>İlk kurulumumuz Centos/Cloudlinux için.Öncelikle yapmanız gereken maxmind kütüphanesini kurup ardından Apache extension tool (apxs) kurulumunun ardından maxmind apache modülünü sistemimize eklemek olacak.Bunun ardından örnek bir apache/maxmind konfigurasyon dosyası ile wordpress kurulu websitelerin wp-login.php dosyasına Türkiye dışından erişimi engelleyeceğiz.
Centos kurulum derleme aşamalarını biraz sadeleştirmek amacıyla önceden bir Cloudlinuxta derlemiş olduğum MaxMind Apache modülünü (.so dosyasını) kullanacağız.
Centos / Cloudlinux Kullananlar İçin hazır batch dosyayı sistemimize indirip çalıştırıyoruz.
wget https://www.linux-destek.com/maxmind/maxmind.sh
Sunucunuza indirdiğiniz maxmind.sh dosyasını çalıştırıyorsunuz.
/bin/bash maxmind.sh
Kurulum işte bu kadar.Sunucunuzda host ettiğiniz bir wordpress siteyi, örneğin www.abc.com/wp-login.php vey xmlrcp.php dosyasının yurt dışından erişilemediğini test etmek size kalıyor.
Debian/Ubuntu Kullanalar için ise kurulum aşamalarımız şöyle;
İlk olarak maxmind kütüphanesini (sistem için gerekli olan) bir apt deposunu ekleyerek kuruyoruz;
sudo add-apt-repository ppa:maxmind/ppa
apt deposunu ekledikten sonra
apt-get update komutunu çalıştırın ve aşağıdaki gerekli paketleri sisteminize kurun
sudo apt install libmaxminddb0 libmaxminddb-dev mmdb-bin apache2-devel automake autoconf libtool git
Paketler sisteminize kurulduktan sonra git client ile sisteminize indirip kurmak için aşağıdaki komutları sırasıyla uygulayın;
git clone –recursive https://github.com/maxmind/mod_maxminddb.git
cd mod_maxminddb/
./bootstrap
./configure –with-apxs=/usr/bin/apxs
make install
Bu aşamadan sonra önceden maxmind ücretsiz servisinden indirmiş olduğumuz dosyayı sunucuda bir klasöre yerleştiriyoruz.
mkdir /usr/local/share/GeoIP/ && cd /usr/local/share/GeoIP/
wget https://www.linux-destek.com/maxmind/modmaxmind/GeoLite2-Country.mmdb
Herşey yolunda giderse artık sistemimizde maxmind kütüphanesi ve apache modülü kurulmuş olacak.Sıra apache için örnek bir konfigurasyon oluşturmakta.Bu örnekte belirttiğimiz gibi wordpress wp-login.php ve xmlrpc.php dosyalarına erişimi geoip tabanlı engelliyoruz.Erişim sadece Türkiye Ip adreslerinden olacak.
Örnek Apache Konfigurasyonu;
#<IfModule mod_maxminddb.c>
LoadModule maxminddb_module modules/mod_maxminddb.so
MaxMindDBEnable On
MaxMindDBFile DB /usr/local/share/GeoIP/GeoLite2-Country.mmdb
MaxMindDBEnv MM_COUNTRY_CODE DB/country/iso_code
<FilesMatch “wp-login.php|xmlrpc.php”>
SetEnvIf MM_COUNTRY_CODE ^(TR) AllowCountry
#Deny from env=BlockCountry
Allow from env=AllowCountry
Deny from All
#RewriteEngine on
#RewriteCond %{ENV:MM_COUNTRY_CODE} !^(RU|DE|FR)$
#RewriteRule ^(.*)$ – [F,L]
</FilesMatch>
#</IfModule>
Üzerinde bazı değişlikler ve iptal edilen satırlar var.Sadece size farklı bir fikir verebilir.Bu şekilde kullanabilirsiniz de.Dosya içeriği bu şekilde.Apache Web sunucusunun dosyayı /etc/apache2/conf-enabled/maxmind.conf ismiyle oluşturmanız ve bu içeriği yapıştırmanız gerekecek.
Dosyanızı kaydettikten sonra service apache2 restart komutu ile webservisini yeniden başlatın.Herhangi bir error seviyesinde hata almaz iseniz kurulum tamam demektir.
Aynı şekilde bir wordpress sitenizdeki wp-login.php dosyanıza yurt dışından erişimi deneyerek testinizi yapınız.Eğer herşey çalışıyorsa Forbidden mesajı ile karşılacaksınız.
Son Söz;
Elbette wordpress veya başka bir website kodunu bu şekilde korumak en iyi yol değildir.Güvenlik kodda başlar.Sistem de güncel kaldığı sürece her bakımdan güvendesiniz demektir.
Burada yapılan çalışma,internet dünyasında bir gerçekten yola çıkılarak düşünülmelidir.O gerçek ise, günümüze wordpress gibi kodlara yapılan bruteforce gibi atakların tamamına yakını Rusya,Çin,Amerika vs gibi ülkelerden gelmekte olduğudur.Şifreniz kırılamasa dahi bu yapılan bot,bruteforce saldırıları sunucuları yormaktadır.
İkinci gerçek ise webmasterları ve sunucu yöneticilerini ilgilendirmekte.Düşünün ki 500 websitesi host ediyorsunuz ve bunun tamamına yakını wordpress.Her gün yüzbinlerce şifre kırma saldırısı host ettiğiniz websitelerinize yapılıyor.Bundan korunmanın en iyi yolu nedir?
Bir vatandaş ücret karşılığı bir websitesi yaptırmış.Webmaster parayı almış,iş bitmiş.Kime neyi anlatacaksınız?Müşterinize nispeten eski kalan wordpressin güvenlik açıklarından bahsetseniz sizi muhtemelen roket bilimi ile uğraşıyorsunuz filan sanır.Ona webmasterin nerde olduğunu sorsanız,adını bile hatırlamayacaktır.
Ancak kötü şeyler herşeyi sorgusuz sualsiz değiştirir.Müşterinizin sitesi gerçekten hackenirse bu sefer sizden bir açıklama bekleyecek,sizi suçlayacak hatta güvenlik açıklarınızın olduğunu söyleyip belki kötü reklamınızı yapacaktır.
Ne yazıkki Internet Sektörü son derece zır cahil seviyesinde yürümekte.O yüzden sunduğumuz çözüm de biraz Türk İşi oldu.Söz de uzadı.Kalın sağlıcakla.
]]>Sunucuya ssh üzerinden root olarak login olduktan sonra şu komutu uygulayın
plesk repair fs sizin_alanadınız.com
dogurdan ana alanadınızı yazabileceğiniz gibi alt alan adlarınızı onarmak için de kullanabilirsiniz.
İlgili sistem hata mesajı
Unable to open the directory: Unable to find the directory /var/www/vhosts/example.com/httpdocs/dir/: filemng failed: filemng: opendir failed: Permission denied System error 13: Permission denied
]]>Centos sunucular için
/etc/httpd/conf.d/ssl.conf dosyasının en altına aşağıdaki satırları yerleştirin.Httpd servisini yeniden başlatın.Nispeten güncellenmemiş sunucular için yum update yapmanızı öneriririm.
]]><IfModule mod_ssl.c>
SSLProtocol +TLSv1 +TLSv1.1 +TLSv1.2 -SSLv2 -SSLv3
</IfModule>
<IfModule mod_ssl.c>
#SSLCipherSuite HIGH:!aNULL:!MD5:!RC4-SHA:!RC4
#SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RS
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5::!RC4
</IfModule>
/etc/rc.local dosyanızı açın.İçine uygun bi yere şu satırları yerleştirin.
iptables -F
for x in $(cat /root/bad_bot.txt)
do
iptables -A INPUT -p tcp -s $x –dport 80 -j DROP
iptables -A INPUT -p tcp -s $x –dport 443 -j DROP
done
daha sonra kaydedip çıkın.bu sefer yukarıdaki döngüde satır satır okumasını istediğimiz dosyayı oluşturun
nano /root/bad_bot.txt
Son olarak /etc/rc.local olarak çağırdığınızda ve her sunucu açılışında bu ip adreslerinin web sunucu portlarınıza erişimi engellenecektir.
]]>Öncelikle
/opt/plesk/php/5.6/etc/php-fpm.d/alanadiniz.com.conf
dosyasından bahsedelim.Bu hostinginize özel fpm konfigurasyon dosyasıdır.
; By default use ondemand spawning (this requires php-fpm >= 5.3.9)
pm = ondemand
pm.max_children = 5
pm.process_idle_timeout = 10s
; Following pm.* options are used only when ‘pm = dynamic’
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 1
Deneme yapmak için bu dosyada değişiklik yapabilirsiniz.Ancak httpmng çalıştırdığınızda veya plesk hosting ayarlarından birini değiştirip ok butonuna tıkladığınız anda yaptığınız değişikliklerin yok olacağını unutmayın.Kalıcı konfiguraston için zaten dosyanın en başında ne yapmanız gerektiği yazıyor.
; ATTENTION!
;
; DO NOT MODIFY THIS FILE BECAUSE IT WAS GENERATED AUTOMATICALLY,
; SO ALL YOUR CHANGES WILL BE LOST THE NEXT TIME THE FILE IS GENERATED.
; If you need to customize this file, use either custom PHP settings tab in
; Panel or override settings in /var/www/vhosts/system/alanadiniz.com/conf/php.ini.
; To override pool configuration options, specify them in [php-fpm-pool-settings]
; section of /var/www/vhosts/system/alanadiniz.com/conf/php.ini file.
Yapmanız gereken
/var/www/vhosts/system/alanadiniz.com/conf/php.ini dosyasını nano veya vi ile açıp en alta indikten sonra örnek olarak;
[php-fpm-pool-settings] pm.max_children = 100
yazmak olacaktır.Max children zaten ondemand methoduyla ilgili olduğundan dolayı diğer parametreleri yazma gereği duymuyorum.Onlar zaten fpm conf dosyasında var.Dosyayı kaydettikten sonra son olarak yapılan değişikliğin uygulanmasını sağlıyorum.
/usr/local/psa/bin/php_settings -u
Hepsi bu kadar.İlaveten bu ayarlar cloudlinux ile gelen cagefs-lve için geçerli değildir.Cloudlinux php-fpm yi an itibariyle hala desteklemiyor.
Eğer whm/cpanel kullanıyorsanız web arayüzden yapılabiliyor.Plesk Onyx ‘de bunu web arabirimine taşıyacağını duyursa da hala böyle bir kolaylık görememekteyiz.
]]>/var/log/sw-cp-server/error_log
Bu, plesk panelin kendisinin üzerinde koştuğu nginx web server’ın hata kaydıdır.Web siteler için kullandığınız nginxten farklı olduğunu söylememe gerek yok sanırım.
Eğer yukarıdaki log dosyası içeriğinde ,
recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 123.123.123.123, server: , request: “POST <some url>
şeklinde hata satırları görüyorsanız alltaki dosyada ilgili değişiklikleri yapınız.
/etc/sw-cp-server/config
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
Ardından ilgili servisleri yeniden başlatınız.
# /etc/init.d/sw-cp-server restart
# /etc/init.d/sw-engine restart
Unable to log into Plesk: Access for administrator from address xx.xx.xx.xx is restricted in accordance with IP Access restriction policy currently applied
Eğer yukarıdaki hata satırlarını göremediyseniz muhtemelen ip adresiniz bloklanmış olabilir.Farklı bir ip üzerinden girmeyi deneyin veya yine ssh üzerinden login olarak mysql shell’i açın.
mysql -u admin -p$(cat /etc/psa/.psa.shadow)
use psa;
mysql> select * from cp_access;
mysql> select * from misc where param=’access_policy’;
Engellenmiş ip adreslerini ilk sql cümlesinin çıktısında görebilirsiniz.Bu kayıtları silmek için
mysql> delete from cp_access;
Erişimi heryere açmak için;
mysql> update misc set val=”allow” where param=’access_policy’;
Plesk arayüzünü Nginx üzerinde php-fpm ile beraber çalışan bir sistemde sunar.Benzeri şekilde websitelerinizde de aynı mantıktadır.Tek farkı websitelerin çalıştığı ortamdan ayrılmış,farklı portlardan çalışan yazılımlardır.
Eğer fpm limitleri yetmiyor veya bir başka problem olduğunu düşünüyorsanı şu dosyalar size yardımcı olabilir.
/etc/sw-engine/pool.d/plesk.conf —> Plesk uygulaması için hazırlanmış fpm limitleri,pm,pm_max_children ,max server max request gibi..
/etc/sw-engine/sw-engine-fpm.conf —> Global fpm ayarları (Sadece plesk uygulaması için)
]]>
sudo yum clean all
sudo yum -y install tzdata*2016g*
sudo zdump -c 2016,2017 -v “Europe/Istanbul”
sudo date
Debian ve türevleri:
sudo apt-get update
sudo apt-get install tzdata tzdata-java
sudo zdump -c 2016,2017 -v “Europe/Istanbul”
sudo date
Kaynak: http://www.musabyardim.com/linux-timezone-degisikligi/
]]>Eskiden şöyle düşünürdük.Eposta sunucumuz var.Hayatta spama geçit vermeyiz.Herşeyimiz tam.Ip adresimiz temiz.Çok güzel,temiz iş yapıyoruzi.Sunucumuz tıkır tıkır mail alıyor veriyor.
Bir gün de bakmışsınız bir müşteriniz hotmaile mail gönderememekten şikayet ediyor size.Hemen bakıyoruz,kontrol ediyoruz.dnsbl,mxtoolbox,senderbase…cık.Yokuz.Temiziz.E neden peki?
O andan itibaren itibar (reputation) sıfıra gider.Müşteri konuşur.Siz de merdiven altı firma muamelesi görürsünüz.Tıpkı bir müşterinin dediği gibi “müşterime mail attım.adam yanımda bilgisayarından baktı.gereksiz posta kutusuna düşmüş,yerin dibine girdim.”
Neyse biz problemimizi çözdük bir şekilde ancak günlerce debelendikten sonra bilmediğim birşeyi öğrenmiş oldum.Onu da cebime koydum ama para eder mi bilmem.
Bu microfostcu arkadaşların X-MS-Exchange-Organization-SCL,X-MS-Exchange-Organization-PCL diye bir ölçüsü varmış.Benim gibi bilmeyenler için yazıyorum.
Uzun uzun yazarlar zaten hep.İşleri güçleri budur.Aşağıdaki sayfada anlatılmış;
https://technet.microsoft.com/en-us/library/aa996878(v=exchg.160).aspx
Bizim sunuculardan çıkan hotmaile giden e-postaların header kısmından gördüğümüz kadarıyla X-MS-Exchange-Organization-SCL değerimiz 5 idi.5 tam orta bir değer.Öneri şu;Alıcı “bu gereksiz değildir” diye işaretlediğinde sorun çözülür.Kullanıcı kontrolune bırakılmış.Peki bunun tersiniz düşünürsek;
Peki kaç kullanıcı “bu gereksizdir” diye işaretlemiştir de iş bu hale gelmiştir..
Orası bilinmez.Bilinmez çünkü snds postmaster size neden ip adreslerinizin bloklandığını söylemiyor veya söyleyemiyor.
Sonuç olaralk Hotmail damgalıyor geçiyor.Gereksiz yere uğraştıyor.Artık başa çıkamadığı gerçek spamlarla bu şekilde baş ediyor.Büyüklüğünü kullarak bundan büyük miktarlarda gelir elde etmeyi de başarmış zaten.
]]>
php 5.6 versiyonunda phpmailer scriptiniz çalışmaz çünkü;
phpmailer bu durum için 5.2.10 sürümünde bunun için bir istisna hazırlamış.alttaki linkte sertifika doğrulaması ile ilgili parametleri alt betikte iptal edebiliyorsunuz.
https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting#php-56-certificate-verification-failure
bu arada phpmailer sürümü eski olanlarda bu özellik olmayabilir ama zaten şu genel güvenkik açığı sebebiyle phpmailerinizi son sürüme güncellesiniz bence iyi olur.
Ayrıca durumunuza göre aşağıdaki smtpautotls ayarını da değiştirmeniz meseleyi çözüme kavuşturabilir.
https://phpmailer.github.io/PHPMailer/classes/PHPMailer.html#property_SMTPAutoTLS
Centos sunucular için
/etc/httpd/conf.d/ssl.conf dosyasının en altına aşağıdaki satırları yerleştirin.Httpd servisini yeniden başlatın.Nispeten güncellenmemiş sunucular için yum update yapmanızı öneriririm.
]]><IfModule mod_ssl.c>
SSLProtocol +TLSv1 +TLSv1.1 +TLSv1.2 -SSLv2 -SSLv3
</IfModule>
<IfModule mod_ssl.c>
#SSLCipherSuite HIGH:!aNULL:!MD5:!RC4-SHA:!RC4
#SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RS
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5::!RC4
</IfModule>
Bir linux hosting sunucunuza ftp bağlantısı yapılabilmesi için haliyle bir ftp sunucu kurarsınız ki bu genelde proftp veya pureftp olur.
Ftp servisi çalışmadığında yapacağınız ilk şey proftp hata loguna bakmak olur.Proftp paketiyle beraberinde gelen proftpd.conf dosyasının hemen hemen her satırı hata vermektedir.Satırları kapatıp başınızdan atabilirsiniz veya okumaya devam edip soruna kökten bir çözüm bulabilirsiniz.
Diğer yandan sunucunuzda her paket kurduğunuzda veya bir binary veya perl scripti çalıştırdığınızda ekran şuna benzer hatalar çıkmakta.Son zamanlarda peydahlanan bu hatayı görmezden gelmektesiniz.
perl: warning: Falling back to the standard locale (“C”).
locale: Cannot set LC_CTYPE to default locale: No such file or directory
perl: warning: Setting locale failed.
Locale sözünü gördüğünüzde sizi duyar gibiyim.Evet o problem.Yılların eskitemediği,bitti sandığınız ama asla bitmeyecek olan dil probleminin ta kendisi.Bitmedi.sanırım bitmeyecekte.
Bütün konu,bilgisayarın ilk zamanlarında oluşturulan standartlar,GNU C,POSIX ASCII ve utf8 karakter seti ,farklı diller,yerelleştirme ve hız ile ilgili.Merak eden nette okur araştırır.
Siz bunları merak etmiyorsanız kısaca çözüme geçin
/etc/xinetd.d/ftp_psa dosyasını açın.
ftp{} bölümünde şu satırları ekleyin.
“env = LC_ALL=C LANG=C”
Ardından xinetd servisini yeniden başlatın.Artık proftp ve tüm modülleriyle mutlu mesut yaşayabilirsiniz.
]]>
Apache web servisini resetlerken “unable to open logs” hatası alıyorsanız bu apache sistem kullanıcısının en fazla açabileceği dosya sayısını aşmışsınız manasına gelir ki sizi tebrik ederiz.Hosting işini büyütmüşsünüz.Artık öntanımlı değerlerler size yetmiyor.
Debian/Ubuntu türevi bir hosting sunucunuz varsa;
/etc/apache2/envvars dosyanızda aşağıdaki parametreyi değiştiriniz.
APACHE_ULIMIT_MAX_FILES=’ulimit -n 131072′
Centos/Redhat tabanlı bir sistem kullanıyorsanız
/usr/sbin/apachectl dosyanızı en sevdiğiniz editorle açınız.
ULIMIT_MAX_FILES= satırını # ile kapatın ve alttaki satır ile yeni tanımlamayı yapın.
ulimit -n 131072
Değerleri deneysel olarak değiştirebilirsiniz.131072 kesmedi 1,5 katına çıkarın mesela.
Benzeri olarak alternatif çözüm nispeten eski sistemlerde init.d altındaki startup scriptleri de olabilir.Örneğin /etc/init.d/http dosyasında ulimit satırını başlangıçta olacak şekilde yerleştirebilirsiniz.
]]>192.168.10.11:/mnt/backup/sunucu1 /var/yedek nfs auto 0 0
]]>Bu yüzden eğer Roundcube gibi webmaillerde filtreleme yapmak istiyorsanız Pleskin “Updates & Upgrades” kısmından veya sunucu e-posta ayarlarından imap sunucunuzu değiştirmelisiniz.
]]>pickup unix n – – 60 1 pickup satırını
pickup fifo n – – 60 1 pickup olarak değiştirin.
Daha sonra;
qmgr unix n – n 300 1 qmgr satırını,
qmgr fifo n – n 1 1 qmgr olarak değiştirin.
Eğer loglarda “not set-gid or not owner+group+world executable: /usr/sbin/postdrop” hata kaydı ile karşılaşırsanız
postfix set-permissions komutu ile dosya izinlerini olması gerektiği hale getirebilirsiniz.
]]>Yazıdan bir iki gün sonra performans problemlerinden dolayı bundan vazgeçmiştim.
Dün ikinci el bir Saphhire Ati Radeon 5770 marka bir ekran kartı aldım.Neden bu kart diyeceksiniz? Çünkü Ubuntu’nun Ati uyumluluk listesinde tam uyumlu olduğu yazıyor.Çünkü DVI-I monitorleri destekliyor ve 3 (2 dvi + 1 hdmi) portu da aynı anda çalıştırabileceğimiz belirtiliyor.
Neticede iş tam bir plug and play işi oldu.Bill Amcanın kulakları çınlasın.Kartı anakarta taktım.Pc’yi açtım ve hiçbirşey yapmadan sonuç bu;
Not: Ahanda 5280px masaüstü.Valla zerre uğraşmadım ya.Paranın gözü kör olsun:)
Ben muradıma erdim.Bu konuyla ilgili tek bir soru işareti kaldı o da 16x bir pci-e ekran kartının slotunu kırıp x1 yuvasına taksak çalışır mı.Onu da şu makaleden okudum.Onu da bir ara test ediğ yazacağımdır.
]]>
Windows registry editoru açın ve aşağıdaki alana Diffie-Hellman adıyla yeni bir girdi oluşturun.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\KeyExchangeAlgorithms\Diffie-Hellman]Daha sonra bunun altına dword anahtar-değer oluşturun (32 bit)
Anahtarın adına ClientMinKeyBitLength değerine ise 00000200 (dword) verin.
Basın power butona resetlensin windowsunuz :) Akabinde vsphere de tekrar host arayabileceksiniz.
]]>
Piyasada satılan ucuz veya orta karar ekran kartları en fazla 2 monitor destekler.Nvidia veya Amd Ati olması önemli değil.Örneğin Ekran kartınızda 1 tane vga 1 tane hdmi ve 1 tane de dvi bağlantısı var.Bunların ikisi aktiftir.Üçüncüsünde güç bulunmaz,monitor taksanız da görüntü alamazsınız.Neticede 3 ekran girişinin olması çeşitlilik yaratmak için. (BKZ Active Power)
Elbette 3 monitor bağlayabileceğiniz ekran kartları da var.Bunlar iki grup.Genelde daha üst seviye,daha yeni veya özellikle bu iş için yapılmış bazı serilen var.Mesela Amd Ati’nin 5770 – 5780 serisi.Bu kartlarda özellikle DP (Display Port) bağlantısı dikkat çekiyor.Sizin anlayacağınız eğer bir ekran kartında DP varsa ikiden fazla monitor desteklemesi büyük olasılıkla mümkün.
Diğer grup ise profesyonel kartlar.CAD uygulamalarıi,mimari,3D işleriyle uğraşanların bir pc parası kadar para saydıkları ekran kartlarından bahsediyorum.Gpro,Firepro,Quadro bunlara örnek.Bunlar 500,600 dolardan 3000-4000 dolara kadar değişen fiyatlarda bulunabiliyor.
Bizim senaryomuzda ise o kadar bütçe yok.Hatta yakınından bile geçmez.Konfigurasyon aşağıda;
1 Viewsonic 2349 23″ monitor.1920x1080px,Viewsonic 2245 22″ 1680×1050,Viewsonic 2035 20″ 1680×1050
2 Zotac 8400GS 512M Pci-E 16x Ekran Kartı,Zotac 7200GS 256M Pci-E 16x Ekran Kartı ve şu bitcoin minerların kullandığı pci-e x16 -x1 pc dönüştürücü.Başta bu dönüştürüc cihaz ile ilgili kuşkularım vardı ama aldıktan sonra bunların yersiz olduğunu anladım.Göreceğiniz gibi kullanılan malzemenin normal anakart-ekran kartı parçalarından pek bir farkı yok.Türkiyedeki alışveriş sitelerinde 80-90 TL civarında.Çinde çok daha ucuz tabi.Aşağıda fotoğrafta görebilirsiniz.

Yaklaşık beş gün cebelleştikten sonra sonunda bir X configurasyonu çıkardım.Bu kadar uzun sürmesinin sebebi elbette konu hakkında pek bir fikrimin olmayışı (oyun fian hiç ilgim yoktur ekran kartlarına) ve Nvidia konfigurasyon aracının salaklıklarını geç farketmiş olmam.Üçüncü sebep de bu X (Xorg) ile uğraşmayı sevmiyor(dum)um.Eski günlerden (Mandrake,Redhat 9 vs zamanları ) kalma bir antipatim var.
Benim amacım 3 monitorü 3 ayrı alan olarak tanımlayıp,hepsini tek bir masaüstünde birleştirmekti.İşte bu da final conf dosyası içeriği.Mantık olarak 3 monitoru de 3 ayrı Xscreen’e tanımladım ve Xineramayı aktif ettim.
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 361.42 (buildd@lgw01-18) Tue Apr 5 14:33:28 UTC 2016
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 304.131 (buildmeister@swio-display-x64-rhel04-16) Sun Nov 8 22:48:17 PST 2015
Section “ServerLayout”
# Removed Option “Xinerama” “0”
# Removed Option “Xinerama” “0”
Identifier “Layout0”
Screen 0 “Screen0” 0 0
Screen 1 “Screen1” RightOf “Screen0”
Screen 2 “Screen2” LeftOf “Screen0”
InputDevice “Keyboard0” “CoreKeyboard”
InputDevice “Mouse0” “CorePointer”
Option “Xinerama” “1”
EndSection
Section “Files”
EndSection
Section “InputDevice”
# generated from default
Identifier “Mouse0”
Driver “mouse”
Option “Protocol” “auto”
Option “Device” “/dev/psaux”
Option “Emulate3Buttons” “no”
Option “ZAxisMapping” “4 5”
EndSection
Section “InputDevice”
# generated from default
Identifier “Keyboard0”
Driver “kbd”
EndSection
Section “Monitor”
Identifier “Monitor0”
VendorName “Unknown”
ModelName “ViewSonic VA2349 Series”
HorizSync 24.0 – 82.0
VertRefresh 50.0 – 75.0
Option “DPMS”
EndSection
Section “Monitor”
Identifier “Monitor1”
VendorName “Unknown”
ModelName “ViewSonic VX2035wm”
HorizSync 30.0 – 82.0
VertRefresh 50.0 – 75.0
EndSection
Section “Monitor”
Identifier “Monitor2”
VendorName “Unknown”
ModelName “ViewSonic VX2245wm”
HorizSync 30.0 – 82.0
VertRefresh 50.0 – 75.0
EndSection
Section “Device”
Identifier “Device0”
Driver “nvidia”
VendorName “NVIDIA Corporation”
BoardName “GeForce 8400 GS”
BusID “PCI:1:0:0”
Screen 0
EndSection
Section “Device”
Identifier “Device1”
Driver “nvidia”
VendorName “NVIDIA Corporation”
BoardName “GeForce 7300 SE/7200 GS”
BusID “PCI:2:0:0”
EndSection
Section “Device”
Identifier “Device2”
Driver “nvidia”
VendorName “NVIDIA Corporation”
BoardName “GeForce 8400 GS”
BusID “PCI:1:0:0”
Screen 1
EndSection
Section “Screen”
# Removed Option “MetaModes” “GPU-0.DFP-1: 1680×1050+0+0, GPU-0.DFP-0: 1920×1080+1680+0, GPU-1.DFP-0: 1680×1050+3600+0”
# Removed Option “MultiGPU” “On”
# Removed Option “BaseMosaic” “On”
# Removed Option “nvidiaXineramaInfoOrder” “DFP-1”
# Removed Option “metamodes” “DVI-I-0: nvidia-auto-select +3600+0, DVI-I-1: nvidia-auto-select +1680+0, HDMI-0: nvidia-auto-select +0+0”
# Removed Option “MultiGPU” “On”
# Removed Option “metamodes” “nvidia-auto-select +0+0”
# Removed Option “metamodes” “DVI-I-1: nvidia-auto-select +1680+0, HDMI-0: nvidia-auto-select +0+0”
Identifier “Screen0”
Device “Device0”
Monitor “Monitor0”
DefaultDepth 24
Option “Stereo” “0”
# Option “nvidiaXineramaInfoOrder” “DFP-0”
Option “metamodes” “DVI-I-1: nvidia-auto-select +0+0”
Option “SLI” “Off”
Option “MultiGPU” “Off”
Option “BaseMosaic” “off”
SubSection “Display”
Depth 24
EndSubSection
EndSection
Section “Screen”
# Removed Option “metamodes” “1680×1050 +0+0”
Identifier “Screen1”
Device “Device1”
Monitor “Monitor1”
DefaultDepth 24
Option “Stereo” “0”
Option “metamodes” “nvidia-auto-select +0+0”
Option “SLI” “Off”
Option “MultiGPU” “Off”
Option “BaseMosaic” “off”
SubSection “Display”
Depth 24
EndSubSection
EndSection
Section “Screen”
# Removed Option “metamodes” “1680×1050 +0+0”
# Removed Option “metamodes” “nvidia-auto-select +0+0”
Identifier “Screen2”
Device “Device2”
Monitor “Monitor2”
DefaultDepth 24
Option “Stereo” “0”
Option “metamodes” “HDMI-0: nvidia-auto-select +0+0”
Option “SLI” “Off”
Option “MultiGPU” “Off”
Option “BaseMosaic” “off”
SubSection “Display”
Depth 24
EndSubSection
EndSection
Section “Extensions”
Option “Composite” “Disable”
EndSection
Eğer işi nvidia aracına bırakırsanız twinview + Xinerema gibi bir konfigurasyon yaparak çileden çıkartıyor.Twinview Nvidia’nın geliştirdiği bir çoklu monitor destekleyen bir özellik.Tek bir cümleyle özetleyeyim.İlk iki monitorunuzu tek masaüstü (tek x screen) yaparak 3.monitorunuze yeni bir x screen’e atıyor.Bu durumda iki monitorunuz de tastamam çalışıp tek masaüstü görüntüsü verirken,3.monitor üvey evlat muamelesi görerek kapkara bir şekilde öylecene duruyor.yor.Aslında bu şekilde de bir şekilde 3 aktif monitorunuz var.Ancak programları çalıştırırken Screen 1 yani 0.1 de çalışmasının gerektiğini belirtmelisiniz vs vs.Pek kullanışlı sayılmaz.
Önemli Notlar;
Bu işi sadece bir tek nvidia driver versiyonunda (nvidia-304) yapabildim.Diğerlerinde ya işlere ters gitti ya da doğru driver değildi.Aşağıdaki ekran görüntüsünde detaylarını görebilirsiniz.
Son not; Bu çalışmayı Ubuntu 16.04 de yaptım ama sonuç olarak bu X (Xorg) ve nvidia driver meselesi.O yüzden diğer centos,fedora,debian gibi dağıtımlarda bunun çalışacağını düşünüyorum.
Yukarıdaki konfigurasyonda malesef compizi çalıştıramadım.Nette okuduğum onlarca makalede benzer şeyler yazıyor.gnome-flashback paketini kurup eski metacity-gnome-masaüstünü kullanabiliyorsunuz.Çok keyifsiz bir durum.Unitye alıştıktan sonra eskiye dönmek hayli sıkıcı.En azından durum şimdilik böyle.
Xinerama nispeten eski ve performans kayıplarına sebep oluyor.Donanımların getirdiği twinview gibi çözümler performansta fark yaratıyor.
]]>
Yeni yılda adından sıkça söz ettirecek bazı Linux dağıtımları ilk bakışta ihtiyaca göre ve çalışacağı cihaza göre odaklanmış görünüyor.
https://www.linux.com/news/software/applications/878620-the-best-linux-distros-of-2016
]]>Henüz alpha/development aşamasında olan RemixOS şu adresten download edilebilir.

]]>
Biz de bu haberi internette ve malumunuz google’da araştırırken pek fazla kaynak bulamadığımızı açıklayamıyoruz:)
http://www.businessinsider.com/fbi-investigates-juniper-hack-attack-2015-12

Backscatter Nedir?
Her SMTP sunucusu alıcısına iletemediği epostaları (bounce ) bir başka bildirimle göndericiye iletmek zorundadır.Bu bir standarttır.Gönderici gönderdiği epostayı alıcısına ulaşmadığını bu bildirim mesajıyla farkeder.Bu bildirimin adı non delivery reports veya kısa ndr,diğer başka bir tanımı da DSN yani Delivery Status Notification ‘dur.
Bu tasarlanan,iyiye hizmet eden bilişimin eskide kalmış bir hikayesi.Gerçek dünyada ise durum şöyle;
Bu raporlama sisteminin kötü amaçla kullanılabileceğini farkeden aşırı zeki spamcı milleti çaktırmadan milyonlarca spam gönderebilmekte.Nasıl mı?
Bilindiği gibi epostada bir envelope sender aynı zamanda authenticated sender olmak zorunda değil.Yani eski mektup gönderdiğimiz günlere dönecek olursak.Göndereceğim zarfın üzerine kendi adımı yazmak zorunluluğum yok.
Backscatter epostanın envelope sender bölümüne istenilen email adresini yazılır.Alıcı kısmında da karşı tarafta bulunmayan bir eposta adresi belirtildiğinde gönderilen epostayı alıcı smtp sunucusu red edecektir.Peki bu durumda NDR nereye gönderilecek?Elbette envelope sender kısmındaki kurbanımızın eposta adresine.Karda yürü ama izini belli etme.
Sanıyorum ki binlerce dolar ödenen o pek gözde,pek güzide eposta sistemleri kendi içinde bir mekanizmayla bu işi çözmüşlerdir.
Ama binlerce dolarım yok,aynı zamanda hosting işindeyim diyorsanız hayat size biraz daha zor.Zira elimizde kullanabildiğimiz en modern,gelişmiş ve güvenli smtp postfix.Postfixin resmi sayfasında backscatter engelleme ile ilgili bir takım çözüm önerileri var.Tembellik etmedim okudum.Neticede sunucunuzda bir veya birkaç hosting koşuyorsa kabul edilebilir bir çözüm sunulmuş.Ancak bu çözüm,paylaşımlı bir hosting sunucusu yönetiyorsanız ve şöyle 50-100 ve üzeri hosting barındırılıyorsa hiçbir işe yaramaz.
Yine gerçek dünyadan bir örnek vermek gerekirse;zaten yukarda sözünü ettiğimiz raporlama sistemi kanımca pek bir işe yaramıyor.Çünkü kimse pc başında karşısına çıkan hata mesajlarını okumuyor.O yüzden kökten çözüm olarak NDR’ı komple kapatma yolunu seçebilirsiniz.
Bunun için postfix’in master.cf dosyasını açın.
ve aşağıdaki satırı;
bounce unix – – n – 0 bounce
şu şekilde değiştirin;
bounce unix – – n – 0 discard
dosyayı kaydedip kapattıktan sonra postfix servisini restart edin.Hepsi bu kadar.
]]>
Call to undefined function get_failure_redirect_url() in /usr/local/psa/admin/auto_prepend/auth.php3 on line 179
Tarayıcınızdan Linux Plesk 9.5 web sunucunuza 8443 veya 8880 portundan panele giriş esnasında yukarıdaki gibi bir hata mesajı ile karşılaşmanız durumunda yapmanız gereken mikro güncellemeleri ( MU Micro Updates ) çalıştırmak olacaktır.
Favori ssh istemcinizle sunucuya root olarak ssh bağlantısı kurun.Komut satırında;
/usr/local/psa/admin/bin/autoinstaller –select-product-id plesk –select-release-current –reinstall-patch –install-component base
komutunu çalıştırın.Script biraz bekleyip sistemde kurulu paket bilgisini aldıktan sonra mikro güncellemeleri uygulayacak,ve sorunsuz olarak plesk arayüzüne giriş yapabiliyor olacaksınız.
Plesk 9.5 ‘in kurulabildiği her Linux distrosunda bu script bu path de olmayabilir.Sizin ihtiyacınız olan uygun versiyonda bir plesk autoinstaller dır.Bu sebeple bu scripti /root/parallels klasörü altında da bulmanız olasıdır.
]]>Epel deposundan php 5.4 için mcrypt eklentisi kurmak için öncelikle paket deposunu işletim sisteminizde aktif etmelisiniz.
sudo yum install epel-release ( zaten root iseniz sudoya gerek yoktur.)
yazarak kurulacak paketi kabul edin.Epel sisteminize kurulacaktır.
Ardından php-mcrypt paketini sisteminize kurun..
yum install –enablerepo=”epel” php-mcrypt
Aşağıdaki ekrandaki gibi size gpg key’i onaylayıp onaylamadığınızı soracaktır.Bir tür güven ilişkisi oluyor bir süre sonra,hiç düşünmeden yesss diyorsunuz.Ama işin doğrusu bunları kontrol edip doğrulamak lazım.Ben doğrusunu söyleyeyim de siz nasıl bilirseniz öyle yapın.
Akabinde apache servisini “service httpd restart” diyerek resetlersiz işlem tamamlanmış olacaktır.İnanmıyorsanız phpinfo ile bakın.
Centossuz günler dilerim.
]]>
HERŞEYDEN ÖNCE AKILLI TELEFONLARDA ROOT ERİŞİM YETKİSİ ALMAYA ÇALIŞMAK RİSKLİ BİR İŞLEMDİR.LÜTFEN ÖNCELİKLE EN ALTTAKİ YAZIYI OKUYUNUZ.
Önceden kullanmakta olduğum bu akıllı telefonu zaman zaman root erişimini açmaya çalıştıysam da başarılı olamamıştım.Internette türlü çeşit makalelerde anlatılanların hiçbirisi benim işime yaramadı.
Neden root erişimi? Bir kere hayatında “root” lafını android telefonlarından sonra duyan ey yeni nesil.Lütfen rootladım lafını kullanmadan önce bir araştır.Rica ediyorum.Ayağa düşürdüler zaten.Yok root yapma ,root indir bik bik bik.Ha kök demek.Kökledim telefonu! diyorsan tamam.
Ama şu var ki kelime bence yanlış kullanılıyor.Root,unix/linux türevi işletim sistemlerinde (ismi standart olmuş) en yetkili kullanıcın adıdır.Eğer bir işletim sistemine root kullanıcısı ile erişebiliyorsanız herşeyi yapabilirsiniz.Size kimse “eminmisin” diye sormaz.Windowslardaki Administrator kullanıcısına benzetebilir.Tabi Linux halk işi olduğu için böyle okuması yazması zor olan “edministreytır,admin,administrator” gibi ibareleri kullanmaz.
Neyse,
Telefon hayli yavaş,sinir bozucu.Zte marka black ice modeli ile aynı olduğu yazılıyor.Bu işlem o telefon için de işe yarayabilir.İki yıl kadar her gün duvara fırlatasım gelse de mecburen kullandım.Son olarak turkcellin önerdiği philips marka kulaklık da bu telefonla çalışmayınca yeni bir telefon almaya karar verdim.
Genelde root erişimi ile gereksiz programları,turkcellin ekleyip de müdahale edemediğiniz abuk sabuk yazılımları kaldırmak telefonu hızlandıracağını düşündüm.Bu telefonu kullananların pek çoğunun böyle düşündüğüne eminim.
Sözü fazla uzatmadan,artık bu telefonun kırılabileceğinin haberini vermekten mutluluk duyar,saygılarımı sunar,turkcelldeki gerzek geliştiricilere ve ayrıca bana bu aleti 24 ay vadeyle 680 tl gibi bir rakama satanlara selamlarımı! sunarım.
http://forum.xda-developers.com/android/apps-games/one-click-root-tool-android-2-x-5-0-t3107461
İşlemlere başlamadan önce şunu belirtmek isterim.Turkcell bu telefon için bir kez güncelleme çıkardı.Bunun dışında başka bir sistem güncellemesi yoktu.Ben de bu güncellemeyi zaten yapmıştım.Telefona yazılımı kurmadan önce diğer google play güncellemelerinin hiçbirini yapmadım.Zaten kullanmıyordum.Spor olsun diye denedim.Oldu.Şans bu ya.İş biraz şansa kalmış,kabul etmek lazım.
Yukarıdaki linkte aşağıda işaretliğim linkteki Kingroot 4.5 apk dosyasını telefonunuza indiriyorsunuz.
Telefonunuzun ayarlar -> güvenlik kısmından “güvenilir olmayan kaynaktan programlara izin verme” kutucuğunu kapatıyorsunuz.Yani seçili durumda olmayacak.
Programı dosya yöneticinizde bulup bi taplıyorsunuz.Kurayım mı diyor.Kur anasını satayım deyip kuruyorsunuz.Programı açmadan önce kablosuz ağınızı veya 3gnizi açık tutun.Çünkü root işlemi için program internetteki serverina bağlantı kuracak.En son root butonuna basıyorsunuz.Hepsi bu kadar.Kısaca bir süre sonra işlem tamam.
Daha sonra güvendiğiniz beğendiğiniz herhangi bir root file explorer bir de root apk uninstaller tarzı program ile (google play da çokça var) turkcell ile başlayan o salak programların hepsini kaldırabilirsiniz.
Dikkat etmeniz bir nokta;Uninstaller programın “silme,dokunma,tavsiye etmem” dediği yazılımlara dokunmayın.
Dikkat etmeniz gereken bir başka nokta ise kingroot ile beraber gelen purify.Purify ilk başta google play,internet browser,google chrome vs gibi yazılımların internet erişimini kapatıyor.Yazılımı biraz kurcalayın.Ayarları kendinize göre ayarlayın.Cihazı baştan başlatın.Herşey tamam.
Androidden anlamayan hatta sevmeyen biri olarak sizi bu eziyetten kurtarabildiysem,ne mutlu bana.Teşekküre gerek yok.Bir reklama tıklasınız yeterli:)
Bundan sonra da siz siz olun turkcellden telefon almadan önce 2 kez düşünün.Benim gibi tongaya gelmeyin.
Kökledik telefonu uçacak şimdi diye de beklemeyin.Telefon yavaş arkadaşlar.Bu bir gerçek.Açılış biraz hızlanıyor o kadar.Benim gördüğüm bu.
Saygılar,
Sudoooo,Make me a sandwich:)
Çok beğendiğim bir maxiplus 5 incelemesini de sizlerle paylaşmak istedim.
BU MAKALEYİ OKUYARAK ANLATILANLARI AKILLI TELEFONLARINDA UYGULAYANLAR,UYGULAMA SONRASI ORTAYA ÇIKABİLECEK KÖTÜ DURUMLARI BAŞTAN KABUL EDERLER.BÖYLE BİR DURUM ORTAYA ÇIKMASI HALİNDE MAKALE SAHİBİ HAKKINDA ŞİKAYETÇİ OLMAYACAKLARINI KABUL ETMİŞ SAYILIRLAR.
]]>Find programı sonuna * (wildcard) koyduğunuz yani “yolunuz” ile başlayan dosyaları araştıracak ve 5 günden önce oluşturulanları silecektir.
]]>örnek ftp logu;
Fri May 14 05:16:12 2010 0 ::ffff:1.2.3.4 11974 /home/user/public_html/index.php a _ i r user ftp 0 * c
yukarıda gördüğünüz gibi ilk tarih ip dosya ismi gibi elemanlarla başlayan loglar sonlara doğru bazı harfler ve işaretler görüyoruz;
a : transfer tipini belirtir.a ise ascii,b ise binary formatında dosya yüklendiğini ifade eder.
i: dosya gönderilmiş mi alınmış mı,i gelen ,o giden outgoing,d ise silinmiş manasına gelir.
r:kullanıcının erişim şekli,r ise gerçek kullanıcı,a ise anonim kullanıcıdır.
0:Yetkilendirme methodu.0 ise yok.1 ise RFC931′ göre yetkilendirilmiştir.
*:Eğer ftp kullancısı gerçek unix kullanıcısı değilse * yazar.Bu durumda kullanıcı bilgisi mysql gibi bir veritabanında saklanıyor olabilir.
c: işlem tamamlanmış demektir.i olursa tamamlanmamış işlem manasına gelir.
Premature end of script headers,Connection reset by peer: mod_fcgid: error reading data from FastCGI server
Bu hatayı alıyorsanız,sorunun sebebi birden fazla olabilir.Hemen bayramlık sözleri dile getirmeden,sinirlenmeden aşağıdaki olası çözümleri deneyebilirsiniz.
1.Plesk 12 Linux sunucularda şunu deneyebilirsiniz.
SSH’dan komut satırına girin.
/usr/local/psa/admin/bin/httpdmng –reconfigure-domain alanadiniz.com
Plesk 11.5 hariç öncesi için /;usr/local/psa/admin/bin/httpdmng –reconfigure-vhost –vhost-name=alanadiniz.com
2.Websitenizin index.php dosyası zarar görmüş,içine malware kod yazılmış( yani bir nevi hacklenmiş ) olabilir.Kontrol edin.Varsa temizleyip tekrar deneyin.
3.Sistem CloudLinux ise;fastcgi server ile bağlantı kuramıyor olabilir.Konfigurasyonu yenilemek için,kullanıcıyı cagefsten çıkarıp tekrar alın.Zaten cagefsden çıkardığınızda website düzgün çalışıyorsa sorun bundan kaynaklanıyor demektir.
cagefsctl –disable ftpkullanıcısı
cagefsctl –enable ftpkullanıcısı
ilaveten klasörünü tekrar bağlamak için
cagefsctl -m ftpkullanıcısı
komutunu deneyebilirsiniz.
]]>
mod_fcgid Apache 2 webserverlarda yaygın olarak kullanılan bir modüldür.Php scriptlerini belli bir kullanıcının çalıştırmasına olanak tanır.
öntanımlı olarak belli bir limiti olan bu modülün limitleri sınıra dayandığında websiteler oldukça yavaş çalışmaya başlar,zaman zaman “500 Internal Server error” hatası alırsınız.
yapılması gereken;
Redhat ve türevlerinde;
/etc/httpd/conf.d/fcgid.conf
Debian,Ubuntu türevlerinde
/etc/apache2/mods-enabled/fcgid.conf
dosyasını açıp
FcgidMaxProcesses değerini arttırmaktır.
Daha sonra Apache web servisini yeniden başlatmalısınız.
debian ve ubuntu için : service apache2 restart
redhat ve centos 6.x için /etc/init.d/httpd restart veya service httpd restart
7.x versiyonları için systemctl httpd restart (geriye dönük uyumluluk için service httpd restart komutu da 7.x versiyonlarda çalışmaktadır.)
]]>firewalld servisini durdurmak için
systemctl stop firewalld
firewalld servisini pasif yapmak için (açılışta çalışmayacak)
systemctl disable firewalld
önceki versiyonlardaki sisteme dönmek için se iptables servisini kurmalısınız.
yum -y install iptables-services
]]>daha sonra nano /etc/yum/yum-cron.conf komutu ile ayar dosyasını açın.
appy update = yes olarak değiştirin.
sunucunuz çıkan güncellemeleri otomatik yapacaktır.
]]>Eski versiyonlarda da path problemi olan en yaygın kullanılan komut.centos 7 de “ip addr” benzer işe yarıyor.ifconfig kullanabilmek için ;
yum install net-tools
setup komutun da ortalıklarda yok.kartlara ip vermek için nmtui aracını kullanabilirsiniz.
]]>Centos 7 sunucunuzu öncelikle reboot ederek kernel seçeneklerinde aşağıdaki adımları uygulayın.
1.Kernel listesinde.Öntanımlı olan kernel üzerinde veya istediğiniz başka bir kernel üzerindeyken ‘e’ butonuna tıklayın.
2. Gelen yeni ekranda (ki zaten bu kısmı hatırlarsanız “single” veya rw init=/bin/bash yazıyorduk.Aşağıdaki görüntüde şu değişikliği yapın.
ro ‘yu silerek
rw init=/sysroot/bin/sh
yazın.
3.Aynı ekranda CTRL ve X butonuna beraber basarak bu ayarlarla sistemin açılmasını sağlayın.
4.Açılan ekran biraz yabancı gelebilir.Bu ekranda
chroot /sysroot
yazarak /sysroot altına bağlanmış root filesysteme girmiş olacaksınız.
Bu aşamadan sonra passwd root komutuyla şifreniz değiştirebilir akabinde sunucuyu resetleyebilirsiniz.
Önemli Not
SELinux kullananlar ise şifreyi değiştirdikten sonra şu komutu uygulayarak dosya sistemini tekrar etiketlemeli.
touch /.autorelabel
Şifreniz resetlenmiştir.
Ek bilgi
SELinux Nedir Harici link Türkçe : http://www.cozumpark.com/blogs/linux_unix/archive/2013/02/10/security-enhanced-linux-selinux.aspx
SElinuxDosya sistemini tekrar etiketlemek Harici link İngilizce : https://www.centos.org/docs/5/html/5.2/Deployment_Guide/sec-sel-fsrelabel.html
Kaynak:
]]>
Mit Kerberos güvenlik açığı sebebiyle krb5-1.11.x, krb5-1.12.x ve krb5-1.13.x versiyonlarının bulunduğu sistemler üzerinde uzaktan komut çalıştırabiliyor.
Mit’in konuyla ilgili açıklamasını şu linkten inceleyebilirsiniz.
Redhat’ın konuyla ilgili sayfası
https://access.redhat.com/security/cve/CVE-2014-5352
Ubuntu için;
http://www.ubuntu.com/usn/usn-2498-1/
Kaynak :
NetSec Ağ ve Bilgi Güvenliği Topluluğu
http://www.netsectr.org
]]>
27 Ocakta haberi duyurulan ve ciddi risk taşıyan GNU C Library (glibc) zaafiyetinden faydalanarak sunucunun kontrolü kötü niyetli kişiler tarafından ele geçirilebiliyor.
Söz konusu açık, glibc 2.18 öncesi versiyonları etkiliyor.2.18 ve sonrasında şu anda böyle bir risk bulunmadığı ifade ediliyor.
Pek çok linux dağıtımı var ancak genel olarak hepsi ya Redhat ya da Debian türevi.Ubuntu’ya da sayacak olursak hemen hemen her linux sunucu bu tehdit altında.
Aşağıdaki adreslerde ,konuyla ilgili açıklama ve güncelleme için gerekli bilgiler yer alıyor.
Ubuntu
http://www.ubuntu.com/usn/usn-2485-1/
Debian
https://www.debian.org/security/2015/dsa-3142
Redhat
https://access.redhat.com/security/cve/CVE-2015-0235
]]>
]]>mail,system, dl, array_compare, array_user_key_compare, passthru, cat, popen, proc_close, proc_get_status, proc_nice, proc_open,escapeshellcmd,escapeshellarg, show_source, posix_mkfifo, ini_restore, mysql_list_dbs, get_current_user, getmyuid,pconnect, link, symlink, fin, exec, fileread, shell_exec, pcntl_exec, leak, apache_child_terminate, chown, posix_kill, posix_setpgid, posix_setsid, posix_setuid, proc_terminate, syslog, fpassthru, execute, shell, chgrp, stream_select, passthru, socket_select, socket_create, socket_create_listen, socket_create_pair, socket_listen, socket_accept, socket_bind, socket_strerror, pcntl_fork, pcntl_signal, pcntl_waitpid, pcntl_wexitstatus, pcntl_wifexited, pcntl_wifsignaled, pcntl_wifstopped, pcntl_wstopsig, pcntl_wtermsig, openlog, apache_get_modules, apache_get_version, apache_getenv, apache_note, apache_setenv, virtual, eval, allow_url_fopen, pconnect, p_connect,posix_getpwuid,fileowner,symlink,readlink
vmware konuyla ilgili kb sayfası
Ancak vmware bloğunda bir yazarın bununla ilgili bir makalesi var.Örneğin ubuntu kullanıyorsanız vmware-workstation’ı pcnize indirip kuruyorsunuz.Akabinde alltaki ekran görüntüsünde işaretli gördüğünüz alandan esxi sunucunuza gayet güzel bağlanabiliyorsunuz.
]]>
Son günlerde android telefonunuza bir uygulama indirdiyseniz farketmiş olabilirsiniz.Bazı uygulamalar süpriz bir şekilde izin politikalarını değiştirdi.Play store ilk bakışta daha güvenli gibi görünse de durum aslında tam tersi.
İşin daha da ilginci bu konu hakkında yerli yayıncılarda yayınlanmış bir tek haber bile yok.Aksine “play store yenilendi”,”play store artık daha kolay ve güvenli” şeklinde haberler yayınlanmış.
Şakşakçı yerli internet sitelerimizin ve diğer basın organlarının aksine detaylı ve daha dürüst inceleme yazıları yurt dışındaki bazı websitelerinde yayınlanmış.Bunlardan bazıları;
http://www.xda-developers.com/android/play-store-permissions-change-opens-door-to-rogue-apps/
http://www.reddit.com/r/Android/comments/27n7yr/what_latest_changes_to_play_store_app_means_for/
]]>
Ben şimdilik büyük bir imajı 2 ekranıma bölerek kullanıyorum.
Nitrogen’i konsoldan “sudo apt-get install nitrogen” komutuyla kurabilirsiniz.
]]>Ultrasurf 13.03 engelleme için güncel iptables kuralları aşağıdadır.
iptables -I FORWARD -m tcp -p tcp –dport 443 -m string –to 256 –hex-string ‘|16030000610100005d0300|’ –algo bm -j DROP
iptables -I FORWARD -m tcp -p tcp –dport 443 -m string –to 256 –hex-string ‘|160301013c010001380303|’ –algo bm -j DROP
iptables -I FORWARD -i eth0 -p tcp –dport 1024:65535 -j DROP
Son yazdığım kuraldan tam emin değilim.İlk iki kuralı sabit tutarak 3.kuralı deneyerek sonucu görebilirsiniz.
Yine 3.kuraldaki -i eth0 benim gw sunucusunun iç bacağı.Yani istemcilerin bulunduğu network.Bunu da kendinize göre uyarlayın.
Sonuç:
3-4 kez ultrasurf’un açmayı denedim.Uzunca bir süre sonra hiç bir sunucuya bağlanamayınca pes ediyor.Umarım bu testler yeterli olmuştur.
Hiç yoktan (yeni versiyon çıktığını bilmiyordum doğrusu ) bu mesele ile tekrar uğraşmama vesile olan okay arkadaşıma ayrıca teşekkürler.
]]>
unable to perform database action invalid column name object_id hatası
collation Latin1_General_CI_AS
Current license or ESXi version prohibits execution of the requested operation.
]]>
#!/bin/sh
ADMIN_PASS=`cat /etc/psa/.psa.shadow`
MYSQL_BIN_D=`grep MYSQL_BIN_D /etc/psa/psa.conf | awk ‘{print $2}’`
PRODUCT_ROOT_D=`grep PRODUCT_ROOT_D /etc/psa/psa.conf | awk ‘{print $2}’`
mysql=”${MYSQL_BIN_D}/mysql -N -uadmin -p${ADMIN_PASS} psa”
query=”select name from domains;”
domains=`echo $query | $mysql `
for i in ${domains}; do
echo “echo $i”
$PRODUCT_ROOT_D/admin/sbin/dnsmng update $i
done
Pfsense kurup networkünü yönetmekte olduğum müşterimin bir gün bana çılgıncasına “ultrasurf diye bişey bulmuşlar her yere giriyorlarrrrrrr!” şeklinde asabi haykırışı akabinde pfsense’de nasıl ultrasurf engellenir diye araştırmaya koyuldum.Gece saat 3.Sonuç yok.Zaten forum.pfsense’deki kullanıcılarda uyumakta.Ben çaresiz!
Bu google’ın büyük işler yaptığını kabul ediyorum ama yine de pek sevemiyorum.Ancak google veya “arama motoru” olmasaydı bu işler nasıl hallolurdu bilemiyorum.
Ararken tararken kısa bir ipucu buldum.http://pere.bocairent.net/?p=57
Yazının tarihini görünce ultrasurf’çülerin bu işi değiştirmiş olduğunu düşündüm.Müşterimin networkunda bir pc ye wireshark kurdum.Aynı pc de ultrasurf’ü çalıştırdım.Tahmin ettiğim gibi hex kodu değişmişti.
Ağ geçidi olarak çalışan pfsense ‘e snort kurdum.Hex kodunu kullanarak uygun bir kural yazdım.Evet.Kural match!Fekat?
Çok da uğraştığımı söyleyemem ama snort kuralı tanıdığı halde drop etmiyor.Hay bin kunduz!Döndük Baba Ocağına!
Sonuç olarak ağ geçidine bir de linux ekleyerek bu iş çözüldü.Hem de tek bir iptables satırıyla…
iptables -I FORWARD -m tcp -p tcp –dport 443 -m string –to 256 –hex-string ‘|16030000610100005d0300|’ –algo bm -j DROP
Not: Bu çözüm indirdiğiniz ultrasurf paketine göre değişebilir.Benim güncel olarak denediğim u1301.exe.Sanyorum 13.01 versiyonu.Yukarıdaki linke bakarsanız wiresharkta dikkat çekilmiş SSL Handshake esnasındaki paketindekin içeriğine göre iptablestaki hex satırını değiştirebilirsiniz.
Not2: Bu metallica ve more beer da neyin nesi diyenlere..yazıyı yazarken bira içiyordum.aklıma öylesine geliverdi.
Not3: Kopyala yapıştır olmasaydı sysadmin nasıl olunurdu?
]]>
Toshibanın ürettiği(*) ve sessiz sedasız üretimden kaldırılan AC100 modeli aslında güçlü Nvidia TEGRA2 altyapısıyla ideal bir netbook bence.Ultra hafif,ultra ince,standart HDMI,sdcard ve USB (in,out) bağlantıları da mevcut.Adaptör belki birazda küçük ve hafif olabilirdi.Diğer takıldığım nokta ise monitorun alt kısmındaki boşluk.
Sonuç olarak bir iki küçük kusuru dışında gayet güzel bir cihaz.Ancak Android 2.2 (3-4 olsa ne farkederdi sanki?) bu cihazın üretimden kaldırılma sebebi bence.Kimse bu cihazı bu işletim sistemiyle dokunmatik olmayan bir ekranla kullanamazdı.Bence Toshiba burada büyük bir hata yapmış.Hatayı düzeltenler ise Ubuntu – Tegra geliştiricileri olmuş.
Sözün kısası eğer bu cihaz elinizde varsa veya almayı düşünüyorsanız aşağıdaki linkteki aşamaları geçerek gerçek bir pcye dönüşümünü gerçekleştirebilirsiniz.
https://wiki.ubuntu.com/ARM/TEGRA/AC100
ARM_TEGRA_AC100 – Yukarıdaki yazının text versiyonu
Kurulumu tamamladıktan sonra bilmeniz ve yapmanız gerekenler.
1.HDMI-out ‘da sorun var.Görüntü aktarılamıyor.HDMI 1.3-1.4 uyumsuzluğu veya başka bir sorun olabilir.Bu özelliği istiyorsanız biraz araştırmanız lazım.Gerçek şu ki cihazı biran önce sahibine teslim etmem gerektiğinden bunu araştırma/uygulama fırsatı bulamadım.
2.Yeni kurulumda Turkish-Sundeadkeys seçmiş olmama rağmen sistem her açılışta bunu unutuyordu.Problemi gidermenin çeşitli yolları mevcut.Ben taskbara keyboard layout appleti ekledim.Klavyeyi TRQ yaptım ve sorun çözüldü.
3.İşletim sistemini kurduktan sonra yukarıdaki linkteki sayfada belirtildiği gibi mutlaka Nvidia Tegra sürücüsünü aktif hale getirin.
4.Flash kurmaya çalışmak bence gereksiz olacaktır.Ama illa istiyorum derseniz chromium (google chrome) veya firefox için eklentiler mevcut.
5.Sistemi kullanmaya başladıktan sonra güncelleme ve sürüm yükseltme işlemleri bir miktar riskli olabilir.Güncelleme yapmadan önce mutlaka uyumluğu konusunda araştırma yapın.Elinizdeki işletim sistemi tamamiyle deneyseldir.Sanıyorum kararlı sürümü hiçbir zaman olmayacak.
]]>cd /usr/share/psa-horde/
Bu dizine afterlogic webmail lite uygulamasını indirin;
wget http://www.afterlogic.com/download/webmail_php.zip
Sıkıştırılmış dosyayı açın;
unzip webmail_php.zip
dizinin içine girin;
cd webmail
bu aşamada webmail için gerekli mysql veritabanını oluşturuyoruz;
mysqladmin -uadmin create alwebmaildb -p$(cat /etc/psa/.psa.shadow)
mysql -uadmin -p$(cat /etc/psa/.psa.shadow)
bu komutla mysql konsola girdikten sonra aşağıdaki cümleleri sırasıyla yazın.
CREATE USER ‘afterlogic’@’localhost’ IDENTIFIED BY ‘sizinşifreniz’;
GRANT USAGE ON * . * TO ‘afterlogic’@’localhost’ IDENTIFIED BY ‘sizinşifreniz’ WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
GRANT ALL PRIVILEGES ON `afterlogic` . * TO ‘afterlogic’@’localhost’;
FLUSH PRIVILEGES;
mysqlden çıktıktan sonra (quit yazarak veya ctrl+c),kurulumda sorun çıkmaması için ufak bir dosya hatasını gideriyoruz;
cd /usr/share/psa-horde/webmail/install/steps/
chmod 644 root compatibility.php
diğer gerekli yazma izinleri (webmailin bulunduğu alanda php scriptlerini Apache çalıştırıyorsa;
cd /usr/share/psa-horde/webmail/
chown apache.apache data/ -R
Browserınızın adres satırına kurulum url adresi olarak aşağıdaki satıra kendi alanadınızın adını yazın.
http://webmail.sizinalanadiniz.com/webmail/install/
web tabanlı kurulum.sırasıyla aşağıdaki aşamaları geçin;
aşamaları tamamladıktan sonra kurulum sizden install dizinini silmenizi isteyecektir;
cd /usr/share/psa-horde/webmail/
rm -rf install/
artık horde webmaili kullanmayacaksanız index.php nin adını değiştirip,yeni index.php nizi oluşturun.
cd /usr/share/psa-horde/
mv index.php index.old.horde
içine şunları yazın.
nano index.php
]]><?php
header(‘Location: ./webmail/index.php’);
?>
Quata modülü sayesinde ,postfix mail sunucusunda e-mail kullanıcılarının günlük gönderim limitlerini kontrol edebileceğiniz,web arayüzünden ayarları yapabildiğiniz açık kaynak kodlu yazılım.
Detaylı bilgi ve kurulum dökümanı için http://www.policyd.org/
]]>Öncelikle php betiğinin çalışması için gerekli paketleri sistemimize kuruyoruz.Redhat,Centos kullanıyorsanız şu komutla ilgili paketleri kurabilirsiniz;
yum install php-pear-Auth-SASL.noarch php-pear-Mail.noarch php-pear-Mail-Mime.noarch php-pear-Net-SMTP.noarch php-pear-Net-Socket.noarch
Kurulum bittikten sonra aşağıdaki scripti fmmgw.php adıyla sisteminizde uygun bir yere veya /usr/local/bin altına kopyalayın.
#!/usr/bin/php
<?php
ini_set(‘include_path’, ‘/usr/share/pear’);
//—CONFIG
$config = array(
‘host’ => ‘localhost’,
‘port’ => 25,
‘auth’ => FALSE,
);
$logDir = ‘/var/log’;
$logFile = ‘mail_proxy.log’;
$failPrefix = ‘fail_’;
$EOL = “\n”; // change to \r\n if you send broken mail
$defaultFrom = ‘”hostadresiniz.alanadiniz.com Webserver” <[email protected]>’;
//—END CONFIGif (!$log = fopen(“{$logDir}/{$logFile}”, ‘a’)) {
die(“ERROR: cannot open log file!\n”);
}require(‘Mail.php’); // PEAR::Mail
if (PEAR::isError($Mailer = Mail::factory(‘SMTP’, $config))) {
fwrite($log, ts() . “Failed to create PEAR::Mail object\n”);
fclose($log);
die();
}// get headers/body
$stdin = fopen(‘php://stdin’, ‘r’);
$in = ”;
while (!feof($stdin)) {
$in .= fread($stdin, 1024); // read 1kB at a time
}list ($headers, $body) = explode(“$EOL$EOL”, $in, 2);
$recipients = array();
$headers = explode($EOL, $headers);
$mailHdrs = array();
$lastHdr = false;
$recipFields = array(‘to’,’cc’,’bcc’);
foreach ($headers AS $h) {
if (!preg_match(‘/^[a-z]/i’, $h)) {
if ($lastHdr) {
$lastHdr .= “\n$h”;
}
// skip this line, doesn’t start with a letter
continue;
}
list($field, $val) = explode(‘: ‘, $h, 2);
if (isset($mailHdrs[$field])) {
$mailHdrs[$field] = (array) $mailHdrs[$field];
$mailHdrs[$field][] = $val;
} else {
$mailHdrs[$field] = $val;
}
if (in_array(strtolower($field), $recipFields)) {
if (preg_match_all(‘/[^ ;,]+@[^ ;,]+/’, $val, $m)) {
$recipients = array_merge($recipients, $m[0]);;
}
}
}
if (!isset($mailHdrs[‘From’])) {
$mailHdrs[‘From’] = $defaultFrom;
}$recipients = array_unique($recipients); // remove dupes
if(count($recipients)>2) die(“HATA”);
// send
if (PEAR::isError($send = $Mailer->send($recipients, $mailHdrs, $body))) {
$fn = uniqid($failPrefix);
file_put_contents(“{$logDir}/{$fn}”, $in);
fwrite($log, ts() .”Error sending mail: $fn (“. $send->getMessage() .”)\n”);
$ret = 1; // fail
} else {
fwrite($log, ts() .”Mail sent “. count($recipients) .” recipients.\n”);
$ret = 0; // success
}
fclose($log);
return $ret;//////////////////////////////
function ts()
{
return ‘[‘. date(‘y.m.d H:i:s’) .’] ‘;
}?>
Log dosyanızı elle oluşturun
touch /var/log/mail_proxy.log
Son olarak php.ini dosyanızda ilgili alanı şu şekilde değiştirin.
sed -i -e ‘s:;sendmail_path = /usr/sbin/sendmail -t -i:sendmail_path = /usr/local/bin/fmmgw.php:g’ php.ini
veya nano,vi gibi bir editor ile php.ini dosyanızda
sendmail_path
satırını bulup karşısına
/usr/local/bin/fmmgw.php
yazarak dosyanızı kaydedin.
Apache web servisini resetleyin.
Gönderilen mailleri anlık izlemek için
tail -f /var/log/mail_proxy.log
yazıp inceleyebilirsiniz.
]]>Farklı sistem veya ispconfig,cpanel,directadmin gibi farklı yazılımların kurulu olduğu sunucularda dosya yolları farklılık gösterebilir.Yukarıda verdiğimiz örnek 9.x serisi Linux için olan Plesk sürümleri için geçerlidir.
Komut şu şekilde;
find /var/www/vhosts/*/statistics/logs/error_log -exec ls -la {} \; | awk ‘{print $5 $9}’ | sort -n
Eğer tüm error log ları silmek isterseniz yine yukarıdaki sisteme göre şöyle bir söz dizimi işinize yarayacaktır.
find /var/www/vhosts/*/statistics/logs/error_log -exec rm {} \;
Güncel Not:
Plesk 12.x ve Onyx de log dosyaları hem statistics/logs hem de webdizini/logs altında görünmektedir.Bu dosyalar dosya sisteminden hard (sembolik) link ile bağlanmıştır.Yani aslında aynı dosyadır.Bu durumda komutu şu şekilde uygulayabilirsiniz;
find /var/www/vhosts/logs/error_log -exec ls -la {} \; | awk ‘{print $5 $9}’ | sort -n
]]>
Bu uyumluluğun var olup olmadığını anlamanın iki basit yolu vardır.
Konu php bileşenleri ise;örneğin php-xml php-mbstring gibi,
Satın aldığınız hostinginizde phpinfo.php adıyla bir dosya oluşturun.ismin önemi yok.uzantısı php olsun yeter.ve içine şunları yazın
<?php
phpinfo();
?>
Daha sonra alanadınızla birlikte bu dosyanın tam yolunu tarayıcınızın adres satırına yazarak çağırın.Karşınıza tam da şu şekilde bir ekran gelecektir.(Eğer phpinfo() fonksiyonu birşekilde kapatılmamışsa!)
Karşınıza gelen bu upuzun sayfada sırasıyla hangi php bileşenlerin yüklü olduğunu görebilir,kullanmak istediğiniz scriptin gereksinimleriyle karşılaştırabilirsiniz.
Eğer konu yazma izinleri ile ilgili ise aynı dosyada üçüncü satıra dikkat etmenizi tavsiye ederim.Örneğimizde,bu satırda CGI/FastCGI yazmaktadır.Burada sadece CGI,Apache2 Handler,ISAPI extension hatta php/FPM de yazabilirdi.
Apache2 Handler yazıyorsa başınız yazma izinleriyle dertte demektir.Dosyaları webden yüklemeniz için yazma izinlerini ve dosya sahipliklerini değiştirtmek zorunda kalacaksınız.Daha sonra da bu dosyaları silmek istediğinizde hosting firmanıza telefon veya çağrı açmak zorunda kalacaksınız.ISAPI’ de de aynı durum sözkonusu.
Bu tip sorunlarla karşılaşmamak için barındırma hizmeti satın almadan önce firmayla görüşüp hangi hosting kontrol paneli kullandıklarını sormanızda fayda var.Plesk ise php/fastcgi,cpanel ise phpsuexec,directadmin ise suphp kullanıp kullanmadıklarını sorun.Alacağınız yanıt evet ise joomla veya wordpress bu bakımdan sorunsuz çalışabilir manasına gelecektir.
]]>/usr/local/psa/bin/domain -u hedehodo.com -status disabled
]]># $PRODUCT_ROOT_D/admin/sbin/autoinstaller --select-product-id plesk --select-release-current --reinstall-patch --install-component base
Problemin kaynağını /var/log/atmail/error.log dosyasında anlık olarak görebiliyoruz.atmail istemcisi gereksinim duyduğu javascript dosyalarının pathleri doğru klasörlere yönlendirildiği halde (/etc/apache2/conf.d/zzz_atmail_vhost.conf dosyasında ) bu dosyaları /usr/share/javascript klasörü altında aramaktadır.
Sebebi Ubuntu’nun Apache konfigurasyonunda bir aliastan kaynaklanmaktadır.Sorundan ziyade çakışma olan dosya ve içeriği şu şekildedir.
/etc/apache2/conf.d/javascript-common.conf
Alias /javascript /usr/share/javascript/
<Directory “/usr/share/javascript/”>
Options Indexes FollowSymLinks MultiViews
</Directory>
Bu yönlendirmeyi kontrollü bir şekilde iptal ederek/değiştirerek veya /var/www/atmail/javascript dizini altındaki tüm dosya ve klasörleri /usr/share/javascript altında atarak problemi giderebilirsiniz.
]]>Web sunucunuzdaki geçici işlemler için dosya oluşturulan dizin /tmp dizinidir.Bir web sunucusunda genelde /tmp dizini üzerine tüm kullanıcılar yazma okuma izinlerine sahip oluyor.Böylece herkesin yazabildiği ve okuyabildiği bir alan güvenlik riskini arttırıyor.
Bu riski bir nebze düşürmek için /tmp dizinini ayrı bir partition olarak bağlamalı ve için kod çalıştırılamaz şekilde ayarlamalısınız.
Eğer işin bu kısmını düşünmeden sunucu kurmuşsanız ve diskinizde boş alan yoksa aşağıdaki linux/unix işletim sistemlerine özgü raw disk image mount alternatifini kullanabilirsiniz.
Önce tmp bölümün ne kadar alana gereksinim duyduğuna karar verin ve bunun için diskinizdeki boş alanı kontrol edin
Ssh üzerinden root kullanıcısı ile bağlıyken şu komutu verin;
[root@localhost ]# df -h
/dev/sda1 214G 130G 74G 64% /
Burada / dizininde 74 Gb boş alan olduğunu görüyoruz.Bize tahminen 15 gb tmp dizini yeterli olabilir.
Şimdi disk imajı oluşturma ve sisteme bağlama aşamasındayız.Önemli servislerinizi (mysql,apache vb.) durdurup /tmp dizin içeriğinizi bir yere yedekleyin .Daha sonra aşağıdaki komutları sırasıyla yazın.
dd if=/dev/zero of=/usr/tmpMnt bs=1024 count=15000000
/sbin/mke2fs /usr/tmpMnt
/usr/tmpMnt is not a block special device.
Proceed anyway? (y,n) y
Bu komutları sırasıyla uyguladığınızda artık /usr altında 15 gb ‘lık tmpMnt dosyanızın olduğunu görebilirsiniz.Imajı sisteme tmp olarak bağlayalım;
mount -o loop,noexec,nosuid,rw /usr/tmpMnt /tmp
Bu komuttan sonra hiçbir hata çıkmadıysa disk imajı tmp olarak bağlanmış demektir.Daha önce başka bir yere almış olduğunuz dosyaları şimdi /tmp ‘e tekrar aktarıp servislerinizi çalıştırabilirsiniz.
Ayarların her açılışta yüklenmesi için,
nano ile /etc/fstab dosyasını açıp alttaki satırı dosyanın en altına yazın.
/usr/tmpMnt /tmp ext2 loop,noexec,nosuid,rw 0 0
Not 1: Bu işlemler sonucunda /tmp dizinin izinleri değişmiş olabilir.
chmod 1777 /tmp çalıştırın.
Not 2: /usr/tmpMnt yolu zorunlu değildir.İstediğiniz klasörde istediğiniz isimle imaj dosyasını oluşturabilirsiniz.Yeterki fstabdaki isimler doğru olsun.
Not 3: Herşey bittikten sonra mount komutu ile /tmp dizinin doğru bağlandığına emin olun.
]]>
Örneğin ben bu kurulumu Debian Linux 6 ‘da yapabildim.Bundan önce Ubuntu Server 11 (i386,x64) ve Ubuntu 10.04.1 (i386,x64) LTS’de denedim.Yani kurulumu tamamlamak için toplam 5 kez linux kurmak zorunda kaldım.Bunun sebebi tahminimce l2tpd servisi ile OS kernel uyumsuzluğu veya openswan ‘ın kullandığı kernel modullerinin yine OS kernel ile tam uyumlu çalışmaması.
Eğer böyle bir sistem kullanmak istiyorsanız muhtemelen windows istemcilerle vpn yapmak isteyeceksiniz.Bu durumda ipsec/l2tpd vpn bağlantısı bakımından Windows Xp,Vista veya Windows 7 ‘nin de farklılıklar gösterdiğini görebilirsiniz.
Tecrübe ettiğim diğer bir husus da ADSL modem.Ben evimde zxyel 660 prestige modem kullanıyorum.Piyasadaki modemlere göre eski fakat iyi cihazlardan biri.Fakat l2tp/ipsec vpn bağlantımı sunucuya ulaştıramıyor.Yani istek modemden dışarı çıkmıyor.Belki bir firmware ile çözülebilir.
Son olarak söyleyeceğim şey,kurulumu aynen benim gibi yapsanız bile sistemin çalışmama olasılığının her zaman mevcut olması.
Bu kadar gereksiz sözden sonra kurulum ortamına geçeyim.
Sunucu ve istemci altyapısı
Sunucu ve istemci Vmware üzerinde çalışmaktadır.
Debian Linux 6 Kernel 2.6.32-5-686 üzerinde Openswan (2.6.28+dfsg-5) + Xl2tpd (1.2.7+dfsg-1)
Sunucunun iki etherneti var.Biri real ip diğer lokal ip ye sahip.
İstemci Windows 2008 R2 x64
Kurulum
İşletim sisteminin kurulumunu en basit haliyle tamamladıktan sonra ethernetlerinize ip adreslerinizi atadıktan sonra paketleri kuralım.
(Burda önemli bir nokta,eğer sunucunuz direk real ip ile internete bağlanmıyorsa,bir modem veya firewall arkasında bulunuyorsa ipsec ayarlarını değiştirmek zorunda kalabilirsiniz.)
Paketleri apt ile kuruyoruz.
Konsolda;
apt-get install openswan xl2tpd
Bu komutu verdikten sonra ipsec x.509 ile ilgili bir soru ile karşılaşacaksınız.Buna hayır cevabını verin.
Apt paketleri kuracak fakat bunlar standart konfigurasyonlarıyla çalışmaya başlayacaktır.
Openswan sistemde hali hazırda netkey modulunu tanıyacağı için bu modul ile çalışmaya başlayacaktır.
Xl2tpd için de durum farklı değil.Henüz ayarlar yapılmadığı için sadece çalışıyor vaziyette olacaktır.
Konsolda;
ipsec verify
ps aux | grep ipsec
ps aux | grep xl2tpd
komutlarıyla servislerin başlayıp başlamadığını görebilirsiniz.
ipsec verify çıktısı aşağıdaki gibi görülecektir
> ipsec verify
> Checking your system to see if IPsec got installed and started
> correctly:
> Version check and ipsec on-path [OK]
> Linux Openswan kernel_version (netkey)
> Checking for IPsec support in kernel [OK]
> NETKEY detected, testing for disabled ICMP send_redirects
> [FAILED]
>
> Please disable /proc/sys/net/ipv4/conf/*/send_redirects
> or NETKEY will cause the sending of bogus ICMP redirects!
>
> NETKEY detected, testing for disabled ICMP accept_redirects
> [FAILED]
>
> Please disable /proc/sys/net/ipv4/conf/*/accept_redirects
> or NETKEY will accept bogus ICMP redirects!
>
> Checking for RSA private key (/etc/ipsec.secrets) [OK]
> Checking that pluto is running [OK]
> Checking for ‘ip’ command [OK]
> Checking for ‘iptables’ command [OK]
> Opportunistic Encryption Support
> [DISABLED]
FAILED olan kısımlardaki problemleri gidermek için /etc/sysctl.conf dosyasının bir yedeğini alıp,bir editor ile açın ve aşağıdaki satırları uygun biçimde yerleştirin
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.conf.default.log_martians = 0
net.ipv4.conf.all.log_martians = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.neigh.default.gc_thresh1 = 1024
net.ipv4.neigh.default.gc_thresh2 = 2048
net.ipv4.neigh.default.gc_thresh3 = 4096
sysctl.conf dosyanızı kaydettikten sonra
Konsolda;
sysctl -p komutunu verin veya sunucunuzu baştan başlatın.
Önemli bir nokta,sunucunuzu baştan başlattığınızda ipsec pid askıda kalmış olduğu için açılışta start edilemiyor.Debian ve Ubuntuya özgü bir durumdan da kaynaklanıyor olabilir.Henüz gerçek ortama geçirmediğim için üzerinde durmadım.
]]>
Sorun;
Eğer plesk 9.x kurulu sunucunuzda postfix kullanıyorsanız ve plesk_virtual sisteminizde halihazırda açık olan domainlerdeki e-mail adreslerine gönderilen e-mailleri teslim etmiyorsa şöyle hatalar verecektir.
Hata Log 1
do not list mydomain in BOTH virtual_mailbox_domains and relay_domains
Hata Log 2
User unknown in virtual alias table
Çözüm;
Postfixin main.cf dosyasında da görebileceğiniz gibi tum domain ve hesap bilgileri /var/spool/postfix/plesk altında *.db dosyalarında bulunmaktadır.Servisi stop edip aşağıdaki dosyaların isimlerini değiştirip daha sonra dosyaları tekrar oluşturmak için şu komutları kullanın
/usr/local/psa/admin/sbin/mailmng –stop-service
mv /var/spool/postfix/plesk/virtual.db /var/spool/postfix/plesk/virtual.db_
mv /var/spool/postfix/plesk/virtual_domains.db /var/spool/postfix/plesk/virtual_domains.db_
mv /var/spool/postfix/plesk/vmailbox.db /var/spool/postfix/plesk/vmailbox.db_
ardından;
/usr/local/psa/admin/sbin/mchk –without-spam
(ben spamassassin kullanmadığım için spamassassin ayarlarını restore etmiyorum.siz kullanıyorsanız bunu –with-spam olarak kullanabilirsiniz)
Bu komut db dosyalarını tekrar oluşturacak.İşlem bittikten sonra mail servisini tekrar start edip kontrollerinizi yapın.
]]>/usr/local/psa/admin/sbin/mailmng –stop-service
Boot loader kullanmaktasınız.Açılışta Freebsd sizden prompt bekliyor.Zaten tek OS kullanılıyorsanız ne için bu süreyi bekleyesiniz?
Aşağıdaki komutla mbr kaydını değiştirebilirsiniz.
fdisk -B -b /boot/mbr /dev/ad0
Böylece işletim sisteminiz beklemeden açılacaktır.
]]>Sürümü güncellemek için aşağıdaki ekran görüntülerindeki adımları sisteminizde uygulayın.
veya aşağıdaki adımları uygulayayın;
Atomic depolarını sunucumuzdaki yum paket yöneticisine ekliyoruz..
wget -q -O – http://www.atomicorp.com/installers/atomic |sh
Daha sonra bu /etc/yum.repos.d/atomic.repo dosyasını bir text editorle açıyoruz..
nano /etc/yum.repos.d/atomic.repo
ve aşağıdaki işaretli alanın değerini 1 yapıp dosyayı kaydediyoruz.
# Almost Stable, release candidates for [atomic] # Note these are not supported by anyone. -Scott
[atomic-testing] name = CentOS / Red Hat Enterprise Linux $releasever – atomicrocketturtle.com – (Testing)
mirrorlist = http://www.atomicorp.com/mirrorlist/atomic-testing/centos-5-$basearch
enabled = 1
priority = 1
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY.art.txt
gpgcheck = 1
daha sonra
yum upgrade psa-proftpd
veya
yum upgrade psa-proftpd-xinetd (plesk 8.6 versiyonları için geçerli)
olarak proftp yi güncelleyiniz.
]]>Sunucuya ssh üzerinden root olarak login olduktan sonra aşağıdaki epel paketi sisteminize indirin
[root@server ~]# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
Ardından php 5.3 paketinin bulunduğu depoyu kullanabilmeniz için şu adresten indireceğiniz rpm paketini şu şekilde sisteminize kurun.
- [root@server ~]# wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
- [root@server ~]# rpm -ihv remi-release-5.rpm
Artık php 5.3 kurmaya hazırsınız.Aslında paket bağımlılıkları ve sistemin güncel olması açısından buna php ve mysql güncellemesi de diyebiliriz.Son olarak;
[root@server ~]# yum –enablerepo=remi update php-\* mysql-\*
Böylece php ,mysql kütüphaneleri ve mysql veritabanını upgrade etmiş oldunuz.Son olarak service httpd restart komutu ile apache’yi resetledikten sonra web alanınıza bir yere bir phpinfo() kodu yazıp güncellemeyi kontrol edebilirsiniz.
]]>
Microsoft RDP portunu değiştirmek için aşağıdaki registery anahtarını bulup ,ondalık olarak değiştire tıklayın
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber
Plesk’in 9 versiyonlarındaki en büyük yeniliği qmail yerine postfix kullanabiliyor olmanız.Tek bir satırda sunucuyu komple postfixe çevirip büyük bir dertten kurtulabilirsiniz.
/usr/local/psa/admin/sbin/autoinstaller –select-release-current –install-component postfix
Ancak daha sonra sizi belki de ufak bir problem bekliyor olabilir.Plesk 8.6 vey 9 da Qmail ile kullandığınız sunucuda smtp girişini sadece isimle yapabilirken,postfix de ancak tam e-mail adresinizle kimlik doğrulama yapabilirsiniz.
]]>
Swsoft Plesk’in 9.x versiyonlarında yedekleme sistemi tamamiyle değişti,8.x kurulu olan bir sunucunuzdan yedeğiniz öncelikle 9.x uyumlu olmalı.Windows versiyonlarında öncelikle aşağıdaki komutu çalıştırıp yedeği 9.x e uyumlu hale getirmelisiniz.
]]>“%plesk_bin%\pre9-backup-convert” –source=c:\yedek.psa –destination=”%plesk_dir%\Backup”
GFI MailEssentials,günümüzde spam kontrolü için en güçlü yazılımlardan biri.Desteklediği e-posta sunucularının yanısıra özellikleri ve güçlü Bayesian tekniği ile dikkat çekiyor.Ancak bu yazıdaki screencastlerde sadece kurulum sonrasında alanadınızın mx kayıtlarında yapılacak değişiklik ve gfi dan gerçek e-posta sunucusuna transfer edilmesi için gerekli ayarları izleyebilirsiniz.
İlk olarak yapmanız gereken alanadı/hostinginiz için antispam sunucunuzu anti-spam filtreleme yapabilmesini sağlamak..
İkinci videodaki aşama dns ayarlarınızı size gönderilen e-postaların ,sunucunuza ulaşmadan önce anti-spam sunucunuzda filtrelenmesi için gereken dns/mx ayarları..
Bu dökümanda bu esnekliği sağlayan ayarları ve ek olarak trafiği yüksek e-mail sunucuları için neler yapılabileceğini açıklamaya çalışacağım.
Mailscanner’ın ana ayar dosyası Mailscanner.conf dosyasındaki parametrelere bir göz atalım.
Eğer öntanımlı değerinde bırakırsanız,mailscanner’ın her prosesi kuyruktaki mesajları 6 saniyelik aralıklarla tarayacaktır.Daha hızlı bir tarama için değeri düşürmelisiniz.
Mailscanner ön tanımlı olarak her 4 saatte bir kendini restart eder.Bu da yetersiz bellek gibi kaynak sorunlarının sistemi (bir miktar) etkilememesini sağlar.
Mailscanner gelen mesajları ,toplu işlemler oluşturarak yapar.Her toplu işte kaç megabyte’a kadar mail taraması yapacağını veya kaç adet mesajı tarayacağını limitleyebilirsiniz.Sunucu yükü ve donanım performasına göre bunları deneyerek dengeli bir konfigurasyona ulaşabilirsiniz.Unutmayın ki toplu mesaj taramaları çalışırken mesajlar sunucunuza gelmeye devam edecektir.Tarama için gereğinden fazla mesaj sayısı(Max Unscanned Messages Per Scan,Max Unsafe Messages Per Scan),mailscanner’in gecikmesine,postfixin hold kuyruğunun büyümesine sebep olabilir.
Mailscanner ile,istediğiniz dosyayı ismine,tipine veya uzantısına göre kullanıcıya ulaşıp ulaşmamasına karar verebilirsiniz.Yasakladığınız dosyalar mesaj eklerinden silinecektir.Bununla ilgili ayarları Attachment Filename Checking başlığı altında görebilirsiniz.
Mailscanner aynı zamanda gelişmiş bir raporlama ve hata bildirimine sahiptir.Örneğin yukarıdaki dosya filtrelemelerine göre,spam veya virus gibi farklı durumları özel mesajlarınızla kullanıcınıza bildirebilirsiniz.
Bana sorarsanız,bu konuda mailscanner gelişmiş özelliklere sahip olsa da,bunları özelleştirmekle vakit harcamadan önce kullanıcı profilinizi göz önünde bulundurun derim.Neticede onları mesajın gitmesi,gelmesi ve spam mesajların ortadan kalkması haricindeki diğer konular pek ilgilendirmemektedir.
Mailscanner’ı hangi blacklist sunucularını kullanmasını istediğinizi de belirtebilirsiniz.Spam Detection and Spam Lists (DNS blocklists) başlığı altında Spam List parametresi karşısına,aynı dizinde bulabileceğiniz spam.lists.conf dosyasından istediğin rbl leri yazıp kullanabilirsiniz.Bunun yanısıra whitelist,scoring ayarları da yapmak,spamassassin ayarlarını da değiştirmek mümkün.Örneğin Required SpamAssassin Score veya Max SpamAssassin Size gibi.Spamassassin biraz yavaş da olsa en çok kullanılan antispam yazılımı.Dolayısıyla size,timeout gibi ayarlarla spamassassin’in mail trafiğinizi geciktirmesini bir miktar engelleyebilirsiniz.
Mailscanner’ın en çok beğendim özelliği ,spam ve spam olmayan mesajların ne yapılacağı konusunda birden fazla alternatif sunması.
Yukarıdaki kural uygulandığında mesajın başlığına “X-Spam-Status= Yes” ekler ve kullanıcıya teslim eder.
Yukarıdaki kural ile spam mesajı sildirmiş olursunuz.
Yukarıdaki kural spam mesajı kullanıcıya ulaştırmadan quarantine dizinine taşır
Yukarıdaki kuralı uygularsanız,spam mesajlar belirtilen mail hesabına yönlendirilir.
Spam mesaj kullanıcıya gönderilmez ancak küçük bir mesajı ile kendisine spam mesajın geldiğini bildirir.
Mailscanner konfigurasyonu burada bitmiyor elbette.Ben en çok ihtiyaç duyabileceğiniz özelliklerini açıklamaya çalıştım.Gerisi size kalmış.
]]>
Bölüm 1:Kurulum
————————————————————————
Bu dökümanda anlatılanlar size ne kazandırır?
Kopyala & Yapıştır yöntemiyle bir e-mail sunucusuna sahip olursunuz.
Çok başarılı bir antispam uygulaması olan mailscanner sayesinde spamlara boğulmassınız.
Debian GNU/Linux işletim sistemini ilk kez kullanıyorsanız,program kurmanının ne kadar rahat olduğunu keşfedersiniz.
Daha önce satın aldığınız bu tip bir yazılım varsa “ah! tüh! vah! diyebilirsiniz.Ne diyebilirim ki?Internette biraz araştırma yapsaydınız!Ticari programlara binlerce dolar para vereceğinize bu projelere biraz destek olsaydınız içiniz daha rahat ederdi eminim…
Kullanılan Yazılımlar ve Sürümleri
Debian GNU/Linux 4 (Etch)
Postfix 2.3.8-2
Courier pop 0.53.3-5
Sasl 2.1.22
Mysql 5.0.32
Mailscanner 4.55.10-3
Spamassassin 3.1.7-2
Postfix Kurulumu
Aşağıdaki komutla kuruluma başlayın;
apt-get install mysql-server-5.0 courier-authlib-mysql libpam-mysql libnss-mysql libsasl2-modules sasl2-bin postfix-mysql courier-pop postfix mailscanner
Yukarıdaki paketlerin konfigurasyonu esnasında mysql,postfix,courier size bir takım sorular soracaktır.Varsayılan cevapları verebilirsiniz.Konfigurasyon dosyalarını değiştireceğimiz için vereceğiniz cevaplar çok önemli değil.
Postfix’te çalışacak sanal mail klasörleri için aşağıdaki komutlarla kullanıcıyı sisteminize ekleyin.
groupadd -g 5000 vmail
useradd -m -d /home/vmail -u 5000 -g 5000 vmail
/etc/default klasörü altındaki saslauthd dosyasını açın.aşağıdaki satırları ekleyin.
####################### /etc/default/saslauthd ############################# START=yes MECHANISMS="pam" PARAMS="-m /var/spool/postfix/var/run/saslauthd -r" OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"####################### /etc/default/saslauthd #############################
Yukarıdaki dosyayı editledikten sonra kaydedip çıkın.Az önce postfix için saslauthd dosyasındaki klasörü oluşturun
mkdir -p /var/spool/postfix/var/run/saslauthd
Saslauthd servisini çalıştırın.
/etc/init.d/saslauthd start
Aşağıdaki linkten postfix için konfigurasyon dosyalarını sunucunuza indirin.Bunları /etc/postfix klasörüne kopyalayın.İsterseniz kopyalama yapmadan önce bu klasörü farklı bir isimde kaydedip içindeki dosyaları silebilirsiniz.
/ Link postfix.tar /
Postfixin mysql konfigurasyon dosyalarında göreceğiniz üzere bir mysql veritabanına ihtiyacınız olacak.Aşağıdaki bu veritabanının örnek şemasını indirip,phpmyadminle veya konsoldan mysql sunucunuza import edebilirsiniz.
Bu aşamada,dosyalarda yazılı olan mysql kullanıcı bilgilerini dilediğiniz gibi değiştirebilirsiniz.Yeterki mysql sunucuda oluşturacağınız kullanıcı bilgileriyle aynı olsun.
/ Link mail.sql /
Not: Yukarıda linki verilen sql şeması herhangi bir veri içermiyor.Bu yüzden dosyayı veritabanınıza import ettikten sonra sisteminize kullanıcı eklemelisiniz.Önce domain tablosuna alanadınızı daha sonra users tablosuna sırasıyla e-mail adresi,şifre (ENCRYPT olmalı) ve kota (BYTE tipinde) bilgilerini eklemelisiniz.
Sıra benim bu kurulumu ilk yaptığımda “niye çalışmıyor!” şeklinde söylenerek,kıvrandığım aşamada.Aşağıdaki linkteki dosyayı /etc/pam.d/ dizinine kopyalayın.Dosyadaki mysql kullanıcı bilgileri,postfix için indirdiğiniz dosyalardakilerle aynı olmalıdır.
/ Link smtp /
Courier Pop Kurulumu
Courier için özel bir konfigurasyone gerek yok.Aşağıdaki dosyaları /etc/courier altına kopyalayın yeterli.Yine belirteyim,authmysqlrc dosyasındaki mysql kullanıcı da aynı veritabanına bağlanabilmesi lazım.
/ Link authmysqlrc/
Mailscanner Kurulumu
Mailscanner size ne avantaj sağlar?
– Yüksek trafikli mail gateway lerde rahatlıkla kullanabilirsiniz.
– Mail trafiğinin çok yüksek olduğu veya spam saldırısının olduğu anlarda bile amavis e göre bellek kullanımı çok daha düşüktür.
– Çok ayrıntılı,kolayca anlaşılır konfigurasyon dosyalarına sahiptir ve esnek bir yapıya sahiptir.
– Acil durumlarda devre dışı bırakılması çok pratiktir.
– Pek çok antivirüs yazılımı ile uyumludur.
-Postfix yapılandırması
Mailscanner ile postfixin beraber çalışabilmesi için main.cf dosyanıza aşağıdaki satırı ekleyin
header_checks = regexp:/etc/postfix/header_checks
Daha sonra yeni /etc/postfix/header_checks dosyanızı açıp aşağıdaki satırı ekleyin.
/^Received:/ HOLD
Mailscanner ile birlikte clam antivirüs ün en güncel versiyonunu kurabilmek için aşağıdaki adresi /etc/apt/sourcelist dosyanıza ekleyin.
deb http://volatile.debian.org/debian-volatile etch/volatile main
Daha sonra mailscanner ile birlikte clamav’ı sisteminize kurun
apt-get install clamav clamav-base clamav-daemon libclamav4 mailscanner
Kurulum tamamlandıktan sonra sırasıyla aşağıdaki dosya izinlerini uygulayın.
chown postfix.postfix /var/spool/MailScanner/ -R
chown postfix.postfix /var/lib/MailScanner/ -R
chown postfix.postfix /var/run/MailScanner/ -R
chown postfix.postfix /var/lock/subsys/MailScanner -R
daha sonra /etc/default/mailscanner dosyasını açıp aşağıdaki satırı aktif hale getirin
#run_mailscanner=1
/etc/MailScanner/MailScanner.conf dosyasını açıp aşağıdaki değişiklikleri yapın.
Run As User = postfix
Run As Group = postfix
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming
MTA = postfix
Yukarıdaki değişiklikleri yaptıktan sonra mailscanner ve postfix servisleri resetleyin.
/etc/init.d/mailscanner restart
/etc/init.d/postfix restart
Notlar:
Mysql Sunucunuzdaki veritabanınıza ilk kullanıcınızı ekleyip thunderbird veya outlooktan deneme yaptığınızda e-mail istemciniz hata verecektir.Bunun sebebi henüz domain ve kullanıcı klasörleri ( Maildir ) oluşmamasındandır.Klasörlerin otomatik yaratılabilmesi için ,sisteme telnet ile 25.porta bağlanıp veya başka bir e-mail hesabınızdan mail gönderin.Sistem,kendisine gelen e-postaların sahiplerini users ve domains tablolarından kontrol edecek,eğer varsa gerekli klasörleri oluşturacaktır.
]]>Debian 4 stable üzerinde;
Kaynaktan derlenen yazılımlar
Qmail 1.03 (qmailrocks)
Vpopmail 5.4.13 (qmailrocks)
DEB paketlerinden kurulanlar
courier-authdaemon 0.58-4 Courier authentication daemon
courier-authlib 0.58-4 Courier authentication library
courier-authlib-userdb 0.58-4 userdb support for the Courier authenticatio
courier-base 0.53.3-5 Courier Mail Server – Base system
courier-imap 4.1.1.20060828-5 Courier Mail Server – IMAP server
courier-imap-ssl 4.1.1.20060828-5 Courier Mail Server – IMAP over SSL
courier-ssl 0.53.3-5 Courier Mail Server – SSL/TLS Support
Ne yazıkki herşeyi kurduktan sonra test aşamasında farkettim.Anlaşılan courier ,kimlik doğrulama esnasında kullanılabilen modullerden biri olan ,vpopmail tabanlı authvchkpw modulunu çöpe atmış…Yazılımın websitesinden ve Inter7 den de durum böyle anlaşılıyor.
İllaki authvchkpw destekli bir kuruluma ihtiyaç duyuyorsanız şansınızı kaynak paketlerinden deneyin derim.Debian paketleri yerine kaynaktan derlemek isteseniz bile ./configure parametrelerinde kurduğunuz vpopmail kullanıcısını vs belirtmeden bu sorunu aşamıyorsunuz.
Hemen karar vermeden önce courier’in buna yönelik alternatif bir çözümü olduğunu belirtmek istiyorum.Zaten yazmama sebep olan çözüm de bu..
Yukarıdaki courier paketini kurduktan sonra sisteminizde "vchkpw2userdb" isimli scripti göreceksiniz.İsminden de anlaşılabileceği gibi bu script,varolan vpopmail veritabanını userdb ye çevirmek için kullanıyorsunuz.Bununla ilgili örnek kullanımı aşağıda yazdım.
Not : Sunucumda çalışan vpopmail cdb kullandığı için,örneğim de buna yönelik oldu.Başka bir veritabanından userdb ye çevirme fırsatım olmadı.Eğer bu konuda bir sıkıntı yaşarsanız,kullandığınız veritabanını vconvert ile önce cdb ye çevirmeyi deneyin.(vconvert vpopmail beraberinde geliyor.~/vpopmail/bin altında bulabilirsiniz.
VpopMail Hesaplarının userdb ye aktarılması
mkdir /etc/courier/userdb
chmod 700 /etc/courier/userdb
vchkpw2userdb –todir=/etc/courier/userdb/vpopmail
makeuserdb
Kaynak
http://www.inter7.com/courierimap/INSTALL.html#userdb
]]>Aşağıdaki satırlara göre /etc/apt altındaki source.list dosyanızı
güncelleyin.
deb http://http.us.debian.org/debian stable main contrib non-free
deb http://security.debian.org/ stable/updates main contrib non-free
deb http://security.debian.org/ stable/updates main contrib
Daha sonra hylafax ı kuralım.Pek çok önerilen paket var.Sadece bağımlı
paketlerle beraber kurmayı yeterli olduğunu sanıyorum.
apt-get install hylafax-server wvdial
Paketler indikten sonra en son hylafaxın configurasyonu için interaktif
kurulum aşamasına geliyorsunuz.Sorulara ön tanımlı cevaplar verebilirsiniz.
Daha sonra wvdialconf (wvdial programının ayarlarını otomatik dosyaya
yazan program) programını çalıştırıp modemin hangi portta olduğunu
buluyoruz.
Bizim kurulumumuzda modem us robotics ext. 56k com1 portuna
bağlı,dolayısıyla wvdialconf,modemi ttyS0 da buluyor.
Daha sonra hylafax modem ve diğer ayarları için faxsetup scriptini
çalıştırıyoruz.Faxsetup bize ayrıntılı sorularla sıkıntılı anlar
yaşattığı için soruların pek çoğuna öntanımlı cevapları veriyoruz.
Kendi adıma konuşucak olursam,modemler hakkında pek fazla bişey
bilmiyorum.Faxsetup scriptinin sorduğu sorular arasında dikkat ettiğim,
CountryCode: 90
AreaCode: 232
FAXNumber: 4616848
RecvFileMode: 0644
LogFileMode: 0644
DeviceMode: 0644
RingsBeforeAnswer: 1
LocalIdentifier: “NothingSetup” (Gönderdiğiniz faxta görünmesini
istediğiniz firma ismi olabilir)
Hylafaxın ayarları bu interaktif kurulum programındakilerle kalmıyor
elbette.(Opsiyonel ayarları yazıcıya bastırınca 30-40 sayfa çıkıyor)
Ek olarak, sonradan bu ayarları /etc/hylafax altındaki dosyalardan da
değiştirebilirsiniz.
Modeminiz eğer doğru şekilde ayarlandıysa,/etc/hylafax klsörü altında
config.ttyS0 (modemin bu porta takılı olduğunu varsayarak) dosyasının
oluştuğunu görebilirsiniz.
Kurulum burada bitiyor.Sistem processlerine bakarak hylafaxın çalışıp
çalışmadığına bakabilir veya hata verdiyse /var/log/syslog dosyasından
hatanın ayrıntıların inceleyebilirsiniz.
İstemci kurulumlarına başlamadan önce fax hizmetini kullanacak
kullanıcıların hesaplarını yaratıyoruz.
$localhost:/etc/hylafax# faxadduser ozgur
İstediğiniz kadar kullanıcı açtıktan sonra,istemcilere hangi prgramı
kuracağınıza karar vermeniz gerekiyor.Benim önerebileceğim iki program
var.Birincisi whfc.Oldukça sade bir program.Bazı eksikliklerine gıcık
olursanız bunun yerine daha ayrıntılı bir hylafax istemcisi olan frogfax
ı kullanabilirsiniz.
Dökümanın sonunda bu programlarla ilgili ayrıntıları bulabilirsiniz.
II.BÖLÜM
Fax2Mail Gateway kurulumu
Gelen faxların belirtilen e-mail adresine pdf formatında gelmesini için
aşağıdaki işlemleri uygulayın
Sunucu aynı zamanda bir e-mail sunucusu değilse ,sisteme postfixi
standart ayarlarla kurun.
$localhost:/etc/hylafax# apt-get install postfix
/var/spool/hylafax/etc klasörüne girin
FaxDispatch isminde bir dosya yaratın ve şu şekilde editleyin.
SENDTO=FaxMaster; # ön tanımlı olarak
gelen faxı lokaldeki faxmaster kullanıcına mail olarak gönder
FILETYPE=pdf; # gelen faxta eklenti
olarak pdf formatını kullan
Bu dosyayı kaydederek çıkın.
Aynı klasör içinde,giden faksların da e-mail adresine yönlendirilmesi için FaxNotify dosyasını oluşturun.Dosyayı şu aşağıdaki satırlara göre düzenleyin.
RETURNFILETYPE=pdf;
Bu dosyayı da kaydederek çıkın.
Hylafax için gelen ve giden faksların e-mail adresinize yönlendirilmesi işlemi bu kadar basit.Ancak bu faksları gerçek bir mail hesabına yönlendirmemiz lazım.Bunun için aşağıdaki adımları izleyin ;
Bir editorle /etc/aliases dosyasını açın.
faxmaster : email adresiniz@alanadınız.com
yazarak kaydedin.
newaliases komutun çalıştırın,postfix servisini vee hylafax’ı reload edin.
Hepsi bu kadar.Testlerinizi yapın.Gelen ve giden faksların pdf ekli e-mail olarak belirttiğiniz hesapa
geldiğini göreceksiniz.
Tıpkı diğer yazdığım belgeler gibi bu belge de kirlidir.Ama siz buna aldırmayabilirsiniz.Çünkü işe yaramaz şeyler yazmamaya gayret ediyorum.Bozuk türkçem için tekrar özür.Birgün düzelecek:)
Neden Dansguardian? Squid bize yetmez mi?
Eğer konu içerik filtreleme ise yetmez.Çünkü squid çok başarılı bir http proxydir,access control list yapısı bence benzersizdir ancak konu içerik filtreleme (dikkat adres satırı değil,içerik!) olunca ne yazıkki yetersiz kalıyor.
Dansguardian işte burda devreye giriyor,squidin yapamadığı içerik filtrelemeyi başarıyla gerçekleştiriyor.
Peki neden sadece dansguardian kullanamıyoruz?
Öööle yapmış adamlar napalım yani:)Dansguardian mutlaka bir http proxy ile beraber çalışmak zorunda.Cachei,Acl,Delay Pools,Httpd Accel gibi özellikleri yok.Tek yaptığı iş web sayfalarının içeriğine bakmak.Bunu da gayet iyi yapıyor.
Sorun ne peki?
Dansguardian ile squidi aynı makinaya kurdunuz.dansguardian da ve squidde standart ayarlarları yaptınız.Herşey çalışır durumdayken squid’in access.log una bir bakın.Tüm web isteklerinin kaynak ip’lerinin değişmiş olduğunu göreceksiniz.Artık tüm isteklerin kaynağı proxy sunucunuz gibi görünmektedir.Bu durumda squid’in access control listeleri kullanılamaz hale gelir.
Çözüm ne?
Bildiğim kadarıyla ilk çözüm squid 2.4 versiyonuna bir yamayla başladı.Ama ben bununla ilgilenmedim.Burada yapacağımız squid kurulumu kaynaktan derleme olacaktır.(squid-2.6.STABLE6.tar.gz)
Dansguardian için debian stable depolarından normal kurulum yeterli olacaktır.Dansguardian tarafında sadece dansguardian.conf ta yapacağımız iki satır değişiklik,hepsi bu.
Squid Kurulumu
Yukarda bahsettiğim tar.gz dosyasını www.squid-cache.org dan indirin.Sisteminizde istediğiniz bir yere açın.Şu parametrelerle derleyin.
./configure –enable-follow-x-forwarded-for –enable-linux-netfilter –enable-delay-pools –enable-arp-acl
make all
ve son olarak make install
Aşağıda verdiğim derleme seçeneklerini kısaca açıklamaya çalışacağım
ilk parametre olan enable-follow-x-forwarded-for bizim sorunumuzu çözen parametre.Başka proxy üzerinden istek yapan hostların kendi ip sini bulmamıza yardımcı olur.Buradaki başka proxy dansguardian oluyor.
–enable-linux-netfilter bize transparan proxy yapmamıza imkan tanıyan derleme seçeneğidir.
–enable-delay-pools : Delay Pools Squid’de bandwidth management yapmanıza imkan tanır.
–enable-arp-acl : Ip değiştirmeyi bilen akıllı kullanıcılarınıza,bunun yeterli olmayacağını göstermenize imkan tanıyan parametre.Onlar ethernet kartı veya mac adreslerini değiştirmeyi öğreninceye kadar ,size kurallarınızı uygulayabilme imkanı tanır.
Herhangi bir hata yoksa,squid sisteminize başarıyla kurulmuştur.Eğer farklı bir yol belirlemediyseniz squid /usr/local altındadır.
Aşağıdakileri adım adım yapın.
Proxy adında bir grup ve bu gruba üye aynı isimde bir kullanıcı yaratın.
/usr/local/squid/var/log ve /usr/local/var/cache dizinlerinin haklarını bu kullanıcı ve grupla değiştirin.
/usr/local/squid/etc/squid.conf un bir yedeğini alın.Aşağıdaki satırları dosyanıza ekleyin.
İlk sayfada;
# Squid normally listens to port 3128
http_port sunucu_ip_no:3128 transparent
Acl ile ilgili bölümde koyu olan bölümleri ilave edin.
acl all src 192.168.0.0/255.255.255.0 (siz bunu kendi networkünüze göre ayarlayın)
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
follow_x_forwarded_for allow all
acl_uses_indirect_client on
# delay_pool_uses_indirect_client on (band genişliği sınırlaması yapmıyorsanız buna ihtiyacınız olmaycaktır.
log_uses_indirect_client on
Daha sonra http_access ile başlayan bölüme geçin, kendi politikanıza göre izinleri ve yasakları ayarlayın.
Dosyayı kaydederek çıkın.Squid başlatılmadan önce cache dizin yapısı oluşturulmalıdır.
/usr/local/squid/sbin/squid -z ile cache yapısını oluşturun.Burada bir hata alırsanız dosya izinlerini kontrol edin.
Hata yoksa;
/usr/local/squid/sbin/squid
komutu ile squid çalışacaktır.
Dansguardian‘ın Ayarlanması
Daha önce de belirttiğim gibi dansguardianın standart kurulumu yeterli.Debian veya türevi bi OS kullanıyorsanız apt-get install dansguardian komutu ile sisteminize kurabilirsiniz.
Not:Eğer bunu da kaynaktan derlemek isterseniz dansguardian’ın virüs tarama yeteklerini incelemenizi tavsiye ederim.Ben çok başarılı bulamadım.Özellikle flash web sitelerinde yükleme esnasında çok bekletiyor.Zaten virüs dediğimiz şey sadece web sayfalarında gelse bu kadar başımız ağrımazdı.Anti-virus koruma istiyorsanız size snort_inline+clamav ı tavsiye ederim.Onun dökümanı da bu blogda mevcuttur.Reklam!
/etc/dansguardian altında dansguardian.conf dosyasını açın.
İlk satırlarda UNCONFIGURED yazısı başına bir # ilave edin.
# DansGuardian config file for version 2.8.0
# **NOTE** as of version 2.7.5 most of the list files are now in dansguardianf1.conf
# Comment this line out once you have modified this file to suit your needs
#UNCONFIGURED
Daha sonra şu bölümleri ayarlayın
# Network Settings
#
# the IP that DansGuardian listens on. If left blank DansGuardian will
# listen on all IPs. That would include all NICs, loopback, modem, etc.
# Normally you would have your firewall protecting this, but if you want
# you can limit it to only 1 IP. Yes only one.
filterip = sunucu_ip_no
# the port that DansGuardian listens to.
filterport = 8080
# the ip of the proxy (default is the loopback – i.e. this server)
proxyip = sunucu_ip_no
# the port DansGuardian connects to proxy on
proxyport = 3128
Sonra biraz daha ilerleyerek şu satırları bulun değerleri on yapın.
# Misc settings
# if on it adds an X-Forwarded-For: to the HTTP request
# header. This may help solve some problem sites that need to know the
# source ip. on | off
forwardedfor = on
# if on it uses the X-Forwarded-For: to determine the client
# IP. This is for when you have squid between the clients and DansGuardian.
# Warning – headers are easily spoofed. on | off
usexforwardedfor = on
Dosyayı kaydederek çıkın.Dansguardian’ı start edin.Squidin çalıştığına emin olun.En son bir client başına geçerek birkaç web sayfasına girin.Daha sonra
tail -f /usr/local/squid/var/logs/access.log yazarak istekleri izleyin.Artık squid’de gerçek client ip lerini görebilecek ve buna göre kendi acl lerinizi yazabileceksiniz.
]]># mantik şu.return kurallari bu iki kural arasinda olmali
# cünkü iptables bakacak.once herkesi cikartiyo mu…cikartiyo.
#bi sonraki kural ne diyo 80 al 3128 e yonlendir.
## aaa ama arada bi kural var.istegin sahibi olan ip match oluyosa yani eşleşiyorsa adamı bi ustteki kurala
# tabi tut demek.bi ustteki kural ne ??olay bu. bi sn.sen oku ben cay dold$
# ok .afiyet olsunnn.sakin editoru kapama..bu muhabbeti webte yayinlicam.:Dciddi? oradamısın?
#yes
#bu firewall.def dosyası tüm lnz dağıtımlarında aynı adla mıdı
#oole bi dosya hicbirinde yok.sadece benim kurduğum makinalrda duzenledigim bisey
# genelde iptables kuralsız gelir distrolarda.herşeyi accept eder.nat kurali da bulamassin.
#peki hocam senin standart olarak kullandığın bir firewall.def dosyasını şablon olarak mail atarmısın?
# olur ama soole.calismasi icin bazı izinleri ayarlaman lazim dosya sisteminde.cikalim burdan gostericem.ok.cikiyoz ?
Bu belgede debian linux üzerine snort_inline kurulumunu anlatmaya çalıştım.Snort_inline’in kurulum sonrası özelleştirmeleri sizlere ait.Benim o kadar vaktim olmadı.Ancak belgede anlatılan şekilde kurulum mezzanine’de gerçekleştirildi ve tek istemcili ( o istemci ben oluyorum:) ) networkte 3 hafta kadar testi edildi.Test yorumlarını belgenin sonunda bulabilirsiniz.
Snort_inline için bulabileceğiniz pek az belgede ilk göze çarpan özellik bridge modda çalışması.Kanımca bu çok iyi bir özellik.Bridge,nat moda göre daha esnek ve güvenli.Ayrıca daha az uğraştırıyor:)
Bu yüzden linux üzerinde bridge mod deneyimi olmayanlar için kısa bir bölüm hazırladım.
Gelelim snort_inline’ın ne olduğuna.Snort_inline, snort’un işlevi bakımından değiştirilmiş hali.Snort sadece bir saldırı tespit aracıyken,snort_inline karşımıza bir saldırı koruma aracı olarak çıkıyor.Koruma snortta olduğu gibi yine kural tabanlı.Snort ağda geçen paketleri kokladıktan sonra kurallara göre sizi uyarırken,snort_inline yine bu kurallara göre iptables kuralından gelen paketleri öldürüyor veya reddediyor.Bu durumda snort_inline kurmayı düşündüğünüz sistemin çekirdeğinde iptables/netfilter için ip_queue desteği olması
gerekiyor.Bunu biraz açıklamak lazım.Şöyleki,iptables, queue desteği ile paketi kullanıcı alanını için kuyruğa sokar.Kullanıcı alanında paketi bekleyen bir uygulama varsa işlenir,yoksa paket drop edilir.Tahmin edebileceğiniz gibi o uygulama da snort_inline’dır.
Bu açıklamalardan sonra kuruluma başlayalım.
Bridge Mode için hazırlıklar
apt-get install bridge-utils modconf ebtables //bridge mod için gerekli paketleri kuruyoruz.
ifconfig eth0 0.0.0.0 promisc up // ethernet arayüzlerine ait ip leri değiştiriyoruz.
ifconfig eth1 0.0.0.0 promisc up
brctl addbr br0 // brctl ile br0 adında yeni bir bridge arayüzü oluşturuyoruz.
brctl addif br0 eth0 // ilk ethernet bridge ekleniyor.
brctl addif br0 eth1 // ve ikincisi de.
Bu işlemlerden sonra ifconfig komutu verdiğinizde iki fiziksel ethernet arayüzünün dışında bir de bridge arayüz görüyor olmalısınız.Opsiyonel olarak bu arayüze bir ip ve gateway verebilirsiniz.Hemen bir örnekle açıklayalım.
ifconfig br0 192.168.160.100 netmask 255.255.255.0 up
route add default gw 192.168.160.1 dev br0 // linuxun kendisi böylece nete çıkabilir.
Ip verirken iç networkunuze uygun bir ip vermelisiniz.Eğer bu arayüze bir ip vermesseniz makinanın kendisi nete bağlanamayacaktır.Ama lokasyon olarak arkasında bulunan makinaların nete çıkmasına engel olmayacaktır.
Snort_inline kurulumu
Kurulumda sorun yaşamamak için debian depolarından kurulması gereken paketler
libpcap0.8
libpcap0.8-dev
libpcre3
libpcre3-dev
snort-rules-default
iptables-dev
libclamav1 ve libclamav-dev // snort_inline’a clamav desteği için gerekli.Eğer bu özelliği istemiyorsanız,kurmayabilirsiniz.
Yukarıda adı geçen paketleri şu şekilde kurabilirsiniz.
apt-get install libpcap0.8 libpcap0.8-dev libpcre3 libpcre3-dev iptables-dev libclamav1 libclamav-dev snort-rules-default
libdnet kurulumu
not : libdnet ve libdnet-dev paketleri debian depolarında var.ancak bunları kurduktan sonra bir türlü snort_inline a gösteremedim.siz sorunun sebebini bulabilirseniz lütfen bilgilendirin.uğraşamam diyorsanız,kaynaktan kurulum size sorun çıkarmayacaktır.
wget http://belnet.dl.sourceforge.net/sourceforge/libdnet/libdnet-1.11.tar.gz
tar zxvf libdnet-1.11.tar.gz
./configure && make
make install
Yukarıdaki gibi libdneti kurduktan sonra snort_inline’ı kurmaya başlıyoruz.Debian depolarında aramayın.Unstable/Sid kategorisinde bile bulamassınız.
http://snort-inline.sourceforge.net/download.html
adresinden paketi indirdikten sonra paketi aşağıdaki gibi sisteminize kurun.
tar zxvf snort_inline-2.4.5a.tar.gz
./configure –enable-inline –enable-clamav
–enable-clamav parametresi snort_inline’ı clam antivirüs ile beraber çalıştırmak için gereklidir.Sisteminize ek bir yük istemiyorsanız kurmayın.Ancak şirket içi networkler için oldukça faydalıdır.
make
make install
Yukarıdaki aşamaları sorunsuz geçtiyseniz artık kurulum sonrası ayarlara geçebiliriz.
Kurulum başarıyla gerçekleştikten sonra make install komutu snort_inline’ı /usr/local/bin altına atacaktır.
Kurulum dizininin altındaki etc dizinindeki dosyaları alıp uygun bir yere yerleştirin.Örneğin /usr/local/etc/snort_inline
altına atabilirsiniz.
Sıra snort_inline için en önemli kısma geldi.Kurallar…
Eğer debian depolarından snort-rules-default paketini indirdiyseniz,bu dosyalar sisteminizde /etc/snort/rules
altında bulunuyor olmalı.Bir kural örneğine göz atalım.
alert tcp $EXTERNAL_NET any -> $HOME_NET 110 (msg:”POP3 DELE negative argument attempt”; flow:to_server,established; content:”DELE”; nocase; pcre:”/^DELE\s+-\d/smi”; reference:bugtraq,6053; reference:bugtraq,7445; reference:cve,20022-1539; classtype:misc-attack; sid:2121; rev:9;)
Dikkatinizi çekmek istediğim nokta kuralın “alert” ile başlıyor olması.Bu da snort’un saldırı tespit sistemi olmasından kaynaklanıyor.
Kuralın snort_inline ile birlikte etkili olması için üç kural tipi kullanabiliriz.
drop: paket iptables aracılığıyla bloklanır.snort olayı loglar.
reject: paket yine iptables tarafından bloklanır.snort olayı loglar ve eğer protokol tcp ise tcp reset,protokol
udp ise karşıya “icmp port unreachable” gönderilir.
sdrop: paket iptables tarafından bloklanır.hiçbirşey loglanmaz.
Ben drop kullanmayı tercih ettim ama siz nasıl değiştireceğinize karar verin ve
aşağıdaki script ile bütün kuralları değiştirin
#!/bin/bash
for file in $(ls -1 *.rules)
do
sed -e ‘s:^alert:drop:g’ ${file} > ${file}.new
mv ${file}.new ${file} -f
done
Kuralları değiştirdikten sonra sistemin doğru çalışması için yapmanız gereken bir nokta daha var.
snort_inline.conf dosyanızı açın.İlk tanımlamalar arasında HOME_NET değişkenini kendi sisteminize göre
değiştirin.Bu sizin güvenilir ağınız olmalıdır.
Örneğin;
var HOME_NET 192.168.160.0/24
gibi.
Ayrıca güvenilmeyen ağ tanımlamanız gerekiyor.Ben şöyle yaptım
var EXTERNAL_NET !$HOME_NET
Kurallarınızın bulunduğu dizine göre RULE_PATH değişkenini düzenledikten sonra dosyayı kaydedip çıkın.
Son olarak snort_inline’ı daemon modunda çalıştırmadan önce iptables’a forward edilen bütün paketleri
kuyruğa sokmasını söylüyoruz
iptables -I FORWARD -j QUEUE
ve sonunda….
/usr/local/bin/snort_inline -Q -D -c /usr/local/etc/snort_inline/snort_inline.conf -l /var/log/snort
Not:Iptables stratejiniz tamamiyle size kalmış bişey.Hangi paketleri yönüne göre nasıl snort_inline’a yönlendirmek
isterseniz,iptables kuralını da ona göre belirlemelisiniz.