Коопсуздуктун мыкты практикалары
Продакшенде чын эле кездешкен чабуулдарга туруштук берген Node-кызматты чыгарыңыз
- сап курууну эмес, параметризация менен инъекцияларды (SQL жана ОС буйруктары) токтото аласыз;
- чыгарууну коддоо жана Content-Security-Policy колдонуу менен XSS алдын аласыз;
- сырларды баштапкы коддон, журналдардан жана каталар жоопторунан алыс кармай аласыз;
- объекттерди бириктирүүдө жана JSON талдоодо прототиптин булгануусун тааныйсыз жана бөгөттөйсүз;
- helmet менен HTTP бекемдеп, жыштыкты чектөө менен кыянат колдонууну басып, көз карандылыктарды текшере аласыз.
1. Терең коргоо: бир дубалга ишенбеңиз
Интернеттен келген ар бир суроо — тескериси далилденгенге чейин ишенимсиз киргизүү. Ишенимдүү кызмат бир текшерүүгө таянбайт; ал бир ката бузууга айланбашы үчүн кайчылашкан чараларды колдонот. Бул терең коргоо: чекте валидация, ортодо коопсуз маалыматка жетүү жана бардык жерде эң аз укуктар.
Салыштыруу. Сепил бир калың эшиктин аркасында аман калбайт. Анын аңы, тышкы дубалы, ички дубалы жана мунарадагы сакчылары бар. Эгер чабуулчу бир тоскоолдуктан өтүп кетсе, кийинкиси аны дагы токтотот. Сиздин жыштык чектегичиңиз, валидаторуңуз, параметризацияланган суроо жана коопсуздук баштары — ошол концентрдик дубалдар.
Төмөнкү схемада бекемделген Express-тиркеменин катмарлары аркылуу өткөн суроо көрсөтүлгөн. Ар бир тилке — көз карандысыз чара; пайдалуу жүк зыян келтириш үчүн бардыгын жеңиши керек.
Бир эрежени эсте сактаңыз: клиент толук башкарган маалыматтан эч качан коопсуздук чечимин курбаңыз. Аны валидациялаңыз, экрандаңыз же байлаңыз — бирок күчтүү нерсеге жабыштырбаңыз.