Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Como Fazer Apps Node.Js Seguras
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Paulo Pires
March 22, 2014
Programming
300
4
Share
Como Fazer Apps Node.Js Seguras
Paulo Pires
March 22, 2014
More Decks by Paulo Pires
See All by Paulo Pires
Introdução ao WebAssembly
paulohp
0
62
Introdução ao GraphQL
paulohp
0
60
GraphQL 101
paulohp
0
110
Side Effects: Uma Saga até o React
paulohp
0
97
MobX: State Management made easy
paulohp
0
97
Docker: The Rise of Containers
paulohp
0
130
We Work Remotely
paulohp
2
110
Angular2
paulohp
0
240
Node.js Codelab
paulohp
1
190
Other Decks in Programming
See All in Programming
AIエージェントと協働するCLI開発 — BunとOpenClawで学んだこと
yoshikouki
1
230
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
430
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
17
5.7k
CSC307 Lecture 17
javiergs
PRO
0
310
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
5.2k
Swiftのレキシカルスコープ管理
kntkymt
0
210
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.1k
AIとASP.NET Coreで雑Webアプリを作った話
mayuki
0
240
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
2
230
3Dシーンの圧縮
fadis
1
590
Lessons from Spec-Driven Development
simas
PRO
0
130
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
360
Featured
See All Featured
Building the Perfect Custom Keyboard
takai
2
780
Making the Leap to Tech Lead
cromwellryan
135
9.9k
WENDY [Excerpt]
tessaabrams
11
38k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
550
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
130
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
220
Exploring anti-patterns in Rails
aemeredith
3
390
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
Transcript
Como Fazer Apps Node.Js SEGURAS
@paulo_hp
None
Eu não sou um especialista em segurança web!
Como você inicia uma aplicação?
Muita Coisa Pra Pensar
Regras de Negócio Modelagem Frameworks? Node.JS?
Você trabalha igual louco e coloca o app em produção
+ usuários + visibilidade + exposição
Você fica vulnerável
SE GU RAN ÇA?
Segurança quase nunca entra em pauta!
Maioria dos ataques acontecem na camada de aplicação
Como prevenir esses ataques em nossos apps Node.JS?
Defesa
XSS
localhost:8000/?name=<script>alert(1)</script>
Encode Untrusted Data
SSJSi
eval() is evil
{"symbol" : "ASDF"} A chamada para eval avalia assim a
string: ({"symbol" : "ASDF"})
Mas se ao invés de um simples JSON, o atacante
enviar um código JS malicioso?
res.end('success')
O servidor executa esse comando, retornando o texto "success" como
resposta HTTP.
Com essa resposta, o atacante sabe que seu server é
vulnerável.
E assim ele pode enviar códigos que realmente causam estragos.
DoS *deprecated
Um ataque efetivo DoS pode ser executado simplesmente enviando um
comando
while(1)
Um descuido como esse pode dar acesso aos arquivos, processos
e até ao seu banco NoSQL
Algumas pequenas coisas podem ser feitas para evitar, como validar
inputs com RegEx e evitando o uso de eval()
e se você usa versão antiga, ATUALIZE!
CSRF
Ativando o uso de CSRF no Express.JS
app.js form.html
Garanta o uso correto dos metodos HTTP
Nomes de Cookies Genéricos
None
X-Powerd-By
Esse valor não interessa muito pra nós, e pode ser
removido facilmente
None
Avalie os módulos externos do NPM
nodesecurity.io
Eduque os desenvolvedores com OWASP Top 10 owasp.org
Inclua testes de segurança no ciclo de desenvolvimento
vlw :D