Skip to content

ssh bağlantısında hesap değişim algoritmasının kullanılması

komut satırından ssh kullanmaya yeni başladıysanız aşagıdakine benzer hatalar ile karşılaşırsanız bunun nedeni sunucu tarafından bir hesap değişim algoritmasının aktif eilmiş olmasındandır.

# ssh  -p 3333 sshuser@ferhatcicek.com
Unable to negotiate with 10.66.26.35 port 3333: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1,diffie-hellman-group14-sha1

peki bu durumda ne yapacaksınız. yukarıdaki çıktıda diffie hellman algoritmasının kullanıldığı belirtiliyor. ssh bağlantısında parametre olarak bunu belirmemiz gerekmektedir.

# ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c 3des-cbc -p 3333 sshuser@ferhatcicek.com 

komutu eksiksiz olarak yazdıysak aşagıdaki şekilde bir çıktı ile karşılacağız..

The authenticity of host '[ferhatcicek.com]:3333 ([10.66.26.35]:3333)' can't be established.
RSA key fingerprint is SHA256:NHXQ1no3z/Z2e/KoqrKyn0vNKlYhKmhvhtsQFXS4rvk.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

yes yazarak kabul ettikten sonra ne bağlantı gerçekleşmiş olacak

nginx den alan adının ve sertifikanın silinmesi

öncelikle alan adımı tanımlayalım

alanadi=ferhatcicek.com

alanadına ait konfigürasyon dosyalarını silelim

sudo rm /etc/nginx/sites-available/$alanadi
sudo rm /etc/nginx/sites-enabled/$alanadi

nginx i yeniden başlatalım

sudo nginx -t  
sudo service nginx restart

ve mevcut sertifikaları görüntüleyelim ve alanadına ait sertifikayı certboot ile silelim

certbot certificates

sudo certbot delete --cert-name $alanadi

Let’s Encrypt sertifikasının silinmesi

Let’s Encrypt dan bir sertifika aldıysanız sertifikaya ait dosyalar

/etc/letsencrypt/archive
/etc/letsencrypt/live
/etc/letsencrypt/renewal

dizinleri altında tutulmaktadır. herhangi bir alanadına ait sertifikayı silmek isterseniz

sudo certbot delete

komutu kullanabilir ve listden alan adı seçilerek işlem yapılabilir veya doğrudan alarn adı belirterek

sudo certbot delete --cert-name alanadi.com

sertifika silinebilir

wordpress xmlrpc erişimini kapatmak

oluşturulmasında ve kullanılmasındaki temel düşünce güzel olsada kullanılmıyorsa xmlrpc wordpress için güvenlik açığı riski barındırıyor.

apache kullanıyorsanız .htacces dosyasına aşagıdaki ilaveleri yaparak riskleri minimize etmiş olursunuz.


# .htaccess WordPress xmlrpc.php devre disi birakmak
<Files xmlrpc.php>
 order deny,allow
 deny from all
 #allow from <izin verilen ip adresleri>
 allow from xxx.xxx.xxx.xxx
</Files>

docker kullanarak zabbix kurulumu

öncelikle kullanacağız image leri docker repository den çekeceğiz. Bu örnekte sunucu olarak nginx ve veritabanı olarak mysql kullanıyorum. daha optmizebir bir yapı taiki kurulabilir.

docker pull mysql
docker pull zabbix/zabbix-server-mysql
docker pull zabbix/zabbix-web-nginx-mysql
docker pull zabbix/zabbix-java-gateway
docker pull zabbix/zabbix-agent

sonrasında

docker images

ile kontrolleri yapabiliriz.

şimdi sıra ile imageleri başlatalım. kullanılan port kullanıcı adı ve şifrenizi mevcut sistemine göre uyarlamanız gerekebilir.

docker run --name mysql-server -t -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbixmysqlsifre" -e MYSQL_ROOT_PASSWORD="mysqlrootsifre" -d mysql --character-set-server=utf8 --collation-server=utf8_bin --default-authentication-plugin=mysql_native_password
docker run --name zabbix-java-gateway -t --restart unless-stopped -d zabbix/zabbix-java-gateway
docker run --name zabbix-server-mysql -t -e DB_SERVER_HOST="mysql-server" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbixmysqlsifre" -e MYSQL_ROOT_PASSWORD="mysqlrootsifre" -e ZBX_JAVAGATEWAY="zabbix-java-gateway" --link mysql-server:mysql --link zabbix-java-gateway:zabbix-java-gateway -p 10051:10051 --restart unless-stopped -d zabbix/zabbix-server-mysql
docker run --name zabbix-web-nginx-mysql -t -e DB_SERVER_HOST="mysql-server" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbixmysqlsifre" -e MYSQL_ROOT_PASSWORD="mysqlrootsifre" --link mysql-server:mysql --link zabbix-server-mysql:zabbix-server -p 80:8080 --restart unless-stopped -d zabbix/zabbix-web-nginx-mysql
docker run --name zabbix-agent --link mysql-server:mysql --link zabbix-server-mysql:zabbix-server -e ZBX_HOSTNAME="Zabbix server" -e ZBX_SERVER_HOST="zabbix-server" -d zabbix/zabbix-agent

doğru şekilde çalıştığını kontrol edelim.

docker ps -a

şimi konfigürasyon bilgilerine bakalım… burada bize ip adresi gerekiyor…

docker inspect zabbix-agent

şimfi bir tarayıcı açarak ip adresini yazalım. zabbix kullanıcı giriş sayfası ile karşılaşırsak herşey tamamdır. default kullanıcı ado şifresi

Username: Admin
Password: zabbix

şeklindedir

windows da taskkill ile görev sonlandırma

zorunlu olarak windows kullanıyorsanız linuxdeki görevi oldürmek için ps ve kill kombinasyonlarını sürekli arıyorsunuz. windowsda bunun için bir tool var aslında..

tasklist /v

ile mevcut görev tablosunu görebilirsiniz. bu tabloda pid ile görevi sonlandırmak isterseniz taskkill uygulamasını kullanmamız gerkeiyor.

taskkill /F /PID pid-numarasi

uygulama adı ise görevi sonlandırmak isterseniz

taskkill /F /IM "ferhatcicektest.exe"

parametlerini kullanailirsiniz. uygulama ismi içinde joker karekter kullanımına izin verilmekte.

taskkill /F /IM "ferhat**"

rainloop dizin ve dosya yetki ayarları

kurulumun /var/www/rainloop dizinine yapıldığını varsayarak yetkili kullanıcı ile aşagıdaki komutlar çalıştırılmalıdır

cd /var/www/rainloop
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
cd /var/www/rainloop
chown -R www-data:www-data .

wsl sürümünü ögrenmek

windows son sürümleri ile hayatımıza girenWSL ( Windows Subsystem for Linux ) in hangi versionda çalıtığını ögrenmek için aagıdaki komut yapısı kullanılabilir.. wsl2 kullanabilemek için windowsun bazı güncellemeleri almış olması gerekiyor.

PS C:\Users\fcicek> wsl -l -v
  NAME                   STATE           VERSION
* Debian                 Stopped         1
  docker-desktop-data    Running         2
  Ubuntu-18.04           Running         1
  docker-desktop         Running         2

wsl ile wsl2 arasında ne fark derseniz microsoftun kendi sitesinde aşagıdaki tablo yer alıyor.

FeatureWSL 1WSL 2
Integration between Windows and Linux
Fast boot times
Small resource foot print
Runs with current versions of VMware and VirtualBox
Managed VM
Full Linux Kernel
Full system call compatibility
Performance across OS file systems

Intel AMT den kurtulmaya çalışmak

lenovo, hp gibi bir bir pc niz varsa intel üzerinde kimi uzmanlar tarafından bir donanım arka kapası olarak adlandırılan AMT ilk kullanmaya başladığınız andan itibaren aktif olabilir.

farklı şekilde açıklanabilselde genel olarak ilk zamanlarda intel bunu yalanladı, belgelendikten sonra yeni chiplerinde kullanıcılar için sunulmuş bir özellik gibi sunulmaya başladı.

peki ben pc imde bunun aktif olup olmadığını nasıl anlarım derseniz en basit yolu bir tarayıcı açın ve

http://localhost:16992

yazın eğer karşınza

Intel® Active Management Technology 

başlığını içeren aşagıdaki ekran görüntüsüne benzer

bir sayfa geliyorsa pc nizde aktif demekdir. konfigürasyon türüne gelecek sayfa birebir aynı olmayabilir..

farklı şekillerde emin olmak isterseniz yönetici olarak cmd yi açın ve netstat ile bu serivs tarafından kullanılan portlara bakın.

C:\Program Files (x86)\Intel\SCS ACUConfig>netstat -na | findstr "\<16993\> \<16992\> \<16994\> \<16995\> \<623\> \<664\>"
  TCP    0.0.0.0:623            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:16992          0.0.0.0:0              LISTENING
  TCP    [::]:623               [::]:0                 LISTENING
  TCP    [::]:16992             [::]:0                 LISTENING

yukarıda görüldüğü üzere 4 farklı porttan dinleme yapılmaktadır.. servis bazlı kontrol etmek isterseniz ise

C:\Program Files (x86)\Intel\SCS ACUConfig>sc qc LMS
[SC] QueryServiceConfig SUCCESS

SERVICE_NAME: LMS
        TYPE               : 10  WIN32_OWN_PROCESS
        START_TYPE         : 4   DISABLED
        ERROR_CONTROL      : 1   NORMAL
        BINARY_PATH_NAME   : "C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\LMS\LMS.exe"
        LOAD_ORDER_GROUP   :
        TAG                : 0
        DISPLAY_NAME       : Intel(R) Management and Security Application Local Management Service
        DEPENDENCIES       : RPCSS
        SERVICE_START_NAME : LocalSystem

şeklinde kontrol edebilirsiniz. görüldüğü üzerer benim kontrol yaptığım bilgisayarda aktif görülüyor.. AMT yi devre dışı bırakmaya BIOS dan başlamak gerekiyor..

BIOS açılış ekranında

MEBx - F6

seçimi yapılmalı. ( Ben HP elitebook serisinden BIOS güncel bir PC kullanınıyorum. BIOS sürürümlerine göre menülerde değişiklik olabilir. ) aşagıdaki şekildeki bir ekranla karşılaşmanız gerekiyor.. burada fabrika ayarları çıkış şifresi “admin” dir. bu şifreyi değiştirmeniz gerekiyor. değişim sonrası AMT ve ME aktif duruma gelecektir.

ME kısmında yapılacak hatalar Pc nin açılmamasına neden olabilir dikkat edilmesinde fayda var.

AMT konfigürasyon içine girelim. ekran görüntüsü aşagıdaki gibi olacaktır.. artık “Manageability Feature Selection” ini disable yapailiriz.

bu özelliği disable ederseniz KVM vb özelliklere sahip uzaktan yönetim araçlarının pc nizde artık tüm özellikleri doğru şekilde çalışmayabilir.

BIOS ayarlarını kaydedip windowsu yeniden açabilirsiniz. windows açıldıktan sonra pc nizde intelle alakalı bilmediğiniz

Intel® Active Management Technology (Intel® AMT)

ile alakalı olabilecek tüm yazılımları kaldırın.

MTA kurulumu sonrası kontroller

shell üzerinden mevcut kullanıcınız ile farklı bir kullanıcıya eposta göndermek için

echo "test eposta icerigi" | mail -s "test eposta basligi" testkullanici@ferhatcicek.com

kullanabilirsiniz.. mail yoksa mailutils paketini kurmanız gerekebilir.

sudo apt-get install -y mailutils

mail gönderme başarısız olduysa logları incelemek gerekcek. MTA olarak postfix kullandığımız varsayarak maille ilgili en temel loglara bakmak için

sudo tail /var/log/mail.log
sudo tail -f -n 100 /var/log/syslog | grep postfix

kullanabiliriz….

php mail() fonksiyonunu kullanarak eposta sunucunuzun sorun olmadan kullanılma testlerini yapmak istersek en temel php kodu aşagıdaki şekilde olacaktır.

<?php
$to      = 'testkullanici@ferhatcicek.com';
$subject = 'test epostasi';
$message = 'test eposta icerigi';
$headers = 'From: testkullanici2@ferhatcicek.com' . "\r\n" .
    'Reply-To: testkullanici2@ferhatcicek.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>
Back To Top