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

Овај чланак се фокусира на ревизију и безбедност ваше МиСКЛ базе података и пружа девет савета за јачање њене безбедности.

1. Избегавајте непотребне доделе привилегија

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

instagram viewer

РЕВОКЕ АЛЛ ОН *.* ФРОМ 'усер_наме'@'хост_наме'; #Глобалне привилегије
РЕВОКЕ ЦРЕАТЕ, ДРОП ОН датабасе_наме.* ФРОМ 'усер_наме'@'хост_наме'; #Привилегије базе података
РЕВОКЕ ИНСЕРТ, УПДАТЕ, ДЕЛЕТЕ ОН датабасе_наме.табле_наме ФРОМ 'усер_наме'@'хост_наме'; #Табле привилегије
флусх привилегес;

2. Ограничите удаљене пријаве

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

[мисклд]
скип-нетворкинг
судо сервис мискл рестарт

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

мискл> избришите са мискл.усер где корисник='роот' и хост није у ('лоцалхост', '127.0.0.1', '::1'); мискл> флусх привилегије; 

3. Онемогућите функције (лоад_филе, оутфиле, думпфиле)

Још једна мера предострожности за обезбеђење МиСКЛ-а од локалног убацивања датотека је да онемогућите функције које су доступне само преко привилегије ФИЛЕ гранта. ФИЛЕ је опција која омогућава корисницима са ниским привилегијама са опцијама глобалних команди да читају или пишу датотеке на серверу.

  • лоад_филе

Функција лоад_филе учитава садржај датотеке са сервера као стринг. На пример, следећа команда ће учитати сав садржај из /etc/passwd фајл на следећи начин:

изаберите лоад_филе('/етц/пассвд')
  • оутфиле

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

изаберите 'Лоцал Филе СКЛ Ињецтион' у оутфиле '/тмп/филе.ткт';
мачка /тмп/филе.ткт

Излаз:

Локална датотека СКЛ ињекција
  • думпфиле

Ова функција користи узрок избора за писање у датотеку без враћања излаза на екран.

мачка /тмп/филе.ткт
изаберите „Здраво свете!“ у думпфиле '/тмп/ворлд';

Излаз:

Упит је у реду, утиче на 1 ред (0,001 сек)

Ове функције можете да онемогућите тако што ћете опозвати привилегију ФИЛЕ на следећи начин:

опозвати ФИЛЕ на *.* од 'усер_наме'@'лоцалхост';

Повезан: Водич за почетнике за Метасплоит у Кали Линук-у (са практичним примерима)

4. Онемогућите подразумевани порт

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

вим /етц/мискл/ми.цнф
порт=КСКСКСКС
судо сервис мискл рестарт

5. Избегавајте џокер знакове у именима налога

Имена налога у МиСКЛ-у се састоје од два дела који су корисник и име хоста "усер_наме"@"хост_наме". Омогућава администратору да креира налоге за кориснике са истим именом који се повезују са различитих хостова. Међутим, главни део имена налога дозвољава конвенције џокерских знакова који могу бити тачка приступа бази података са било ког места.

Опционо коришћење имена хоста или вредности ИП адресе је еквивалентно 'усер_наме'@'%' где се % подудара са МиСКЛ шаблоном који одговара операцији ЛИКЕ, а % означава било које име хоста. У међувремену, приступ са '192.168.132.%' значи сваки покушај из мреже класе Ц. Осим тога, свако може приступити бази података тако што ће хост део назвати '192.18.132.мискл.цом'.

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

цлиент-ип_адд & нетмаск = хост_наме

Синтакса за креирање имена хоста је хост_ип/нетмаск:

ЦРЕАТЕ УСЕР 'јхон'@'192.168.132.0/255.255.255.0'; 

Горња вредност хоста омогућава кориснику јохн за приступ бази података са било које ИП адресе у опсегу од 192.168.132.0-192.168.132.255. Слично, вредности хоста 192.168.132.0/255.0.0.0, 192.168.132.0/255.255.0.0 ће дозволити хостове из мрежа класе А и Б. Док ће 192.168.132.5 дозволити приступ само са одређене ИП адресе.

6. Онемогућите експлицитни приступ

Корисничко име у МиСКЛ-у је или име са којим базе података прихватају долазне везе или празно корисничко име "@"хост_наме" које ствара анонимног корисника. Међутим, присуство анонимног корисника може подстаћи нападаче да приступе серверу базе података. Осим тога, МиСКЛ верзије пре МиСКЛ 5.7 креирају анонимни скуп корисника, а инсталација након надоградње верзије и даље додаје ове кориснике.

изаберите корисника, хост, лозинку са мискл.усер где корисник воли '';

Можете приметити да су колоне корисника и лозинке празне, а приступ је ограничен на лоцалхост. Међутим, не желите да ико приступа бази података. Користите следећу команду да избришете анонимне кориснике:

испусти корисника " "@"лоцалхост"
флусх привилегес;

7. Поставите не-роот налог као власника или групу

Подешавање корисничког налога који није роот није повезано са МиСКЛ роот корисником. Инсталација МиСКЛ-а у Линук/Уник системима из пакета тар и тар.гз омогућава покретање сервера било ком кориснику који је непривилегован. Ово је безбедносни недостатак јер сваки корисник са опцијом ФИЛЕ грант може да уређује или креира датотеке на серверу. Међутим, враћа грешку када корисник покуша да јој приступи без -корисник=роот грешка.

Ово можете избећи тако што ћете практиковати правило палца приступа серверу базе података као посебан Линук корисник. Да бисте покренули мисклд као обичан Линук корисник, зауставите сервер и промените дозволе за читање/писање са МиСКл сервера на мискл, на следећи начин:

цховн -Р мискл /путања/до/мискл/датадир

Отворите главну конфигурациону датотеку МиСКЛ, додајте новог мискл корисника и поново покрените услугу да бисте избегли непотребан приступ серверу:

вим /етц/мискл/ми.цнф
усер=мискл
судо сервис мискл рестарт

8. Поставите лозинку за роот налог

МиСКЛ инсталација преко интерактивне љуске у Дебиан-базираним Линук дистрибуцијама креира роот кориснички налог и тражи од вас да поставите лозинку. Међутим, то се не дешава у неинтерактивној инсталацији љуске и дистрибуцијама заснованим на Ред-Хат-у. Као што је горе наведено, не-роот корисник Линук машине може приступити мискл роот корисничком налогу коришћењем -корисник=роот опција. То можете избећи постављањем лозинке на следећи начин:

судо мискладмин лозинка
вим /етц/мискл/ми.цнф
лозинка=
судо сервис мискл рестарт

9. Обезбедите шифровање података у преносу и у мировању

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

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

МиСКЛ Адванцед Сецурити: Заштитите се

Осигурање да имате највиши ниво безбедности на мрежи је од кључног значаја, а овај чланак ће вам дати неке корисне смернице у правом смеру. Горе наведени кораци су корисни за обезбеђење вашег сервера базе података, али је такође неопходно научити како да доделите минималне дозволе корисницима који нису администратори.

Водич за почетнике за писање миСКЛ шема база података

Креирајте сопствену миСКЛ базу података само са уређивачем текста и овим основним оквиром структуре, или „шемом“.

Реад Нект

ОбјавиТвеетЕмаил
Повезане теме
  • Програмирање
  • Безбедност
  • Програмирање
  • Безбедносни савети
  • Безбедност
О аутору
Румаиса Ниази (Објављено 15 чланака)

Румаиса је слободни писац у МУО. Носила је много шешира, од математичара до ентузијасте информационе безбедности, а сада ради као аналитичар СПЦ. Њена интересовања укључују читање и писање о новим технологијама, дистрибуцијама Линука и било чему око информационе безбедности.

Више од Румаиса Ниази

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, рецензије, бесплатне е-књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили