SlideShare a Scribd company logo
1 of 43
Maciej Lasyk

OWASP Poland, 2013-10-17
Czemu rekrutacja na OWASPie?
●

Ponieważ ten system to webaplikacja

●

Ponieważ bazuje w 100% na FOSS (open-source)

●

Ponieważ security było dla nas bardzo istotne

●

Bo na OWASPie spotykają się ludzie, którzy mają wpływ na

procesy rekrutacji w innych firmach (hopefully) ;)
Rekrutacja
●

Sporo agencji / serwisów świadczących usługi rekrutacyjne

●

Potencjalnie ogromna ilość kandydatów

●

Procesowaniem kandydatów zajmuje się cały zespół

●

Rozmowy i testy pochłaniają wiele czasu
SysAdmin / Operations
●

Jest administratorem, programistą, testerem i sieciowcem

●

Performance tuning również nie jest mu obcy

●

Odpowiada za krytyczne (wszystkie) dane

●

Potrafi przenosić UPSy ;)

●

O 4 nad ranem w niedzielę rozumie kolegów z innych krajów ;)

●

Wszystko to robi w kontekście wysokiego bezpieczeństwa

●

Lubi grać (znacie admina, który nie gra?) ;)
Zagrajmy więc
●

Pomysł na grę? Nie Quake / Diablo / Warcraft ;)

●

pythonchallenge.com, wechall.net – CTFy są świetną formą

●

trueability.com – taki event dla adminów

●

Może więc coś w rodzaju CTFa / challenge?

●

Taki system musiałby spełniać kilka wymogów:
●

Optymalizacja czasu rekrutacji

●

Zminimalizować ryzyko odrzucenia dobrego kandydata

●

Być na tyle ciekawy aby przyciągał (kto nie lubi mindfscków)
Let's start the ball rolling
Zgłoszenie
1 etap – proste zadanie

Problem: spora liczba kandydatów (>100)

Cel: odsianie ludzi z innej bajki (80% odrzuceń!)

2 etap – tel/social.eng.

Cel: poznanie, manipulacja

3 etap – challenge

Global Thermonuclear War ;)
1 etap – telnetem przez SMTP

RFC-821/1869:
HELO/EHLO ??.....??

GPG us ur CV using
http://..../gpg.asc

Sporo nieznajomości GPG :(
RTFM!
1 etap – telnetem przez SMTP

RFC-821/1869:
HELO/EHLO my.hostname

1 haczyk – hostname nie serwera
a klienta (90% się złapała)

GPG us ur CV using
http://..../gpg.asc

Sporo nieznajomości GPG :(
RTFM!
1 etap – node.js
●

Początkowo serwer w C. Po 3 w nocy jednak node.js ;)

●

Co jest nie tak z node.js?
●

●

http://osvdb.org/ - 2 trafienia

●

http://1337day.com/, http://www.exploit-db.com/ - 1 trafienie

●

●

http://seclists.org/bugtraq/ - 0 trafień

https://nodesecurity.io/advisories - 4 trafienia

Czy to oznacza, że node.js jest “bezpieczny”?
Node.js – model działania
- Event driven
- Event loop
- Callbacks
- SPA, async, REST, Json

http://magnetik.github.io/
Node.js - zagrożenia
............................................________
....................................,.-'"...................``~.,
.............................,.-"..................................."-.,
.........................,/...............................................":,
.....................,?......................................................,
.................../...........................................................,}
................./......................................................,:`^`..}
.............../...................................................,:"........./
..............?.....__.........................................:`.........../
............./__.(....."~-,_..............................,:`........../
.........../(_...."~,_........"~,_....................,:`........_/
..........{.._$;_......"=,_......."-,_.......,.-~-,},.~";/....}
...........((.....*~_......."=-._......";,,./`..../"............../
...,,,___.`~,......"~.,....................`.....}............../
............(....`=-,,.......`........................(......;_,,-"
............/.`~,......`-...................................../
.............`~.*-,.....................................|,./.....,__
,,_..........}.>-._...................................|..............`=~-,
.....`=~-,__......`,.................................
...................`=~-,,.,...............................
................................`:,,...........................`..............__
.....................................`=-,...................,%`>--==``
........................................_..........._,-%.......`

●

Brak logów

●

Brak obsługi błędów - DoS

●

Brak konfiguracji – “+” czy “-”?

●

Brak filtrów sprawdzających user-input

●

JS: function as a variable

●

Evil eval(code). Server-side XSS

●

setInterval(code,2), setTimeout(code,2), str = new Function(code)

●

Moduły npm – kto i jak je tworzy?
Node.js – evil eval()
Node.js – evil eval()

W ten oto sposób rozszerzyliśmy funkcjonalność o http://node.js/myurl
Node.js - npm
https://blog.nodejitsu.com/npm-innovation-through-modularity

Przyrost ilości
modułów npm

Porównanie ilości
modułów/day
Node.js i innych
technologii
Node.js – jak żyć?
●

Używajmy frameworków: https://npmjs.org/ - uważnie

●

Moduły npm nie są validowane! Sprawdzajmy je:

●

Uważajmy na zależności między modułami

●

Własna obsługa logów i błędów – takie “must have”

●

Skoro to jest serwer to potrzeba nam rozwiązań sec-server-side:

https://nodesecurity.io

●

Monitoring – twórzmy aplikacje myśląc o tym jak je monitorować

●

Control-groups – ustalmy limity zasobów! (o tym zaraz...)

●

SELinux sandbox (o tym zaraz)
Node.js – SELinux sandbox
●

Ustawiamy aplikacji 'home_dir' i 'tmp_dir'

●

Aplikacja może domyślnie r/w z std(in|out) + defined FDs

●

Domyślnie – brak dostępu do sieci

●

Brak dostępu do nie swoich procesów / plików

●

Sandboxa możemy spiąć z cgroupsami :)

●

Pomocne: semodule -DB (no dontaudit)

●

grep XXX /var/log/audit/audit.log | audit2allow -M node.sandbox

●

semodule -i node.sandbox.pp
Node.js – SELinux sandbox
Node.js – jak żyć #2
●

Freeze node.js version per project?

●

Czytamy:
●

https://media.blackhat.com/bh-us-11/Sullivan/BH_US_11_Sullivan_Server_Side_WP.pdf

●

http://lab.cs.ttu.ee/dl91

●

https://github.com/toolness/security-adventure

●

Pseudo–konfiguracja – ustalajmy limity w kodzie (np. POST size)

●

try...catch ftw

●

use strict; - pomaga nawet w sprawie evala (częściowo)

●

Bunyan / dtrace: https://npmjs.org/package/bunyan

●

A node.js OS? No i instalujmy node.js z paczek (fpm choćby)
Etap 2 – social engineering
●

Celem tego etapu jest weryfikacja i poznanie kandydata

●

Christopher Hadnagy – SE framework (2k10):
●

http://www.social-engineer.org/framework/Social_Engineering_Framework

●

Każdy może się podać za rekrutera i zadzwonić do kandydata

●

Budowanie profilu/znajomości na Linkedinie jest bardzo proste

●

Zaufanie (lingo, znajomość tematu / środowiska: research)

●

Administrator jest osobą ze sporą wiedzą – jest dobrym celem

●

Wystarczy tylko zdobyć zaufanie i obniżyć poziom ostrożności
Etap 3 - wirtualizacja
●

Co nam potrzeba?
●

Nadzór nad procesem bootowania

●

Możliwość wpięcia się w konsolę

●

Sterowanie zasobami

●

Redundantny storage

●

Tryb rescue dla obrazu VM

●

Security by default

> AWS
> KVM/libvirt
> XEN/libvirt

> LXC
Etap 3 - wirtualizacja
boot

konsola

resources
mgmt.

redundant
storage

rescue VM

security
Etap 3 - wirtualizacja

VS
Wydajność XEN/HVM czy KVM?
Etap 3 - wirtualizacja

VS
Wydajność XEN/HVM czy KVM?
Z XEN/HVM mieliśmy problemy wydajnościowe – spore.
Tutaj wygrywa czerwony kapelusz i jego PV
(jednak z pomocą cgroups – KVM przy
sporym obciążeniu zachowuje się niestabilnie)
Etap 3 – bezpieczeństwo sieci
https://en.wikipedia.org

DMZ (Demilitarized Zone) – wydzielona część sieci zawierająca
usługi, które są wystawione bezpośrednio na świat i są też
najbardziej zagrożone atakami. Podział logiczny (VLANy) lub fizyczny
Etap 3 – bezpieczeństwo sieci
https://en.wikipedia.org

DMZ (Demilitarized Zone) – wydzielona część sieci zawierająca
usługi, które są wystawione bezpośrednio na świat i są też
najbardziej zagrożone atakami. Podział logiczny (VLANy) lub fizyczny
Etap 3 – bezpieczeństwo sieci
●

Wydzielony DMZ (VLAN?) dla hosta

●

Brak routingu / komunikacji tej DMZ z resztą

●

Tanie rozwiązania?
●

OpenWRT / DDWRT way || Pure Linux server

●

802.1Q – VLANy
Etap 3 – bezpieczeństwo sieci
●

Izolacja sieci na hoście KVM:
●

Host/network bridge: switch warstwy 2

●

netfilter / nwfilter (IBM)

●

domyślnie nie mamy izolacji pakietów dla VM
w bridge'u – ebtables null, no filtering

●

ebtables – filtrowanie warstwy 2 – w ten
sposób załatwiamy izolację

●

Albo virsh nwfilter-list
●

allow-arp,dhcp,dhcp-server,clean-traffic, noarp-ip-spoofing, no-arp-mac-spoofing, noarp-spoofing, no-ip-multicast, no-ip-spoofing,

no-mac-broadcast, no-mac-spoofing, noother-l2-traffic
●

L2 filtering? /proc/sys/net/bridge

https://www.redhat.com/archives/libvir-list/2010-June/msg00762.html
http://pic.dhe.ibm.com/infocenter/lnxinfo/v3r0m0/topic/liaat/liaatsecurity_pdf.pdf
Etap 3 – proces bootowania, VNC
●

Dostęp do procesu bootowania – VNC

●

Bezpieczeństwo VNC? SSL? Komplikacje..

●

A gdyby tak VNC over SSH tunnel?
●

Jest szyfrowanie

●

Żadnej zabawy z certami

●

Każdy z nas to już robił...
Etap 3 – restricted shells
●

Tunel SSH wymaga konta SSH (thank You Captain Obvious!)

●

A za pomocą konta shellowego można sporo nabroić...

●

Ograniczmy więc możliwe akcje użytkownika – restricted shells

Restricted shells wg. Google ;) =>
Etap 3 – restricted shells
●

Restricted shells są groźne – trzeba rozumieć jak działają!

●

W sprzyjających warunkach można uciec z rshella:

https://en.wikipedia.org/wiki/Rbash
Etap 3 – restricted shells
●

Rbash:
●

Jest w CentOSie / RHEL jako legit ;)

●

Zabrania trawersować katalogi

●

Zabrania używac bezpośrednich ścieżek do plików / katalogów (takich z '/')

●

Zabrania ustawiać PATH czy inną zmienną powłoki

●

Zabrania przekierowywać output komend

●

PATH=$HOME/bin – i niech tam będzie prawie pusto!

https://en.wikipedia.org/wiki/Rbas
h
Etap 3 – SSH tunnel / VNC
●

We must go deeper!
VM host
VM-Proxy

rshell / ibsh

rshell / rbash
Kandydat
VNC server
screen / ssh tunnel
Etap 3 – restricted shells
●

Inne shelle:
●

rssh – zezwala na wykonywanie scp, sftp, rsync itd

●

sudosh - http://sourceforge.net/projects/sudosh
●

●

Pozwala określać jakie operacja są dozwolone dla usera

●

●

Pozwala zapisywać całą sesję użytkownika i ją odtwarzać

Trochę outdated – lepiej sudosh3

Ibsh (small, fast, secure): http://sourceforge.net/projects/ibsh/
Etap 3 – control groups
●

zarządzanie zasobami w prosty sposób (ulimits, nice, limits.conf)

●

Potraficie przypisać 50 IOPS dla dowolnego procesu?

●

A może limit 100Kbp/s dla wybranego usera?

●

Problemy z memory–leakami w Javie?
Etap 3 – control groups

https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/ch01.html

●
●
●

Debian & RHEL friendly
Można uruchamiać aplikacje w kontekście cgroupy
Można żyjący proces przypisać do konkretnej cgroupy
Etap 3 – webaplikacja
●

OpenStack?

Trochę komplikacji. “Out of the box” tylko w internetach widzieli.
A zrób to wydajnie i bezpiecznie w kilka godzin ;)
Etap 3 – webaplikacja

Commodore OS ???
Etap 3 – webaplikacja

Commodore OS Vision FTW!
Etap 3 – webaplikacja
●

Apache + mod_security

●

mod_security + OWASP rules

●

PHP & Python :)

●

Prostota!

●

Sterowanie VM za pomocą screena i prostego pseudo – demona:
●

●

while(1) do: zarządzaj_VMkami();

I to po prostu działa!
Etap 3 – nagrywanie sesji SSH
●

Nagrywanie każdej sesji (tak, również screen)

●

Nagrywanie real-time (a nie flush co jakiś czas)

●

sudosh3 (fork sudosh) – powłoka pośrednicząca

●

auditd – niskopoziomowe narzędzie logujące wybrane syscalle

●

Asciinema (ascii.io, Marcin Kulik) – super, ale nie jako “audit”

●

Ttyrec – outdated: http://0xcc.net/ttyrec/index.html.en

●

Ssh logging patch - outdated: http://www.kdvelectronics.eu/ssh-logging/ssh-logging.html
Etap 3 – bezpieczeństwo danych
●

Gdyby tak stracić choć jedną VMkę... brr.

●

Ocena ryzyka – co nam wystarcza?
●

RAID1 / Mirror – “zazwyczaj” w skali kwartału wystarcza

●

Backupy – przydatne ;) RAID / replikacja to nie backup...

●

GlusterFS / DRBD – jeśli tylko mamy na to zasoby to polecam :)
KVM active host

KVM passive host

LVM

LVM
replikacja

Gluster brick

Gluster brick
Podsumowanie
Maciej Lasyk
http://maciek.lasyk.info
maciek@lasyk.info
Twitter: @docent_net

OWASP Poland, 2013-10-17

More Related Content

What's hot

Sekrety magicznego ogrodu Docker
Sekrety magicznego ogrodu DockerSekrety magicznego ogrodu Docker
Sekrety magicznego ogrodu DockerKamil Grabowski
 
Ansible - Automatyzacja zadań IT
Ansible - Automatyzacja zadań ITAnsible - Automatyzacja zadań IT
Ansible - Automatyzacja zadań ITKamil Grabowski
 
Ochrona przed atakami DDoS na platformie x86. Czy można mieć jednocześnie wyd...
Ochrona przed atakami DDoS na platformie x86. Czy można mieć jednocześnie wyd...Ochrona przed atakami DDoS na platformie x86. Czy można mieć jednocześnie wyd...
Ochrona przed atakami DDoS na platformie x86. Czy można mieć jednocześnie wyd...Redge Technologies
 
Programowanie sterowników w Linuksie.
Programowanie sterowników w Linuksie.Programowanie sterowników w Linuksie.
Programowanie sterowników w Linuksie.Semihalf
 
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFXPLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFXPROIDEA
 
100 M pakietów na sekundę dla każdego.
100 M pakietów na sekundę dla każdego. 100 M pakietów na sekundę dla każdego.
100 M pakietów na sekundę dla każdego. Redge Technologies
 
CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...
CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...
CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...PROIDEA
 
100Mpps czyli jak radzić sobie z atakami DDoS?
100Mpps czyli jak radzić sobie z atakami DDoS?100Mpps czyli jak radzić sobie z atakami DDoS?
100Mpps czyli jak radzić sobie z atakami DDoS?Redge Technologies
 
"Sandbox dla PowerShell'a - zrób to sam!" - Dawid Pachowski
"Sandbox dla PowerShell'a - zrób to sam!" - Dawid Pachowski"Sandbox dla PowerShell'a - zrób to sam!" - Dawid Pachowski
"Sandbox dla PowerShell'a - zrób to sam!" - Dawid PachowskiPROIDEA
 
PLNOG 17 - Robert Ślaski - Jak nie zostać bezrobotnym sieciowcem?
PLNOG 17 - Robert Ślaski - Jak nie zostać bezrobotnym sieciowcem?PLNOG 17 - Robert Ślaski - Jak nie zostać bezrobotnym sieciowcem?
PLNOG 17 - Robert Ślaski - Jak nie zostać bezrobotnym sieciowcem?PROIDEA
 
Elasticsearch i Docker - skalowalność, wysoka dostępność i zarządzanie zasobami
Elasticsearch i Docker - skalowalność, wysoka dostępność i zarządzanie zasobamiElasticsearch i Docker - skalowalność, wysoka dostępność i zarządzanie zasobami
Elasticsearch i Docker - skalowalność, wysoka dostępność i zarządzanie zasobamiEnterprise Search Warsaw Meetup
 
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...The Software House
 
Vagrant, Ansible, Trellis - Środowiska developerskie
Vagrant, Ansible, Trellis - Środowiska developerskieVagrant, Ansible, Trellis - Środowiska developerskie
Vagrant, Ansible, Trellis - Środowiska developerskieInterSynergy
 
Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...
Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...
Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...Kainos Polska
 
Security B-Sides Warsaw 2012 - Bezpieczenstwo IPv6 - Gawel Mikolajczyk
Security B-Sides Warsaw 2012 - Bezpieczenstwo IPv6 - Gawel MikolajczykSecurity B-Sides Warsaw 2012 - Bezpieczenstwo IPv6 - Gawel Mikolajczyk
Security B-Sides Warsaw 2012 - Bezpieczenstwo IPv6 - Gawel MikolajczykGawel Mikolajczyk
 
Czy naprawdę wiesz co robi twoja przeglądarka?
Czy naprawdę wiesz co robi twoja przeglądarka?Czy naprawdę wiesz co robi twoja przeglądarka?
Czy naprawdę wiesz co robi twoja przeglądarka?OWASP
 
Security B-Sides Warsaw 2014 - Network Security Treasures - Gawel Mikolajczyk
Security B-Sides Warsaw 2014 - Network Security Treasures - Gawel MikolajczykSecurity B-Sides Warsaw 2014 - Network Security Treasures - Gawel Mikolajczyk
Security B-Sides Warsaw 2014 - Network Security Treasures - Gawel MikolajczykGawel Mikolajczyk
 

What's hot (20)

Sekrety magicznego ogrodu Docker
Sekrety magicznego ogrodu DockerSekrety magicznego ogrodu Docker
Sekrety magicznego ogrodu Docker
 
Ansible - Automatyzacja zadań IT
Ansible - Automatyzacja zadań ITAnsible - Automatyzacja zadań IT
Ansible - Automatyzacja zadań IT
 
Ochrona przed atakami DDoS na platformie x86. Czy można mieć jednocześnie wyd...
Ochrona przed atakami DDoS na platformie x86. Czy można mieć jednocześnie wyd...Ochrona przed atakami DDoS na platformie x86. Czy można mieć jednocześnie wyd...
Ochrona przed atakami DDoS na platformie x86. Czy można mieć jednocześnie wyd...
 
Infrastructure As Code
Infrastructure As CodeInfrastructure As Code
Infrastructure As Code
 
Programowanie sterowników w Linuksie.
Programowanie sterowników w Linuksie.Programowanie sterowników w Linuksie.
Programowanie sterowników w Linuksie.
 
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFXPLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
 
100 M pakietów na sekundę dla każdego.
100 M pakietów na sekundę dla każdego. 100 M pakietów na sekundę dla każdego.
100 M pakietów na sekundę dla każdego.
 
CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...
CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...
CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...
 
100Mpps czyli jak radzić sobie z atakami DDoS?
100Mpps czyli jak radzić sobie z atakami DDoS?100Mpps czyli jak radzić sobie z atakami DDoS?
100Mpps czyli jak radzić sobie z atakami DDoS?
 
"Sandbox dla PowerShell'a - zrób to sam!" - Dawid Pachowski
"Sandbox dla PowerShell'a - zrób to sam!" - Dawid Pachowski"Sandbox dla PowerShell'a - zrób to sam!" - Dawid Pachowski
"Sandbox dla PowerShell'a - zrób to sam!" - Dawid Pachowski
 
Ansible w praktyce
Ansible w praktyceAnsible w praktyce
Ansible w praktyce
 
PLNOG 17 - Robert Ślaski - Jak nie zostać bezrobotnym sieciowcem?
PLNOG 17 - Robert Ślaski - Jak nie zostać bezrobotnym sieciowcem?PLNOG 17 - Robert Ślaski - Jak nie zostać bezrobotnym sieciowcem?
PLNOG 17 - Robert Ślaski - Jak nie zostać bezrobotnym sieciowcem?
 
Elasticsearch i Docker - skalowalność, wysoka dostępność i zarządzanie zasobami
Elasticsearch i Docker - skalowalność, wysoka dostępność i zarządzanie zasobamiElasticsearch i Docker - skalowalność, wysoka dostępność i zarządzanie zasobami
Elasticsearch i Docker - skalowalność, wysoka dostępność i zarządzanie zasobami
 
Swoole w PHP. Czy to ma sens?
Swoole w PHP. Czy to ma sens?Swoole w PHP. Czy to ma sens?
Swoole w PHP. Czy to ma sens?
 
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
 
Vagrant, Ansible, Trellis - Środowiska developerskie
Vagrant, Ansible, Trellis - Środowiska developerskieVagrant, Ansible, Trellis - Środowiska developerskie
Vagrant, Ansible, Trellis - Środowiska developerskie
 
Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...
Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...
Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...
 
Security B-Sides Warsaw 2012 - Bezpieczenstwo IPv6 - Gawel Mikolajczyk
Security B-Sides Warsaw 2012 - Bezpieczenstwo IPv6 - Gawel MikolajczykSecurity B-Sides Warsaw 2012 - Bezpieczenstwo IPv6 - Gawel Mikolajczyk
Security B-Sides Warsaw 2012 - Bezpieczenstwo IPv6 - Gawel Mikolajczyk
 
Czy naprawdę wiesz co robi twoja przeglądarka?
Czy naprawdę wiesz co robi twoja przeglądarka?Czy naprawdę wiesz co robi twoja przeglądarka?
Czy naprawdę wiesz co robi twoja przeglądarka?
 
Security B-Sides Warsaw 2014 - Network Security Treasures - Gawel Mikolajczyk
Security B-Sides Warsaw 2014 - Network Security Treasures - Gawel MikolajczykSecurity B-Sides Warsaw 2014 - Network Security Treasures - Gawel Mikolajczyk
Security B-Sides Warsaw 2014 - Network Security Treasures - Gawel Mikolajczyk
 

Viewers also liked

Building a Safer and Healthier Workspace with JD Edwards Health, Safety and E...
Building a Safer and Healthier Workspace with JD Edwards Health, Safety and E...Building a Safer and Healthier Workspace with JD Edwards Health, Safety and E...
Building a Safer and Healthier Workspace with JD Edwards Health, Safety and E...KPIT
 
Allahabad - City of global repute
Allahabad - City of global reputeAllahabad - City of global repute
Allahabad - City of global reputeAnindya Singh
 
Hart & Ganley SOED 2016
Hart & Ganley SOED 2016Hart & Ganley SOED 2016
Hart & Ganley SOED 2016Colleen Ganley
 
RED Y NET (Cordara y Beltran)
RED Y NET (Cordara y Beltran)RED Y NET (Cordara y Beltran)
RED Y NET (Cordara y Beltran)Sele Cordara
 
05042 0-16-131 benjamin mauricio rivera fernandez
05042 0-16-131 benjamin mauricio rivera fernandez05042 0-16-131 benjamin mauricio rivera fernandez
05042 0-16-131 benjamin mauricio rivera fernandezmauricio benitez
 
UX Poland 2014: N.Efimov & Y. Vedenin - Playful design
UX Poland 2014: N.Efimov & Y. Vedenin - Playful designUX Poland 2014: N.Efimov & Y. Vedenin - Playful design
UX Poland 2014: N.Efimov & Y. Vedenin - Playful designNikita Efimov
 
From newspapers to newsbrands: challenging the myths
From newspapers to newsbrands: challenging the mythsFrom newspapers to newsbrands: challenging the myths
From newspapers to newsbrands: challenging the mythsNewsworks
 
My Gopeng Resort
My Gopeng ResortMy Gopeng Resort
My Gopeng ResortCheow Hou
 
第9章 ネットワーク上の他の確率過程
第9章 ネットワーク上の他の確率過程第9章 ネットワーク上の他の確率過程
第9章 ネットワーク上の他の確率過程Ohsawa Goodfellow
 
FFF Convention & IAFE Zone II Meeting - 20 Ways to Ruin a Fair Website
FFF Convention & IAFE Zone II Meeting - 20 Ways to Ruin a Fair WebsiteFFF Convention & IAFE Zone II Meeting - 20 Ways to Ruin a Fair Website
FFF Convention & IAFE Zone II Meeting - 20 Ways to Ruin a Fair WebsiteSaffire
 
Quick installation with an existing router or modern router
Quick installation with an existing router or modern routerQuick installation with an existing router or modern router
Quick installation with an existing router or modern routerIT Tech
 
3 d pie chart circular puzzle with hole in center process 6 stages style 1 po...
3 d pie chart circular puzzle with hole in center process 6 stages style 1 po...3 d pie chart circular puzzle with hole in center process 6 stages style 1 po...
3 d pie chart circular puzzle with hole in center process 6 stages style 1 po...SlideTeam.net
 

Viewers also liked (20)

Building a Safer and Healthier Workspace with JD Edwards Health, Safety and E...
Building a Safer and Healthier Workspace with JD Edwards Health, Safety and E...Building a Safer and Healthier Workspace with JD Edwards Health, Safety and E...
Building a Safer and Healthier Workspace with JD Edwards Health, Safety and E...
 
Allahabad - City of global repute
Allahabad - City of global reputeAllahabad - City of global repute
Allahabad - City of global repute
 
Nature Thrill
Nature ThrillNature Thrill
Nature Thrill
 
Glass lions pdf
Glass lions pdfGlass lions pdf
Glass lions pdf
 
Hart & Ganley SOED 2016
Hart & Ganley SOED 2016Hart & Ganley SOED 2016
Hart & Ganley SOED 2016
 
Domek
DomekDomek
Domek
 
Fundraising and the next gen 3.10.11
Fundraising and the next gen 3.10.11Fundraising and the next gen 3.10.11
Fundraising and the next gen 3.10.11
 
RED Y NET (Cordara y Beltran)
RED Y NET (Cordara y Beltran)RED Y NET (Cordara y Beltran)
RED Y NET (Cordara y Beltran)
 
05042 0-16-131 benjamin mauricio rivera fernandez
05042 0-16-131 benjamin mauricio rivera fernandez05042 0-16-131 benjamin mauricio rivera fernandez
05042 0-16-131 benjamin mauricio rivera fernandez
 
Best Practices
Best PracticesBest Practices
Best Practices
 
UX Poland 2014: N.Efimov & Y. Vedenin - Playful design
UX Poland 2014: N.Efimov & Y. Vedenin - Playful designUX Poland 2014: N.Efimov & Y. Vedenin - Playful design
UX Poland 2014: N.Efimov & Y. Vedenin - Playful design
 
From newspapers to newsbrands: challenging the myths
From newspapers to newsbrands: challenging the mythsFrom newspapers to newsbrands: challenging the myths
From newspapers to newsbrands: challenging the myths
 
Equity Scholarship Provision in Australian Universities: Insights and Directions
Equity Scholarship Provision in Australian Universities: Insights and DirectionsEquity Scholarship Provision in Australian Universities: Insights and Directions
Equity Scholarship Provision in Australian Universities: Insights and Directions
 
ChEMBL UGM May 2011
ChEMBL UGM May 2011ChEMBL UGM May 2011
ChEMBL UGM May 2011
 
My Gopeng Resort
My Gopeng ResortMy Gopeng Resort
My Gopeng Resort
 
第9章 ネットワーク上の他の確率過程
第9章 ネットワーク上の他の確率過程第9章 ネットワーク上の他の確率過程
第9章 ネットワーク上の他の確率過程
 
FFF Convention & IAFE Zone II Meeting - 20 Ways to Ruin a Fair Website
FFF Convention & IAFE Zone II Meeting - 20 Ways to Ruin a Fair WebsiteFFF Convention & IAFE Zone II Meeting - 20 Ways to Ruin a Fair Website
FFF Convention & IAFE Zone II Meeting - 20 Ways to Ruin a Fair Website
 
Quick installation with an existing router or modern router
Quick installation with an existing router or modern routerQuick installation with an existing router or modern router
Quick installation with an existing router or modern router
 
Waleed C.V
Waleed C.V Waleed C.V
Waleed C.V
 
3 d pie chart circular puzzle with hole in center process 6 stages style 1 po...
3 d pie chart circular puzzle with hole in center process 6 stages style 1 po...3 d pie chart circular puzzle with hole in center process 6 stages style 1 po...
3 d pie chart circular puzzle with hole in center process 6 stages style 1 po...
 

Similar to Shall we play a game? PL version

NGSec 2016 - Ile warstw, tyle szans. - Leszek Miś@Defensive-Security.com
NGSec 2016 - Ile warstw, tyle szans. - Leszek Miś@Defensive-Security.comNGSec 2016 - Ile warstw, tyle szans. - Leszek Miś@Defensive-Security.com
NGSec 2016 - Ile warstw, tyle szans. - Leszek Miś@Defensive-Security.comLeszek Mi?
 
Jak zacząć, aby nie żałować - czyli 50 twarzy PHP
Jak zacząć, aby nie żałować - czyli 50 twarzy PHPJak zacząć, aby nie żałować - czyli 50 twarzy PHP
Jak zacząć, aby nie żałować - czyli 50 twarzy PHPPiotr Horzycki
 
Space Wars Hack - Class #1
Space Wars Hack - Class #1Space Wars Hack - Class #1
Space Wars Hack - Class #1Piotr Pawlak
 
[Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu
[Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu[Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu
[Confidence 2016] Red Team - najlepszy przyjaciel Blue TeamuPiotr Kaźmierczak
 
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...PROIDEA
 
Piątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous DeliveryPiątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous DeliveryXSolve
 
[Quality Meetup #9] TestOps, QAOps - czy ktoś taki istnieje? - Aleksandra Kor...
[Quality Meetup #9] TestOps, QAOps - czy ktoś taki istnieje? - Aleksandra Kor...[Quality Meetup #9] TestOps, QAOps - czy ktoś taki istnieje? - Aleksandra Kor...
[Quality Meetup #9] TestOps, QAOps - czy ktoś taki istnieje? - Aleksandra Kor...Future Processing
 
Testowanie bezpieczenstwa aplikacji mobilnych
Testowanie bezpieczenstwa aplikacji mobilnychTestowanie bezpieczenstwa aplikacji mobilnych
Testowanie bezpieczenstwa aplikacji mobilnychSecuRing
 
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegroallegro.tech
 
Gluster FS
Gluster FSGluster FS
Gluster FS3camp
 
Info meet pomiary wydajności
Info meet pomiary wydajnościInfo meet pomiary wydajności
Info meet pomiary wydajnościmagda3695
 
Xdebug – debugowanie i profilowanie aplikacji PHP
Xdebug – debugowanie i profilowanie aplikacji PHPXdebug – debugowanie i profilowanie aplikacji PHP
Xdebug – debugowanie i profilowanie aplikacji PHP3camp
 
PHP@Docker - w produkcji
PHP@Docker - w produkcjiPHP@Docker - w produkcji
PHP@Docker - w produkcjiMarcin Kurzyna
 
Django od developerki po produkcję (linux)
Django od developerki po produkcję (linux)Django od developerki po produkcję (linux)
Django od developerki po produkcję (linux)Marcin Grzybowski
 
PLNOG22 - Leszek Miś - Symulacje zdarzeń i anomalii sieciowych jako proaktywn...
PLNOG22 - Leszek Miś - Symulacje zdarzeń i anomalii sieciowych jako proaktywn...PLNOG22 - Leszek Miś - Symulacje zdarzeń i anomalii sieciowych jako proaktywn...
PLNOG22 - Leszek Miś - Symulacje zdarzeń i anomalii sieciowych jako proaktywn...PROIDEA
 
Exatel Security Days 2017 - Niech dane pozostaną z Tobą! Sieciowe techniki ek...
Exatel Security Days 2017 - Niech dane pozostaną z Tobą! Sieciowe techniki ek...Exatel Security Days 2017 - Niech dane pozostaną z Tobą! Sieciowe techniki ek...
Exatel Security Days 2017 - Niech dane pozostaną z Tobą! Sieciowe techniki ek...Leszek Mi?
 
Infrastruktura Hiperkonwergentna na przykładzie platformy Nutanix - Marcin Ka...
Infrastruktura Hiperkonwergentna na przykładzie platformy Nutanix - Marcin Ka...Infrastruktura Hiperkonwergentna na przykładzie platformy Nutanix - Marcin Ka...
Infrastruktura Hiperkonwergentna na przykładzie platformy Nutanix - Marcin Ka...jzielinski_pl
 

Similar to Shall we play a game? PL version (20)

NGSec 2016 - Ile warstw, tyle szans. - Leszek Miś@Defensive-Security.com
NGSec 2016 - Ile warstw, tyle szans. - Leszek Miś@Defensive-Security.comNGSec 2016 - Ile warstw, tyle szans. - Leszek Miś@Defensive-Security.com
NGSec 2016 - Ile warstw, tyle szans. - Leszek Miś@Defensive-Security.com
 
Jak zacząć, aby nie żałować - czyli 50 twarzy PHP
Jak zacząć, aby nie żałować - czyli 50 twarzy PHPJak zacząć, aby nie żałować - czyli 50 twarzy PHP
Jak zacząć, aby nie żałować - czyli 50 twarzy PHP
 
Space Wars Hack - Class #1
Space Wars Hack - Class #1Space Wars Hack - Class #1
Space Wars Hack - Class #1
 
[Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu
[Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu[Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu
[Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu
 
Devops/Sysops security
Devops/Sysops securityDevops/Sysops security
Devops/Sysops security
 
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
 
Piątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous DeliveryPiątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous Delivery
 
[Quality Meetup #9] TestOps, QAOps - czy ktoś taki istnieje? - Aleksandra Kor...
[Quality Meetup #9] TestOps, QAOps - czy ktoś taki istnieje? - Aleksandra Kor...[Quality Meetup #9] TestOps, QAOps - czy ktoś taki istnieje? - Aleksandra Kor...
[Quality Meetup #9] TestOps, QAOps - czy ktoś taki istnieje? - Aleksandra Kor...
 
Testowanie bezpieczenstwa aplikacji mobilnych
Testowanie bezpieczenstwa aplikacji mobilnychTestowanie bezpieczenstwa aplikacji mobilnych
Testowanie bezpieczenstwa aplikacji mobilnych
 
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
 
Gluster FS
Gluster FSGluster FS
Gluster FS
 
GlusterFS
GlusterFSGlusterFS
GlusterFS
 
DTrace
DTraceDTrace
DTrace
 
Info meet pomiary wydajności
Info meet pomiary wydajnościInfo meet pomiary wydajności
Info meet pomiary wydajności
 
Xdebug – debugowanie i profilowanie aplikacji PHP
Xdebug – debugowanie i profilowanie aplikacji PHPXdebug – debugowanie i profilowanie aplikacji PHP
Xdebug – debugowanie i profilowanie aplikacji PHP
 
PHP@Docker - w produkcji
PHP@Docker - w produkcjiPHP@Docker - w produkcji
PHP@Docker - w produkcji
 
Django od developerki po produkcję (linux)
Django od developerki po produkcję (linux)Django od developerki po produkcję (linux)
Django od developerki po produkcję (linux)
 
PLNOG22 - Leszek Miś - Symulacje zdarzeń i anomalii sieciowych jako proaktywn...
PLNOG22 - Leszek Miś - Symulacje zdarzeń i anomalii sieciowych jako proaktywn...PLNOG22 - Leszek Miś - Symulacje zdarzeń i anomalii sieciowych jako proaktywn...
PLNOG22 - Leszek Miś - Symulacje zdarzeń i anomalii sieciowych jako proaktywn...
 
Exatel Security Days 2017 - Niech dane pozostaną z Tobą! Sieciowe techniki ek...
Exatel Security Days 2017 - Niech dane pozostaną z Tobą! Sieciowe techniki ek...Exatel Security Days 2017 - Niech dane pozostaną z Tobą! Sieciowe techniki ek...
Exatel Security Days 2017 - Niech dane pozostaną z Tobą! Sieciowe techniki ek...
 
Infrastruktura Hiperkonwergentna na przykładzie platformy Nutanix - Marcin Ka...
Infrastruktura Hiperkonwergentna na przykładzie platformy Nutanix - Marcin Ka...Infrastruktura Hiperkonwergentna na przykładzie platformy Nutanix - Marcin Ka...
Infrastruktura Hiperkonwergentna na przykładzie platformy Nutanix - Marcin Ka...
 

More from Maciej Lasyk

Programowanie AWSa z CLI, boto, Ansiblem i libcloudem
Programowanie AWSa z CLI, boto, Ansiblem i libcloudemProgramowanie AWSa z CLI, boto, Ansiblem i libcloudem
Programowanie AWSa z CLI, boto, Ansiblem i libcloudemMaciej Lasyk
 
Co powinieneś wiedzieć na temat devops?f
Co powinieneś wiedzieć na temat devops?f Co powinieneś wiedzieć na temat devops?f
Co powinieneś wiedzieć na temat devops?f Maciej Lasyk
 
"Containers do not contain"
"Containers do not contain""Containers do not contain"
"Containers do not contain"Maciej Lasyk
 
Linux containers & Devops
Linux containers & DevopsLinux containers & Devops
Linux containers & DevopsMaciej Lasyk
 
Under the Dome (of failure driven pipeline)
Under the Dome (of failure driven pipeline)Under the Dome (of failure driven pipeline)
Under the Dome (of failure driven pipeline)Maciej Lasyk
 
Continuous Security in DevOps
Continuous Security in DevOpsContinuous Security in DevOps
Continuous Security in DevOpsMaciej Lasyk
 
About cultural change w/Devops
About cultural change w/DevopsAbout cultural change w/Devops
About cultural change w/DevopsMaciej Lasyk
 
Orchestrating docker containers at scale (#DockerKRK edition)
Orchestrating docker containers at scale (#DockerKRK edition)Orchestrating docker containers at scale (#DockerKRK edition)
Orchestrating docker containers at scale (#DockerKRK edition)Maciej Lasyk
 
Orchestrating docker containers at scale (PJUG edition)
Orchestrating docker containers at scale (PJUG edition)Orchestrating docker containers at scale (PJUG edition)
Orchestrating docker containers at scale (PJUG edition)Maciej Lasyk
 
Orchestrating Docker containers at scale
Orchestrating Docker containers at scaleOrchestrating Docker containers at scale
Orchestrating Docker containers at scaleMaciej Lasyk
 
Ghost in the shell
Ghost in the shellGhost in the shell
Ghost in the shellMaciej Lasyk
 
Scaling and securing node.js apps
Scaling and securing node.js appsScaling and securing node.js apps
Scaling and securing node.js appsMaciej Lasyk
 
High Availability (HA) Explained - second edition
High Availability (HA) Explained - second editionHigh Availability (HA) Explained - second edition
High Availability (HA) Explained - second editionMaciej Lasyk
 
Monitoring with Nagios and Ganglia
Monitoring with Nagios and GangliaMonitoring with Nagios and Ganglia
Monitoring with Nagios and GangliaMaciej Lasyk
 
Stop disabling SELinux!
Stop disabling SELinux!Stop disabling SELinux!
Stop disabling SELinux!Maciej Lasyk
 
RHEL/Fedora + Docker (and SELinux)
RHEL/Fedora + Docker (and SELinux)RHEL/Fedora + Docker (and SELinux)
RHEL/Fedora + Docker (and SELinux)Maciej Lasyk
 
High Availability (HA) Explained
High Availability (HA) ExplainedHigh Availability (HA) Explained
High Availability (HA) ExplainedMaciej Lasyk
 

More from Maciej Lasyk (20)

Docker 1.11
Docker 1.11Docker 1.11
Docker 1.11
 
Programowanie AWSa z CLI, boto, Ansiblem i libcloudem
Programowanie AWSa z CLI, boto, Ansiblem i libcloudemProgramowanie AWSa z CLI, boto, Ansiblem i libcloudem
Programowanie AWSa z CLI, boto, Ansiblem i libcloudem
 
Co powinieneś wiedzieć na temat devops?f
Co powinieneś wiedzieć na temat devops?f Co powinieneś wiedzieć na temat devops?f
Co powinieneś wiedzieć na temat devops?f
 
"Containers do not contain"
"Containers do not contain""Containers do not contain"
"Containers do not contain"
 
Git Submodules
Git SubmodulesGit Submodules
Git Submodules
 
Linux containers & Devops
Linux containers & DevopsLinux containers & Devops
Linux containers & Devops
 
Under the Dome (of failure driven pipeline)
Under the Dome (of failure driven pipeline)Under the Dome (of failure driven pipeline)
Under the Dome (of failure driven pipeline)
 
Continuous Security in DevOps
Continuous Security in DevOpsContinuous Security in DevOps
Continuous Security in DevOps
 
About cultural change w/Devops
About cultural change w/DevopsAbout cultural change w/Devops
About cultural change w/Devops
 
Orchestrating docker containers at scale (#DockerKRK edition)
Orchestrating docker containers at scale (#DockerKRK edition)Orchestrating docker containers at scale (#DockerKRK edition)
Orchestrating docker containers at scale (#DockerKRK edition)
 
Orchestrating docker containers at scale (PJUG edition)
Orchestrating docker containers at scale (PJUG edition)Orchestrating docker containers at scale (PJUG edition)
Orchestrating docker containers at scale (PJUG edition)
 
Orchestrating Docker containers at scale
Orchestrating Docker containers at scaleOrchestrating Docker containers at scale
Orchestrating Docker containers at scale
 
Ghost in the shell
Ghost in the shellGhost in the shell
Ghost in the shell
 
Scaling and securing node.js apps
Scaling and securing node.js appsScaling and securing node.js apps
Scaling and securing node.js apps
 
Node.js security
Node.js securityNode.js security
Node.js security
 
High Availability (HA) Explained - second edition
High Availability (HA) Explained - second editionHigh Availability (HA) Explained - second edition
High Availability (HA) Explained - second edition
 
Monitoring with Nagios and Ganglia
Monitoring with Nagios and GangliaMonitoring with Nagios and Ganglia
Monitoring with Nagios and Ganglia
 
Stop disabling SELinux!
Stop disabling SELinux!Stop disabling SELinux!
Stop disabling SELinux!
 
RHEL/Fedora + Docker (and SELinux)
RHEL/Fedora + Docker (and SELinux)RHEL/Fedora + Docker (and SELinux)
RHEL/Fedora + Docker (and SELinux)
 
High Availability (HA) Explained
High Availability (HA) ExplainedHigh Availability (HA) Explained
High Availability (HA) Explained
 

Shall we play a game? PL version

  • 2. Czemu rekrutacja na OWASPie? ● Ponieważ ten system to webaplikacja ● Ponieważ bazuje w 100% na FOSS (open-source) ● Ponieważ security było dla nas bardzo istotne ● Bo na OWASPie spotykają się ludzie, którzy mają wpływ na procesy rekrutacji w innych firmach (hopefully) ;)
  • 3. Rekrutacja ● Sporo agencji / serwisów świadczących usługi rekrutacyjne ● Potencjalnie ogromna ilość kandydatów ● Procesowaniem kandydatów zajmuje się cały zespół ● Rozmowy i testy pochłaniają wiele czasu
  • 4. SysAdmin / Operations ● Jest administratorem, programistą, testerem i sieciowcem ● Performance tuning również nie jest mu obcy ● Odpowiada za krytyczne (wszystkie) dane ● Potrafi przenosić UPSy ;) ● O 4 nad ranem w niedzielę rozumie kolegów z innych krajów ;) ● Wszystko to robi w kontekście wysokiego bezpieczeństwa ● Lubi grać (znacie admina, który nie gra?) ;)
  • 5. Zagrajmy więc ● Pomysł na grę? Nie Quake / Diablo / Warcraft ;) ● pythonchallenge.com, wechall.net – CTFy są świetną formą ● trueability.com – taki event dla adminów ● Może więc coś w rodzaju CTFa / challenge? ● Taki system musiałby spełniać kilka wymogów: ● Optymalizacja czasu rekrutacji ● Zminimalizować ryzyko odrzucenia dobrego kandydata ● Być na tyle ciekawy aby przyciągał (kto nie lubi mindfscków)
  • 6. Let's start the ball rolling Zgłoszenie 1 etap – proste zadanie Problem: spora liczba kandydatów (>100) Cel: odsianie ludzi z innej bajki (80% odrzuceń!) 2 etap – tel/social.eng. Cel: poznanie, manipulacja 3 etap – challenge Global Thermonuclear War ;)
  • 7. 1 etap – telnetem przez SMTP RFC-821/1869: HELO/EHLO ??.....?? GPG us ur CV using http://..../gpg.asc Sporo nieznajomości GPG :( RTFM!
  • 8. 1 etap – telnetem przez SMTP RFC-821/1869: HELO/EHLO my.hostname 1 haczyk – hostname nie serwera a klienta (90% się złapała) GPG us ur CV using http://..../gpg.asc Sporo nieznajomości GPG :( RTFM!
  • 9. 1 etap – node.js ● Początkowo serwer w C. Po 3 w nocy jednak node.js ;) ● Co jest nie tak z node.js? ● ● http://osvdb.org/ - 2 trafienia ● http://1337day.com/, http://www.exploit-db.com/ - 1 trafienie ● ● http://seclists.org/bugtraq/ - 0 trafień https://nodesecurity.io/advisories - 4 trafienia Czy to oznacza, że node.js jest “bezpieczny”?
  • 10. Node.js – model działania - Event driven - Event loop - Callbacks - SPA, async, REST, Json http://magnetik.github.io/
  • 11. Node.js - zagrożenia ............................................________ ....................................,.-'"...................``~., .............................,.-"..................................."-., .........................,/...............................................":, .....................,?......................................................, .................../...........................................................,} ................./......................................................,:`^`..} .............../...................................................,:"........./ ..............?.....__.........................................:`.........../ ............./__.(....."~-,_..............................,:`........../ .........../(_...."~,_........"~,_....................,:`........_/ ..........{.._$;_......"=,_......."-,_.......,.-~-,},.~";/....} ...........((.....*~_......."=-._......";,,./`..../"............../ ...,,,___.`~,......"~.,....................`.....}............../ ............(....`=-,,.......`........................(......;_,,-" ............/.`~,......`-...................................../ .............`~.*-,.....................................|,./.....,__ ,,_..........}.>-._...................................|..............`=~-, .....`=~-,__......`,................................. ...................`=~-,,.,............................... ................................`:,,...........................`..............__ .....................................`=-,...................,%`>--==`` ........................................_..........._,-%.......` ● Brak logów ● Brak obsługi błędów - DoS ● Brak konfiguracji – “+” czy “-”? ● Brak filtrów sprawdzających user-input ● JS: function as a variable ● Evil eval(code). Server-side XSS ● setInterval(code,2), setTimeout(code,2), str = new Function(code) ● Moduły npm – kto i jak je tworzy?
  • 13. Node.js – evil eval() W ten oto sposób rozszerzyliśmy funkcjonalność o http://node.js/myurl
  • 14. Node.js - npm https://blog.nodejitsu.com/npm-innovation-through-modularity Przyrost ilości modułów npm Porównanie ilości modułów/day Node.js i innych technologii
  • 15. Node.js – jak żyć? ● Używajmy frameworków: https://npmjs.org/ - uważnie ● Moduły npm nie są validowane! Sprawdzajmy je: ● Uważajmy na zależności między modułami ● Własna obsługa logów i błędów – takie “must have” ● Skoro to jest serwer to potrzeba nam rozwiązań sec-server-side: https://nodesecurity.io ● Monitoring – twórzmy aplikacje myśląc o tym jak je monitorować ● Control-groups – ustalmy limity zasobów! (o tym zaraz...) ● SELinux sandbox (o tym zaraz)
  • 16. Node.js – SELinux sandbox ● Ustawiamy aplikacji 'home_dir' i 'tmp_dir' ● Aplikacja może domyślnie r/w z std(in|out) + defined FDs ● Domyślnie – brak dostępu do sieci ● Brak dostępu do nie swoich procesów / plików ● Sandboxa możemy spiąć z cgroupsami :) ● Pomocne: semodule -DB (no dontaudit) ● grep XXX /var/log/audit/audit.log | audit2allow -M node.sandbox ● semodule -i node.sandbox.pp
  • 18. Node.js – jak żyć #2 ● Freeze node.js version per project? ● Czytamy: ● https://media.blackhat.com/bh-us-11/Sullivan/BH_US_11_Sullivan_Server_Side_WP.pdf ● http://lab.cs.ttu.ee/dl91 ● https://github.com/toolness/security-adventure ● Pseudo–konfiguracja – ustalajmy limity w kodzie (np. POST size) ● try...catch ftw ● use strict; - pomaga nawet w sprawie evala (częściowo) ● Bunyan / dtrace: https://npmjs.org/package/bunyan ● A node.js OS? No i instalujmy node.js z paczek (fpm choćby)
  • 19. Etap 2 – social engineering ● Celem tego etapu jest weryfikacja i poznanie kandydata ● Christopher Hadnagy – SE framework (2k10): ● http://www.social-engineer.org/framework/Social_Engineering_Framework ● Każdy może się podać za rekrutera i zadzwonić do kandydata ● Budowanie profilu/znajomości na Linkedinie jest bardzo proste ● Zaufanie (lingo, znajomość tematu / środowiska: research) ● Administrator jest osobą ze sporą wiedzą – jest dobrym celem ● Wystarczy tylko zdobyć zaufanie i obniżyć poziom ostrożności
  • 20. Etap 3 - wirtualizacja ● Co nam potrzeba? ● Nadzór nad procesem bootowania ● Możliwość wpięcia się w konsolę ● Sterowanie zasobami ● Redundantny storage ● Tryb rescue dla obrazu VM ● Security by default > AWS > KVM/libvirt > XEN/libvirt > LXC
  • 21. Etap 3 - wirtualizacja boot konsola resources mgmt. redundant storage rescue VM security
  • 22. Etap 3 - wirtualizacja VS Wydajność XEN/HVM czy KVM?
  • 23. Etap 3 - wirtualizacja VS Wydajność XEN/HVM czy KVM? Z XEN/HVM mieliśmy problemy wydajnościowe – spore. Tutaj wygrywa czerwony kapelusz i jego PV (jednak z pomocą cgroups – KVM przy sporym obciążeniu zachowuje się niestabilnie)
  • 24. Etap 3 – bezpieczeństwo sieci https://en.wikipedia.org DMZ (Demilitarized Zone) – wydzielona część sieci zawierająca usługi, które są wystawione bezpośrednio na świat i są też najbardziej zagrożone atakami. Podział logiczny (VLANy) lub fizyczny
  • 25. Etap 3 – bezpieczeństwo sieci https://en.wikipedia.org DMZ (Demilitarized Zone) – wydzielona część sieci zawierająca usługi, które są wystawione bezpośrednio na świat i są też najbardziej zagrożone atakami. Podział logiczny (VLANy) lub fizyczny
  • 26. Etap 3 – bezpieczeństwo sieci ● Wydzielony DMZ (VLAN?) dla hosta ● Brak routingu / komunikacji tej DMZ z resztą ● Tanie rozwiązania? ● OpenWRT / DDWRT way || Pure Linux server ● 802.1Q – VLANy
  • 27. Etap 3 – bezpieczeństwo sieci ● Izolacja sieci na hoście KVM: ● Host/network bridge: switch warstwy 2 ● netfilter / nwfilter (IBM) ● domyślnie nie mamy izolacji pakietów dla VM w bridge'u – ebtables null, no filtering ● ebtables – filtrowanie warstwy 2 – w ten sposób załatwiamy izolację ● Albo virsh nwfilter-list ● allow-arp,dhcp,dhcp-server,clean-traffic, noarp-ip-spoofing, no-arp-mac-spoofing, noarp-spoofing, no-ip-multicast, no-ip-spoofing, no-mac-broadcast, no-mac-spoofing, noother-l2-traffic ● L2 filtering? /proc/sys/net/bridge https://www.redhat.com/archives/libvir-list/2010-June/msg00762.html http://pic.dhe.ibm.com/infocenter/lnxinfo/v3r0m0/topic/liaat/liaatsecurity_pdf.pdf
  • 28. Etap 3 – proces bootowania, VNC ● Dostęp do procesu bootowania – VNC ● Bezpieczeństwo VNC? SSL? Komplikacje.. ● A gdyby tak VNC over SSH tunnel? ● Jest szyfrowanie ● Żadnej zabawy z certami ● Każdy z nas to już robił...
  • 29. Etap 3 – restricted shells ● Tunel SSH wymaga konta SSH (thank You Captain Obvious!) ● A za pomocą konta shellowego można sporo nabroić... ● Ograniczmy więc możliwe akcje użytkownika – restricted shells Restricted shells wg. Google ;) =>
  • 30. Etap 3 – restricted shells ● Restricted shells są groźne – trzeba rozumieć jak działają! ● W sprzyjających warunkach można uciec z rshella: https://en.wikipedia.org/wiki/Rbash
  • 31. Etap 3 – restricted shells ● Rbash: ● Jest w CentOSie / RHEL jako legit ;) ● Zabrania trawersować katalogi ● Zabrania używac bezpośrednich ścieżek do plików / katalogów (takich z '/') ● Zabrania ustawiać PATH czy inną zmienną powłoki ● Zabrania przekierowywać output komend ● PATH=$HOME/bin – i niech tam będzie prawie pusto! https://en.wikipedia.org/wiki/Rbas h
  • 32. Etap 3 – SSH tunnel / VNC ● We must go deeper! VM host VM-Proxy rshell / ibsh rshell / rbash Kandydat VNC server screen / ssh tunnel
  • 33. Etap 3 – restricted shells ● Inne shelle: ● rssh – zezwala na wykonywanie scp, sftp, rsync itd ● sudosh - http://sourceforge.net/projects/sudosh ● ● Pozwala określać jakie operacja są dozwolone dla usera ● ● Pozwala zapisywać całą sesję użytkownika i ją odtwarzać Trochę outdated – lepiej sudosh3 Ibsh (small, fast, secure): http://sourceforge.net/projects/ibsh/
  • 34. Etap 3 – control groups ● zarządzanie zasobami w prosty sposób (ulimits, nice, limits.conf) ● Potraficie przypisać 50 IOPS dla dowolnego procesu? ● A może limit 100Kbp/s dla wybranego usera? ● Problemy z memory–leakami w Javie?
  • 35. Etap 3 – control groups https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/ch01.html ● ● ● Debian & RHEL friendly Można uruchamiać aplikacje w kontekście cgroupy Można żyjący proces przypisać do konkretnej cgroupy
  • 36. Etap 3 – webaplikacja ● OpenStack? Trochę komplikacji. “Out of the box” tylko w internetach widzieli. A zrób to wydajnie i bezpiecznie w kilka godzin ;)
  • 37. Etap 3 – webaplikacja Commodore OS ???
  • 38. Etap 3 – webaplikacja Commodore OS Vision FTW!
  • 39. Etap 3 – webaplikacja ● Apache + mod_security ● mod_security + OWASP rules ● PHP & Python :) ● Prostota! ● Sterowanie VM za pomocą screena i prostego pseudo – demona: ● ● while(1) do: zarządzaj_VMkami(); I to po prostu działa!
  • 40. Etap 3 – nagrywanie sesji SSH ● Nagrywanie każdej sesji (tak, również screen) ● Nagrywanie real-time (a nie flush co jakiś czas) ● sudosh3 (fork sudosh) – powłoka pośrednicząca ● auditd – niskopoziomowe narzędzie logujące wybrane syscalle ● Asciinema (ascii.io, Marcin Kulik) – super, ale nie jako “audit” ● Ttyrec – outdated: http://0xcc.net/ttyrec/index.html.en ● Ssh logging patch - outdated: http://www.kdvelectronics.eu/ssh-logging/ssh-logging.html
  • 41. Etap 3 – bezpieczeństwo danych ● Gdyby tak stracić choć jedną VMkę... brr. ● Ocena ryzyka – co nam wystarcza? ● RAID1 / Mirror – “zazwyczaj” w skali kwartału wystarcza ● Backupy – przydatne ;) RAID / replikacja to nie backup... ● GlusterFS / DRBD – jeśli tylko mamy na to zasoby to polecam :) KVM active host KVM passive host LVM LVM replikacja Gluster brick Gluster brick