Skip to content

securecrt hiyerarşik yapıda log tutmak

vbs,python gibi scriptleri desteklemesi nedeniyle en sık kullanılan ssh client uygulamalarında bir tanesi durumda securecrt.

securecrt nin güzel özelliklerden bir taneside yapılan tüm işlemlerini hiyerarşik şekilde log tutabilmenizdir. bunun için yapılması gereken “edit default session options” altında log file dosyasına ait konfigürasyonu yapmalısınız.

açılan pencede “start log upon connect” seçerek securecrt çalışmaya başladı anda aktif olmasını sağlıyoruz. log dosya ismini oluşturuken program tarafından desteklenen dosya isim formatlarını kullanabiliyorsunuz. benim kullanmakta olduğun versiyon için kullanılabilecek parametler aşagıdaki şekilde tanımlanmış.

%H - hostname
%H - hostname (not valid with protocols that do not specify a host, such as Serial)
%S - session name
%Y - four-digit year
%y - two-digit year
%M - two-digit month
%D - two-digit day of the month
%P - port (not valid with protocols that do not specify a port, such as RLogin)
%h - two-digit hour
%m - two-digit minute
%s - two-digit seconds
%t - three-digit milliseconds
%F - directory path starting below the "Sessions" folder
%% - percent (%)
%envvar% - environment variable

bu parametreleri kullanarak istediğiniz formatta log dosyaları oluşturabilirsiniz. ben yıl/ay/gün/hostname-saat klasör yapısını kullandım.

D:\securecrt\log\%Y\%M\%D\%H_%h-%m-%s.log

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

ssh root erişimini engelleme

en temel güvenlik ihtiyaçlarından bir tanesidir root kullanıcısının ssh ile bağlantısının engellenmesi.

$ sudo nano /etc/ssh/sshd_config

ssh konfigürasyon dosyasını açıyoruz ve PermitRootLogin ve PasswordAuthentication parametlerini no olarak değiştiriyoruz.

PermitRootLogin no
PasswordAuthentication no

sonrasında takibi sunucumu yeniden başlatmayı ihmal etmiyoruz.

sudo service ssh restart

ubuntu üzerinde ssh sunucu

ubuntu üzerinde ssh sunucuyu aktif etmek istiyorsanız openssh-server i kurmak yeterli olacaktır.

fcicek@ubuntu:~$ sudo apt-get install openssh-server

sunucunun aktif olduğunun kontrollerini yapalım.

fcicek@ubuntu:~$ ps -aux|grep sshd
root        472  0.0  0.5  72136  5656 ?        Ss   09:31   0:00 /usr/sbin/sshd -D
root       1268  0.0  0.7 105604  7044 ?        Ss   09:36   0:00 sshd: fcicek [priv]
fcicek     1292  0.0  0.4 105604  4608 ?        S    09:36   0:00 sshd: fcicek@pts/0
fcicek     1467  0.0  0.1  14352  1168 pts/0    S+   09:44   0:00 grep --color=auto sshd

raspberry nin ilk kurulumunda ssh aktif edilmesi

raspberry üzerine monitor ve klavye kullanmadan raspbian kurmak – kullanmak istiyorsanız ve boot sırasında ssh  aktif olmuyor diyorsanız yapmanız gereken kullandığınız sd card içine girerek config.txt dosyasının yer aldığı klasör (/boot) içine “ssh” isimli bir dosya oluşturarak içine ssh yazarak kaydedin.

raspberry in ilk açılış sırasında ssh artık aktif olacaktır. login olduktan sonra istediğiniz değişiklikleri yapabilirsiniz..

 

wetty : http/https üzerinden web browser terminal

web browser üzerinden terminal ihtiyacı her ne kadar çok tercihimiz olsada ısrar eden elbet birileri olacaktır. geçici olarak bu ihtiyacı karşılamak istersek wetty işimi görecektir. öncelikle ihtiyacımız olan araçları sistemimize yükleyelim.
git, nodejs ve npm i sırasıyla yüklelim.

fcicek@cicek:~$  sudo apt-get install git 
fcicek@cicek:~$  sudo apt-get install nodejs 
fcicek@cicek:~$  sudo apt-get install npm 

şimdi sıra wetty nin git ile clone lanmasına geldi.

fcicek@cicek:~$ git clone https://github.com/krishnasrinivas/wetty

başarılı indirme işlemi sonrası kurma işlemini yapalım.

fcicek@cicek:~$ cd wetty/
fcicek@cicek:~/wetty$ sudo npm install 
 

kurulum gerçekleşti. şimdi sıra yeni bir socket üzerinden uygulamamız başlatalım. bu örnekte 3000 kullanmaya karar verdik..

fcicek@cicek:~/wetty$ sudo node app.js -p 3000

eger http yerine https kullanmak istiyorsak

fcicek@cicek:~/wetty$ sudo  node app.js --sslkey key.pem --sslcert cert.pem -p 3000 

olarak kullanabiliriz. şimdi browserimiz açalım ve gerekli testlerimiz yapalım. adres satırımıza http://localhost:3000 yazalım ve ekran görüntümüz

wetty1

cli üzerinden bağlantı durumlarının loglarıda incelenebilir.

Sun Nov 15 2015 22:00:41 GMT+0200 (EET) Connection accepted.
Sun Nov 15 2015 22:00:41 GMT+0200 (EET) PID=5042 STARTED on behalf of user=
Sun Nov 15 2015 22:22:25 GMT+0200 (EET) PID=5042 ENDED
Sun Nov 15 2015 22:22:29 GMT+0200 (EET) Connection accepted.
Sun Nov 15 2015 22:22:29 GMT+0200 (EET) PID=6597 STARTED on behalf of user=
Sun Nov 15 2015 22:27:30 GMT+0200 (EET) Connection accepted.
Sun Nov 15 2015 22:27:30 GMT+0200 (EET) PID=7265 STARTED on behalf of user=

raspberry pi – raspbian ssh aktif edilmesi

raspberry ile çalışıyorsanız ssh in aktif olması olmazsa olmazlardan biridir. şimdi raspberry üzerine ssh sunucusu nasıl aktif edeceğimize bakalım.

raspberry nin konfigürasyon arayüzünü aktif çalıştıralım. bu arayüz ile konfigürasyon dosyaları ile uğraşmaya gerek kalmayacak. yazılım sürümüne göre ekran görüntüleri farklılık gösterebilir.

pi@raspberrypi ~ $ sudo raspi-config

açılan arayüzden “advanced options” seçilir

raspiconfigssh1

yeni açılan pencereden ssh seçilerek
raspiconfigssh2

açılan pencereler takip edilerek ssh aktif edilir.

raspiconfigssh3

raspiconfigssh4

ssh ımız aktif oldu. artk arayüzden “finish” diyerek çıkabilir.

raspiconfigssh5

arayüzden çıktıktan sonra komut satırını aşagıdaki şekilde göreceğiz.

pi@raspberrypi ~ $ sudo raspi-config 
update-rc.d: using dependency based boot sequencing
[ ok ] Starting OpenBSD Secure Shell server: sshd.

herşey güzel.. gerçekten ssh sunucumuz aktif mi kontrol edelim.

pi@raspberrypi ~ $ /etc/init.d/ssh status 
[ ok ] sshd is running.

ile sunucumuzun çalıştığı bilgisi alıyoruz. ip bilgisini ögrenelim ve gerçek bağlantı testimizi yapalım.

pi@raspberrypi ~ $ ifconfig
eth0 Link encap:Ethernet HWaddr 11:11:11:11:11:11
 inet addr:192.168.2.37 Bcast:192.168.2.255 Mask:255.255.255.0
 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
 RX packets:777 errors:0 dropped:1 overruns:0 frame:0
 TX packets:557 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:1000 
 RX bytes:60040 (58.6 KiB) TX bytes:89779 (87.6 KiB)

bundan sonra ssh bağlantımızı yapalım…

[c:\~]$ ssh pi@192.168.2.37


Connecting to 192.168.2.37:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Linux raspberrypi 3.18.11+ #781 PREEMPT Tue Apr 21 18:02:18 BST 2015 armv6l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Jun 30 20:39:17 2015 from fcicek.local


pi@raspberrypi ~ $

artık raspberry de diğer işlerle uğraşabiliriz.

alcatel sros cpm filter ile ip bloğuna ssh engeli

belirli bir ip bloğunu ssh erişimine kapatmak istersek bunu cpm-filter üzerinden yapabiliriz.

*A:alcatel_sros>config>sys>security# cpm-filter
*A:alcatel_sros>config>sys>security>cpm-filter# ip-filter
*A:alcatel_sros>config>sys>sec>cpm-filter>ip-filter# entry 10 create
*A:alcatel_sros>cfg>sys>sec>cpm>ip-filter>entry# action drop
*A:alcatel_sros>cfg>sys>sec>cpm>ip-filter>entry# match protocol tcp dst-port 22 65535
*A:alcatel_sros>cfg>sys>sec>cpm>ip-filter>entry# match src-ip 10.10.10.0/24	
*A:alcatel_sros>cfg>sys>sec>cpm>ip-filter>entry# exit
*A:alcatel_sros>cfg>sys>sec>cpm-filter>ip-filter# exit	

*A:alcatel_sros>config>sys>security>cpm-filter#info 
----------------------------------------------	
                    entry 10 create
                        action drop
                        match protocol tcp
                            dst-port 22 65535
                            src-ip 10.10.10.0/24
                        exit
                    exit
----------------------------------------------		

burada yapılan işlem 10 entry id ile bir filtre oluşturuldu. tcp protokolü üzerinden ssh in kullandığı 22. portu 10.10.10.0/24 bloguna kapatmak oldu. action satırında accept, drop, queue parametrelerine izin verilmektedir. match kısmının basit bir mantığı var. daha fazla detay için alcatelin sros dokümanlarına bakılmasında fayda var.

sros entry id sine göre kontrol yapılmaktadır. bu nedenle entrylerinizi sık sık güncellemek istemiyorsanız önceden bir plan oluşturmanızda fayda var.

Alcatel SR OS larda telnet, ssh servis kontrolü

Alcatel network ekipmanlarından SROS kullananlarda cihaz üzerinde hangi servislerin açık olduğunu ve bağlanılabileceğini system information komutu ile elde edebiliriz.

*B:PE1# show system information

===============================================================================
System Information
===============================================================================
System Name : PE1
System Type : 7750 SR-12
System Version : C-9.0.R15
System Contact :
System Location : Turkey
System Coordinates : Istanbul
System Active Slot : A
System Up Time : 438 days, 11:00:01.27 (hr:min:sec)

SNMP Port : 169
SNMP Engine ID : 000019000100110
SNMP Engine Boots : 2
SNMP Max Message Size : 9216
SNMP Admin State : Enabled
SNMP Oper State : Enabled
SNMP Index Boot Status : Persistent
SNMP Sync State : OK

Tel/Tel6/SSH/FTP Admin : Disabled/Disabled/Enabled/Enabled
Tel/Tel6/SSH/FTP Oper : Down/Down/Up/Up

tacacs+ ayarları – alcatel omniswitch

ağınızda yer alan cihazlarınıza kullanıcı denetimleri yapmanın yararlı ve zorunlu olduğu durumlarda bu işteki en kolay yöntem cihaz üzerinde AAA modunu aktif ederek basit bir tacacs+ sunucu kurmak ve ayarları buna göre yapılandırmak diyebiliriz.

Linux ve windoz için ücretsiz bir çok tacacs+ sunucu bulabilirsiniz. benim önerebileceklerim linux için : http://www.shrubbery.net/tac_plus/ ve windoz için : http://http://www.tacacs.net/ şeklinde.

sunucu tarafının halledildiğini düşünerek cihazlarımızda yapacağımız konfigürasyona değinelim. bu yazıda örnek olarak alcatel in omniswitch serisi için gerekli konfigürasyona değineceğiz. öncelikle hangi servisleri kullanacağımıza karar vermeliyiz. eğer telnet, ftp v.b. bir kısıtlama yapmayacaksak tüm servise aktif edebiliriz.

-> ip service all

ancak bu bir güvenlik açığı doğurabilecektir. bu yüzden sadece kullanacağınız servisleri aktif edin diğer servisleri pasif hale getirin. aşağıdaki komut kullanımlarını görebilirsiniz.

-> ip service ssh snmp
-> no ip service ftp telnet http
-> no ip service all

bundan sonra AAA için gerekli servis tanımlarının yapılması ve hangi servislere hangi metodun uygulanacağı belirlemek var. öncelikli olarak tacacs+ sunucu ayalarını girelim. burada dikkat etmemiz gereken sunucu tarafına uygun şekilde gerekli yapılandırmasını yapmak.

Tacacs sunucularımız
tacacs server ip : 10.10.10.49 port : 49 key : sUnUcU10.49
tacacs server ip : 10.10.11.49 port : 49 key : sUnUcU11.49
şeklinde yapılandırılmış olsun.

-> aaa tacacs+-server “tacacs_sunucu_a” host 10.10.10.49 key “sUnUcU10.49” port 49 timeout 10
-> aaa tacacs+-server “tacacs_sunucu_b” host 10.10.11.49 key “sUnUcU11.49” port 49 timeout 10

yukarıdaki şekilde tacacs_sunucu_a ve tacacs_sunucu_b şeklinde suncu tanımlarını yapmış olduk. şimdi kullanıma sunacağımız servisler için gerekli tanımlamaları girelim

-> aaa authentication default “tacacs_sunucu_a” “tacacs_sunucu_b” “local”
-> aaa authentication console “tacacs_sunucu_a” “tacacs_sunucu_b” “local”
-> aaa authentication ssh “tacacs_sunucu_a” “tacacs_sunucu_b” “local”

Back To Top