Чӣ тавр пушти бозии ҳакерӣ дар бораи нобуд кардани сервер сохта шудааст

Чӣ тавр пушти бозии ҳакерӣ дар бораи нобуд кардани сервер сохта шудааст
Мо идома медиҳем, ки ба шумо мегӯям, ки ҷустуҷӯи лазерии мо бо нобуд кардани сервер чӣ гуна ташкил карда шудааст. Дар гузашта оғоз кунед мақола дар бораи ҳалли ҷустуҷӯ.

Дар маҷмӯъ, пушти бозӣ 6 воҳиди меъморӣ дошт, ки мо дар ин мақола таҳлил хоҳем кард:

  1. Пойгоҳи объектҳои бозӣ, ки барои механизмҳои бозӣ масъул буданд
  2. Автобуси мубодилаи маълумот ва сайт дар VPS
  3. Тарҷумон аз дархостҳои пуштибонӣ (унсурҳои бозӣ) ба Arduino ва сахтафзор дар сайт
  4. Arduino, ки барои назорати релеҳо масъул буд, аз тарҷумон фармонҳо гирифт ва кори воқеиро иҷро кард
  5. Дастгоҳҳои воқеӣ: вентилятор, гулчанбарҳо, лампаҳои фарш ва ғайра.
  6. Frontend - худи вебсайти Falcon, ки аз он бозингарон дастгоҳҳоро идора мекарданд

Биёед ҳар яки онҳоро аз назар гузаронем.

Қафои объектҳои бозӣ

Бозгашт ба сифати замимаи пурборкунии баҳорӣ амалӣ карда шуд: он дорои якчанд контроллерҳои истироҳатӣ, нуқтаи ниҳоии веб ва хидматҳо бо мантиқи бозӣ буд.

Фақат се контроллер вуҷуд дошт:

  • Мегатрон. Саҳифаи ҳозираи Megatron тавассути дархостҳои GET фиристода шуд: пеш аз фурӯзон кардани барқ. Лазер тавассути дархости POST тирандозӣ кард.
  • Харитасозии саҳифаҳои tilde, то ки онҳо аз рӯи номи саҳифа хидмат кунанд. Tilde саҳифаҳоро барои содирот на бо номҳои аслӣ, балки бо ID-и дохилӣ ва маълумоти мувофиқат месозад.
  • Назоратчии Captcha барои хидматрасонии сервери псевдосарбори captcha.

Нуқтаи ниҳоии Websocket барои идоракунии гаҷетҳо истифода мешуд: лампаҳо, гулчанбарҳо ва ҳарфҳо. Он барои ба таври синхронӣ нишон додани ҳолати кунунии дастгоҳ ба ҳамаи бозигарон интихоб шудааст: он фурӯзон аст ё хомӯш аст, фаъол ё не, дар айни замон кадом ранги ҳарф дар девор фурӯзон аст. Барои каме мушкилтар кардани вазифаи фурӯзон кардани лазер, мо ба гирлянд ва лазер бо ҳамон логин ва парол admin/admin иҷозат илова кардем.

Бозингарон метавонистанд онро тавассути фурӯзон кардани гулчанбар санҷида, бо лазер такрор кунанд.

Мо як ҷуфти ночизи логин-паролро интихоб кардем, то бозигаронро бо интихоби нолозим азоб надиҳем.

Барои каме ҷолибтар кардани вазифа, ID-ҳои объект аз mongodb ҳамчун идентификаторҳои дастгоҳ дар ҳуҷра истифода мешуданд.

ObjectId тамғаи вақтро дар бар мегирад: ду арзиши тасодуфӣ, ки яке аз онҳо дар асоси идентификатори дастгоҳ гирифта мешавад ва дуюмаш дар асоси pid раванде, ки онро тавлид мекунад ва арзиши ҳисобкунак. Ман мехостам, ки идентификаторҳоро дар фосилаҳои муқаррарӣ ва бо равандҳои гуногуни pid тавлидшуда, аммо бо ҳисобкунаки умумӣ созам, то интихоби идентификатори дастгоҳи лазерӣ ҷолибтар бошад. Аммо, дар ниҳоят, ҳама бо идентификаторҳое оғоз карданд, ки танҳо бо арзиши ҳисоб фарқ мекарданд. Ин метавонад қадамро хеле содда кард ва таҳлили сохтори objectId-ро талаб намекунад.

Тарҷумон аз дархостҳои пушти сар

Скрипти Python, ки дар таймерҳо кор мекард ва онҳоро аз абстраксияҳои бозӣ ба модели физикӣ тарҷума кардааст. Масалан, "чароғи ошёнаро даргиронед" → "релей N2-ро фурӯзон кунед".

Скрипт ба навбати RabbitMQ пайваст ва дархостҳоро аз навбат ба Arduino интиқол дод. Он инчунин мантиқи ивазкунии параллели нурро амалӣ кард: дар якҷоягӣ бо баъзе дастгоҳҳо, чароғ дар онҳо фурӯзон шуд, масалан, вақте ки барқ ​​​​ба Megatron аввал дода шуд, он бо нури саҳна равшан карда шуд. Тарҳрезии рӯшноӣ барои кинематографияи тамоми саҳна як ҳикояи алоҳида дар бораи кори бузурги продюсери лоиҳаи мо ва ороишгари продюсер Иля Серов аст ва мо дар ин бора дар мақолаи алоҳида нақл мекунем.

Тарҷумон инчунин барои мантиқи ба кор андохтани резакунак бо истифода аз таймер ва интиқоли тасвир ба телевизор масъул буд: таймер барои ба кор андохтани резакунак, капибараи фарёд, реклама дар охири бозӣ.

Чӣ гуна мантиқи тавлиди аломати Megatron сохтор шудааст

Тири озмоишӣ

Ҳар 25 сония як аломати нав тавлид мешуд ва онро метавон истифода бурд, ки лазерро дар тӯли 10 сония бо қувваи 10/255 фурӯзон кард. Пайванд ба github бо рамзи Megatron.

Сипас лазер барои 1 дақиқа сард шуд - дар ин муддат он дастнорас буд ва дархостҳои навро қабул намекард.

Ин қувва барои сӯзондан аз ресмон кофӣ набуд, аммо ҳар як бозигар метавонад Megatron-ро оташ занад ва нури лазерро дар амал бубинад.

Барои тавлиди токен алгоритми ҳашинг MD5 истифода шудааст. Ва схема кор кард MD5 аз MD5 + ҳисобкунак + махфӣ барои аломати ҷангӣ ва бе сирри барои аломати санҷишӣ.

MD5 истинод ба лоиҳаи тиҷоратӣ аст, ки Павел, пуштибони мо, кардааст. Ҳамагӣ чанд сол пеш ин лоиҳа MD5-ро истифода мебурд ва вақте ки ӯ ба меъмори лоиҳа гуфт, ки ин алгоритми рамзгузории кӯҳна аст, онҳо MD5-ро аз MD5 истифода бурданд. Азбаски мо тасмим гирифтем, ки лоиҳаи нообтаринро имконпазир созем, ӯ ҳама чизро ба ёд овард ва тасмим гирифт, ки истинодҳои хурде пешниҳод кунад.

Тири ҷангӣ

Ҳолати ҷангии Megatron 100% қувваи лазерӣ дар 3 ватт мебошад. Ин барои 2 дақиқа кофӣ аст, то тавассути ресмоне, ки вазнро нигоҳ дошт, сӯзондан, аквариумро шикаста ва серверро бо об пур кунад.

Мо дар бораи Github-и лоиҳа чанд маслиҳат додем: яъне рамзи тавлиди токен, ки аз он фаҳмидан мумкин аст, ки токенҳои санҷишӣ ва ҷангӣ дар асоси як нишондиҳандаи ҳисобкунак тавлид мешаванд. Дар мавриди аломати ҷангӣ, ба ғайр аз арзиши муқобил, намак низ истифода мешавад, ки ба истиснои ду аломати охирин дар таърихи тағир додани ин моҳият тақрибан пурра боқӣ мондааст.

Донистани ин маълумот, имкон дошт, ки 2 аломати охирини намакро ҷудо кунед ва воқеан фаҳмед, ки рақамҳои Lost, ки ба системаи шонздаҳӣ табдил дода шудаанд, истифода шудаанд.

Сипас, бозигарон бояд арзиши ҳисобкунакро (бо таҳлили аломати санҷишӣ) гирифта, бо истифода аз арзиши ҳисобкунаки навбатӣ ва намаки дар қадами қаблӣ интихобшуда аломати ҷангӣ тавлид мекарданд.

Ҳисобкунак бо ҳар як зарбаи санҷишӣ ва ҳар 25 сония афзоиш ёфт. Мо дар ин бора дар ҳеҷ ҷо нанавиштаем, ин бояд як сюрприз бозии хурд бошад.

Хидмати муштараки Captcha

Дар ҷаҳони бозӣ, ин ҳамон captcha буд, ки бояд барои фаъол кардани мухлис ва кушодани флипчарт бо як ишора бор карда мешуд. Дар паҳлӯи камера як ноутбук бо назорати сарборӣ буд.

Чӣ тавр пушти бозии ҳакерӣ дар бораи нобуд кардани сервер сохта шудааст

хизматрасонӣ Ман ҳисоб кардам, ки чӣ бояд дар мониторинг ҳамчун сарбории ҷорӣ нишон дода шавад: ҳарорат ва CPU Fan. Метрикҳо ба пойгоҳи додаҳои вақт интиқол дода шуданд ва тавассути графана кашида шуданд.

Агар дар 5 сонияи охир зиёда аз 50 дархост барои намоиши captcha бошад, пас сарборӣ бо шумораи муқарраршуда + тасодуфии қадамҳо зиёд шуд. Ҳисоб карда шуд, ки 100% сарборӣ дар ду дақиқа ба даст оварда мешавад.

Дарвоқеъ, дар хидмат мантиқи бештаре вуҷуд дошт, ки дар бозии ниҳоӣ нишон дода шуда буд: мо мониторро тавре ҷойгир кардем, ки танҳо гардиши Фан CPU намоён буд.

Дар оғози ҷустуҷӯ онҳо мехостанд, ки Grafan-ро аз вебсайти Falcon дастрас гузоранд. Аммо он инчунин нишондиҳандаҳои пружинаро аз гузориши замимаи пуштибонӣ дар бар мегирад, ки мо барои тоза кардан вақт надоштем, аз ин рӯ мо тасмим гирифтем, ки дастрасӣ ба онро манъ кунем. Ва ин дуруст аст - ҳатто дар оғози ҷустуҷӯ, баъзе бозигарон тахмин мезананд, ки барнома дар чаҳорчӯбаи пружина навишта шудааст ва ҳатто номи баъзе хидматҳоро кофтаанд.

Хостинг ва автобуси маълумот

Восита барои интиқоли маълумот аз пушти сар ба сайт, сервери VPS, ки дар он RabbitMQ кор мекард.

Пойгоҳ ва автобуси додаҳо фаъол буданд VPS мо. Қувваи он бо компютере, ки шумо дар экран дидед, қобили муқоиса буд: VPS 2-аслӣ бо ду гигабайт хотираи оперативӣ. Тариф барои захираҳо ситонида шуд, зеро сарбории авҷи он ҳамагӣ чанд рӯз ба нақша гирифта шуда буд - ин кор муштариёни мост, ки нақша доранд, ки VPS-ро дар муддати кӯтоҳ бор кунанд. Баъд маълум шуд, ки сарборй аз чашмдошти мо зиёд аст ва тарифи мукарраршуда фоиданоктар аст. Агар шумо квест кунед, тарофаҳои хатиро интихоб кунед турбо.

Барои муҳофизат кардани сервер аз DDoSa, мо Cloudflare-ро истифода мебарем.

Бояд гуфт, ки VPS ба ҳама чиз бо шараф тоб овард.

Arduino, ки барои назорати релеҳо масъул буд, аз тарҷумон фармонҳо гирифт ва кори воқеиро иҷро кард

Ин бештар мавзӯи мақолаи навбатӣ дар бораи қисми сахтафзори лоиҳа аст: пуштибон танҳо дархостҳоро барои фаъол кардани релеи мушаххас фиристод. Ҳамин тавр рӯй дод, ки пуштибон тақрибан ҳама объектҳоро медонист ва дархостҳо аз он ба назар чунин менамуданд, ки "ин объектро фаъол кунед". Мо ин корро барои санҷиши барвақти сайт анҷом додем (мо ҳанӯз ҳама Arduino ва релеҳоро ҷамъ накарда будем), дар ниҳоят ҳама чизро ҳамин тавр гузоштем.

Қисмати пеш

Мо зуд сайтро дар тилда офаридем, он як рӯзи корӣ гирифт ва аз ҳисоби буҷаи худ 30 ҳазорро сарфа кард.

Дар аввал, мо фикр мекардем, ки танҳо содир кардани сайт ва илова кардани мантиқе, ки дар мо гум шуда буд, илова кунем, аммо мо бо шартҳои истифодае дучор шудем, ки моро ин корро манъ мекард.

Мо омода набудем, ки литсензияро вайрон кунем, аз ин рӯ ду роҳ вуҷуд дошт: ҳама чизро худамон иҷро кунем ё бевосита бо Тилда тамос гирем, дар бораи лоиҳа сӯҳбат кунем ва барои тағир додани код иҷозат пурсем.

Варианти дуюмро интихоб кардем ва онҳо на танҳо бо мо дар ними роҳ вохӯрданд, балки ҳатто як сол ҳисоби тиҷоратии ройгон доданд, ки мо аз онҳо хеле миннатдорем. Ба онҳо намоиш додани тарҳи вебсайти Сокол хеле заҳматталаб буд.

Дар натиҷа, мо мантиқи js-ро барои фиристодани дархостҳо ба дастгоҳҳои ибтидоӣ ба фронт пайваст кардем ва услубҳои тугмаҳоро барои фаъол ва хомӯш кардани унсурҳои бозӣ каме тағир додем.

Тарроҳии вебсайт

Таърихи ҷустуҷӯҳо, ки ба як боби алоҳида меарзад.

Мо мехостем, ки на танҳо як сайти кӯҳна, балки як сайти комилан нафратоваре созем, ки тамоми қоидаҳои асосии тарроҳиро вайрон мекунад. Дар айни замон, нигоҳ доштани эътимоднокӣ муҳим буд: он бояд ҳикояи ЛОР-ро вайрон накунад, даъвои муаллифро нишон диҳад ва бозигарон бояд боварӣ дошта бошанд, ки чунин сайт метавонад вуҷуд дошта бошад ва ҳатто муштариёнро биёрад. Ва ӯ овард! Ҳангоме ки бозӣ идома дошт, бо мо ду маротиба барои сохтани вебсайтҳо тамос гирифтанд.

Дар аввал ман худам тарҳрезӣ кардам ва кӯшиш мекардам, ки бештар gifҳо ва унсурҳои дурахшон дохил кунам. Аммо шавҳари дизайнери ман, ки 10 сол дорад, аз болои китфи худ нигоҳ кард ва онро "хеле хуб" рад кард. Барои вайрон кардани қоидаҳои тарҳрезӣ, шумо бояд онҳоро донед.

Чӣ тавр пушти бозии ҳакерӣ дар бораи нобуд кардани сервер сохта шудааст

Якчанд комбинатсияи рангҳо вуҷуд доранд, ки эҳсоси доимии нафратро ба вуҷуд меоранд: сабз ва сурхи сарватҳои баробар, хокистарӣ ва гулобӣ, кабуд ва қаҳваранг. Дар ниҳоят, мо ба омезиши сурх ва сабз ҳамчун рангҳои асосӣ қарор додем, gifҳоро бо гурба илова кардем ва аз акси саҳҳомӣ 3-4 акси худи Соколовро интихоб кардем. Ман танҳо якчанд талабот доштам: як марди миёнасол, ки дар тан костюми бадбахт, як ҷуфт андозаи калон ва дар ҳолати "акссессияи касбӣ" буд. Барои санҷиш онҳо онро ба дӯстон нишон доданд ва пурсиданд, ки "ба шумо ин чӣ маъқул аст?"

Ҳангоми таҳияи тарҳ шавҳари ман маҷбур шуд, ки ҳар ним соат хобида равад; чархбол ба парвоз шурӯъ кард. Паша кӯшиш кард, ки консолҳои таҳиягарро дар қисми зиёди экран кушояд, ҳангоми ба итмом расонидани фронт - барои муҳофизати чашмони худ.

Дастгоҳҳои воқеӣ

Фанҳо ва чароғҳо тавассути релеҳои ҳолати сахт насб карда шуданд, то онҳо фавран бо қудрати пурра фурӯзон нашаванд - то ки қувваи барқ ​​​​дар баробари назорат афзоиш ёбад.

Аммо мо дар ин бора дар мақолаи навбатӣ, дар бораи қисми сахтафзори бозӣ ва сохтмони воқеии сайт сӯҳбат хоҳем кард.

Гӯш ба занг бош!

Мақолаҳои дигар дар бораи ҷустуҷӯи нобуд кардани сервер

Чӣ тавр пушти бозии ҳакерӣ дар бораи нобуд кардани сервер сохта шудааст

Манбаъ: will.com

Илова Эзоҳ