Читаоци попут вас помажу у подршци МУО. Када обавите куповину користећи везе на нашем сајту, можда ћемо зарадити провизију за партнере. Опширније.

Почетници пенетрациони тестери, посебно, стављају мање пажње на безбедност базе података уопште. Апликација без конфигурације базе података и безбедносних тестова не може бити безбедна. Можда већ користите МиСКЛ софтвер, систем за управљање базом података, па како да га учините сигурнијим? Ево седам корака које морате да пратите.

1. Користите ССХ тунелирање уместо даљинске везе

МиСКЛ сервис подразумевано ради на порту 3306. Када инсталирате МиСКЛ, видећете да је порт 3306 у режиму слушања за све везе. Како стоји, МиСКЛ порт је отворен за спољни свет. Зато би требало да подесите МиСКЛ сервис да слуша само локалну адресу.

Пошто се сервери обично покрећу на Линук дистрибуцији, примери у наставку су засновани на Дебиан дистрибуцији. Датотека коју треба да користите за ССХ тунелирање уместо даљинске везе и да затворите подразумевани порт за спољни свет је

/etc/mysql/my.cnf. У овој датотеци треба да отворите поље под називом [мисклд] и напишите следећу команду:

[мисклд]
везати-аддресс=127.0.0.1

Након овог процеса, не заборавите да сачувате ову датотеку и поново покренете услугу следећом командом:

судо системцтл рестарт мисклд
# или
судосистемцтлпоново покренутимариадб.сервис

Са овим, МиСКЛ сервис ће слушати само локалну адресу.

Ако користите МариаДБ, можете и да испитате /etc/mysql/mariadb.conf.d/50-server.cnf и провери да ли постоји дефиниција за везу-адресу.

Сада када сте поставили везу за адресу 127.0.0.1, који је локални хост, можете покренути Нмап скенирање и проверити излаз:

Можете видети МиСКЛ порт пошто 127.0.0.1 представља локални хост који видите. Можете поново покушати да промените адресу повезивања да бисте били сигурни да ово функционише:

[мисклд]
везати-аддресс=127.5.5.1

Затим сачувајте /etc/mysql/my.cnf датотеку и поново покрените МиСКЛ услугу. Ако извршите Нмап скенирање поново у овој фази, не би требало да видите ову адресу везивања на локалном хосту.

Када сазнате да ово функционише, вратите се на подешавања из првог корака и вратите адресу за повезивање на 127.0.0.1 и поново сачувајте.

2. Поставите локалну баријеру за приступ датотекама

МиСКЛ може да комуницира са локалним системом датотека. Са упитима, можете видети садржај текста у локалном систему датотека или снимити резултат упита на диск. Да бисте спречили злонамерне нападаче да користе ову функцију, морате спречити да МиСКЛ комуницира са локалним системом датотека.

Можете користити функцију која се зове лоцал-инфиле да бисте предузели мере предострожности. На пример, замислите да имате датотеку под називом "/етц/сецретфиле.ткт" и да имате лозинку у овој датотеци. Ако је вредност функције лоцал-инфиле у вашој /етц/мискл/ми.цнф датотеци 1, онда је приступ отворен. Тако можете приступити датотеци сецретфиле.ткт.

Вредност функције лоцал-инфиле је 1. Поново покрените МиСКЛ базу података да би се промене извршиле. Сада се повежите са МиСКЛ следећом командом и проверите да ли можете да видите датотеку сецретфиле.ткт:

СЕЛЕЦТЛОАД_ФИЛЕ("/етц/сецретфиле.ткт");

Није тешко снимити информације у било коју датотеку на рачунару.

Да бисте решили овај проблем, промените вредност лоцал-инфиле у вашој /етц/мискл/ми.цнф датотеци на следећи начин:

[мисклд]
локални-инфиле=0

Поново покрените МиСКЛ услугу. Поново се повежите на МиСКЛ и поновите претходни корак; више не бисте требали моћи да видите садржај датотеке.

Ако корисници већ немају дозволе за читање и писање на локалним датотекама, неће моћи да виде ову датотеку. Међутим, то је и даље нешто што би требало да проверите у тестовима пенетрације и безбедности базе података.

3. Подесите кориснике апликације и лозинке

Корисник за управљање базом података и корисник МиСКЛ који приступа бази података морају да се разликују један од другог. Другим речима, повезивање апликација на МиСКЛ са роот корисницима је изузетно опасно. Ако је могуће, дефинишите кориснике апликација које не раде Операције УПДАТЕ или ИНСЕРТ одвојено.

Још једна ствар коју треба размотрити у овом тренутку су корисничке лозинке. Као иу скоро свакој области, лозинке за МиСКЛ кориснике морају бити сложене и непредвидиве. Ако вам је потребна помоћ око овога, постоје одлични системи за генерисање лозинки које можете користити.

4. Избришите анонимне кориснике

Када подразумевано инсталирате МиСКЛ, појављују се неки анонимни корисници. Морате их избрисати и блокирати им приступ. За безбедан МиСКЛ сервер, не би требало да добијете никакав одговор као резултат следећег упита:

СЕЛЕЦТ * ИЗ мискл.усер ГДЕУСЕР="";
# Пример излаза
Празан комплет (0,001 сек)

Ако постоје резултати, требало би да избришете ове анонимне кориснике. На пример, ако је постојао анонимни налог под називом „анонусер“ у окружењу под називом „лоцалхост“, морали бисте да користите команду попут следеће да бисте избрисали овај налог:

ДРОП УСЕР 'анонусер'@'локални домаћин';

5. Проверите дозволе за локалну датотеку МиСКЛ

Замислите да сте администратор базе података и желите да се вратите на податке од пре недељу дана. У овом случају, можда ћете морати да се повежете са сервером базе података преко ССХ-а и промените МиСКЛ датотеке које желите. Док сте ово радили, можда сте користили привилегије роот корисника Линука; односно власништво и дозволе датотека са подацима се могу променити. Не желиш то.

Погледајте директоријум /вар/либ/мискл да бисте проверили дате дозволе. Оно што овде треба да проверите је да ли је власник свих датотека корисник МиСКЛ-а. Следећа команда ће учинити трик:

судо лс -ал /вар/lib/mysql

Дозволе за читање и писање датотека треба да буду само за МиСКЛ корисника. Ниједан други корисник не би требао имати никакве дозволе.

6. Користите МиСКЛ ССЛ

Размишљање о конкретном примеру је најбољи начин да разумете употребу МиСКЛ-а и ССЛ-а. Замислите да један од сервера у АБЦ региону, где постоји много различитих сервера, преузму злонамерни хакери. Хакери ће извршити интерно скенирање у АБЦ региону. На тај начин прикупљају информације о серверима.

Ако открију МиСКЛ сервер током овог процеса, могу извршити а Човек у средини (МитМ) напад на циљни сервер, што значи да могу украсти информације о сесији апликација и корисника који се повезују на овај сервер. Један од најбољих начина да се ово избегне је да омогући ССЛ на МиСКЛ серверу.

7. Датотеке евиденције и историје

Користите МиСКЛ евиденције за анализу и проналажење грешака. Можете да измените где се ови евиденције чувају тако што ћете унети ми.цнф на следећи начин:

# /етц/мискл/ми.цнф
[мисклд]
Пријава =/вар/Пријава/mylogfiles

Можете променити име или локацију милог фајлова како желите. Постоји још једна датотека коју треба да проверите. Када се повежете са МиСКЛ сервером у Линук терминалу и откуцате различите команде, ови упити се чувају у датотеци мискл_хистори. Ако покренете следећу команду, можете видети упите које користите у МиСКЛ терминалу:

мачка ~/.мискл_хистори

Морате да избришете садржај ове датотеке ако не желите да дате информације о томе какве упите постављате унутар сервера. Користите следећу команду да избришете садржај датотеке:

судо ецхо "очишћени"> ~/.мискл_хистори

Затим можете поново да проверите садржај датотеке.

Ко је власник базе података, поседује систем

Без обзира у којој индустрији радите, ваша база података увек садржи важне информације. То могу бити ваши клијенти, банковни рачуни и лозинке. Злонамерни нападачи знају важност и вредност овога. Програмери и администратори база података морају бар да знају основе са којима ће се сусрести у тестовима пенетрације да би победили хакере.