Sahifa 1 Kali Linux Fosh etildi


Download 0.74 Mb.
bet12/29
Sana10.12.2020
Hajmi0.74 Mb.
#163758
1   ...   8   9   10   11   12   13   14   15   ...   29
Bog'liq
kali linux


5.3.1. Muayyan dasturni sozlash

Noma'lum paketni sozlashni xohlaganingizda, bosqichma-bosqich davom etishingiz kerak. Birinchidan, kerak

paketni qo'llab-quvvatlovchi hujjatlashtirilgan narsani o'qing. / Usr / share / doc / paketi / README.

Debian fayli boshlash uchun yaxshi joy. Ushbu faylda ko'pincha paket haqida ma'lumot bo'ladi,

sizni boshqa hujjatlarga yo'naltirishi mumkin bo'lgan ko'rsatgichlarni o'z ichiga oladi. Siz ko'pincha o'zingizni qutqarasiz a

Ushbu faylni birinchi bo'lib o'qib chiqing, chunki u ko'pincha eng batafsil ma'lumotni oladi va ko'p xafagarchiliklardan saqlaning

keng tarqalgan xatolar va eng keng tarqalgan muammolarni hal qilish.

Keyin dasturiy ta'minotning rasmiy hujjatlarini ko'rib chiqishingiz kerak. 6.1 bo'limiga qarang  , " Hujjatlar -



tation manbalari”[124-bet] turli hujjatlar manbalarini topish bo'yicha maslahatlar uchun. dpkg -L

paket buyrug'i to'plamga kiritilgan fayllar ro'yxatini beradi; shuning uchun siz tezda aniqlay olasiz

mavjud hujjatlar (shuningdek / etc / da joylashgan konfiguratsiya fayllari ). Bundan tashqari, dpkg -s



to'plamni namoyish qilish sthepackagemeta-dataandshowsanypossiblerecommendedorsuggestedpack-

yoshi; u erda siz konfiguratsiyani engillashtiradigan hujjatlarni yoki ehtimol yordam dasturini topishingiz mumkin

dasturiy ta'minot.

Va nihoyat, konfiguratsiya fayllari ko'pincha ko'plab tushuntirishli izohlar bilan o'z-o'zini hujjatlashtiriladi

har bir konfiguratsiya sozlamalari uchun turli xil qiymatlarni kiritish. Ba'zi hollarda siz dasturiy ta'minotni olishingiz mumkin

konfiguratsiya faylidagi bitta qatorga sharh qoldirmasdan ishga tushirish. Boshqa hollarda, misollar

konfiguratsiya fayllari / usr / share / doc / pack / sample / katalogida taqdim etiladi. Ular

o'zingizning konfiguratsiya faylingiz uchun asos bo'lib xizmat qilishi mumkin.

5.3.2. Masofaviy tizimga kirish uchun SSH-ni sozlash

SSH sizga masofadan turib mashinaga kirish, fayllarni uzatish yoki buyruqlarni bajarish imkonini beradi. Bu sanoat

masofadan turib mashinalarga ulanish uchun standart vositani ( ssh ) va xizmatni ( sshd ) sinab ko'ring .

Esa openssh-server paketini sukut o'rnatilgan, SSH xizmat sukut bo'yicha o'chirilgan bo'ladi va

Shunday qilib, yuklash vaqtida boshlanmaydi. SSH xizmatini systemctl start bilan qo'lda boshlashingiz mumkin

ssh yoki uni systemctl yoqish ssh bilan yuklash vaqtida boshlash uchun sozlang .

SSH xizmati nisbatan aqlga sig'maydigan standart konfiguratsiyaga ega, ammo uning kuchli imkoniyatlarini hisobga olgan holda va

sezgir tabiat, uning konfiguratsiya fayli bilan nima qilishingiz mumkinligini bilish yaxshi, / etc / ssh / sshd_

konfiguratsiya . Barcha parametrlar sshd_config (5) da hujjatlashtirilgan .

Standart konfiguratsiya root foydalanuvchisi uchun parolga asoslangan tizimga kirishni o'chirib qo'yadi, demak siz demakdir

avval ssh-keygen bilan SSH tugmachalarini o'rnatishi kerak . Sozlash orqali buni barcha foydalanuvchilarga etkazishingiz mumkin

PasswordAuthentication no ga, yoki PermitRootLogin-ni o'zgartirib, ushbu cheklovni bekor qilishingiz mumkin

ha (standart taqiq-parol o'rniga). SSH xizmati sukut bo'yicha 22-portda tinglaydi

buni Port ko'rsatmasi bilan o'zgartirishingiz mumkin.

Yangi sozlamalarni qo'llash uchun systemctl reload ssh-ni ishga tushirishingiz kerak .

110


Kali Linux ochildi



137-bet

Yangi SSH xostini yaratish

Kalitlar

Har bir SSH serverida o'z kriptografik kalitlari mavjud; ular "SSH xost kalitlari" deb nomlangan

va / etc / ssh / ssh_host_ * da saqlanadi . Agar xohlasangiz, ular shaxsiy saqlanishi kerak

maxfiylik va ular bir nechta mashinalar tomonidan taqsimlanmasligi kerak.

To'liq diskdagi rasmni nusxalash orqali tizimingizni o'rnatayotganda (debian- o'rniga

o'rnatish), rasmda oldindan yaratilgan SSH xost-kalitlari bo'lishi mumkin, bunda sizga kerak bo'ladi

yangi yaratilgan kalitlarga almashtirish. Tasvir, ehtimol, sukut bo'yicha keladi

bir vaqtning o'zida tiklashni xohlagan root parol. Buning hammasini

quyidagi buyruqlar:

passwd

[...]

rm / etc / ssh / ssh_host_ *



dpkg-reconfigure openssh-server

xizmati ssh qayta ishga tushirilishi

5.3.3. PostgreSQL ma'lumotlar bazalarini sozlash

PostgreSQL ma'lumotlar bazasi serveri. U kamdan-kam hollarda o'z-o'zidan foydalidir, ammo boshqa ko'plab xizmatlar tomonidan foydalaniladi

ma'lumotlarni saqlash. Ushbu xizmatlar odatda ma'lumotlar bazasi serveriga tarmoq orqali kirishadi va odatda

ulanish uchun autentifikatsiya ma'lumotlarini talab qilish. Shunday qilib, ushbu xizmatlarni sozlash talab etiladi

ma'lumotlar bazasida tegishli imtiyozlarga ega PostgreSQL ma'lumotlar bazalarini va foydalanuvchi hisoblarini yaratish. Kimga

buni uddalay olamiz, bizga xizmat kerak bo'lishi kerak, shuning uchun uni systemctl start bilan boshlaymiz

postgresql .

Bir nechta PostgreSQL

versiyalari qo'llab-quvvatlanadi

PostgreSQL to'plami ma'lumotlar bazasi serverining bir nechta versiyalari bo'lishiga imkon beradi

birgalikda o'rnatilgan. Bundan tashqari, bir nechta klasterlarni boshqarish mumkin (klaster bu to'plamdir

o'sha pochta boshqaruvchisi tomonidan xizmat ko'rsatadigan ma'lumotlar bazalari ). Bunga erishish uchun konfiguratsiya fayllari

/ etc / postgresql / version / cluster-name / da saqlanadi .

Klasterlar yonma-yon ishlashi uchun har bir yangi klasterga keyingi imkoniyat beriladi.

qodir port raqami (odatda ikkinchi klaster uchun 5433). postgresql.service fayl

bo'sh qobiq bo'lib, barcha klasterlarda birgalikda ishlashni osonlashtiradi, chunki har bir klaster o'z tarkibiga ega

o'z birligi ( postgresql @ versiyasi - klaster .service ).

Ulanish turi va mijozning autentifikatsiyasi

Odatiy bo'lib, PostgreSQL ro'yxatlari kelgusi ulanishlar davomida: onTCPport5432ofthelocal-

xost interfeysi va faylga asoslangan rozetkada /var/run/postgresql/.s.PGSQL.5432 . Bu bo'lishi mumkin

yilda o'yladim postgresql.conf turli ko'rsatmasiga: manzillar uchun listen_addresses tinglash

ga, TCP porti uchun port va faylga asoslangan katalogni aniqlash uchun unix_socket_directories

soketlar yaratilgan.

111

5-bob - Kali Linux-ni sozlash





Sahifa 138

Ulanish usullariga qarab, mijozlar har xil usullarda autentifikatsiya qilinadi. pg_hba.conf

konfiguratsiya fayli har bir rozetkaga kimning ulanishiga ruxsat berilganligini va ularning qanday aniqligini aniqlaydi

belgilangan Odatiy bo'lib, faylga asoslangan soketdagi ulanishlar Unix foydalanuvchi hisobini nomi sifatida ishlatadi

PosgreSQL foydalanuvchisi va bundan keyin hech qanday autentifikatsiya talab qilinmaydi. TCP ulanishida

PostgreSQL foydalanuvchidan foydalanuvchi nomi va parol bilan autentifikatsiyani talab qiladi (a emas

Unix foydalanuvchi nomi / parol, lekin uni PostgreSQL tomonidan boshqariladi).

Postgres foydalanuvchisi maxsus va barcha ma'lumotlar bazalariga nisbatan to'liq ma'muriy imtiyozlarga ega. Biz foydalanamiz

yangi foydalanuvchilar va yangi ma'lumotlar bazalarini yaratish uchun ushbu identifikator.



Foydalanuvchilar va ma'lumotlar bazalarini yaratish

CreateUser buyrug'i yangi foydalanuvchi qo'shimchalar va dropuser bir tozalaydi. Xuddi shunday, createdb

buyrug'i yangi ma'lumotlar bazasini qo'shadi va dropdb ma'lumotlar bazasini o'chirib tashlaydi. Ushbu buyruqlarning har biri o'ziga xosdir

qo'llanmalar sahifalari, ammo biz bu erda ba'zi variantlarni muhokama qilamiz. Har bir buyruq sukut bo'yicha ishlaydi

klaster (5432-portda ishlaydi), lekin an-ning foydalanuvchilari va ma'lumotlar bazalarini o'zgartirish uchun --port = port- ga o'tishingiz mumkin

muqobil klaster.

ThesecommandsmustconPostgreSQLservertverottejob and theymustbeauthenti- ga ulanish

belgilangan operatsiyani bajarishi uchun etarli imtiyozlarga ega foydalanuvchi sifatida qayd etilgan. Eng oson

bunga erishish uchun postgres Unix hisob qaydnomasidan foydalanish va faylga asoslangan soket orqali ulanish kerak:

su - postgres

createuser -P king_phisher

Yangi rol uchun parolni kiriting:

Qayta kiriting:

createdb -T template0 -E UTF-8 -O king_phisher king_phisher

chiqish

Yuqoridagi misolda -P parametri Createuser- dan parolni yaratgandan so'ng uni so'rashini so'raydi

yangi king_phisher foydalanuvchisi. Qarab createdb amri, Optsiya -O foydalanuvchi egalik belgilaydi

yangi ma'lumotlar bazasi (bu jadvallarni yaratish va ruxsat berish huquqlari va boshqalarga to'liq huquqlarga ega bo'ladi).

Unicode satrlaridan foydalanishni xohlaymiz, shuning uchun kodlashni o'rnatish uchun -E UTF-8 parametrini qo'shamiz,

bu esa o'z navbatida boshqa ma'lumotlar bazasi shablonini tanlash uchun -T parametridan foydalanishni talab qiladi.

Endi biz localhost (-h) da tinglash socket orqali ma'lumotlar bazasiga ulanishimiz mumkinligini sinab ko'rishimiz mumkin

localhost) king_phisher foydalanuvchisi sifatida (-U king_phisher):

psql -h localhost -U king_phisher king_phisher

King_phisher foydalanuvchisi uchun parol:

psql (9.5.2)

SSL ulanish (protokol: TLSv1.2, shifr: ECDHE-RSA-AES256-GCM-SHA384, bitlar: 256,

¯ siqish: o'chirilgan)

Yordam uchun "yordam" yozing.

king_phisher =>

112


Kali Linux ochildi



139-bet

Ko'rib turganingizdek, ulanish muvaffaqiyatli bo'ldi.

PostgreSQL klasterlarini boshqarish

Birinchidan, shuni ta'kidlash kerakki, "PostgreSQL klasteri" tushunchasi Debianga xos qo'shimcha va

rasmiy PostgreSQL hujjatlarida ushbu atama haqida hech qanday ma'lumot topa olmaysiz. Kimdan

PostgreSQL vositalarining nuqtai nazari, bunday klaster ma'lumotlar bazasi serverining namunasidir

ma'lum bir portda ishlash.

Ya'ni, Debianning postgresql-umumiy to'plami ularni boshqarish uchun bir nechta vositalarni taqdim etadi

klasterlar:

pg_createcluster , pg_dropcluster , pg_ctlcluster , pg_upgradecluster ,

pg_renamecluster va pg_lsclusters . Ushbu vositalarning barchasini bu erda ko'rib chiqmaymiz, ammo siz buni qila olasiz

qo'shimcha ma'lumot olish uchun ularning tegishli qo'llanmalaridagi sahifalariga murojaat qiling.

PostgreSQLgets-ni sizning tizimingizga o'rnatganingizda, siz qanday o'zgartirishingizni bilasiz,

u keyingi portda ishlaydigan (odatda 5433) yangi klaster yaratadi va siz undan foydalanishda davom etasiz

ma'lumotlar bazalarini eski klasterdan yangisiga o'tkazguncha eski versiya.

Siz barcha klasterlarning ro'yxatini va ularning holatini pg_lsclusters yordamida olishingiz mumkin . Qo'shimcha ma'lumot

Siz o'zingizning klasteringizning so'nggi PostgreSQL versiyasiga o'tishini avtomatlashtirishingiz mumkin

pg_upgradecluster eski versiyadagi klaster nomi . Buning uchun birinchi navbatda sizga kerak bo'lishi mumkin

yangi versiya uchun yaratilgan (bo'sh) klasterni olib tashlang ( pg_dropcluster yangi versiyasi bilan)

klaster nomi ). Bu jarayonda eski klaster tashlanmaydi, lekin u ham ishga tushirilmaydi

tomatika bilan. Yangilangan klaster yaxshi ishlashini tekshirgandan so'ng uni tashlab qo'yishingiz mumkin.

5.3.4. Apache-ni sozlash

Odatda Kali Linux o'rnatilishi apache2 to'plami tomonidan taqdim etilgan Apache veb-serverini o'z ichiga oladi .

Beinganetworkservice, odatiy ravishda o'chirib qo'yilgan. Youcanmanuallystartitwith systemctl start

apache2 .

Ko'proq dasturlar veb-ilovalar sifatida tarqatilayotganligi sababli, ularga ega bo'lish muhimdir

ushbu dasturlarni mahalliy foydalanish uchunmi yoki yo'qmi, joylashtirish uchun Apache haqida bir oz ma'lumot

ularni tarmoq orqali taqdim etish.

Apache modulli server bo'lib, ko'plab funktsiyalar tashqi modullar tomonidan amalga oshiriladi

uni ishga tushirish paytida asosiy dastur yuklaydi. Standart konfiguratsiya faqat eng ko'p yoqadi

umumiy modullar, ammo yangi modullarni yoqish a2enmod modulini ishga tushirish orqali osonlikcha amalga oshiriladi . Foydalanish

a2dismod moduli modulni o'chirib qo'yish. Ushbu dasturlar aslida faqat ramziy ma'noga ega (yoki yo'q qilish)

/ etc / apache2 / mods-enabled / da havolalar , haqiqiy fayllarga ishora qiladi ( / etc / apache2 / da saqlanadi)

mods mavjud / ).

Ko'pgina modullar mavjud, ammo ikkitasi dastlabki ko'rib chiqishga loyiqdir: PHP va SSL. Veb-ap

PHP bilan yozilgan plications maxsus dastur yordamida Apache veb-serverida bajariladi

113


5-bob - Kali Linux-ni sozlash



140-bet

libapache-mod-php to'plami tomonidan taqdim etilgan modul va uning o'rnatilishi avtomatik ravishda

modul.


Apache2.4 qutisiga SSLmodulerequiredforsecureHTTP (HTTPS) kiradi. Birinchisi

a2enmod ssl bilan yoqish uchun kerakli direktivalar konfiguratsiyaga qo'shilishi kerak

fayllar. Konfiguratsiya misoli / etc / apache2 / sites-available / default-ssl-da keltirilgan.

konf . Qo'shimcha ma'lumot olish uchun http://httpd.apache.org/docs/2.4/mod/mod_ssl.html ga qarang .

ThefulllistofstandardApachemodulescanbefoundonlineat http://httpd.apache.org/docs/

2.4 / mod / index.html .

Standart konfiguratsiyasi bilan veb-server 80-portni tinglaydi ( / etc / apache2 / da sozlanganidek)

ports.conf ) va / var / www / html / katalogidagi sahifalarga sukut bo'yicha xizmat qiladi (

/etc/apache2/sites-enabled/000-default.conf ).



Virtual xostlarni sozlash

Virtual xost - bu veb-server uchun qo'shimcha identifikator. Xuddi shu Apache jarayoni bir nechta xizmat qilishi mumkin

veb-saytlari (masalan, www.kali.org va www.offensive-security.com), chunki HTTP so'rovlari joylashtirilgan

so'ralgan veb-sayt nomi va localpart URL manzili (bu xususiyat nomga asoslangan sifatida tanilgan



virtual xostlar ).

Apache 2 uchun standart konfiguratsiya nomga asoslangan virtual xostlarni yoqadi. Bundan tashqari, sukut bo'yicha

virtual xost /etc/apache2/sites-enabled/000-default.conf faylida aniqlanadi; bu virtual xost bo'ladi

mijoz tomonidan yuborilgan so'rovga mos keladigan xost topilmasa ishlatilishi mumkin.

Muhim

Noma'lum virtual xostlarga tegishli so'rovlar har doim



birinchi aniqlangan virtual xost, shuning uchun paket 000-sukut bo'yicha yuboriladi.

conf configurationfile, whichsortsfirstamongallotherfilesthatyoumight

yaratmoq.

Keyinchalik har bir qo'shimcha virtual xost / etc / apache2 / sites-available / da saqlangan fayl tomonidan tavsiflanadi .

Fayl odatda veb-saytning nomi nomi bilan, keyin .conf qo'shimchasi bilan nomlanadi (masalan:

www.example.com.conf ). A2ensite www.example bilan yangi muhitni yaratish.

com . Fayllari / srv / www-da saqlangan veb-sayt uchun minimal virtualhost konfiguratsiyasi .

example.com/www/ (DocumentRoot opsiyasi bilan belgilangan):



Server nomi www.example.com

ServerAlias ​​example.com

114


Kali Linux ochildi



141-bet

DocumentRoot /srv/www.example.com/www

Apache-ni chiqishga sozlash uchun CustomLog va ErrorLog direktivalarini qo'shishni o'ylashingiz mumkin

virtual xostga bag'ishlangan fayllarda qaydlar.

Umumiy ko'rsatmalar

Ushbu bo'limda tez-tez ishlatiladigan Apache konfiguratsion ko'rsatmalarining ba'zilari qisqacha ko'rib chiqiladi.

Asosiy konfiguratsiya fayli odatda bir nechta Katalog bloklarini o'z ichiga oladi; ular farqni belgilashga imkon beradi

xizmat ko'rsatilayotgan fayl joylashuviga qarab server uchun qat'iy xatti-harakatlar. Bunday blok

odatda Options va AllowOverride ko'rsatmalarini o'z ichiga oladi:

Variantlarga FollowSymLinks kiradi

AllowOverride All

DirectoryIndex index.php index.html index.htm



DirectoryIndex yo'riqnomasida mijoz so'rovi direc-ga mos kelganda sinab ko'rish uchun fayllar ro'yxati mavjud.

tory. Ro'yxatdagi birinchi mavjud fayl ishlatiladi va javob sifatida yuboriladi.

Variantlar yo'riqnomasidan so'ng uni yoqish uchun imkoniyatlar ro'yxati keltirilgan. None qiymati barcha parametrlarni o'chiradi;

mos ravishda, barchasi MultiViews-dan tashqari barchasiga imkon beradi. Mavjud variantlarga quyidagilar kiradi:

• ExecCGI - CGI skriptlarini bajarish mumkinligini bildiradi.

• FollowSymLinks - serverga ramziy havolalarga o'tish mumkinligini va ularga javob berishini aytadi

bunday havolalarning maqsad tarkibini o'z ichiga olishi kerak.

• SymLinksIfOwnerMatch - shuningdek, serverga ramziy havolalarni bajarishi kerakligini aytadi, lekin faqat

havola va uning maqsadi bir xil egaga ega.

• Includes — Server tomonidagi qo'shimchalarni (SSI) yoqadi. Bu HTML-sahifalarga o'rnatilgan direktivalar

va har bir so'rov uchun tezda amalga oshirildi.

• Indekslar - agar server tomonidan yuborilgan HTTP so'rovi bo'lsa, katalog tarkibini ro'yxatlashi kerakligi haqida serverga xabar beriladi

mijoz katalogni indeks fayli bo'lmagan holda (ya'ni

DirectoryIndex direktivasi ushbu katalogda mavjud).

• MultiViews - kontent bo'yicha muzokara olib borishga imkon beradi; bu veb-saytni qaytarish uchun server tomonidan ishlatilishi mumkin

brauzerda sozlangan afzal tilga mos keladigan sahifa.

Autentifikatsiyani talab qilish Ba'zi hollarda veb-saytning bir qismiga kirish huquqini qayta tiklash kerak.

tor, shuning uchun foydalanuvchi nomi va parolni taqdim etadigan faqat qonuniy foydalanuvchilarga kirish huquqi beriladi

tarkibi.

115


5-bob - Kali Linux-ni sozlash



142-bet

.Htaccess fayl Apache konfiguratsiya direktivalari bir so'rov o'zgartirish har doim majburiy o'z ichiga oladi

.htaccess fayli saqlanadigan katalogdan elementni cerns . Ushbu ko'rsatmalar

rekursiv, ko'lamini barcha kataloglarga kengaytiradi.

Katalog blokida yuzaga kelishi mumkin bo'lgan ko'rsatmalarning aksariyati .htaccess faylida ham qonuniydir . The

AllowOverride yo'riqnomasida .htaccess orqali yoqilishi yoki o'chirilishi mumkin bo'lgan barcha variantlar ro'yxati keltirilgan .

Ushbu parametrning keng tarqalgan usuli ExecCGI-ni cheklashdir, shunda administrator qaysi foydalanuvchini o'zi tanlaydi

veb-server identifikatori ostida dasturlarni ishga tushirishga ruxsat beriladi (www-ma'lumotlar foydalanuvchisi).

5.3-misol. Autentifikatsiyani talab qiluvchi .htaccess fayli

Yaroqli foydalanuvchini talab qilish

AuthName ”Shaxsiy katalog”

AuthType Basic

AuthUserFile / etc / apache2 / authfiles / htpasswd-private

Asosiy autentifikatsiya

Xavfsizlikni taklif qiladi

Yuqoridagi misolda ( asosiy ) ishlatilgan autentifikatsiya tizimi minimal xavfsizlikka ega

parol aniq matnda yuborilganligi sababli (u faqat base64 sifatida kodlangan , bu oddiy

shifrlash usuli o'rniga kodlash). Shuni ham ta'kidlash kerakki, hujjat-

ushbu mexanizm bilan himoyalangan mentlar ham aniq ravishda tarmoq orqali o'tadi. Agar xavfsizlik bo'lsa

muhim, butun HTTP sessiyasi Transport Layer Se- bilan shifrlangan bo'lishi kerak

qiziqish (TLS).

/ Etc / apache2 / / htpasswd-xususiy authfiles fayl foydalanuvchilar va parollar ro'yxatini o'z ichiga oladi; u

odatda htpasswd buyrug'i bilan boshqariladi. Masalan, quyidagi buyruq

foydalanuvchini qo'shish yoki parolini o'zgartirish uchun ishlatiladi:

htpasswd / etc / apache2 / authfiles / htpasswd-xususiy foydalanuvchi

Yangi Parol:

Yangi parolni qayta kiriting:

Foydalanuvchi foydalanuvchisi uchun parol qo'shish



Kirishni cheklash Talab bo'yicha ko'rsatma katalog uchun kirish cheklovlarini nazorat qiladi (va uning)

rekursiv ravishda).

Tarkibiy asosga asoslangan manikritrlar; cheklovlarni ta'riflashni to'xtata olamiz

mijozning IP-manzili asosida, lekin uni bundan ham kuchliroq qilish mumkin, ayniqsa

bir nechta Require direktivalari RequireAll blokida birlashtirilganda.

Masalan, siz quyidagi ko'rsatma bilan mahalliy tarmoqqa kirishni cheklashingiz mumkin:

IP 192.168.0.0/16 talab qiling

116


Kali Linux ochildi



143-bet

Download 0.74 Mb.

Do'stlaringiz bilan baham:
1   ...   8   9   10   11   12   13   14   15   ...   29




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling