Hamdi ÖZCAN – blog http://ozcan.com/blog Hamdi ÖZCAN kişisel web sayfası. Tue, 06 Feb 2018 15:09:09 +0000 tr-TR hourly 1 https://wordpress.org/?v=4.9.3 Bilgisayarda Hi-Res Ses Kullanımı /blog/ses-kartindan-tam-performans-alalim/ /blog/ses-kartindan-tam-performans-alalim/#respond Sat, 28 Jan 2017 21:40:30 +0000 /blog/?p=1372 Kullandığım masaüstü bilgisayarın ana kartında (GA-Z68MA-D2H-B3) tümleşik çalışan ses kartının (RealTek ALC889), High-Resolution (24bit/192kHz) ses yeteneği olduğunu bugün farkettim. Anakartın dokümanlarında HD audio yeteneği olduğu yazıyordu fakat bu seviyede kaliteli bir ürünü anakart üzerinde sunacaklarını düşünmemiştim. Ayrıca dokümanda DAC (Digital-to-Analog Converter) yetenekleri yazmıyordu. Sonrasında şu metni okudum “GIGABYTE strongly believes that in 2011, HD audio playback is a standard specification”. E hal böyle olunca Ubuntu ve Windows‘da HD sesin nasıl ayarlanacağını, stüdyo kalitesinde sesin nasıl alınacağını anlatan bir blog yazısı ile sevincimi taçlandırmaya karar verdim. Bu yeteneklerin varsayılan olarak açık gelmediğinin altını çizmek gerekiyor. HD sesin farkını anlamak için 24bit/192kHz‘lik kaydedilmiş FLAC ses dosyalarına ve kaliteli bir ses sistemine ihtiyacınız var, ben YAMAHA HS80M kullanıyorum ve ses kalitesindeki farkın keyfini sürmeye başladım.

High-Res müzik kaynakları için güzel bir liste hazırlamış şu site; http://www.head-fi.org/…

Ubuntu HD ses yapılandırma;
Öncelikle şuanda kullanmakta olduğunuz Sample Spec değerlerini aşağıdaki komut ile kontrol edin;

pacmd list-sinks

Muhtemelen şuna benzer bir satır göreceksiniz, “sample spec: s16le 2ch 44100Hz“. Kullanmakta olduğum kart 24bit 192kHz desteklemesine karşın, 16bit 44100Hz seviyesinde çıkış veriyor.

/etc/pulse/daemon.conf dosyasına aşağıdaki satırları ekleyin. “;” ile yorum satırı haline gelmediğinden emin olun;

default-sample-format = s24le
default-sample-rate = 192000

Dosyaya tanımları ekledikten sonra aşağıdaki komutla pulseaudio’yu yeniden başlatın;

pulseaudio -k

Sample Spec değerini tekrar kontrol ettiğinizde farkı görmeniz gerekiyor.

Windows HD ses yapılandırma;
“Ses ayarları > Hoparlör Özellikleri > Gelişmiş” sekmesi altından çalışma değerleri tanımlanabiliyor.

Macintosh HD ses yapılandırma;
“Utilities > Audio MIDI Setup” aracından gerekli ayarları tanımlayabilirsiniz.

Hamdi Özcan – ozcan.com

]]>
/blog/ses-kartindan-tam-performans-alalim/feed/ 0
PowerShell parola dosyası ile vcenter’a nasıl bağlantı kurulur? /blog/powershell-parola-dosyasi-ile-vcentera-nasil-baglanti-kurulur/ /blog/powershell-parola-dosyasi-ile-vcentera-nasil-baglanti-kurulur/#respond Wed, 13 Jul 2016 07:08:12 +0000 /blog/?p=1334 PowerCLIVMware Vcenter bağlantısı kuran zamanlanmış PS betikleri (scheduled PowerShell task), doğrudan hesap bilgilerinin koda eklenmesi, zamanlanmış göreve doğrudan tanımlanan hesap yada parola dosyası (credential file) kullanarak sağlanabiliyor.

Güvenlik ve tam test edilebilirlik sağlamasından dolayı parola dosyasının kullanımı daha uygun bir yöntemdir. Şimdi bu dosyayı nasıl oluşturabileceğimizi ve kullanacağımızı inceleyelim. Parola dosyasındaki bilgiler kriptolu tutulur.

PS Vcenter Parola dosyası nasıl oluşturulur?

Add-PSSnapIn VMware.VimAutomation.Core
New-VICredentialStoreItem -host my-vcenter-server -user hamdi -password ****** -file "C:\PowerCLI\credfile.xml"

PS Vcenter bağlantısı kurulurken parola dosyası nasıl kullanılır?

Add-PSSnapIn VMware.VimAutomation.Core
$creds = Get-VICredentialStoreItem -file “C:\PowerCLI\credfile.xml”
Connect-viserver -Server $creds.Host -User $creds.User -Password $creds.Password
]]>
/blog/powershell-parola-dosyasi-ile-vcentera-nasil-baglanti-kurulur/feed/ 0
SYSLOG için LOGROTATE ayar tanımı hazırlayalım /blog/syslog-icin-logrotate-ayar-tanimi-hazirlayalim/ /blog/syslog-icin-logrotate-ayar-tanimi-hazirlayalim/#respond Fri, 20 May 2016 15:01:56 +0000 /blog/?p=1308 logrotate2Logrotate ayar tanımlarını buraya koyayım, lazım oldukça hem ben, hem de camia kullanır. Özellikle postrotate satırı heryerde bulunmuyor, logrotate çalıştıktan sonra syslog servisini kendine getiriyor (SIGHUP sinyali ile process kendini yeniliyor) ve yeni yaratılan log dosyalarından devam etmesini sağlıyor. 

 

/var/log/remoteLog/*log
{
#günlük
daily

# 30 dosyaya kadar tut
rotate 30

# yaratılan dosyayın sahiplik ve erişim yetkileri
create 644 root root

#dosya uzantısına sayı yerine tarih ekle
dateext

#log dosyasını bulamazsan hata vermeden bir sonrakine geç
missingok

#birden çok dosya üzerinde bu tanımlar çalıştırılacaksa postrotate/prerotate tanımlarını bir kez çalıştır
sharedscripts

#rotate işleminden sonra çalıştır
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}

Bir de sade haliyle tekrar yazalım;

/var/log/remoteLog/*log
{
daily
rotate 30
create 644 root root
dateext
missingok
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
]]>
/blog/syslog-icin-logrotate-ayar-tanimi-hazirlayalim/feed/ 0
Re-scan hard drives after a resize without rebooting /blog/hard-disk-re-scan-after-a-resize-without-rebooting/ /blog/hard-disk-re-scan-after-a-resize-without-rebooting/#respond Mon, 28 Mar 2016 19:42:11 +0000 /blog/eng/?p=1300 We can rescan hard drives after resize a virtual disk for a virtual machine without having to reboot the virtual machine. To do that; trigger a re-sync of the kernel for all the SCSI devices unless you know exactly which one it is connected to;

ls /sys/class/scsi_device/
echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan
echo 1 > /sys/class/scsi_device/2\:0\:0\:0/device/rescan
echo 1 > /sys/class/scsi_device/2\:0\:1\:0/device/rescan
]]>
/blog/hard-disk-re-scan-after-a-resize-without-rebooting/feed/ 0
Easy-RSA 3 ile kişisel sertifika otoritemizi (CA) kuruyoruz /blog/easy-rsa-3-ile-kisisel-sertifika-otoritemizi-ca-kuruyoruz/ /blog/easy-rsa-3-ile-kisisel-sertifika-otoritemizi-ca-kuruyoruz/#respond Tue, 04 Aug 2015 12:30:57 +0000 /blog/?p=1186 CAEasy-RSA3, Linux komut satırından çalışan, PKI CA (kök sertifika otoritesi) oluşturulmasını ve yönetilmesini sağlayan bir araç. OpenVPN ile birlikte dağıtıldığından, tanınan bir araç. OpenSSL komut satırı aracının üzerine yazılmış betiklerden oluşmakta. Başlıca özellikleri;

– Kök sertifika oluşturma ve imzalama
– Sertifika istek ve imzalama (request and sign)
– Alt kök sertifika yönetimi ( sub-CAs )
– Sertifika iptal listesi oluşturma ( CRL )

Saydığımız bu özelliklerin kullanım örnekleri aşağıdaki gibi;

Açık anahtar altyapısının (PKI) oluşturulması

Easy-RSA‘nin kullanılabilmesi için öncelikle gerekli klasör yapısının oluşturulması gerekmekte. Farklı klasör isimleri ile birden çok PKI altyapısının yönetilmesi mümkün, varsayılan üst klasör adı PKI. Altyapının ilk kurulumunu aşağıdaki komut ile tamamlayalım;

./easyrsa init-pki

Bu komut her çalıştırıldığında tüm yapı sıfırlanıyor.

Kök sertifikanın oluşturulması

Sertifika isteklerini (CSR) imzalayabilmek için bir sertifika otoritesine (CA) ihtiyacımız var. Kurduğumuz PKI için bir CA anahtar çifti oluşturalım;

./easyrsa build-ca

Sorulduğunda güçlü bir parola girmemiz önemli, PKI yapısında en yüksek güvenlik gerektiren bileşen CA gizli anahtarıdır. Belirlediğimiz bu parolayı daha sonra sertifika imzalarken kullanacağız. Bu adım tamamlandığında bir açık anahtarımız (ca.crt) ve bir gizli anahtarımız (ca.key) oluşturulup PKI klasör yapısındaki yerlerine kopyalanır.

İmza istediğinin CA’ya gönderilmesi

İmzalama isteğinin nasıl oluşturulduğunu “SSL Sertifikası Nasıl Üretilir?” başlıklı yazımda açıklamıştım. Gelen isteklerin CA‘ya iletelim ve sonrasında bu iletilen imzalama isteğini onaylayalım;

./easyrsa import-req istekDosyasi.req istekAdı

İsteğin ayrıntılarını görüntüleyelim;

./easyrsa show-req istekAdı

İsteği imzalarken kullanılabilecek üç farklı parametre bulunuyor. Bunlar CLIENT, SERVER ve CA. İhtiyacımıza uygun sertifika türünü belirleyerek imzalama işlemini tamamlayalım;

./easyrsa sign server istekAdı

Bu adımdan sonra imzalı sertifika PKI yapısındaki ISSUED klasörünün altına kopyalanır. İmzalayacağımız sertifikada CN (common name) alanı tanımlı olmalı.

İmzalanan sertifikanın iptal (revoke) edilmesi ve CRL’nin yayınlanması

Çeşitli nedenlerden dolayı, imzalanan bir sertifikayı iptal edelim;

./easyrsa revoke istekAdı

İptal (revoke) edilen sertifikaları CRL (certificate revoke list) dosya türünde yayına hazır hale getirelim;

./easyrsa gen-crl

Anahtar çifti ve istek oluşturma

Easy-RSA ile tek seferde anahtar oluşturmak ve imza isteğinde bulunmak mümkün. Yukarıda açıkladığım gibi bu isteği CA ile imzalayarak otorite imzalı sertifikayı elde ederiz.

./easyrsa gen-req istekAdı

 

]]>
/blog/easy-rsa-3-ile-kisisel-sertifika-otoritemizi-ca-kuruyoruz/feed/ 0
NFS sunucu portları nasıl sabitlenir? /blog/nfs-sunucu-portlari-nasil-sabitlenir/ /blog/nfs-sunucu-portlari-nasil-sabitlenir/#comments Mon, 23 Mar 2015 21:07:10 +0000 /blog/?p=1167 NFS diğer teknolojilere göre ek yükü az, verimli ve hızlı bir dosya paylaşım protokolü. Fakat bilinen güvenlik açıklarından dolayı güvenlik duvarı arkasında çalıştırılması gerekiyor. Ek tanım yapılmadığında sabit 2, değişken 7 port kullanıyor. Firewall kuralı yazılabilmesi için bu portları sabitleyip iptables kuralını yazalım;

/etc/sysconfig/nfs dosyasına eklenmesi gereken satırlar;

RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
STATD_PORT=662
STATD_OUTGOING_PORT=2020
RDMA_PORT=20049

iptables kuralı;

iptables -A INPUT -m multiport --dports 662,111,2049,32769,875,892,2020,20049,32769 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -m multiport --sports 662,111,2049,32769,875,892,2020,20049,32769 -m state --state ESTABLISHED -j ACCEPT
]]>
/blog/nfs-sunucu-portlari-nasil-sabitlenir/feed/ 1
2TB’den büyük GPT disk bölümleri nasıl oluşturulur? /blog/2tbden-buyuk-gpt-disk-bolumleri-nasil-olusturulur/ /blog/2tbden-buyuk-gpt-disk-bolumleri-nasil-olusturulur/#respond Sat, 07 Mar 2015 22:28:24 +0000 /blog/?p=1110 32bit‘lik MBR (master boot record) tablolarının sınırı olan 2TB seviyesinin aşılmasıyla 64bit derinliğinde adresleme yeteneğine sahip GPT (GUID Partition Table) disk bölüm tabloları kullanılmaya başlandı.

Linux komut satırında PARTED adlı araç kullanılarak GPT disk bölümleri oluşturulabiliyor. Bu bölümler “FDISK -l” ile görüntülendiğinde, tam uyumlu cevap almak maalesef mümkün değil. 

Kolaylık sağlaması adına disk bölümlerini % değerler vererek oluşturmak mümkün.

En iyi performans için fiziksel disk sektörlerinin başlangıç-bitiş noktalarını, disk bölümlerinin ve dolayısıyla dosya sisteminin başlangıç-bitiş noktalarıyla hizalanması gerekiyor. Bu hizalama işlemi ALIGN komutu ile tamamlanıyor.

PARTED kullanırken ihtiyaç duyulan temel komutlar aşağıdaki gibi. Komutlar genel Linux CLI standartlarında hazırlandığından işlevleri rahatlıkla öngörülebiliyor, bu yüzden açıklama satırı eklemiyorum;

parted
select /dev/sda
mklabel gpt
print
print free
rm 1
mkpart primary 50% 100%
unit <s | MB | GB | TB>
align-check optimal 1
align <optimal | minimal> 1

Detaylı bilgi için PARTED MAN PAGE.

Disk bölüm tablosu (partition table) oluşturmadan, diskin tamamını kapsayan, tek parça dosya sistemi kullanmak mümkün. Tavsiye edilen bir yöntem olmamasına karşın pratikte bir sorunla karşılaşmadım.

mkfs.ext4 /dev/sda

Hamdi ÖZCAN – ozcan.com

]]>
/blog/2tbden-buyuk-gpt-disk-bolumleri-nasil-olusturulur/feed/ 0
Setting up VPN Gateway with Raspberry PI (VPN Router) /blog/setting-up-vpn-gateway-with-raspberry-pi/ /blog/setting-up-vpn-gateway-with-raspberry-pi/#comments Mon, 05 Jan 2015 21:16:05 +0000 /blog/?p=1013 RaspberryPI VPN Gateway

The increasing availability of High-grade and  budget friendly VPS (virtual private server) services accelerated personal projects. Raspberry PI and DigitalOcean VPS helped me alot while getting my VPN Gateway (VPN Router) project done. It works in site-to-site VPN model and we are going to be able to tunnel all our LAN traffic pass trough our VPS. In this model, we are going to be able to use remote VPS‘s Internet connection.

Paid/Free VPN service providers provide very slow Internet connection in practice without any reason. By using this project, I have pushed my daily Internet traffic trough Europe based VPS servers to Turkey without feeling any slowness, for many years. According to my personal experience, below 100ms packet latency doesn’t noticeably effect web surfing experience.

I choosed RaspberryPI from among various miniPC alternatives, because it is widely used, has its own Debian based custom OS named Raspbian, and consumes about 3W power. Its computing power is good enough for  prototype projects and personal usage.

Setup Steps:

Lets begin with setting up OpenVPN Client on RaspberryPI (planning to write a blog post about setting up OpenVPN server on the DigitalOcean VPS later);

After setting up Raspbian on RaspberryPI and access to the consol via SSH, it is time to upgrade and update the OS;

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

Setting a static IP address is important. DHCP server can fix the IP address or we can set it to the interface. We set a static IP on the interface;

nano /etc/network/interfaces

We should change the lines below according to our network topology (had better to choose an IP out of the DHCP scope);

iface eth0 inet static
address 192.168.2.251
netmask 255.255.255.0
gateway 192.168.2.1

To enable packet forwarding functionality, we change a line in the file below;

nano /etc/sysctl.conf

remove the line’s comment or add the line below in to the conf file;

net.ipv4.ip_forward = 1

to activate changes;

sysctl -p /etc/sysctl.conf

Setting up OpenVPN Client;

To install OpenVPN CLI Client, enter the following command;

sudo apt-get install openvpn

When the VPN Box starts up, VPN profile can automatically connect to the VPN server. For that, create the config file below in the folder (.conf extension is necessary);

sudo nano /etc/openvpn/vpn.conf

example conf file;

client

dev tun
proto tcp
tun-mtu 1500
remote xx.xx.xx.xx 1194

resolv-retry infinite
nobind

persist-key
persist-tun

verb 3

keepalive 10 120
comp-lzo
cipher DES-CBC

#to run openvpn with root privileges;
user <user_name>
group <group_name>
daemon

script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

<ca>
-----BEGIN CERTIFICATE-----
.........
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
.........
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
.........
-----END PRIVATE KEY-----
</key>

For automatic VPN connection, change the file below;

nano /etc/default/openvpn

remove the comment or add the following line into the config file;

AUTOSTART=all

We have completed our OpenVPN client installation at this point.

Configuring Iptables;

To be easy-to-use and to be like plug-and-play, we define a NAT rule for the tunnel network. Apply the following command;

sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

For permanent iptables rules, we use iptables-persistent. Follow commands below;

sudo apt-get install iptables-persistent
sudo /etc/init.d/iptables-persistent save
sudo /etc/init.d/iptables-persistent reload

If everything went well, after a reboot, our VPN box starts up, VPN profile gets connected and our VPN Gateway box transmits packets through the VPS as desired.

We can use two different way to route network traffic to the VPN Gateway. The first way is defining the IP address of the VPN Gateway for the Default Gateway field in the DHCP service config. The second one is defining IP address of the VPN Gateway to the client’s interface as default gateway within static IP configuration.

In our configuration, all network traffic goes into the VPN tunnel including DNS queries. With some minor changes, this configuration can be converted to a VPN Hotspot project as well. Please comment below to help further updates of this tutorial.

Hamdi OZCAN – ozcan.com

]]>
/blog/setting-up-vpn-gateway-with-raspberry-pi/feed/ 9
Şifreli e-posta neden yaygınlaşmıyor? /blog/sifreli-e-posta-neden-yayginlasmiyor/ /blog/sifreli-e-posta-neden-yayginlasmiyor/#respond Thu, 06 Nov 2014 19:51:40 +0000 /blog/?p=1034 encrypted-emailSayısal iletişimde e-posta önemli servislerden birisi. Şifreleme kullanılmadan yapılan e-posta trafiği, olası kritik verinin açık ve erişilebilir olarak İnternet ortamından geçmesi anlamına geliyor.

Günümüzde e-posta şifreleme yöntemleri karmaşık yapıya sahip ve tek taraflı e-posta şifreleme yöntemi bulunmuyor. Sayısal kimlik tabanlı şifreleme (IBE – Identity Based Encryption) günümüzde ideale en yakın çözümlerden. IBE’de şifreleme, e-postayı yazan ve okuyan taraflara en yakın seviyede başlatılır ve bitirilir. Yasal düzenlemeler ile nitelikli sayısal kimliklere, veri bütünlüğünü kanıtlama, kimlik doğrulama ve inkar edilemezlik özellikleri kazandırılmıştır.

E-posta şifreleme yöntemlerinin tamamı PKI (public key infrastructure) altyapısına dayanmaktadır. Tam bir PKI uygulaması, dijital sertifikaların dağıtılması ve yönetilmesini gerektirir. PKI masraflı ve bilgi birikimi gerektiren bir uygulamadır. PKI altyapısı kullanılarak yapılan e-posta şifrelemede açık anahtarların (public key) güvenli şekilde dağıtılması yapının problemlerindendir. Şifreli e-posta gönderilmek istendiğinde, karşı tarafın açık anahtarının güvenli şekilde önceden temin edilmiş olması gerekliliği, yapının en zayıf noktasıdır. Sayısal kimlik tabanlı e-posta şifreleme bu nedenlerden dolayı yaygınlaşamamaktadır.

Uygulanabilirliği yüksek ve son kullanıcı bilinci gerektirmeyen şifreleme alternatifi, e-posta sunucuları arasında TLS kullanılmasına dayanır. Fakat RFC 2487e göre, İnternet’e açık sunucular sadece TLS bağlantıları kabul edilecek şekilde ayarlanmamalıdır.

DNSSEC’in kullanım alanlarından birisi de güvenli açık anahtar dağıtımı olacak. DNSSEC ile ilgili yazım ilginizi çekebilir, /blog/dnssec-nedir/ .

Hamdi ÖZCAN – ozcan.com

]]>
/blog/sifreli-e-posta-neden-yayginlasmiyor/feed/ 0
Fotoğraflarımıza Geotag Ekliyoruz (ExifTool) /blog/fotograflarimiza-geotag-ekliyoruz-exiftool/ /blog/fotograflarimiza-geotag-ekliyoruz-exiftool/#respond Wed, 29 Oct 2014 12:40:41 +0000 /blog/?p=1025 geotagTek seferde fotoğraflarımıza GeoTag (konum etiketi) ekliyoruz. ExifTool, GeoTag işlemlerinde kullanabileceğiniz güçlü bir komut satırı uygulaması. Paket yöneticimizle ExifTool‘u yükledikten sonra, fotoğraflarımıza ekleyeceğimiz konum etiketinin enlem ve boylam bilgisini DD (decimal degrees) olarak belirliyoruz. Aşağıdaki komut ile imaj dosyalarımıza koordinat bilgisini ekleyelim;

exiftool -GPSLatitudeRef=N -GPSLatitude=39.925716 -GPSLongitudeRef=E -GPSLongitude=32.838016  *.jpg

Windows işletim sistemlerinde de fotoğraflara ExifTool ile GeoTag eklemek mümkün. Çalıştırılabilir win32 dosyayı indirip aşağıdaki gibi isimlendirdikten sonra dosyalarınızı bu exe dosyası üzerine sürükleyip bırakmanız yeterli.

exiftool (-GPSLatitudeRef=N -GPSLatitude=39.925716 -GPSLongitudeRef=E -GPSLongitude=32.838016).exe
]]>
/blog/fotograflarimiza-geotag-ekliyoruz-exiftool/feed/ 0
Domain kullanıcı parolasının süresi ne zaman dolacak? /blog/ad-domain-parolasinin-suresi-ne-zaman-dolacak/ /blog/ad-domain-parolasinin-suresi-ne-zaman-dolacak/#respond Mon, 30 Jun 2014 06:22:11 +0000 /blog/?p=980 Windows komut satırına aşağıdaki komutu yazarak Active Directory kullanıcı hesabınızın parola değiştirme süresinin ne zaman dolacağını öğrenebilirsiniz;

net user %USERNAME% /domain

Geçerli yetkiniz varsa farklı kullanıcı adlarını %USERNAME% yerine yazarak hesap bilgilerini görüntüleyebilirsiniz.

]]>
/blog/ad-domain-parolasinin-suresi-ne-zaman-dolacak/feed/ 0
SSL Sertifikası Nasıl Üretilir? /blog/ssl-sertifikasi-nasil-uretilir/ /blog/ssl-sertifikasi-nasil-uretilir/#comments Wed, 25 Jun 2014 15:27:43 +0000 http://www.ozcan.com/blog/?p=918 SSL sertifikasının iki farklı türü bulunuyor; bunlar otorite imzalı SSL sertifikaları ve kendini imzalamış (self signed) SSL sertifikaları.

Kendini imzalamış sertifikalar genellikle test amaçlı veya lokal kullanımda tercih ediliyor. Biri diğerine göre daha güvenli değil. Otoriterler güvenli anahtar değiş tokuşuna olanak sağlarlar ve paylaşılan açık anahtarların doğruluğunu kanıtlarlar.

https sslSSL, anahtar değişiminde asimetrik algoritmalar (RSA,DSA), akan trafikte simetrik algoritmalar (AES, 3DES, RC4 …) kullanılır. Asimetrik kriptografi yaygın olarak açık anahtar (public key, PKI) kriptografisi olarak da anılmaktadır. Açık anahtar kriptografisinde açık (public) ve gizli (private) olmak üzere iki anahtar oluşturulur. Açık anahtar ile kriptolanan veri ancak anahtar çiftinin gizli olan yarısı ile çözülebilir. Bunun tam tersi; gizli anahtar ile kriptolanan veri anahtar çiftinin açık olan yarısı ile çözümlenebilir, bu kaynağın doğrulanması için kullanılır (sertifika doğrulama).

SSL açık anahtar ile şifrelenmiş veriyi İnternet’e gönderiyorsa, neden sertifikaya ihtiyaç duyuluyor? Sertifikalar, güvenilir sertifika otoriteleri tarafından imzalanmış açık anahtarlardır ve sertifikayı gönderen tarafın gerçekten o kişi olduğunu doğrularlar. Güvenilir otorite tarafından imzalanmayan sertifikalar kullanıldığında da veri kriptolanır fakat iletişim kurulan tarafın doğru kişi olduğu kanıtlanamaz.

1- Özel Anahtarın Oluşturulması

SSL özel anahtar oluştururken seçebileceğimiz iki farklı algoritma var, DSA ve RSA. Algoritma seçimi yaparken pek çok farklı kriter göz önünde bulundurulur. Seçimi siyasi veya teknik detaylar belirleyebilir. Örnek olarak yaygın kullanılan RSA‘yı seçiyoruz;

openssl genrsa -out sunucu.pem 2048

Oluşturulan dosya PEM biçimindedir ve ASCII olarak okunabilir.

2- Sertifika İmza Talebinin Oluşturulması CSR (Certificate Signing Request)

CSR üretilirken, özel anahtar kullanılarak açık anahtar oluşturulur ve  imzalanır. Bu CSR dosyası sertifika otoritesine gönderilerek imzalanması istenir. İşlemden sonra otorite imzalı açık anahtarı sertifika olarak geri döner. Bu süreçte gizli anahtarın karşı tarafa gönderilmesine gerek yoktur.

CSR dosyasını sertifika otoritesine göndermek yerine kendi özel anahtarımız ile imzalayabiliriz. Bu tip sertifikalara, kendi imzalamış sertifika (self signed certificate) denir.

CSR dosyası oluşturulurken, sertifika üzerinde X.509 alanlarının tanımlanması istenecek. Bu alanlardan en önemlisi “Common Name” alanıdır. Bu alana SSL ile korumak istediğiniz alanadını yazmanız gerekiyor (fully qualified domain name).

openssl req -new -key sunucu.pem -out sunucu.csr

Country Name (2 letter code) [GB]:TR
State or Province Name (full name) [Berkshire]:Cankaya
Locality Name (eg, city) [Newbury]:Ankara
Organization Name (eg, company) [My Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server’s hostname) []:ozcan.com
Email Address []:
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

3- Kendini İmzalamış Sertifika (self-signed certificate)

Oluşturacağınız sertifikayı bir otoriteye imzalatmayacaksanız, kendi özel anahtarınız ile CSR dosyasının imzalanması gerekiyor. Self-signed sertifika kullandığınızda tarayıcınız uyarı görüntüleyecektir. Bu uyarının sadece kendi sisteminizde görüntülenmesini önlemek için, sertifikayı tarayıcınızın güvenilir kök sertifikalar (trusted root certification authorities) bölümüne eklemeniz yeterli.

openssl x509 -req -days 365 -in sunucu.csr -signkey sunucu.pem -out sunucu.crt

4- Özel Anahtarın Güvenlik Parolasının Kaldırılması

Özel anahtar oluşturulurken tanımlanmış bir parola var ise bunun kaldırılması, web servisleri yeniden başlatıldığında kolaylık sağlayacaktır. Ek güvenlik gereken durumlarda bu parola tanımlanır ve web servislerinin her açılışında parolanın girilmesi gerekir. Parolayı kaldırdıktan sonra özel anahtara sadece root kullanıcısının erişebilir olması güvenliği açısından önemlidir.

openssl rsa -in server.key.org -out server.key

5- Sertifikanın Web Sunucuya Eklenmesi

Aşağıda Apache web sunucu için örnek ayar satırları bulunuyor;

SSLEngine on
SSLCertificateFile /usr/local/apache/conf/sunucu.crt
SSLCertificateKeyFile /usr/local/apache/conf/sunucu.pem
SSLCACertificateFile /usr/local/apache/conf/sub.class1.server.ca.pem

SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !RC4 !aNULL !eNULL !$

CipherSuite ile trafik kripto algoritma önceliği belirlenir. Anahtar derinliği arttıkça performans düşecektir.

Hamdi ÖZCAN – ozcan.com

]]>
/blog/ssl-sertifikasi-nasil-uretilir/feed/ 2
Çizilmiş müzik CD’leri nasıl kurtarılır? /blog/cizilmis-muzik-cdleri-nasil-kurtarilir/ /blog/cizilmis-muzik-cdleri-nasil-kurtarilir/#respond Mon, 09 Jun 2014 06:22:19 +0000 /blog/?p=904 Denediğim alternatifler arasında çizilmiş CD’leri en başarılı Extract Audio Copy adlı ücretsiz yazılım kurtardı. Windows sistemlerde ve Wine ile Linux sistemlerde çalıştırılabiliyor. CD yüzeyindeki hata miktarına bağlı olarak kopyalama süresi epey uzayabiliyor. Diğer SES CD’si kopyalama yazılımlarından farklı olarak;

– Kurtarılamayan bölgeleri işlem sonunda raporluyor
– Jitter kurtarmasına ek olarak tekrar tekrar okuma tekniğini kullanılıyor

Eski müzik CD’lerinizden umudu kesmeden önce denemenizi şiddetle tavsiye ederim.

]]>
/blog/cizilmis-muzik-cdleri-nasil-kurtarilir/feed/ 0
Raspberry PI ile VPN Gateway Kuruyoruz (VPN Router) /blog/raspberry-pi-ile-vpn-gateway-kuruyoruz/ /blog/raspberry-pi-ile-vpn-gateway-kuruyoruz/#comments Fri, 30 May 2014 18:49:40 +0000 /blog/?p=828 RaspberryPI VPN Gateway

Kaliteli ve hesaplı VPS (virtual private server) hizmetlerinin çoğalması kişisel projelere ivme kattı. Bir süredir aklımda olan VPN Gateway (VPN Router) projem, Raspberry PI ve DigitalOcean VPS sayesinde hayat buldu. Site-to-site VPN modeli ile çalışacak bu yapı ile uzak sunucu üzerindeki veriye daha güvenli erişim sağlanabilecek (ör. otorite imzalı SSL olamayan sayfalara parola girişi). Ayrıca bu yapıda uzak sunucunun üzerinden İnternet erişimi de sağlanabiliyor.

Ücretli/ücretsiz VPN servis sağlayıcılar nedendir bilinmez, hissedilir şekilde yavaş çalışıyorlar. Yıllardır Avrupa konumlu kullandığım VPS‘ler üzerinden geçirdiğim gündelik İnternet trafiğinde yavaşlama hissetmedim. Şahsi tecrübem 100ms paket gecikmesinin üstüne çıkılmadığı sürece hızda yavaşlama hissedilmeyeceği yönünde.

Farklı miniPC modelleri arasından RaspberryPI‘yi seçtim çünkü; yaygın kullanılıyor, kendine özel geliştirilmiş Raspbian adında Debian tabanlı bir işletim sistemi var ve enerji tüketimi yaklaşık 3W. Düşük enerji tüketimi ve düşük sahip olma maliyetinden dolayı, kart bilgisayarlar öğrenciler ve teknoloji meraklıları arasında yaygın kullanılıyor. Sistem gücü prototip projeler ve ev kullanımı için yeterli seviyede.

Çeşitli kaynaklarda RaspberryPI Model B‘nin 35$’dan satıldığı bilgisi var fakat Türkiye’de bu fiyatlara bulmak pek mümkün değil. Farnell distribütörü Yıldırım Elektronik  118TL fiyat veriyor, Robotistan‘da benzer fiyatlar var. Yurtdışı online satış yapan sitelerde kargo dahil 50$ civarında bulunabiliyor.

Kurulum adımları;

Adım adım RaspberryPI üzerine OpenVPN Client kurulumunu inceleyeceğiz (VPS üzerinde çalışan OpenVPN sunucu kurulumunu farklı bir yazıda paylaşmayı düşünüyorum).

RaspberryPI üzerine Raspbian‘ı kurup (raspberry.org’dan NOOBS indirilerek kolayca kuruluyor) SSH erişimini aldıktan sonra sistem güncellemelerini yapalım;

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

Cihazın sabit IP alması önemli. Bunu DHCP sunucudan yapabileceğimiz gibi doğrudan ağ kartına tanımlayabiliriz, ağ kartına tanımlayalım;

nano /etc/network/interfaces

ilgili satırları aşağıdaki gibi değiştirelim (seçilen IP, DHCP havuzunun dışında olmalı);

iface eth0 inet static
address 192.168.2.251
netmask 255.255.255.0
gateway 192.168.2.1

Cihaza gelen paketlerin yönlendirilmesi için aşağıdaki dosyada değişikliği uygulayalım;

nano /etc/sysctl.conf

aşağıdaki satırın yorum ifadesini kaldıralım, satır yoksa ekleyelim;

net.ipv4.ip_forward = 1

değişikliği etkinleştirmek için;

sysctl -p /etc/sysctl.conf

OpenVPN’in yapılandırılması;

OpenVPN istemci yazılımını yükleyelim;

sudo apt-get install openvpn

Cihaz açılıdğında VPN bağlantısını otomatik kurması için aşağıdaki dosyayı ilgili dizine oluşturalım (uzantının .conf olması önemli);

sudo nano /etc/openvpn/vpn.conf

Örnek conf dosyası aşağıdaki gibi;

client

dev tun
proto tcp
tun-mtu 1500
remote xx.xx.xx.xx 1194

resolv-retry infinite
nobind

persist-key
persist-tun

verb 3

keepalive 10 120
comp-lzo
cipher DES-CBC

#openvpn root yetkileriyle çalıştırmamak için;
user <kullanıcı_adı>
group <grup_adı>
daemon

script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

<ca>
-----BEGIN CERTIFICATE-----
.........
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
.........
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
.........
-----END PRIVATE KEY-----
</key>

Sistem açıldığında VPN bağlantısının otomatik kurulması için aşağıdaki dosyada değişiklik yapalım;

nano /etc/default/openvpn

ilgili yorum ifadesini kaldıralım yada aşağıdaki satırı ekleyelim;

AUTOSTART=all

OpenVPN yapılandırmasını tamamladık.

Iptables’ın yapılandırması;

Kolaylık ve tak-çalıştır olabilmesi için tünel ağına bir NAT tanımlayalım. Aşağıdaki komutla NAT yapılandıralım;

sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

iptables tanımlarımızın kalıcı olması için iptables-persistent kullanacağız, komutlar aşağıdaki gibi;

sudo apt-get install iptables-persistent
sudo /etc/init.d/iptables-persistent save
sudo /etc/init.d/iptables-persistent reload

Herşey yolunda gittiyse sistemi yeniden başlattığınızda sistem açılacak, VPN bağlantısı kurulacak, VPN Gateway istekleri cevaplamak için hazır hale gelecektir. Kurulum sonrası cihazımız tak-çalıştır haline geliyor. Elektrik ve ağ kablolarını bağladığınız herhangi bir yerde VPN hattı kullanılabilir (DHCP’den adres alacak şekilde ayarlanmalı ve otomatik alınan adres öğrenilmeli).

Ağımızdaki trafiği kurduğumuz yeni VPN Gateway‘e yönlendirmede iki farklı yöntem uygulanabilir. Birincisi, DHCP tanımlarından Default Gateway bilgisine VPN cihazımızın IP adresi yazılabilir. İkincisi, istemcilere elle sabit IP tanımlarken Default Gateway bilgisine VPN cihazının IP adresi yazılabilir.

Kurduğumuz sistemde DNS sorguları dahil tüm trafik VPN tünelinden geçiyor. Ufak değişikliklerle ihtiyaca göre farklı modeller uygulanabilir. Bu sisteme çok benzer VPN Hotspot kurulabilir. İhtiyacım olur da kurarsam ayrı bir blog yazısında paylaşırım. Soru ve önerilerinizi bekliyorum.

Hamdi ÖZCAN – ozcan.com

]]>
/blog/raspberry-pi-ile-vpn-gateway-kuruyoruz/feed/ 2
Keepalived ile IP Failover /blog/keepalived-ile-ip-failover/ /blog/keepalived-ile-ip-failover/#respond Wed, 28 May 2014 11:24:42 +0000 /blog/?p=803 Keepalived VRRP protokolünü kullanarak yüksek erişilebilirlik (high-availability) gereksinimlerinden IP sanallaştırmayı sağlıyor. Ağ uzmanlarının ağ geçidi (gateway) yedekliliği için kullandıkları VRRP, linux sistemlerde de harika sonuç veriyor. Keepalived, IP failover yeteneğini ikiden daha fazla sunucu için sağlayacak yeteneğe sahip. Ayrıca birden çok VRRP grubu oluşturarak birden çok sanal IP adresinin farklı sunucular üzerine atanması sağlanabiliyor, bu sayede yük dağıtmak mümkün.

Diğer failover sistemlerinden farklı olarak VRRP‘de sunucular birbirlerini multicast trafik ile izliyorlar. Bu multicast adres (224.0.0.18) Internet Assigned Numbers Authority (IANA) in kayıtlı standart multicast adreslerinden.

VRRP yapısında kullanılan önceliklendirme puanlamasında script, servis durumu veya komutların çıktıları keepalived sayesinde kullanılabiliyor. Özellikle script çıktılarının aktif cihaz seçiminde kullanılabiliyor olması büyük esneklik sağlıyor.

Keepalived‘ın loadbalance yeteneği de var. Bu yazımda loadbalance kullanımıyla ilgili bir bilgi bulunmuyor.

Yüksek erişilebilirlik sağlamak için kullanılan diğer yöntemleri referans amaçlı listeliyorum;

– Piranha
– UltraMonkey
– Heartbeat + mon + coda
– Heartbeat + ldirectord
– Heartbeat + Pacemaker

Örnek ayar dosyası ( /etc/keepalived/keepalived.conf );

global_defs {
   notification_email {
     test1@test.com
     test2@test.com
   }
   notification_email_from test@test.com
   smtp_server mail.test.com
   smtp_connect_timeout 30
}

vrrp_script chk_myscript {
  script       "/usr/local/bin/mycheckscript.sh" # exit 0 (herşey yolunda) | exit 1 (problem var)
  interval 2   # check every 2 seconds
  fall 2       # require 2 failures for KO
  rise 2       # require 2 successes for OK
}

vrrp_script chk_ping {
       script "/bin/ping -c 4 -q -I eth0 xx.xx.xx.x"
       interval 10
       fall 2
       weight 4
}

vrrp_script chk_service {
       script "killall -0 mysqld"
       interval 1
       weight 2
}

vrrp_instance VI_1 {
    state MASTER
    interface eth1
    virtual_router_id 20
    priority 101
    advert_int 1
    smtp_alert
    nopreempt
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.10.121/24 dev eth0
    }
    track_script {
       chk_myscript
       chk_ping
       chk_service
    }
    
    notify /usr/local/bin/keepalivednotify.sh

    #notify_backup "script_backup.sh"
    #notify_master "script_master.sh"
    #notify_fault "script_fault.sh"
}

Sanal IP adresini görmek için;

ip addr show eth1

Örnek  notify betiği;

#!/bin/bash

# $1 = "GROUP"|"INSTANCE"
# $2 = name of group or instance
# $3 = target state of transition
#     ("MASTER"|"BACKUP"|"FAULT")
TYPE=$1
NAME=$2
STATE=$3

case $STATE in
"MASTER") /etc/init.d/apache2 start
          exit 0
          ;;
"BACKUP") /etc/init.d/apache2 stop
          exit 0
          ;;
"FAULT")  /etc/init.d/apache2 stop
          exit 0
          ;;
*)        echo "unknown state"
          exit 1
          ;;
esac

Hamdi ÖZCAN – ozcan.com

]]>
/blog/keepalived-ile-ip-failover/feed/ 0
DNSSEC Nedir? /blog/dnssec-nedir/ /blog/dnssec-nedir/#comments Wed, 14 May 2014 10:30:55 +0000 /blog/?p=776 DNSSECDNSSEC sayısal verinin dijital imza ile doğrulanmasına dayanan, bilişim güvenliğini tamamlayan teknolojilerdendir. DNS sisteminin güvenlik eksiklerini tamamlamak için geliştirilmiştir. DNSSEC doğrulamasının yapılabilmesi için kök alandan son alan adına kadar tüm basamakların DNSSEC uyumlu olması gerekmektedir. Kökün imzalanmış olması, güven zincirinin ön şartıdır (.tr henüz DNSSEC uyumlu değil). DNSSEC mekanizmasında trafik kriptolanmaz, ziyaret edilen alan adının işaret ettiği IP adreslerinin doğruluğu kanıtlanır.

DNSSEC son kullanıcının kullandığı alan adının doğru web sayfasına veya servislere karşılık gelen IP adresine ait olduğunu güvence altına alır. Bu Internet’in tüm güvenlik problemlerini çözmez fakat kritik bir bölümün güvenliğini kontrol altına alır. SSL (https) gibi diğer teknolojilerle birlikte kullanıldığında güvenliği iyileştirilmiş bir platform sağlar.

DNSSEC yapısı, KSK “Key Signing Key” (uzun süreli anahtar) ve ZSK “Zone Signing Key” (kısa süreli anahtar) olmak üzere iki anahtar çiftinden oluşur. Yeterli miktarda veri toplanarak kriptografik anahtarlar çözümlenebilir, bu yüzden DNS kayıtları otomatik olarak belirli aralıklarla yeniden imzalanır. DNSSEC‘de asimetrik veya açık anahtar kriptografisi kullanılmaktadır ve saldırganlar kaba kuvvet saldırısı ile anahtarları imzalayan anahtar çiftinin gizli yarısını ele geçirilebilir. DNSSEC bu tür saldırılara karşı sistemi güçlendirmek için rutin DNS kayıtlarını imzalarken ZSK anahtar çiftini, imzaları doğrularken KSK anahtar çiftini kullanır. ZSK düzenli olarak değiştirilerek saldırılara karşı sistem güçlendirilir. KSK anahtar çifti daha uzun aralıklarla yenilenir (güncel uygulamada yıldar bir). KSK ZSK‘yı, ZSK DNS kayıtlarını imzalar. KSK sadece alan adındaki DNS kayıtlarını doğrulamak için gereklidir. KSK‘nın bir örneği DS “Delegation Signer” kaydı biçiminde bir üst alan adına kaydedilir. Üst alan adı, alt alandan gelen DS kayıtlarını kendi ZSK‘sı ile imzalar.

DNSSEC açık anahtar altyapısı (Certificate Authority) ICANN bünyesinde barındırıyor. Fakat KSK‘ları imzalayan kök sertifikalar gönüllü katılımcılar tarafından yönetiliyor. Küresel kabul için kök anahtarların yönetiminin kimde olduğu önemli bir nokta. ICANN katılımcıların kimler olacağına müdahale etmiyormuş ve ticari kararların bu seçimi etkilememesi gerektiğine inanmaktaymış.

PKI altyapısını kullanan sistemlerde yaşanan güvenli anahtar değiş tokuşu problemine, DNSSEC çözüm sağlayabilecek yetenekte. Yakın gelecekte kriptolu e-posta gönderimi gibi konularda standart haline geleceğini düşünüyorum. Bu konuda “Şifreli e-posta neden yaygınlaşmıyor?” yazım ilginizi çekebilir.

ozcan.com NS suncularını, bu yazıyı yazdığım tarihte DNSSEC uyumlu hale getirdim. BURAYA tıklayarak, kontrol aracını deneyebilirsiniz (hatalı sonuç verebiliyor, sayfayı yenilemek gerekebilir birkaç kez).

Hamdi ÖZCAN – ozcan.com

]]>
/blog/dnssec-nedir/feed/ 2
Kdenlive X.264 Desteği, Ubuntu /blog/kdenlive-x-264-destegi-ubuntu/ /blog/kdenlive-x-264-destegi-ubuntu/#respond Fri, 09 May 2014 13:20:56 +0000 /blog/?p=753 Ubuntu üzerine KDENLIVE ilk yüklendiğinde, düzenlenen görüntüleri H.264 biçiminde kaydetmek mümkün olmuyor. libx264 yüklenmiş olsa dahi “output format not supported” hatası alınıyor.

Görüntü kaydını H.264 biçiminde kaydetmek için aşağıdaki adımların tamamlanması yeterli;

sudo apt-get install libavcodec-extra-53
sudo rm ~/.kde/share/config/kdenliverc.txt

kdenliverc.txt dosyası silindiğinde ilk kurulum sihirbazı yeniden çalışıyor ve yüklenen libx264 kullanılabiliyor.

 

]]>
/blog/kdenlive-x-264-destegi-ubuntu/feed/ 0
SSH nasıl 2-faktörlü doğrulama ile korunur? (Two-Factor Authentication) /blog/ssh-nasil-2-faktorlu-dogrulama-ile-korunur-two-factor-authentication-2/ /blog/ssh-nasil-2-faktorlu-dogrulama-ile-korunur-two-factor-authentication-2/#respond Thu, 10 Apr 2014 11:57:38 +0000 /blog/?p=747 authenticatorBu yazımda, Ubuntu SSH bağlantılarımızda Google Authenticator PAM modülü ile nasıl 2-faktörlü (2-step verification) hesap doğurlaması yapılır bunu inceleyeceğiz.

Kullanıcı adı ve şifrelerin güvenliğini sağlamak bilişim uzmanları için bile zaman zaman pek mümkün olmuyor. Ele geçirilen sunucu sistemlerinde kayıtlı binlerce hesap tek seferde çalınabiliyor. Zararlı yazılım yüklü bilgisayarlardan giriş yapmak, kötü niyetli yazılımlara hesap bilgilerini girmeniz hesabınızın çalınması ile sonuçlanabilir. İşin kötü tarafı, yıllarca hesabınızın çalındığından haberdar olmadan hesabınızı kullanmaya devam ediyor olabilirsiniz.

Hesap güvenliğimizi bir adım ileri götürerek SSH bağlantılarımıza 2 adımlı giriş nasıl entegre edilir inceleyelim;

Google Authenticator uygulamasını akıllı telefonunuza yükledikten sonra yapılacak basit bir aktivasyon işleminin ardından, ssh bağlantısı kurarken önce doğrulama kodunu telefonunuzdan öğrenerek kullanmanız gerekecek. DİKKAT; Authenticator hangi kullanıcı için aktif edildiyse sonraki işlemlerde sadece o kullanıcı SSH ile erişim sağlayabilir.

1.Adım;

Öncelikle akıllı telefonunuza Google Authenticator’ü yükleyin. Sonrasında sunucunuza bağlanarak aşağıdaki adımları tamamlayın;

sudo apt-get install libpam-google-authenticator

libqrencode3 otomatik olarak yüklenecek ve qr-code üreterek aktivasyon işlemini kolaylaştıracak.

2.Adım;

auth required pam_google_authenticator.so

yukarıdaki satırı aşağıdaki dosyanın başına ekleyin.

nano /etc/pam.d/sshd

aşağıdaki dosyada;

nano /etc/ssh/sshd_config

ilgili satırı bulup aşağıdaki gibi değiştirin,

ChallengeResponseAuthentication yes

3.Adım;

Şimdi cep telefonundaki uygulamayı aktifleştirelim; 2-faktör doğrulamalı kullanacağınız hesaba geçin ve aşağıdaki komutu çalıştırın,

google-authenticator

sorulan sorulara ihtiyaçlarınıza göre yanıt verdikten sonra ekranda kocaman bir qr-code oluşacak. Buradaki qr-code’u okutarak yada “secret key” yardımıyla cep telefonuzdaki Authenticator uygulamasını etkinleştirin.

Oluşabilecek terslikler için “emergency scratch codes” satırlarını biryere not edin. Buradaki kodlar tek kullanımlıktır. Console erişiminde tüm kullanıcılar 2-faktöre gerek kalmadan giriş yapabiliyor, bu yüzden bu kodları kaybetseniz dahi sorun değil.

sudo services ssh restart

İşlemi tamamladık, SSH sunucunuz 2-faktör doğrulamaya sahip. Public-key ile bağlantılarda ek doğrulama gerekmeyecek, bu da güzel yönlerinden.

]]>
/blog/ssh-nasil-2-faktorlu-dogrulama-ile-korunur-two-factor-authentication-2/feed/ 0
Uzak Windows sistemlerin işlem listesi nasıl alınır? /blog/uzak-windows-sistemlerin-islem-listesi-nasil-alinir/ /blog/uzak-windows-sistemlerin-islem-listesi-nasil-alinir/#respond Wed, 09 Apr 2014 09:44:56 +0000 /blog/?p=735 Uzak Windows sistemlerin üzerinde çalışan işlem listesini almak için içsel gelen “tasklist” komutu kullanılabilir. Bir domain ortamında değilseniz, kullanıcı adı ve parolayı komut satırından yazarak uzak sistemdeki liste çekilebilir. (tasklist /?)

Komut satırını yönetici yetkileri ile başlattıktan sonra bir domain ortamındaysanız aşağıdaki komut ile listeyi çekebilirsiniz;

tasklist /s SERVER_NAME

Listede bulunan işlemlerden istediğinizi kapatmak için iki farklı yöntem uygulanabilir;

taskkill /s hostname /PID 1234 /PID 5678
taskkill /s hostname /IM notepad.exe

/t parametresi kullanılarak tüm işlem ağacı sonlandırılabilir.

Uzak sistemde yeni bir işlem başlatma için farklı yöntemler var. Bunlardan birisi Sysinternals’ın geliştirdiği PsExec aracını kullanmak.

]]>
/blog/uzak-windows-sistemlerin-islem-listesi-nasil-alinir/feed/ 0
Cannot connect to RDP over SSH to multiple hosts /blog/cannot-connect-to-rdp-over-ssh-to-multiple-hosts/ /blog/cannot-connect-to-rdp-over-ssh-to-multiple-hosts/#respond Tue, 18 Mar 2014 17:00:00 +0000 /blog/?p=716 I have several RDP over SSH connections defined in Remmina. When I connect to one, the fingerprint is stored in .freerdp/known_hosts – but for the “host” 127.0.0.1, due to the SSH tunnel.

When I try to connect to the next RDP over SSH connection, this fails with “Unable to connect to RDP server 127.0.0.1”, due to the record in known_hosts.

Unable to connect to TDP server 127.0.0.1

Seems like Remmina should allow several RDP to localhost to avoid this.

Workaround: Remove ~/.freerdp/known_hosts between each connection.

Permanent workardound:

rm .freerdp/known_hosts && ln -s /dev/null .freerdp/known_hosts

https://github.com/FreeRDP/Remmina/issues/223

]]>
/blog/cannot-connect-to-rdp-over-ssh-to-multiple-hosts/feed/ 0