Қауіпсіздікке қатысты 10 кеңес: өз сайтыңызды хакерлерден қорғаңыз

Автор: Randy Alexander
Жасалған Күн: 23 Сәуір 2021
Жаңарту Күні: 9 Мамыр 2024
Anonim
Қауіпсіздікке қатысты 10 кеңес: өз сайтыңызды хакерлерден қорғаңыз - Шығармашылық
Қауіпсіздікке қатысты 10 кеңес: өз сайтыңызды хакерлерден қорғаңыз - Шығармашылық

Мазмұны

Сіз өзіңіздің сайтыңызды бұзуға тұрарлық ештеңе жоқ деп ойлайсыз, бірақ веб-сайттар үнемі бұзылып тұрады. Қауіпсіздікті бұзудың көп бөлігі сіздің деректеріңізді ұрлау немесе веб-сайтыңыздың беделін бұзу емес, керісінше сіздің серверіңізді спам үшін электрондық пошта релесі ретінде пайдалануға немесе әдетте заңсыз сипаттағы файлдарға қызмет ету үшін уақытша веб-серверді орнатуға тырысады.

  • Ең жақсы антивирустық бағдарлама

Бағдарламалық жасақтамадағы белгілі қауіпсіздік мәселелерін пайдалану мақсатында хакерлік әрекетті Интернетті іздеу үшін жазылған автоматтандырылған сценарийлер үнемі орындайды. Сіздің және сайтыңыздың қауіпсіздігін онлайн режимінде сақтауға көмектесетін ең жақсы 10 кеңес:

1. Бағдарламалық жасақтаманы жаңартып отырыңыз

Бұл айқын көрінуі мүмкін, бірақ барлық бағдарламалық жасақтаманы жаңартып отыру сіздің сайтыңыздың қауіпсіздігін қамтамасыз ету үшін өте маңызды. Бұл серверлік операциялық жүйеге де, CMS немесе форум сияқты веб-сайтыңызда жұмыс істейтін кез-келген бағдарламалық жасақтамаға да қатысты. Бағдарламалық жасақтамада қауіпсіздік саңылаулары табылған кезде, хакерлер оларды теріс пайдалануға тырысады.

Егер сіз басқарылатын хостинг шешімін қолдансаңыз, онда амалдық жүйеге қауіпсіздік жаңартуларын енгізу туралы көп уайымдаудың қажеті жоқ, өйткені хостинг компаниясы бұл мәселені шешуі керек.

Егер сіз CMS немесе форум сияқты веб-сайтыңызда үшінші тарап бағдарламалық жасақтамасын қолдансаңыз, кез-келген қауіпсіздік патчтарын жылдам қолданғаныңызға сенімді болуыңыз керек. Көптеген жеткізушілерде кез-келген қауіпсіздік мәселесі жазылған пошта тізімі немесе RSS арнасы бар. WordPress, Umbraco және басқа да көптеген CMS хабарламалар сіз жүйеге кірген кезде қол жетімді жүйелік жаңартулар туралы хабарлайды.


2. SQL инъекциясы

SQL инъекциясының шабуылдары - бұл шабуылдаушы веб-форма өрісін немесе URL параметрін сіздің деректер базаңызға қол жеткізу немесе басқару үшін пайдалану. Стандартты Transact SQL-ді қолданған кезде білместіктен сұраныстарға кестелерді өзгерту, ақпарат алу және деректерді жою үшін пайдаланылатын жалған кодты енгізу оңай. Параметрленген сұраныстарды пайдалану арқылы сіз бұған оңай жол бермейсіз, веб-тілдердің көпшілігінде бұл функция бар және оны орындау оңай.

Осы сұранысты қарастырыңыз:

«SELECT * FROM кестеден WHERE баған =’ »+ параметр +« ’;»

Егер қаскүнем 'немесе' 1 '= ’1 болатын URL параметрін өзгертсе, бұл сұрауды келесідей етеді:

«SELECT * FROM кестеден WHERE баған =’ ’НЕМЕСЕ’ 1 ’=’ 1 ’;»

‘1’ ‘1’ -ге тең болғандықтан, бұл шабуылдаушыға SQL операторының соңына қосымша сұраныс қосуға мүмкіндік береді, ол да орындалады.

3. XSS

Кросс-сайт сценарийі - бұл шабуылдаушы сіздің сайтыңызға кірушілер үшін зиянды кодты іске қосу үшін веб-формаға JavaScript немесе басқа сценарий кодын жіберуге тырысуы. Пішінді құру кезінде әрқашан жіберілетін деректерді тексеріп, кез-келген HTML-ді кодтауға немесе алып тастауға кепілдік беріңіз.


4. Қате туралы хабарламалар

Қате туралы хабарламада қанша ақпарат беретіндігіңізге мұқият болыңыз. Мысалы, сіздің веб-сайтыңызға кіру формасы бар болса, кіру әрекеті кезінде қате жіберу үшін қолданатын тіл туралы ойлану керек. Пайдаланушы сұранымның жартысын дұрыс алғанын көрсетпеу үшін сіз «қате пайдаланушы аты немесе пароль» сияқты жалпы хабарламаларды қолдануыңыз керек. Егер шабуылдаушы қолданушы аты мен парольді алу үшін қатал шабуыл жасаса және өрістердің біреуі дұрыс болған кезде қате туралы хабарлама берілсе, онда шабуылдаушы өрістердің бірі бар екенін біледі және басқа алаңға шоғырлана алады.

5. Сервер жағын тексеру / форманы тексеру

Тексеру әрдайым браузерде де, серверде де жүргізілуі керек.Браузер міндетті өрістер сияқты бос ақаулықтарды және тек сандар өрісіне мәтін енгізген кезде орын алады. Бұларды айналып өтуге болады, және сіз бұл тексеруді тексеріп, сервердің тереңдігін тексеріп отырғаныңызға көз жеткізіңіз, өйткені егер ол орындалмаса, зиянды код немесе скрипт кодын дерекқорға енгізуге әкелуі мүмкін немесе сіздің сайтыңызға жағымсыз нәтижелер әкелуі мүмкін.


6. Құпия сөздер

Әрқайсысы күрделі парольдерді қолдану керектігін біледі, бірақ бұл олардың әрқашан жасайтынын білдірмейді. Серверге және веб-сайттың әкімші аймағына мықты құпия сөздерді қолдану өте маңызды, сонымен қатар пайдаланушыларға өз есептік жазбаларының қауіпсіздігін қорғау үшін құпия сөздерді қолдану талап етілуі қажет.

Пайдаланушыларға ұнамауы мүмкін болғанымен, парольге қойылатын талаптардың орындалуы, мысалы, кемінде сегіз таңба, оның ішінде бас әріп пен сан, олардың ақпараттарын ұзақ мерзімді қорғауға көмектеседі.

Құпия сөздер әрқашан шифрланған мәндер ретінде сақталуы керек, мүмкіндігінше SHA хэштеудің бір жақты алгоритмін қолданған жөн. Бұл әдісті қолдану пайдаланушылардың аутентификациясы кезінде сіз тек шифрланған мәндерді салыстырып отыратындығыңызды білдіреді. Қосымша қауіпсіздік үшін парольге жаңа тұзды пайдаланып, парольдерді тұзданған дұрыс.

Егер біреу сіздің парольдеріңізді бұзып, ұрлап кетсе, құпия сөздерді пайдалану шектеуді бұзуы мүмкін, өйткені оларды ашу мүмкін емес. Біреудің қолынан келетін ең жақсы нәрсе - бұл сөздік шабуыл немесе қатал күшпен шабуылдау, ол үйлесімді тапқанға дейін барлық комбинацияларды болжайды. Тұздалған парольдерді қолданған кезде көптеген парольдерді бұзу процесі баяу жүреді, өйткені әрбір болжам + есептеу үшін өте қымбат әр тұз + паролі үшін бөлек-бөлек жазылуы керек.

Бақытымызға орай, көптеген CMS-тер пайдаланушыларды басқарудың көптеген қауіпсіздік мүмкіндіктерімен қамтамасыз етеді, бірақ кейбір конфигурация немесе қосымша модульдер тұздалған парольдерді пайдалану үшін қажет болуы мүмкін (Drupal 7-ге дейін) немесе парольдің минималды күшін орнату үшін. Егер сіз .NET қолданатын болсаңыз, мүшелік провайдерлерін қолданған жөн, өйткені олар өте конфигурацияланған, қауіпсіздікті қамтамасыз етеді және логин мен парольді қалпына келтіруге дайын басқару элементтерін қосады.

7. Файл жүктемелері

Пайдаланушыларға файлдарды веб-сайтыңызға жүктеуге рұқсат беру, тіпті олардың аватарын өзгерту үшін де үлкен қауіп тудыруы мүмкін. Қауіп: кез-келген файл бейкүнә болып көрінгенімен жүктелген, сіздің серверіңізде орындалған кезде сіздің веб-сайтыңызды толық ашатын сценарий болуы мүмкін.

Егер сізде файлды жүктеу формасы болса, онда барлық файлдарға үлкен күдікпен қарау керек. Егер сіз пайдаланушыларға кескіндерді жүктеуге рұқсат берсеңіз, онда сіз файлдың кескін екенін тексеру үшін файл кеңейтіміне немесе мим түріне сене алмайсыз, өйткені оларды оңай қолдан жасауға болады. Тіпті файлды ашу және тақырыпты оқу немесе кескіннің өлшемін тексеру үшін функцияларды қолдану толық дәлел бола алмайды. Суреттер форматтарының көпшілігі серверде орындалуы мүмкін PHP кодын қамтуы мүмкін түсініктеме бөлімін сақтауға мүмкіндік береді.

Сонымен бұған жол бермеу үшін не істей аласыз? Сайып келгенде, сіз қолданушыларға кез-келген жүктелген файлды орындай алмауды тоқтатқыңыз келеді. Әдепкіде веб-серверлер сурет кеңейтімдері бар файлдарды орындауға тырыспайды, бірақ тек файл кеңейтімін тексеруге үміттену ұсынылмайды, өйткені image.webp.php аты бар файл белгілі болды.

Кейбір нұсқалар файлдың дұрыс кеңейтілуін қамтамасыз ету үшін файлды қайта атау немесе файл рұқсаттарын өзгерту, мысалы, орындалмайтын етіп chmod 0666. Егер сіз * * nix пайдалансаңыз, сіз .htaccess файлын жасай аласыз (төменде қараңыз), ол тек бұрын айтылған қосарланған кеңейту шабуылының алдын алатын файлдарды орнатуға мүмкіндік береді.

allFiles ден бас тарту «^ w + . (gif | jpe? g | png) $»> тапсырыс беруден бас тарту, бәрінен рұқсат ету / Files>

Сайып келгенде, ұсынылған шешім жүктелген файлдарға тікелей қол жетімділіктің алдын алу болып табылады. Осылайша, сіздің веб-сайтыңызға жүктелген кез-келген файлдар веб-тамырдан тыс қалтада немесе блок ретінде блокта сақталады. Егер сіздің файлдарыңызға тікелей қол жетімді болмаса, файлдарды жеке папкадан (немесе .NET ішіндегі HTTP өңдегішінен) алып, оларды шолғышқа жіберу үшін сценарий жасауыңыз керек. Кескін тегтері суреттің тікелей URL мекен-жайы емес src төлсипатын қолдайды, сондықтан src атрибуты HTTP тақырыбында дұрыс мазмұн түрін орнатуды қамтамасыз ететін файлды жеткізу сценарийін көрсете алады. Мысалға:

img src = «/ imageDelivery.php? id = 1234» />? php // imageDelivery.php // $ _GET [«id»] негізінде дерекқордан кескін файлының атын алыңыз ... // Кескінді браузер тақырыбына жеткізіңіз (' Мазмұн түрі: сурет / gif '); readfile (’кескіндер /’.$ fileName); ?> var13 ->

8. Сервер қауіпсіздігі

Көптеген хостинг-провайдерлер сіз үшін сервердің конфигурациясымен айналысады, бірақ егер сіз өзіңіздің веб-сайтыңызды өз серверіңізде орналастырсаңыз, онда сіз тексеретін бірнеше нәрсе бар.

Желіаралық қалқанды орнатқаныңызға және барлық маңызды емес порттарға тосқауыл қойғаныңызға көз жеткізіңіз. Мүмкіндігінше DMZ (Демилитаризацияланған аймақ) орнату тек сыртқы әлемнен 80 және 443 порттарына қол жеткізуге мүмкіндік береді. Егер сізде ішкі желіден серверге кіру мүмкіндігі болмаса, мүмкін емес, өйткені файлдарды жүктеуге және SSH немесе RDP арқылы серверге қашықтан кіруге мүмкіндік беретін порттарды ашу керек.

Егер сіз Интернеттен файлдарды жүктеуге рұқсат берсеңіз, серверге SFTP немесе SSH сияқты қауіпсіз тасымалдау әдістерін ғана қолданыңыз.

Мүмкін болса, сіздің деректер базаңыз басқа серверде сіздің веб-серверіңізде жұмыс істеуі керек. Мұны істеу дерекқор серверіне сыртқы әлемнен тікелей қатынасу мүмкін емес дегенді білдіреді, тек сіздің веб-серверіңіз оған кіре алады, бұл сіздің деректеріңіздің қаупін азайтады.

Сонымен, сіздің серверіңізге физикалық қол жеткізуді шектеу туралы ұмытпаңыз.

9. SSL

SSL - бұл Интернет арқылы қауіпсіздікті қамтамасыз ету үшін қолданылатын хаттама. Веб-сайт пен веб-сервер немесе мәліметтер базасы арасында жеке ақпарат өткізген кезде қауіпсіздік сертификатын қолданған жөн. Шабуылшылар бұл ақпаратты иіскеуі мүмкін, ал егер байланыс құралы қауіпсіз болмаса, оны жазып алып, қолданушы тіркелгілері мен жеке деректерге қол жеткізу үшін осы ақпаратты қолдана алады.

10. Қауіпсіздік құралдары

Веб-сайтыңыздың қауіпсіздігін қамтамасыз ету үшін барлық мүмкіндікті жасадым деп ойласаңыз, қауіпсіздікті тексеретін кез келді. Мұны жасаудың ең тиімді әдісі - ену тестілеу немесе қаламды қысқа мерзімге тестілеу деп аталатын кейбір қауіпсіздік құралдарын пайдалану.

Мұнда сізге көмектесетін көптеген коммерциялық және ақысыз өнімдер бар. Олар хакерлердің қолданатын сценарийлеріне ұқсас негізде жұмыс істейді, өйткені олар білетін ерліктерін тексереді және SQL инъекциясы сияқты алдыңғы аталған кейбір әдістерді пайдаланып сіздің сайтыңызға ымыраға келуге тырысады.

Қарауға тұрарлық кейбір ақысыз құралдар:

  • Netsparker (қауымдастықтың тегін нұсқасы және сынақ нұсқасы қол жетімді). SQL инъекциясы мен XSS тестілеу үшін жақсы
  • OpenVAS. Ашық кодты қауіпсіздіктің ең жетілдірілген сканері болуға шағым. Белгілі осалдықтарды тексеру үшін жақсы, қазіргі уақытта 25000-нан астам сканерлейді. Бірақ орнату қиын болуы мүмкін және тек * nix-те жұмыс жасайтын OpenVAS серверін орнатуды талап етеді. OpenVAS - бұл жабық көзді коммерциялық өнімге айналғанға дейін Nessus-тің айыры.

Автоматтандырылған тестілердің нәтижелері қорқынышты болуы мүмкін, өйткені олар көптеген әлеуетті мәселелерді ұсынады. Ең бастысы, алдымен маңызды мәселелерге назар аудару керек. Әдетте берілген әрбір мәселе ықтимал осалдығын жақсы түсіндіреді. Мүмкін сіз орташа / төмен деңгейдегі кейбір мәселелер сіздің сайтыңызға алаңдамайтындығын анықтай аласыз.

Егер сіз бірдеңе алға жылжытқыңыз келсе, онда POST / GET мәндерін өзгерту арқылы өз сайтыңызға қол сұғуға тырысатын бірнеше қадамдар бар. Жөндеу проксиі бұл жерде сізге көмектесе алады, өйткені HTTP сұранысының мәндерін сіздің браузеріңіз бен серверіңіз арасында ұстауға мүмкіндік береді. Fiddler деп аталатын танымал ақысыз бағдарламалық жасақтама жақсы бастама болып табылады.

Сонымен, сұранысты өзгертуге не істеу керек? Егер сізде тек кірген пайдаланушыға көрінетін беттер болса, мен басқа пайдаланушының мәліметтерін көру үшін пайдаланушы идентификаторы немесе cookie файлдары сияқты URL параметрлерін өзгертуге тырысамын. Тестілеудің тағы бір бағыты - XSS орындау үшін код жіберуге немесе серверлік сценарийді жүктеуге POST мәндерін өзгертетін формалар.

Бұл кеңестер сіздің сайтыңыз бен ақпаратыңыздың қауіпсіздігін сақтауға көмектеседі деп үміттенемін. Бақытымызға орай, көптеген CMS қондырғыларында көптеген ішкі қауіпсіздік функциялары бар, бірақ қауіпсіздіктің кең таралған эксплуатациялары туралы білгеніңіз жөн, сол себепті сіз өзіңізді қамтығаныңызға сенімді бола аласыз.

Сондай-ақ, CMS үшін қауіпсіздіктің жалпы кемшіліктерін тексеру үшін кейбір пайдалы модульдер бар, мысалы Drupal үшін қауіпсіздік шолуы және WordPress үшін WP қауіпсіздік сканері.

Біздің Ұсынысымыз
Керемет логотипті ұмытыңыз
Одан Әрі

Керемет логотипті ұмытыңыз

Даниядағы көрнекі коммуникацияларды оқыған колледждегі алғашқы жылдарымда мен ережелер әлеміне қатысты барлық мүмкіндікті сіңіретін губка тәрізді болдым. Мен 60-шы жылдардан бастап торлар, нұсқаулар, ...
Sagmeister & Walsh жаңа серіктестігі туралы
Одан Әрі

Sagmeister & Walsh жаңа серіктестігі туралы

Әрдайым талантты арт-директордың, дизайнердің және көптен бері жұмыс істейтін Computer Art серіктесі Джессика Уолштың хабарламасы біздің кіріс жәшігімізге кірген сайын, ол біздің назарымызды аударады....
АПАНЫҢ БЛОГЫ: Швейцария
Одан Әрі

АПАНЫҢ БЛОГЫ: Швейцария

Мұнда Creative Bloq кеңсесінде біз әрдайым ізденіс үстіндеміз, және басқа шабыттандыратын мазмұнмен толтырылған басқа дизайнерлік веб-сайттар мен tumblr блогтарын үнемі қарап отырамыз. Біздің бақытымы...