Побољшање сигурности и заштите Линук / ЦентОС сервера на Интернету

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

Садржај:

  • Опције партиционирања и уградње дисковних погона за изолацију
  • Инсталирање и ажурирање софтвера на Линуку (ЦентОС)
  • ССХ заштита, ауторизација кључа
  • Линук се редовно мења
  • Побољшање безбедности сервера помоћу СЕЛинук-а
  • Конфигуришите Фиреваллд
  • Деинсталирајте Кс Виндовс
  • Заштита кернела Линука
  • Дозволе за Линук датотеке
  • Безбедност веб сервера
  • Физичка заштита сервера
  • Резервна копија Линук сервера

Опције партиционирања и уградње дисковних погона за изолацију

Када инсталирате ЦентОС (и било коју дистрибуцију Линука) у фази партиције диска, не стварајте једну партицију, већ је одвојите веб-простор са главне партиције, такође креирајте системске партиције:

  • / роот
  • / боот
  • / вар
  • / тмп
  • /

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

Користите посебне опције за сигурно монтирање неких партиција:

  • ноекец - не дозвољава покретање бинарних датотека (не може се користити у роот директоријуму, јер ће то довести до неоперабилности система);
  • нодев - претпоставља да датотеке уређаја неће бити креиране на монтираном датотечном систему / дев. Такође се не односи на роот директориј;
  • носуид - забрањује операције са Суид и сгидан бита.

Ови параметри се могу поставити у директоријум само ако постоји као посебан одељак. Можете прилагодити / етц / фстаб према следећим препорукама, ако имате неке партиције на диску:

  • / куци - носач са опцијама нодев, носуид, усркуота (укључивање квота);
  • / боот - носач са опцијама нодев, носуид, ноекес - овај одељак је потребан за покретање система, забрањујемо му да се било шта промени;
  • / вар - носуид - трчање као роот није забрањено;
  • / вар / лог - носач са опцијама нодев, носуид, ноекес;
  • / вар / ввв - носач са опцијама нодев, носуид;
  • / тмп - носач са опцијама нодев, носуид, ноеке - овај одељак је потребан само за чување и снимање привремених датотека.
Сви горе наведени одељци монтирани су са опцијом рв (записивање).

Инсталирање и ажурирање софтвера на Линуку (ЦентОС)

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

Инсталирајте само минимално потребан софтвер. Инсталација и подешавање само за случај и уз помоћ инсталатора иум и днф. Проверите сав инсталирани софтвер и уклоните непотребне пакете:

иум листа је инсталирана
иум лист пацкагеНаме
иум уклони пакетНаме

Користите само званична и поуздана складишта пакета..

Не користите нешифрирани ФТП, Телнет, Рлогин, Рсх.

Онемогућите неискориштене услуге на вашем серверу ако вам уклањање услуге у том тренутку не одговара.

Да бисте проверили листу свих услуга, користите команду:

системцтл лист-унит-филес --типе = услуга

Да бисте онемогућили и уклонили услугу из покретања у ЦентОС-у, користите системцтл:

системцтл стоп сервис
системцтл онеспособити сервис

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

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

Увек ажурирајте инсталирани софтвер на вашем серверу. Правовремено ажурирани софтвер заштитиће вас од познатих рањивости. Можете да поставите аутоматске исправке система тако да не морате то да радите сваки пут ручно.

иум упдате - ажурирање система

ССХ заштита, ауторизација кључа

За сигурну ауторизацију на серверу користите приватни кључ. Генерирајте кључ помоћу ссх-кеиген услужног програма:

# ссх-кеиген

Генерисање парова кључева јавног и приватног рса. Унесите датотеку у коју желите да сачувате кључ (/роот/.ссх/ид_рса): Унесите лозинку (празна за нема лозинку): поново унесите исту лозинку: Ваша идентификација је сачувана у /роот/.ссх/ид_рса. Ваш јавни кључ је сачуван у /роот/.ссх/ид_рса.пуб. Отисак кључа је: СХА256: ффИДјВИфОгМЗмОВбКмДВаОЦАДК4Г3цИИи0дТИјкЛкД8 роот@сервер.впн.ру Случајна слика кључа је: + --- [РСА 2048] ---- + | * + .Б = + | | оО @оО. | | *. *. Б +. | | = + о *. о | | + .Е + С * о | | ... о + * | | +. о | | о. | | | + ---- [СХА256]-----+ 

Након генерације, можете се повезати помоћу овог кључа са сервером, преко ссх-клијент.

Креирајте додатног корисника и извршите наредбе до краја судо.

судо гроупадд судо - створите групу судо

аддусер вебмастер - створите корисника

пассвд вебмастер - промените лозинку

усермод -ГГ судо вебмастер - додајте корисника у групу судо

У датотеци / етц / судоерс додај линију:

% судо СВЕ = (СВЕ: СВЕ) СВЕ

Онемогући у подешавању ссх-ауторизацију сервера путем роот и пријава / лозинка:

нано / етц / ссх / ссхд_цонфиг

И промените вредност доњих линија у:

ПермитРоотЛогин но ПассвордАутхентицатион но ЦхалленгеРеспонсеАутхентицатион но УсеПАМ но АутхентицатионМетходс публицкеи ПубкеиАутхентицатион иес 

Промените подразумевани порт за ссх. Подразумевани порт за ссх, биће склони пуцању у првом реду.

Да бисте променили стандардни порт у ссх, у конфигурацијској датотеци / етц / ссх / ссхд_цонфиг замените вредност у ретку:

Порт 22

Линук се редовно мења

Ако и даље користите лозинке за ауторизацију у Линуку, конфигурирајте лозинку за лозинку путем услужног програма цхаге.

Да бисте проверили колико ће дана лозинка важити за било којег корисника, користите наредбу:

цхаге -л роот

Подразумевано сам за роот имао 99999 дана:

# цхаге -л роот

Задња промена лозинке: никад Парола не истекне: никад Лозинка је неактивна: никада Рачун не истекне: никад Минимални број дана између промене лозинке: 0 Максимални број дана између промене лозинке: 99999 Број дана упозорења пре истека лозинке: 7 

Да бисте променили рок важења лозинке (на пример, 9 дана), користите команду:

цхаге -М 9 роот

Сада, приликом провере података о истеку лозинке за роот корисника, информације су се промениле:

# цхаге -л роот

Задња промена лозинке: никад Парола не истекне: никад Лозинка је неактивна: никада Рачун не истекне: никад Минимални број дана између промене лозинке: 0 Максимални број дана између промене лозинке: 9 Број дана упозорења пре истека лозинке: 7 

Можете да добијете више опција за услужни програм Цхаге:

човека

Да бисте блокирали кориснике када уносе погрешну лозинку, користите услужни програм фаил2бан (омогућава вам да имплементирате аналогне смернице групе за закључавање налога у Виндовс-у). Фаил2бан штити Линук сервер и услуге од проналажења лозинке.

Да бисте инсталирали фаил2бан рун:

иум инсталирајте епел-релеасе фаил2бан -и

Конфигурациона датотека фаил2бан налази се у /етц/фаил2бан/јаил.цонф. Подешавања ћемо се дотакнути:

  • бантиме = 600 - време забране при блокирању
  • макретри = 3 - број покушаја погрешне уношења лозинке, након чега ће корисник бити блокиран
  • финдтиме = 600 - временски период у којем се корисник мора пријавити

Остала подешавања користе се по жељи. Поред тога, можете конфигурирати слање извештаја на вашу е-пошту.

Креирајте датотеку /етц/фаил2бан/јаил.лоцал и додајте следеће редове тамо:

Након промене конфигурационе датотеке, поново покрените услугу.

[ДЕФАУЛТ] игнореип = 127.0.0.1/24 [ссх-иптаблес] омогућен = истински порт = ссх филтер = ссхд ацтион = иптаблес [име = ссхд, порт = ссх, протокол = тцп] логпатх = / вар / лог / сецуре 

Затим сачувајте датотеку и поново покрените услугу фаил2бан:

рестарт системцтл фаил2бан

Тако смо поставили блокирање корисника за ссх:

Ако сам лозинку унео погрешно, блокиран сам 10 минута. Фајл2бан можете да конфигуришете за рад са било којим сервисом који ради са корисницима, на пример:

  • профтпд
  • еким
  • постфик

Побољшање безбедности сервера помоћу СЕЛинук-а

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

СЕЛинук има 3 начина рада:

  • Енфорцинг
  • Пермисивно
  • Онемогућено

У моду примењивање СЕЛинук примењује своју политику на систем и надгледа неовлашћени приступ од стране корисника. Сви покушаји се бележе.

У моду пермисиван СЕЛинук политика се не примењује, али се све информације бележе у записнике, након чега их можете анализирати. Овај режим је користан за подешавање и уклањање погрешака у систему..

И онеспособљено према томе у потпуности онемогућава СЕЛинук и његова политика се уопште не примењује.

Конфигурациона датотека СЕЛинук - / етц / селинук / цонфиг

Пажљиво подешавање СЕЛинук можете да пишете на неколико чланака, а ако су вам потребне детаљне информације, можете да користите службену документацију Редхат. Обично код подешавања сервера све у потпуности функционише, укључен сам СЕЛинук приметио је да постоје проблеми са фтп-сервера, као и неки плаћени софтвер.

Статус Провера:
# сестатус

СЕЛинук статус: онемогућено

За погодније проучавање СЕЛинук дневника, препоручујем употребу аурепорт и алата за заптивање.

Конфигуришите Фиреваллд

Отворите само минимално потребан сет портова на серверу који су заиста потребни за рад. На пример, за посао веб-довољно је да отворите сервере 80 и 443. Ако користите мискл /мариадб, онемогућите могућност повезивања с удаљених сервера на порт 3306 (ако се ваша база података користи само локално, није укључена у кластер Галера и не користи се у скриптама репликације).

Ако је ваш рачунар / приступни пролаз постављен на статички ИП адресу, додајте поуздану адресу изузецима заштитног зида и повежите се са сервером из ње. Сазнајте више о конфигурирању фиреваллд-а на ЦентОС-у (ако сте навикли на иптаблес погледајте чланак Конфигурирање Линук заштитног зида помоћу иптабле-а).

Да бисте проверили отворене портове на серверу, користите услужни програм нетстат:

нетстат -тулпн

Деинсталирајте Кс Виндовс

Не користите систем на вашем серверу Кс прозори. Уклоните сав софтвер који је повезан са овим системом, нема потребе да га користите Линук сервер:

иум гроуп уклони "ГНОМЕ Десктоп"
иум гроуп уклони "КДЕ плазма радне просторе"
иум гроуп уклони "Сервер са ГУИ"
иум гроуп уклони "МАТЕ Десктоп"

Заштита кернела Линука

Користите подешавања у датотеци /етц/сисцтл.цонф за додатну сигурност током покретања Линук кернел-а.

Укључи екецсхиелд:

кернел.екец-схиелд = 1

Онемогућите ИП усмјеравање (ако се ваш послужитељ не користи као приступник Интернету из ЛАН-а):

нет.ипв4.цонф.алл.аццепт_соурце_роуте = 0

Омогућите заштиту од споофинга

нет.ипв4.цонф.алл.рп_филтер = 1

Омогућите занемаривање захтева за емитовање

нет.ипв4.ицмп_ецхо_игноре_броадцастс = 1 нет.ипв4.ицмп_игноре_богус_еррор_мессагес = 1

Омогући регистрацију сумњивих пакета

нет.ипв4.цонф.алл.лог_мартианс = 1

Дозволе за Линук датотеке

Покрените претрагу датотека без корисника и групе, такве датотеке су потенцијално опасне и могу их користити цибер-криминалци. Да бисте пронашли такве датотеке, користите наредбу:

финд / именик -кдев \ (-ноусер -о -ногрупа \) -принт

Ако су датотеке пронађене, промените власника и групу за њих.

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

цхаттр + и /етц/мисрипт.сх

Не постављајте превисоке дозволе за директоријуме и датотеке, на пример, стандардна права за веб:

  • 755 за именике
  • 644 за датотеке

У неким случајевима могу бити изузеци, али увек пажљиво приступите овом питању. Забраните корисницима да постављају дозволу 777. Можете пронаћи такве датотеке:

финд / хоме-тип ф -перм 777

Безбедност веб сервера

Ако користите сервер испод веб, водите рачуна о подешавању веб сервиса. Затворите преглед садржаја директорија путем Опције -Индекес, такође додати Кс-оквир.

Заглавље увек додаје опције Кс-Фраме САМЕОРИГИН

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

Онемогући приказивање верзије вашег веб-сервер. За апацхе у конфигурациону датотеку напишите:

серверСигнатуре Офф

За нгинк у конфигурацијској датотеци до одељка хттп запиши:

сервер_токенс искључен;

Ако користите пхп, онемогућите безбедне функције до краја пхп.ини:

екпосе_пхп = Искључено

- забранити приказивање пхп верзије

онеспособити_функције = екец, пасстхру, схелл_екец, систем, проц_опен, попен

- забрањује употребу ових функција

Такође подесите ограничења за извршавање скрипти и њихову величину, то ће вас заштитити од мањих напада.

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

Физичка заштита сервера

Ако ваш сервер има конзолу за даљински приступ ИЛО/ИПМИ/ БМЦ, затворите му приступ извана, оставите само поузданог ИП, ово ће вас ограничити од непотребних проблема.

Ако се ваш физички сервер налази изван канцеларије / куће, затворите БИОС / УЕФИ лозинку.

И главна ствар, поставите своје сервере са поузданим провајдерима.

Резервна копија Линук сервера

Наравно, не заборавите на прављење резервне копије сервера. Можете да израдите резервне копије целог сервера, као и појединачних датотека или директоријума (можете конфигурисати резервне копије тако да бесплатно скрипту за складиштење у облаку). У случају било ког инцидента, увек ћете имати при руци ажурирану резервну копију из које можете разместити сервер или заменити конфигурационе датотеке.