Berkeley r-komutları
Geliştirici(ler) | Kaliforniya Üniversitesi (Berkeley)'da Computer Systems Research Group |
---|---|
İlk yayınlanma | Haziran 1981 | )
İşletim sistemi | Unix ve Unix benzeri |
Tür | Komut Yazılım paketi |
Lisans | BSD lisansı |
Berkeley r-komutları, bir Unix sisteminin kullanıcılarının TCP/IP bilgisayar ağı üzerinden başka bir Unix bilgisayarında oturum açmasını veya komutlar vermesini sağlamak için tasarlanmış bir bilgisayar programları paketidir.[1] Berkeley r-komutları, 1982'de Berkeley'deki Kaliforniya Üniversitesi'ndeki Computer Systems Research Group (CSRG) tarafından, TCP/IP'nin (İnternetin protokol yığını) erken uygulanmasına dayanarak geliştirildi.[2]
CSRG, r-komutlarını kendilerinin geliştirdiği bir Unix işletim sistemi olan Berkeley Software Distribution'a (BSD) dahil etti. R-komutları BSD v4.1'de yayınlandı.[2] Paket içerisindeki programlar şunlardır: rcp
, rexec
, rlogin
, rsh
, rstat
,ruptime
ve rwho
.[3]
Berkeley r-komutları önemli bir yenilikti ve Unix işletim sistemleri için fiili standartlar haline geldi.[4][5] Geniş çapta kitlelerin internete olan adaptasyonuyla birlikte, var olan güvenlik açıkları bir sorun haline geldi.[6] 1995'te geliştirilmesi başlanan güvenli kabuk (secure shell) protokolleri ve uygulamaları zamanla r-komutlarının ve telnet
'in yerini aldı.[7]
Doğrulama
[değiştir | kaynağı değiştir]Hizmet | Bağlantı Noktası
(Port) |
Taşıma Katmanı
(Transport Layer) |
Referanslar | |
---|---|---|---|---|
İstemci
(Client) |
Arka plan Uygulaması
(Daemon) | |||
rcp
|
rcpd
|
514 | TCP | |
rexec
|
rexecd
|
512 | TCP | [8] |
rlogin
|
rlogind
|
513 | TCP | [9] |
rsh
|
rshd
|
514 | TCP | |
rstat
|
rstatd
|
UDP | ||
ruptime
|
rwhod
|
513 | UDP | [10] |
rwho
|
Orijinal Berkeley r-komutları paketi rlogin
komutunun dışında rcp (remote copy - uzaktan kopyalama) ve rsh
(remote shell - uzak kabuk) komutlarını da içerir. Bunlar, hosts.equiv ve .rhosts erişim kontrol şemasını paylaşırlar (farklı bir daemon'a bağlanmış olsalar da, rshd).
Komutlar
[değiştir | kaynağı değiştir]rlogin
[değiştir | kaynağı değiştir]rlogin
, 513'üncü TCP portunu kullanarak, kullanıcının ağ üzerinden sunucuya bağlanmasını sağlar.
rlogin
ayrıca yazılım tarafından kullanılan uygulama katmanı protokolünün adıdır ve TCP/IP protokol paketinin bir parçasıdır. Kimliği doğrulanmış kullanıcılar, bilgisayarda fiziksel olarak varmış gibi hareket edebilirler. İçinde tanımlandığı RFC 1282, şunu belirtir: "rlogin
özelliği; fiziksel kullanımdaki akıcılıkta, uzaktan kullanılabilen bir sanal terminal sağlar." rlogin
uzak ana bilgisayarda bir deamon (arka planda çalışan program) olan rlogind
(remote-login-deamon) ile iletişim kurar. rlogin
, telnet
komutuna benzer, ancak özelleştirilebilir değildir ve yalnızca Unix benzeri ana bilgisayarlara bağlanabilir.
rsh
[değiştir | kaynağı değiştir]rsh
, oturum açma prosedürü olmadan uzak bilgisayarda bir kabuk açar. Bağlandıktan sonra kullanıcı, kabuğun komut satırı arayüzü aracılığıyla uzak bilgisayardaki komutları çalıştırabilir. rsh
, girdileri ve çıktıları standart akışlar üzerinden geçirir ve standart çıktıyı kullanıcının konsoluna gönderir. Ağ üzerinden, standart girdiler (stdin) ve standart çıktılar (stdout) 514'üncü TCP portu üzerinden akarken; standart hatalar (stderr), rsh
arka plan programının (rshd
) açtığı farklı bir TCP portundan akar.[11]
rexec
[değiştir | kaynağı değiştir]rexec
'de rsh
gibi, kullanıcının uzak bir bilgisayarda kabuk komutlarını çalıştırmasına olanak tanır. Ancak, rsh
sunucusundan farklı olarak, rexec
sunucusu (rexecd
) oturum açma gerektirir: ağ soketinden kullanıcı adı ve parolayı (şifrelenmemiş şekilde) okuyarak kullanıcıların kimliğini doğrular.[12] rexec
, 512'nci TCP portunu kullanır.
rcp
[değiştir | kaynağı değiştir]rcp bir dosyayı veya dizini yerel sistemden uzak bir sisteme, uzak bir sistemden yerel sisteme veya bir uzak sistemden diğerine kopyalayabilir.[13] cp
ve rcp
'nin komut satırı argümanları benzerdir; ancak rcp
'de, uzak dosyalarda, uzak sistemin adı ön ek (prefixed) olarak bulunur:
rcp file.txt subdomain.domain:~/home/foo/file.txt
Unix kopyalama komutu olan cp
'de olduğu gibi, rcp
komutu da hedefte aynı isimde var olan bir dosyanın üzerine yazar; cp
'nin aksine, hedef dosyanın üzerine yazmadan önce kullanıcıyı uyarmak için hiçbir mekanizma sağlamaz.[13] rsh
gibi, rcp
de 514 numaralı TCP portunu kullanır.[14]
rwho
[değiştir | kaynağı değiştir]Unix sistemlerde kullanılan who
komutu kullanıcıları nasıl listeliyorsa, rwho
komutu da aynı şekilde çok kullanıcılı Unix sisteminde giriş yapmış olan bütün kullanıcıları listeler.[15] rwho
'un arka plan programı (deamon) olan rwhod
, yerel ağdaki Unix sistemlerinin durumu hakkındaki bilgileri saklamak amacıyla veritabanı oluşturur. rwod
ve oluşturmuş olduğu veritabanı, ruptime
programı tarafından da kullanılır.[16]
rstat
[değiştir | kaynağı değiştir]ruptime
[değiştir | kaynağı değiştir]uptime
komutunun bir Unix sisteminin son yeniden başlatmadan bu yana ne kadar süredir çalıştığını göstermesi gibi, ruptime
komutu da yerel ağdaki tüm bilgisayarlardan bir durum raporu ister. Daha sonra çalışma süresi raporunu döndürür. Bir bilgisayar cevap göderirken zaman aşımına uğrarsa; ruptime
, sistemin kapalı olduğunu bildirir.[17] Bu bilgi, aynı zamanda rwho
komutu tarafından da kullanılan rwhod
arka plan programı tarafından da izlenir ve saklanır.[16]
Güvenlik
[değiştir | kaynağı değiştir]Kullanıcı kimlik doğrulamasını içeren bu r-komutları (rcp
, rexec
, rlogin
ve rsh
), bazı ortak güvenlik açıklarına sahiptir:
- Şifreler de dahil olmak üzere tüm bilgiler şifrelenmemiş olarak iletilir (ele geçirmeye karşı savunmasız hale getirir).
- .rlogin (veya .rhosts) dosyasının kötüye kullanılması kolaydır. Şifre olmadan oturum açmaya izin verecek şekilde tasarlanmıştır, ancak uzak kullanıcı adlarına, ana bilgisayar adlarına ve IP adreslerine güvenmeleri istismar edilebilir. Bu nedenle, birçok kurumsal sistem yöneticisi .rhosts dosyalarını yasaklar ve suçlular için ağlarını aktif olarak inceler.
- Protokol port numarası ve sunucu alan adı gibi bazı önemli bilgileri
rlogin
istemci uygulaması tarafından sağlar. İstemci uygulamasındaki hatalı bir durum sunucu tarafından algılanamayabilir (bu hata kasıtlı olarak da sağlanabilir) ve bu durumdarlogin
protokolü, kimlik doğrulama aşamasında hatalı davranıp istemciye erişim hakkı tanıyabilir. - Çoğu kullanıcının ana dizinleri ağ dosya sistemine (NFS - Network File System) bağlı olduğundan, sahte bir .rhosts dosyası ve
rlogin
protokolü sistemi saldırılara açık hale getirir - bu da demektir ki, ağ dosya sistemi yazılımının yapacağı bir hata, sistemirlogin
saldırısına karşı savunmasız bırakır.[18]
Bu sorunlar nedeniyle, r-komutları göreceli olarak kullanılmaz hale geldi (birçok Unix ve Linux dağıtımları artık varsayılan olarak bunları içermiyor). Daha önce rlogin
ve telnet
'e dayanan birçok ağ, bunların yerini ssh
ve onun rlogin-eşdeğeri olan slogin
ile değiştirdi.[19][20]
Ayrıca bakınız
[değiştir | kaynağı değiştir]Kaynakça
[değiştir | kaynağı değiştir]- ^ "Using the Berkeley r-commands Without a Password". Unix System Management: Primer Plus. Sams Publishing. 2003 [2002]. s. 339. ISBN 978-0-672-32372-0. Erişim tarihi: 4 Mart 2018 – Google Books vasıtasıyla.
- ^ a b "Twenty Years of Berkeley Unix: From AT&T-Owned to Freely Redistributable". Open Sources: Voices from the Open Source Revolution. O'Reilly & Associates. 1999. ISBN 978-1-56592-582-3. Erişim tarihi: 3 Mart 2018.
- ^ "Which IP Services Are Most Vulnerable?". Guide to TCP/IP: IPv6 and IPv4. 5th. Cengage Learning. 2017. s. 659. ISBN 978-1-305-94695-8 – Google Books vasıtasıyla.
- ^ Casad (2008), p. 346
- ^ "About "r" Commands". Red Hat Fedora Linux 2 Bible. Wiley. 2 Temmuz 2004. ISBN 0-7645-5745-9. OCLC 441918216. Erişim tarihi: 4 Mart 2018.
- ^ "Arşivlenmiş kopya". 6 Nisan 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Şubat 2021.
- ^ "Arşivlenmiş kopya" (PDF). 7 Temmuz 2020 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 4 Şubat 2021.
- ^ "REXEC command—Execute a command on the remote host and receive the results on your local host". z/OS Communications Server: IP User's Guide and Commands. 2013 [1990]. Erişim tarihi: 4 Mart 2018.
- ^ "More on Ports". FreeBSD Network Administrators Guide. Erişim tarihi: 4 Mart 2018.
- ^ Casad (2008), pp. 350–51
- ^ CCSP: Secure PIX and Secure VPN Study Guide. Sybex. 2004. s. 154. ISBN 0-7821-4287-7. Erişim tarihi: 7 Mart 2018 – Google Books vasıtasıyla.
- ^ "rexecd(8)". manpagez.com. 1 Ağustos 2008 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Mart 2018.
- ^ a b "rcp". earthsci.stanford.edu. Stanford University School of Earth, Energy & Environmental Sciences. 3 Ağustos 2004. 7 Şubat 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Mart 2018.
- ^ "Rlogin, RSH, and RCP". SourceDaddy. 31 Ocak 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Şubat 2018.
- ^ "rwho (1) - Linux Man Pages". Erişim tarihi: 7 Mart 2018.
- ^ a b "rwhod (8) - Linux Man Pages". Erişim tarihi: 7 Mart 2018.
- ^ "ruptime (1) - Linux Man Pages". SysTutorials. Erişim tarihi: 7 Mart 2018.
- ^ Varghese, Jinson (10 Kasım 2020). "What is Network Penetration Testing & How to Perform It?". www.getastra.com (İngilizce). 3 Aralık 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Şubat 2022.
- ^ A Practical Guide to Linux Commands, Editors, and Shell Programming. Pearson Education, Inc. 2010. ISBN 978-0-13-136736-4.
- ^ "Unix job control command list". Indiana University. 13 Kasım 2014 tarihinde kaynağından arşivlendi. Erişim tarihi: 20 Aralık 2014.
- Bu makale Free On-line Dictionary of Computing'deki materyaller temel alınarak hazırlanmıştır. 1 Kasım 2008'den önce ve GFDL'nin 1.3 veya sonraki sürümünün "yeniden lisanslama" şartlarına dahil edilmiştir.
- Casad, Joe (2008). "Berkeley Remote Utilities". Sams Teach Yourself TCP/IP in 24 Hours. Pearson Education. ISBN 978-0-13-271513-3 – Google Kitaplar aracılığıyla.
Konuyla ilgili yayınlar
[değiştir | kaynağı değiştir]- "Remote Access Services (rsh, rlogin, and rcp)". Enterprise Security: Solaris Operating Environment, Security Journal, Solaris OE v2.51, 2.6, 7, and 8. Prentice Hall. 2003 [2002]. ISBN 978-0-13-100092-6.
- UNIX User's Handbook. 1st. Prentice Hall. 2000. ss. 475-77. ISBN 978-0-13-027019-1. OCLC 43561861.
- "rlogin(1): The Untold Story" (PDF). November 1998. 17 Aralık 2001 tarihinde kaynağından (PDF) arşivlendi.
- "Unix User Enumeration". Penetration Testing Lab. 10 Nisan 2012. 4 Mart 2018 tarihinde kaynağından arşivlendi.
Dış bağlantılar
[değiştir | kaynağı değiştir]- RFC 1282, BSD Rlogin (1991)
- rlogin(1) 20 Kasım 2020 tarihinde Wayback Machine sitesinde arşivlendi. – Linux User Commands Manual
- rlogin(1): remote login – Darwin and macOS General Commands Manual
- rlogin(1) 30 Ağustos 2021 tarihinde Wayback Machine sitesinde arşivlendi.: remote login – Solaris 10 User Commands Reference Manual