[LinuxFocus-icon]
Ev  |  Eri�imd�zeni  |  ��indekiler  |  Arama

Duyumlar | Belgelikler | Ba�lant�lar | LF Nedir
Bu makalenin farkl� dillerde bulundu�u adresler: English  Castellano  Deutsch  Francais  Italiano  Nederlands  Portugues  Russian  Turkce  Arabic  

convert to palmConvert to GutenPalm
or to PalmDoc

[Photo of the Author]
taraf�ndan Georges Tarbouriech

Yazar hakk�nda:

Georges uzun s�reden beri Unix kullanmakta(ticari ve serbest). G�venlik ile ilgileniyor ve bu alanda yapt��� b�y�k i�lerden dolay� �cretsiz yaz�l�m topluluklar�na te�ekk�r ediyor.


��erik:

 

T�nelin i�erisinden

�eviri : Erg�n M�hc�o�lu

�zet:

SSH,g�venli kabuk (secure shell), �ok iyi bir ticari �r�n. Fakat, Unix veya di�er i�letim sistemleri i�in (ticari veya serbest) �e�itli �cretsiz ssh istemci veya sunucu uygulamalar� mevcut.
Bunlar�n en iyisi OpenSSH, bu linkten alabilirsiniz http://www.openssh.org. Bu y�reden Unix sistemlerine, windos'a, Mac'e... alternatifler bulabilirsiniz. Windos gibi baz� �r�nler i�in sadece �cretsiz istemciler alabilirsiniz.
Bu makalede, harici uygulamalardan harici uygulamalara t�nel a�mak i�in ssh'� nas�l kullanaca��m�z �zerine birka� �rnek sunaca��z. VPN (Virtual Private Network(Sanal �zel Ag)) ssh'a ba�l�d�r , fakat farkl� bir yoldan, bizim burada ald���m�zdan �ok daha ayr�nt�l� bir yoldan. Ba�ka bir karma�ik ��z�m, VTun'u kullanmakt�r.
Bu y�zden, bu t�nel a�may�, heterojen bir a�da verilerin ba�kalar� taraf�ndan g�r�lmesini engellemek i�in verileri �ifreleyen basit ve sade bir y�ntem olarak d���nelim. A��k�a, bu yerel ve uzak a�lar�n her ikisine de uygulanabilir. Fakat, hat�rlarsan�z, ssh sadece verileri �ifreler, a�� kendi �z�nde g�venli yapmaz...
Uyar�ld�n�z !



 

Neden ssh?

SSH bir �nceki makalede bahsedilen telnet, rsh veya rlogin'in yerine ge�er. SSH'da baz� g�venlik problemleri bulunmu� olsa da, hen�z verileri �ifrelemede iyi bir g�venlik arac�. Bu arada, yukar�da bahsedilen g�venlik problemi �ifrelerle ilgiliydi Buras� "passphrases" kullan�m�ndan �iddetle ka��nmay� �neriyor ve de elbette RSA a�k�lar�n�! SSH'i kullanma sizin , "tcpwraper" gibi, ba�ka g�venlik ara�lar� kullanman�z� engellemez.
Bir a� �zerinde dola�an verileri "tcpdump" ve "snoop" gibi ara�lar� kullanarak izinsiz olarak izlemek olduk�a kolayd�r. Bunu, �rne�in, telnet'i kullanarak veri de�i�toku� eden iki bilgisayar i�eren bir a�da deneyim edebilirsiniz. �rne�in Linux alt�nda �al��an ���nc� bir makinadan, tcpdump'� �al��t�r�n( root olarak elbette ) ve ne oldu�unu g�r�n. T�m verileri okuyabilirsiniz !
Elbette ekrandaki g�r�nt�ler okunamayacak kadar h�zl�d�r, fakat hi�bir �ey sizin ��kt�y� bir dosyaya y�nlendirmenize ve bunu bir fincan kahve i�erken izlemenize engel olmaz. E�er bu veriler i�in do�ruysa �ifreler i�in de do�rudur: yani kap�lar k�r�c�lar i�in a��z�na kadar a��kt�r. Onlara evinize girmelerini sa�layacak a�k�y� vermi� oldunuz.
Dola�an verilerin gizli oldu�unu hayal edin... E�er siz bir sistem y�neticiyseniz korkar�m patronunuz sizden ba�ka bir i� bulman�z� isteyecektir.
Uzak komutlar, rsh, rcp, rlogin de olduk�a tehlikelidir, bunlarda da veriler �ifrelenmez. E�er ssh'�n rsh veya rlogin'in yerini almas� iyi ise, scp olarak rcp'nin yerini almas� da iyidir. Yani, e�er ssh'� kullan�yorsan�z art�k ba�ka uzak komutlara veya telnet'e daha fazla gereksiniminiz yoktur, en az�ndan onlar� kullanmamal�s�n�z.
SSH nas�l kurulur, �zel ve genel a�k�lar nas�l olu�turulur... bunlar bu makalenin alan� dahilinde de�il. Gereksiniminiz olan her�eyi indirdi�iniz ssh ar�ivinde veya the Linux Documentation Project'daki bu konu hakk�ndaki dok�manlar� okuyarak bulabileceksiniz.
Bu g�nlerde bilgisayar kullanmak hemen hemen her zaman ��yle veya b�yle veri nakletmek ise, ssh zorunlu olmal�... bu size kalm��. Fakat ssh telnet'in veya uzak komutlar�n yerini almaktan daha fazlas�n� yapabilir.
Harici uygulamalar aras�nda ve a��k�a farkl� i�letim sistemleri aras�nda nakledilen verileri �ifrelemede kullan�labilir. ayr�ca bu verileri s�k��t�rabilir de. S�kl�kla pop, ftp, http protokolleri ile kullan�l�r... s�k��t�rmak veya �ifrelemek i�in. Bu, �rne�in, siz bir sistem y�neticisi iseniz ve evden i�e veya i�den eve ba�lanmak istiyorsan�z �ok faydal� olur.
Bir istemci/sunucu uygulamas� olmas�ndan dolay�, ssh her ikisinde de �al��mak zorundad�r: ssh'� sunucu olarak �al��t�ran bir makinaya ve istemci olarak �al��t�ran bir di�er makinaya gereksiniminiz var.
Bu a��k ger�ek �st�nde ni�in �srar ediyorum ? ��nk� �cretsiz yaz�l�mlar hakk�nda konu�tu�umuzdan, Unix d���nda, bir�ok i�letim sistemi �cretsiz sunuculara sahip de�ildir. Yani, bazen a��k�a yapamayacaks�n�z, problemi �evirmeniz gerekecek:  

a�k�: ilerletme

�leride buna de�inece�iz. Bu demek oluyorki, Mac OS veya Windos gibi i�letim sistemleri kullanma, �cretsiz sunuculara sahip olmad���n�z� g�sterir. O zaman istemcilerle idare etmek zorunda kalacaks�n�z ve bu her zaman yeterince a��k de�ildir. �imdi birka� ger�ek �rnek alal�m.

 

SSH ve VNC

E�er VNC'yi bilmiyorsan�z, t�m zamanlar�n en iyi ara�lar�ndan birini ka��r�yorsunuz demektir. VNC hakk�nda daha fazla bilgi edinmek i�in buraya bir bak�n.
E�er http://www.uk.research.att.com/vnc/docs.html'daki VNC'nin sanal y�resine giderseniz bizim �u anda konu�tu�umuz �eyler hakk�nda bir�ok dok�man bulabilirsiniz. �rne�in, bir Windos ssh istemcisinden bir Unix ssh sunucusuna, ssh �zerinden VNC'yi nas�l kullan�ca��n�z� bulabilirsiniz. Bundan dolay�, Frank Stajano'nun yapt��� m�thi� i�i burada tekrar yazmayaca��m, zaten onun yapt��� benim yapabilece�imden �ok daha iyi.
�imdi, bunun nas�l �al��t���n� g�relim.
�lk �nce, �cretsiz bir Windos istemcisi se�mek zorundas�n�z. Bu �rnekte biz Teraterm Pro'yu onun Ttssh uzant�s� ile kullanaca��z. Onu �u adresten bulabilirsiniz http://hp.vector.co.jp/authors/VA002416/teraterm.html. Ger�ekleri s�ylemek gerekirse, bu Fransa'da izin verilen bir s�r�m oldu�undan Ttssf olarak adland�r�l�r. (Baz� �eyler de�i�iyor , fakat haberdar olun ki, bir�ok �lke hen�z �ifrelemeyi kabul etmiyor. Sizin �lkenizdeki �ifreleme durumunu kontrol etmek i�in �u ba�lant�y� kullanabilirsiniz: http://www2.epic.org/reports/crypto2000/countries.html.)
�imdi, ssh'� bir Unix sunucusunda �al��t�rd���n�z� kabul edelim. Ayn� makinada bir vnc sunucusu da �al��t�rabilece�inizi var say�yoruz. Bu iki sunucu �al��t�ktan sonra, bir NT makinas�n�, �rne�in, bir Unix sunucusuna Ttssh'� kullanarak ba�lay�n. Bu sizin iki makina aras�nda �ifrelenmi� bir ba�lant�ya sahip oldu�unuzu g�sterir. Fakat bu sizin NT makinas�ndan bir �ifrelenmi� vnc izleyicisi protokol� (vncistemci) �al��t�rman�za izin vermez. Bunu yapmak i�in ssh'a do�ru portu ilerletmesini (burada biz devreye giriyoruz.) s�ylemeniz lazim.
vnc sunucusu'nu �al��t�ran Unix makinasina "bandit(haydut)" denir ve 5901 portunu kullan�r, ��nk� o g�r�nt� numaras� 1, tipik X g�r�nt� numaras� bu makinada 0'dir. Normal kullan�m "vncviewer bandit: 1" komutunu g�ndermektir. Bu ku�kusuz �al��acakt�r, fakat veriler �ifrelenmeden. Bunun yerine, NT kabu�unu (yani Dos aray�z�) kullanarak, "/ssh-L5902:bandit:5901" komutunu bo�luksuz g�nderin. B�ylece, 5902 yerel portunu olu�turmu� olursunuz. �imdi "vncviewer localhost:2" gibi bir komut, VNC protokol� ile sizin NT makinan�z aras�nda �ifrelenmi� bir ba�lant�y� �al��t�racakt�r. Bu, Ttssh grafiksel bir aray�ze sahip oldu�undan, komut sat�r�n� kullanmadan da yap�labilir. Ekleyelim ki bu s�zdizimi sadece Ttssh ile ilgilidir. Ayn� komutu bir Unix makinas�nda yazmak �unu s�ylemeli: "ssh -L 5902:bandit:5901 bandit".
Bu elbette �ok temel bir �rnek: siz �ok daha karma��k �eyler yapabilirsiniz. VNC sanal y�resindeki uygun d�k�manlar� kontrol edin, �zellikle Frank Stajano'nunkisini.

 

SSH ve MySQL

MySQL belkide en �ok kullan�lan DBMS(Veritaban� Y�netim Sistemi)dir, �zellikle internet �zerinde. Yine, MySQL'i g�venli yapmak bu makalenin alan�n�n d���nda Fakat, MySQL sunucusu ile MySQL istemcisi aras�ndaki veri dola��m�n� �ifrelemek baglant�y� daha g�venli yapar. SSH bunu yapmam�za izin verir, VNC ile yapt���m�z gibi, portu ilerleterek.
Intranet ile ilgili bir �rnek alal�m. MySQL sunucusu bir Linux kutusudur ve �o�u istemci NT makinalar�d�r. Bir kez daha, Windos makinalar�nda Ttssh istemcilerini kullan�ca��z.
Tipik MySQL portu 3306'dir. Biz ayn� portu (3306) ilerletece�iz.
Bir yerel ilerletme veya uzak ilerletme yapabilirsiniz.
Yerel bir ilerletme bir NT makinas�nda "/ssh-L3306:localhost:3306" gibi veya bir Unix makinas�nda "ssh -L 3306:localhost:3306" gibi olacakt�r. "localhost"'u kullanma size verileri ev sahibi aray�z� yerine  

loopback

aray�z�nden g�nderme iznini verir.
Uzak bir ilerletme NT i�in "/ssh-R3306:bandit:3306" ve Unix i�in "ssh -R 3306:bandit:3306"'dir.
Bu sadace kendi kendine ba�lanma ile ilgilidir. DBM'e ba�lanmak i�in, a��k olarak MySQL sunucusu i�in ev sahibi ismi(hostname) ve kullan�c�ismi(username) vermeniz gerekir, bu makinadaki kullan�c�isminizden farkl� olabilir. "-l" se�ene�i i�in ssh yard�m sayfalar�n� ara�t�r�n.
Elbette, bu sadece e�er NT makinan�zda bir MySQL istemcisine sahipseniz �al��acakt�r.
E�er sahip de�ilseniz, bir ODBC uygulamas� kullanman�z gerekecektir, Sysbase mesela. Yani bu uygulamay� �al��t�rmal�s�n�z. Uygulamay� MySQL'e ba�lamak i�in ODBC s�r�c�n�z� kullan�n. �imdi MySQL sunucusuna girmek i�in, localhost'a ba�lanabilirsiniz, MySQL sunucu ev sahibine de�il. �imdi sunucu ve istemci aras�ndaki veri dola��m� �ifrelendi. Bunu snoop veya tcpdump'i kullanarak kontrol edebilirsiniz.
Bu yerel a� �rne�iydi. E�er b�yle bir �eyi WAN'lar ile yapmak isterseniz, bu biraz daha karma��k olacakt�r, bir ate�duvar�n�n (firewall) arkas�ndaysan�z mesela. Bu, e�er bir sistem y�neticisiyseniz, evden uzak sistem idaresi yapman�n bir y�ntemi olabilir, b�yle bir y�ntemi bir g�rsely�reden DBM'e girmek i�in kullanmay� umamazs�n�z. O zaman daha geli�mi� bir �eyi aramak zorunda kalacaks�n�z, VPN gibi mesela, fakat bu bir fikir.
Herneyse, bunlar�n kredi kart� numaralar� gibi gizli verileri transfer eden bir DBM sunucusunu g�venli yapmak i�in yeterli oldu�unu d���nmeyin. Ve, bu arada, bu t�r verileri risksiz g�nderebilen �ok g�venli bir sunucusu oldu�unu iddia eden birisine kim inan�r? Ki�isel olarak, ben inanmam!!!

 

SSH ve "terminal emulation"

Biz zaten  

"terminal emulation"

'n� kullan�yorken bu ne anlama gelir?
Bir Unix sunucusunda eski bir Cobol uygulamas� �al��t�rd���n�z� d���nelim. �stemciler yine NT makinalar�. Ba�lanmak i�in vt100, vt220 veya vt 320'den daha geli�mi� "terminal emulation"'lara gereksinimleri olacak, bunlar i�in do�ru bir kullan�c� aray�z� almak zorundad�rlar. Yani, vurgular, tablolar... Standard bir (vt100, vt220...) "terminal emulation"'� 8bit'e ayarlamak do�ru �al��mayacakt�r. Ald���n�z kullan�lmazd�r. Bundan dolay�, eski bir �r�n oldu�undan, "eski" "terminal emulation" i�in �zel bir yaz�l�m kullan�rs�n�z.
Do�ru "emulation"'� almak i�in uzun bir �aba harcad�ktan sonra, "ibm3151"'i buldunuz, �rne�in, en iyi sonu�lar� veren.
Fakat, kulland���n�z yaz�l�m bir�ok y�l �nce geli�tirildi�inden, g�venlik diye bir�ey bilmiyor. Ba�lant� telnet kullan�r. Ger�egi s�ylemek gerekirse, g�nderilecek edilen veri olduk�a gizli... �yleyse ne yapmal�? En az�ndan verileri �ifreleyecek bir yol bulmak zorundas�n�z. Ve tekrar, ssh yard�m� edecek.
Bir kez daha, yap�labilecek birden �ok yol var...
telnet'i port 22'ye (ssh) y�nlendirirsiniz veya "terminal emulation"'�n port'unu ilerletirsiniz. Fakat... Korkar�mki sunucu normal bir kullan�c�n�n telnet portunu (tipik olan 23) y�nelnedirmesini kabul etmeyecektir: b�yle bir�eyi yapmak i�in root olmak zorundas�n�z (en az�ndan ben �yle umuyorum!) Terminal uygulamas� hakk�nda, o bir �ok farkl� kullan�c� taraf�ndan ayni anda kullan�labilir, b�ylece her ba�lant� i�in farkl� bir port kullan�l�r, �rne�in 10 kullan�c�= 10 port.
Bu biraz hassas oluyor, degil mi?
�yleyse, ilk �nce, uygulama sunucusu ssh sunucusunu �al���yor ve port 22'yi dinliyor olmal�.
Bir NT makinas�ndan, uygulama sunucusuna Ttssh'� veya "komut sat�r�n�" kullnarak ba�lan�n. B�ylece, sunucu ve istemci aras�da �zel bir kullan�c� g�venli bir ba�lant� sa�lam�� oldunuz. Ttssh se�eneklerinden uzak makinada yerel port 50000'i port 23'e (telnet) ilerletin. Komut sat�r�ndan ��yle olmal� "ssh-L50000:servername:23". �imdi "terminal emulation"'�n�za port 23 yerine port 50000 �zerinden �al��mas�n� s�yleyebilirsiniz. Veriler �imdi g�venli bir kanal �zerinden dola�t�r�l�r, yani �ifrelenmi�. Bunu snoop veya tcpdump ile kontrol edebilirsiniz.
A��k�a, bunu uygulamaya ba�lanmas�na izin verilen t�m istemciler i�in yapabilirsiniz, ilerletilmi� port numaras�n� de�i�tirerek. Mesela, 50001, 50002, ve b�ylece kullanabilirsiniz.
�imdi �unu sorabilirsiniz: ni�in b�yle y�ksek portlar? Cevap: bir�ok sebepten !
Ciddi olarak, ana sebep root olmadan y�ksek portlarla i�lem yapabilirsiniz.
�kinci sebep, se�ilen port iki makinada da kullan�lm�yor olmal�. Mesela: e�er sunucu Solaris'i �al��t�r�yorsa, bir�ok y�ksek port kullan�l�r, �al��an sunucuya ba�l� olarak. B�ylece port 50000 ve �st� �al��abilir. Bu demek oluyorki, ilerletmeden �nce portlar�n kullan�mlar�n� kontrol etmelisiniz.
Elbette, bu ssh istemcilerini �al��t�rabilen bir�ok diger i�letim sisteminde �al��acakt�r.
�stemcilerdeki s�reci otomatikle�tirmekle ilgili olarak, bu size kalm��. Normal bir kullan�c�dan ba�lanmadan �nce bunlar� yapmas�n� isteyemezsiniz, degil mi? O zaman, bunu okuyucular i�in bir egzersiz olarak b�rak�yoruz...

 

Buradan sonra nereye gitmeli ?

Bu �rnekler ssh'�n �e�itli kullan�mlar�n� g�sterdi. Uygulamalar ve ssh ile �ok daha fazla �ey yapabilirsiniz. Bu sizin ihtiya�lar�n�za ba�l�d�r. Fakat, felsefe herzaman ayn�d�r: port ilerletme.
Yine de, daha karma��k ilerletmeleri kullan�rken dikkatli olun. Mesela, e�er ���nc� bir makina �zerinden ilerletirseniz, ba�lant�n�n ortas�ndaki veri dola��m� �ifrelenmeyecektir.
Windos Ttssh istemcileri kullananlar i�in ba�ka bir sorun. �lerletilen portlara olan ba�lant� uzak komutlarda oldugu gibi IP adreslerine ba�l�d�r, b�ylece  

spoofing

sald�r�lar�na izin verir. Bu nedenle, ssh'�n yan�nda baska baz� ara�lar daha kullanmak gerekir, "tcpwrappers" gibi.
SSH ile ilgili yaz�lar� ara�t�r�n, bunlar size �ok �ey ��retecektir. Geri kalan�n� sizin hayal g�c�n�z yapacak.

 

Sonunda, bitti !

G�venlik herkesi ilgilendirmeli, fakat durum b�yle de�il ! ssh sizin herg�n kullanabilece�iniz g�venlik ara�lar�ndan sadece birisidir. Bu olduk�a iyi bir tanesi, ne oldu�unu d���nd���n�zde, bir �ifreleme veya s�k��t�rma arac�d�r.
Kendinde, ssh hemen hemen kullan��s�zd�r, makinan�zda sahip olabilece�iniz �e�itli deliklerin hi�birini ��zmez. Bir ev sahibini, bir a�� g�venli yapmak �ok b�y�k bir i�tir ve ara�lar, olduk�a iyi olsalar da, her�eyi yapamazlar.
Olay g�venlik oldu�unda temel g�revler zorunludur. Kullan�lmayan t�m servisleri kald�rmay� unutmay�n, SUID root programlar�n� kontrol edin, riskli programlar� kald�r�n... Yap�lacak bir�ok �ey var ve hi�bir zaman yeterli olmayacak. T�m g�venlik ara�lar�n� kurabilirsiniz, fakat e�er arka kap�lardan birini a��k b�rak�rsan�z bunlar�n hepsi faydas�z olacakt�r. Elbette, bu ba�ka bir hikaye, fakat a��k olan� unutmay�n.
SSH'a geri d�nelim, onu do�ru ve yap�ld��� i� i�in kullanmaya ba�lad���n�zda, onsuz ayr�lamayaca��n�z bir ara� oldugunu d���nelim. Yine, onu  

passphrases

'lar, RSA a�k�lar� ile kullan�n �ifrelerle de�il. .ssh klas�r�ndeki dosyalar�n ve klas�r�n kendisinin izinlerini kontrol edin. Ve yine ve yine, en az�ndan paketleyicileri kullan�n.
Fakat, hatirlarsan�z, ssh'dan varolan bir�ok protokole t�nel a�abilirsiniz. Bu ba�lant�lar� biraz daha g�venli yapmak i�in olduk�a iyi bir yoldur.
SSH'�n hakk�nda konu�mad���m�z ba�ka bir genel kullan�m� daha var, X oturumu ilerletme. Bu X'i farkl� i�letim sistemlerinde �al��t�rmak demek oldu�undan, bunu kas�tl� olarak bir kenara b�rak�yoruz. Fakat bu protokol t�nellemenin alan� i�erisinde. X g�venli degilse, ssh olaylar� daha iyi yapabilir.
Daha geli�mi� kullan�mlar i�in, ssh yeterli olmayacakt�r. Daha �nce s�yledi�imiz gibi, VPN'ler veya VTun gibi ara�lar� kontrol edin, bunlar muhtemelen �ok faydal� olacakt�r.
Son olarak, �lkenizdeki �ifreleme durumunu kontrol edin. SSH gibi bir yaz�l�m� kullanmak y�z�nden casus olarak hapise gitmek �z�c� olacakt�r.
Bu b�yle...
Herneyse, �ok inan�lmaz bir zaman� ya��yoruz !  

Bu yaz� i�in g�r�� bildiriminde bulunabilirsiniz

Her yaz� kendi g�r�� bildirim sayfas�na sahiptir. Bu sayfaya yorumlar�n�z� yazabilir ve di�er okuyucular�n yorumlar�na bakabilirsiniz.
 talkback page 

G�rsely�re sayfalar�n�n bak�m�, LinuxFocus Edit�rleri taraf�ndan yap�lmaktad�r
© Georges Tarbouriech, FDL
LinuxFocus.org

Buray� klikleyerek hatalar� rapor edebilir ya da yorumlar�n�z� LinuxFocus'a g�nderebilirsiniz
�eviri bilgisi:
en -> -- Georges Tarbouriech
en -> tr Erg�n M�hc�o�lu

2001-08-03, generated by lfparser version 2.17