Windows Serverlarda standart remote desktop Portu: 3389 ‘dur. Bunu Değiştirmek istiyorsak eğer Registry’den bir takım ayarlar yapmalıyız. Bu Portu değiştirmek bir takım deneme yanılma, bruteforce ataklardan vs. koruyacaktır.
Start > Run > regedit
Sunucu üzerinde yaparak Kayıt defteri düzenleyecimizi açıyoruz.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber
kayıt yoluna ulaşıyoruz, RDP-TcpPortNumber sağ tıklayıp edit yapıyoruz açılan ekranda ondalık (decimal) seçiyoruz ve yeni RDP port numaramızı yazıyoruz (vereceğimiz portun başka bir uygulamaya ait olmadığını araştırmalıyız ) örneğin 9009 veriyoruz tamam’a tıklayıp çıkıyoruz.
Serveri reboot ettikten sonra yeni RDP port numaramızdan remote desktop bağlantısı sağlayacaz. RDP ye bağlanırken;
x.x.x.x:PORT
Şeklinde bağlanacağız.
Merhaba;
Linux Server (Centos, Redhat) üzerinde PLESK kullanıyorsanız eğer Alternatif olarak 587 portunu da açmanız gerekecektir bu durumda aşağıdaki yolu izlemeliyiz;
Sunucuya SSH ile eriştikten sonra
root# cd /etc/xinetd.d/
root# nano /etc/services
Komutlarını sırayla veriyoruz ve servis portlarının yer aldığı list karşımıza çıkıyor;
ctrl + w yapıp smtp yazıp entera basıyoruz
Böylelikle 25/udp 25/tcp mail servislerini görüyoruz, burayı direkt olarak 587 olarak değiştirebilirsiniz fakat tüm müşterileriniz Türkiye’den erişmediğini düşünerek, 587′e 25′e alternatif olarak eklememizde fayda var. mail servisinden sonra entera basıp bir satır açalım;
smtp_psa_new 587/tcp mail
smtp_psa_new 587/udp mail
Bu satırları ekleyelim, tab tuşuyla 587/tcp ve mail’i ayıralım rahat okumak için, sonrasında;
cp smtp_psa smtp_psa_new
Komutuyla, smtp_psa ayarlarını smtp_psa_new olarak kopyalayalım, bu işlemden sonra
nano smtp_psa_new
dosyamızı açalım, dosya başlığına dikkat ederseniz;”smtp_psa” yazıyor bu 25′i portun ayarları, 587 için stmp_psa_new adını verdik o halde
service smtp_psa yazan ilk satırı service smtp_psa_new olarak değiştirelim
Buraya kadar tamam;
/etc/init.d/xinetd restart
bu komut ile extended internet deamon’umuzu yeniden başlatalım ve kontrol edelim 25 ve 587 açıkmı;
netstat -anp | grep xinetd
:25 ve :587 göreceğiz, iki portuda dinliyor olacak sunucumuz.
Mysql ayarlarınızda yükleme veya diğer işlemler yaparkan Max_allowed_packet_size hatasını alıyorsanız eğer, şu değişiklikleri yapalım;
my.cnf pathini tesbit edin
locate my.cnf veya whereis my.cnf ile tesbit ettikten sonra standart olarak aşağıdaki gibidir;
editör ile my.cnf ‘yi açalım;
nano /etc/my.cnf
[mysqld] satırının altına
max_allowed_packet=50M
yazıp kaydedip çıkalım.
Mysql servisini yeniden başlattıktan sonra ayarlarımız geçerli olacaktır. 50M değeri örnektir, kapasite ve ihtiyacınıza göre değiştiriniz.
Mysql Sunucunuza uzaktan Navicat vb. gibi programlarla bağlanmak istiyorsanız MYSQL konsolundan bu bağlantıya ve hangi kullancının uzaktan erişeceğine izin vermeniz gerekiyor.
Plesk panel kullandığınızı varsayarak anlatmaktayım,
SSH ile giriş yaptıktan sonra komut satırında;
mysql -uadmin -p`cat /etc/psa/.psa.shadow` mysql
Komutu ile mysql > komut satırına giriş yapmış oluyoruz;
update user set Host = ‘ipadresi’ where User = ‘dbkullanici’;
FLUSH PRIVILEGES;
exit
komutlarını vererek belirttiğimiz IP adresine ve belirttiğimiz DB kullanıcısına uzaktan mysql erişimi vermiş oluyoruz. IP Adresi kısmına % yazarsanız her ip adresinden giriş yapabilir. Db kullanıcı kısmına “admin” yazarsanız mysql root admin’i dışarıya açmış olursunuz.
Sunucu üzerinde veya öncesinde bir firewallda mysql portu (3306) kapalıysa açmanız gerekecektir.
Güvenliği, izinsiz erişimleri ve brute force ataklarını engellemek, root giriş denemelerini en asgariye indirmek için Linux sunucularınızın SSH portunu değiştirmek gerekiyor.
SSH Portunu değiştirmek için;
nano -w /etc/ssh/sshd_config
İle sshd config dosyamızı açıyoruz,
#Port 22
Port 22 başındaki diyezi # kaldırıp, yeni bir port numarası veriyoruz, dikkat edilecek bir kaç unsur var, 1) Vereceğiniz port numarasını başka bir servisin kullanmıyor olması, 2) Eğer sunucu üzerinde veya network’de bir firewall’da port engellemesi varsa yeni ssh portunuza izin vermeleri veya sunucu üzerindeki firewall’da sizin bunu ayarlamanız gerekir.
Portu değiştirdikten sonra
/etc/rc.d/init.d/sshd restart
veya service sshd restart
komutlarıyla SSHD servisimizi yeniden başlatıyoruz ve artık yeni belirttiğimiz PORT üzerinden SSH erişimi sağlayacağız.
Joomla’da bileşen kurulumu yaparken aşağıdaki gibi bir hata alıyorsanız;
Duplicate entry ‘0′ for key 1 SQL=INSERT INTO `jos_components`
jos_components tablonuzda mükerrer kayıt olduğunu söyler, mükerrer kayıt olmayacağına göre auto_increment yapısı değişmiş olabilir, ne yapabiliriz? ;
panelinizden PHPMYAdmin’e girin ve sol taraftan jos_components tablosunu seçin
sağ tarafta açılan ekranda “id” alanının karşısındaki kalem ikonuna tıklayın
açılan sayfada EKSTRA alanındaki açılır kutudan auto_increment seçin
kaydet butonuna tıklayın
Böylelikle jos_components tablosunun id değerini auto_increment olarak değiştirdik ve yeni bileşenlerin alacağı id değeri çakışmayacak ve duplicate entry yapmayacaktır.
Linux PLESK üzerinde PHP versiyonunu güncel stable versiyona yükseltmek istiyorsak eğer, atomicorp ile bunu yapabiliriz,
wget -q -O – http://www.atomicorp.com/installers/atomic.sh |sh
yum install php-xml php-pdo
yum install php-pear
mv /etc/php.ini.rpmnew /etc/php.ini
Sırasıyla, teker teker bu komutları verin ve php sürümünü yükseltin. Atomic gpgkey’leri yes ile kabul edin.
Kriptolanmş PHP kodlarını de-code edip web serverin yorumlayabilmesi için arada platforma gerek vardır, zend ile kriptolanmış ise zend, ioncube kullanılmış ise ioncube’nin sunucuda php extension olarak hazır olması lazım.
SSH ile bağlantımızı yapalım,
Root’da iken sırasıyla aşağıdaki komutları verelim;
wget ftp://ftp.de.netclusive.de/pub/zend/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
tar -zxvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
cd ZendOptimizer-3.3.3-linux-glibc23-i386
sh install.sh
sh install.sh Komutundan sonra otomatik yükleme ekranı çıkacaktır, burada eğer özel bir php.ini dizini felan kullanmıyorsanız eğer tekrar ayar yapmanız gerek yok, next ve agree ile ilerleyelim kurulum bittikten sonra apacheye restart atacak ve kurulum bitecek. Bu işlemde ZEND sunucuya kuruldu.
Zend extension olarak çalışan Ioncube’yi ise şöyle kuracağız
mkdir /usr/local/ioncube/
cd /usr/local/ioncube/
wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
tar zxvf ioncube_loaders_lin_x86.tar.gz
cd ioncube
mv * ../
cd ../
rm -rf ioncube
rm -rf ioncube_loaders_lin_x86.tar
Ioncube’yi download ettik, tar.gz ‘yi açtık, bir üst dizine taşıdık ve boş klasör ile tar dosyamızı sildik, burda loaderlar hazır durumda, şimdi ise , php.ini dosyamızda değişiklik yapmamız gerekiyor. PHP Versiyonunuzu biliyorsunuzdur,
php.ini nerden çalışıyor bir görelim;
php -i | grep php.ini
php.ini ‘nin çalıştığı yolu gördük, söz temsil, usr/local/Zend/etc/php.ini diyebiliriz, editörünüzle php.ini ‘yi açın, nano, vi, pico ne kullanıyorsanız. ve en alt satırlarda [Zend] ibaresini göreceksiniz, bu başlık altında bir takım extensionlar ve pathler var buralara dokunmadan direkt olarak [Zend] ‘in bir alt satırına iniyoruz ve kullandığımız PHP versiyonuna göre ioncube loader path’i ekliyoruz,
zend_extension=/usr/local/ioncube/ioncube_loader_lin_5.2.so
zend_extension_ts=/usr/local/ioncube/ioncube_loader_lin_5.2_ts.so
İoncube loaderleri da php.ini içine ekledik ve işlemimiz tamamlandı, apacheyi restart ettikten sonra yine SSH’da php -v komutunu verip zend ve ioncube sürümlerini vs. görebilirsiniz, hatalı bir kurulum olmuşsa php -v dediğinizde hata mesajınıda verecektir.
Mysql Versiyon geçişlerinde veya sitenizi başka bir servera aktarırken Türkçe karakter vb. hatalardan daha az etkilenmek ve sorunsuz tam güvenli bir aktarım yapmak istiyorsanız, SSH üzerinden alınan mysql yedeğinizi yine SSH üzerinden yeni sunucunuza geri yükleyebilirsiniz.
Yedek Alırken Şu Komutu Kullanabiliriz;
mysqldump –opt -Q -u dbkullanıcı -p databaseadı > /klasor/dosya.sql
Bu Komutu verdikten sonra, Database user’ine ait şifreniz sorulacaktır, şifrenizi girdikten sonra sorunsuz yedek alırsa eğer tekrar komut satırına düşeceksiniz.
Yedeklediğiniz dosyayı karşı sunucuya aktarmak için SCP yapabilirsiniz;
scp dosya.sql 192.168.2.1:/root
Diğer Sunucuya .sql uzantılı dosyanızı aktardıktan sonra
mysql -u dbkullanıcı -p databaseadı < /klasor/dosya.sql
Komutu vereceğiz ve tekrar db user şifresi girilecek, sonrasında sorunsuz yüklerse eğer komut satırına düşecektir.
Windows sunucunuz üzerinde PLESK kontrol paneli kullanıyorsanız eğer, Windows Firewall’ı aktif hale getirip aşağıdaki portları izin listesine eklemeniz yararınıza olacaktır.
TCP 80 | IIS
TCP 587 | SMTP
TCP 110 | POP3
TCP 21 | FTP
TCP 8443 | PLESK-OVERSSL
TCP 8880 | PLESK-NONSSL
TCP 3389 | UZAKMASAÜSTÜ (Eğer uzakmasaüstü portunuz başka ise, kullandığınız portu giriniz!)
TCP 53 | DNS
UDP 53 | DNS
Ek olarak: “Add Program” ‘a tıklayıp C:\Windows\system32\inetsrv\inetinfo.exe dosyasını da izin listesine ekleyip Firewall’ınızı aktif hale getiriniz. Advanced sekmesinden ICMP kısmından ALLOW incoming echo request ‘de seçerseniz sunucunuzu ping’e açabilirsiniz, aksi halde ping’e kapalı kalacaktır.
Neler sağlar; Güvenli erişim, çeşitli sistem açıklarından veya açık portlardan gelecek ataklar, virüsler, broadcast virüslerinden vb. korur.