SlideShare uma empresa Scribd logo
1 de 103
Baixar para ler offline
Dev Ops:
the next generation
Warning!
meme and star trek heavy
Who is this TREKKIE
Barney Hanlon
Technical Team Leader for Inviqa
@shrikeh
We’re hiring!
Dev ops
The story so far
(Yes I know that’s Star Wars)
Sysadmins

Developers

DevOps
“Get the code on the server”
FTP

CVS

Subversion

Git
What about all this
OTHER stuff?
•

Setting up Virtual hosts

•

User management

•

SSH access

•

File permissions

•

Log rotation

•

Firewall rules

•

Staging servers

•

Patching

•

Build pipelines

•

Concurrency

•

SSL certificates

•

Failover

•

Minification

•

Alerting
Developers need to know
more than how to push to
Github.
FIVE STAR DevOps
The Five Stars of DevOps
The Five Stars of DevOps
•

Monitoring
The Five Stars of DevOps
•

Monitoring

•

Security
The Five Stars of DevOps
•

Monitoring

•

Security

•

Performance
The Five Stars of DevOps
•

Monitoring

•

Security

•

Performance

•

Automation
The Five Stars of DevOps
•

Monitoring

•

Security

•

Performance

•

Automation

•

Scaleability
Am I doing something in my
application that is done better by
the infrastructure or an external
service?
Probably.
Got root?
Common reasons to 

“just log onto the server quickly”
•

server logs in /var/log require privileges to
tail

•

setting permissions on directories

•

Processes require restarting
Monitoring
Monitoring
•

Log EVERYTHING

•

Drupal default visitor logging is heavy

•

Should you be writing to the database to
log visits?
NO.
Monitoring
•

Logging is only one part of monitoring

•

Send your Web logs to a remote service

•

Set error_log to syslog in php.ini
Logging Services
•

SplunkStorm

•

Loggly

•

Logentries

•

Papertrailapp
HOSTING YOUR OWN LOGGING
•

Splunk

•

GrayLog2

•

Sensu

•

Munin

•

Raven
Other monitoring
•

Nagios

•

Pingdom

•

New Relic

•

Piwik/Google Analytics
Profiling
•

Don’t be afraid to turn XHProf on in live
occasionally

•

Regularly check your browser HAR

•

Check APC and other caches for smells
Security
Where is the risk?
•

Application security

•

Infrastructure security

•

End user security
Repelling Unwelcome Guests
Tools to help
•

JumpCloud

•

DuoSecurity

•

Ubuntu ACL
Capturing Morpheus…

Not so bad.
Hardening SSL
Don’t bother
hardening SSL
SSL is Dead, Long Live TLS
•

No one should be using SSL any more.

•

Transport Layer Security (TLS)

•

Latest version 1.2
Vulnerabilities
•

BEAST Attack

•

CRIME Attack

•

Lucky Thirteen
HTTPS without proper ciphers gives
the illusion of security while
providing none
Default SSL implementations
Nginx
ssl_protocols SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;

Open to Lucky Thirteen attack
Supporting SSLv3 is only required for IE6

Apache 2
SSLProtocol all
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
“Today, only TLS 1.2 with GCM suites offer fully
robust security. All other suites suffer from one
problem or another (e.g, RC4, Lucky 13, BEAST),
but most are difficult to exploit in practice…”

–Ivan Ristic, Qualys
“…Because GCM suites are not yet widely
supported, most communication today is carried
out using one of the slightly flawed cipher
suites. It is not possible to do better if you're
running a public web site.”

–Ivan Ristic, Qualys
Diffie-Hellman Key
Exchange
•

Diffie-Hellman (DH) and Elliptic Curve
Diffie-Hellman (ECDH)

•

Allows Perfect Forward Secrecy

•

Slow :(
server {
…

!

add_header Strict-Transport-Security “max-age=31536000; includeSubDomains";
ssl_session_cache shared:SSL:10m;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH
+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
ssl_ecdh_curve secp521r1;
}

https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
Test your strength!

https://www.ssllabs.com/ssltest/
“I don’t mind that the site is
slow, at least my data is safe.”
–No user ever
Performance
SPDY
SPDY
•

Draft HTTP 2.0

•

Allows multiplexing a single connection

•

Requires HTTPS

•

Do you need HTTP at all?
PageSpeed
•

Library for Apache and Nginx

•

Automatic minification of JavaScript, CSS
and HTML

•

On-the-fly optimisations based on chosen
filters
The “SPDY Sandwich”

Nginx

Varnish

Nginx

PHP-FPM
The “SPDY Sandwich”

Nginx

Varnish

Responsible for:
• SPDY / SSL Termination
• Serving static assets
• Gzipping
• Pagespeed is user agent-aware

Nginx

PHP-FPM
The “SPDY Sandwich”
Responsible for:
• Caching dynamic pages
• Cookie normalisation
Nginx

Varnish

Nginx

PHP-FPM
The “SPDY Sandwich”

Nginx

Varnish

Nginx

PHP-FPM

Responsible for:
• Serving dynamic pages
• Generic Pagespeed optimisations
The “SPDY Sandwich”
Responsible for:
• PHP interpreter
Nginx

Varnish

Nginx

PHP-FPM
Cookies
Cross Site Request Forgery
(CSRF)
•

OWASP recommendation

•

Requires a token in the form and a session
token

•

Breaks most reverse proxies without
configuration
Am I doing something in my
application that is done better by
the infrastructure or an external
service?
OpenResty
•

Nginx bundle

•

Has modules for connecting to Redis,
Drizzle, memcached and many more

•

Has Lua to allow pre and post processing
on requests and responses
Time for a
Simplified Example
<?php
!

namespace InviqaDrupalCampAccess;
!

class OpenRestyTokenGenerator implements
CsrfTokenGeneratorInterface
{
private $token;
!

public function __construct($csrfToken)
{
$this->token = $csrfToken;
}
!

public function get($value = '') {
return $this->token;
}
}
<?php
namespace InviqaDrupalCampForm;
!

use DrupalCoreFormFormBuilder as CoreFormBuilder;
!

class FormBuilder extends CoreFormBuilder
{
public function __construct(
ModuleHandlerInterface $module_handler,
KeyValueExpirableFactoryInterface
$key_value_expirable_factory,
EventDispatcherInterface $event_dispatcher,
UrlGeneratorInterface $url_generator,
TranslationInterface $translation_manager,
CsrfTokenGeneratorInterface $csrf_token = NULL,
HttpKernel $http_kernel = NULL
) {
…
FIXING CSRF WITH LUA
X-CSRF-Tokenize: “[[CSRF Here]]”

OpenResty

Redis

Varnish

Nginx

PHP-FPM
FIXING CSRF WITH LUA
Header cached in Varnish

OpenResty

Redis

Varnish

Nginx

PHP-FPM
FIXING CSRF WITH LUA
•
•
•

OpenResty

Redis

Parses response (regex)!
Finds token placeholder!
Replaces with real token

Varnish

Nginx

PHP-FPM
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

!
!
!
!
!
!
!
!
!

header_filter_by_lua!
'!
if ngx.var.upstream_http_x_csrf_tokenize then!
! -- the backend requested a CSRF token be set!
! local csrf_cookie_token = nil!
! if ngx.var.cookie_csrf then!
! ! -- they have a cookie, just re-use it!
! ! local csrf_cookie_token = ngx.var.cookie_csrf!
! end!

! ! local resty_random = require "resty.random"!
! ! local str = require "resty.string"!
!
!
!
!

!
!
!
!

if not csrf_cookie_token then!
! -- no valid csrf cookie found, let us make one!
! !
! local cookie_random = resty_random.bytes(16,true)!

! ! !
! ! !
!
!
!
!
! ! !

while cookie_random == nil do!
! -- attempt to generate 16 bytes of!
! -- cryptographically strong (enough) random data!
! cookie_random = resty_random.bytes(16,true)!
end!
FIXING CSRF WITH LUA

OpenResty

Varnish

•
Redis

•

Nginx

PHP-FPM

Stores HMAC as value in Redis with

random key “csrf_”
Generates cookie with Redis key as

value
!
! ! -- we are about to mess around with the content of the page!
! ! -- so we need to clear this as it will be wrong!
! ! ngx.header.Content_Length = ""! ! ! !
! ! -- set the Cookie for the CSRF token!
! ! ngx.header.Set_Cookie = "csrf=" .. ngx.var.csrf_cookie_token!
! ! ngx.header.tokenize = ngx.var.upstream_http_x_csrf_tokenize!
!
! ! -- now generate one for the form token!
! ! while form_random == nil do!
!
! form_random = resty_random.bytes(16,true)!
!
! ! end!
!
! ! ngx.var.csrf_form_token = str.to_hex(form_random)!
!
! ! local redis = require "redis"!
! ! local client = redis.connect("127.0.0.1", 6379)! !
! ! client:set("csrf_" .. ngx.var.csrf_cookie_token,
ngx.var.csrf_form_token)!
! ! end!
FIXING CSRF WITH LUA
Check token on way back in

OpenResty

Redis

Varnish

Nginx

PHP-FPM
location @backend {!
! ! # You can't set variables in nginx dynamically, !
# so set this up as empty first!
! ! set $csrf_validate "";!
! ! access_by_lua !
! ! '!
if ngx.req.get_method() == "POST" then!
! -- set up forbidden as default!
! ngx.var.csrf_validate = ngx.HTTP_FORBIDDEN!
! if ngx.var.cookie_csrf then!
! ! ! ! local res = ngx.location.capture("/validate-csrf")!
! ! ! ! if ngx.HTTP_OK == res.status then!
!
! ! ! ngx.req.read_body()!
!
! ! local args = ngx.req.get_post_args()!
!
!
! ! local posted_token = tostring(args["csrf"])!
!
!
! ! if posted_token == res.body then!
!
!
! ! ! ngx.var.csrf_validate = ngx.HTTP_OK!
!
!
! ! end!
!
!
! end!
!
!
!
end!
!
end!
!
';
Full gist:
https://gist.github.com/shrikeh/4722427
Automation
Tooling
•

Bash scripts (!)

•

Chef/Puppet (retro)

•

Ansible!
Ansible
•

Requires no agent!

•

Pure SSH

•

Modules

•

YAML-based configuration

•

Playbooks (and playbooks of playbooks)
Ansible PLAYBOOK
!
- name: ensure SSH key exists
digital_ocean: >
state=present
command=ssh
name=case
- name: ensure droplet exists
digital_ocean: >
state=present
ssh_key_ids=57705
name={{ inventory_hostname }}
size_id=66
region_id=4
image_id=1505699
wait_timeout=500
private_networking=yes
virtio=yes
wait=yes
unique_name=yes
wait_timeout=500
register: launched
- debug: msg="IP is {{ launched.droplet.id }}"
- debug: msg="IP is {{ launched.droplet.ip_address }}"
Ansible

ansible-playbook base.yml -vvv -i "hosts/production"
Configuring Your Application
<?php
# /sites/default/settings.php
...
$databases['default']['default'] = array(
'driver'
=> 'mysql',
'database' => 'drupal',
'username' => 'testuser',
'password' => '123secure',
'host'
=> 'localhost',
'prefix'
=> '',
);
“A litmus test for whether an app has all
config correctly factored out of the code is
whether the codebase could be made open
source at any moment, without
compromising any credentials”
–The Twelve Factor App
“The twelve-factor app stores config in
environment variables (often shortened to
env vars or env). Env vars are easy to
change between deploys without changing
any code”
–The Twelve Factor App
Put your variables in PHP-FPM
/etc/php/fpm/pools/live.conf

env[db_name]
env[db_host]
env[db_user]
env[db_pass]
env[db_prefix]

=
=
=
=
=

drupal_live
192.168.0.2
liveuser
verysecurepass
drupalcamp_
<?php
# /sites/default/settings.php
...
$databases['default']['default'] = array(
'driver'
=> 'mysql',
'database' => getenv('db_name'),
'username' => getenv('db_user'),
'password' => getenv('db_pass'),
'host'
=> getenv('db_host'),
'prefix'
=> getenv('db_prefix'),
);
Provisioning
•

Idempotent deployments

•

Provision every environment the same way

•

Resist the urge to do something manually

•

Get into a workflow of automation
Docker
Docker - AN OVERVIEW
•

Lightweight Linux
Container

•

Portable environment

•

Install all your PECL
dependencies into a
container

•

Ship it
Problems
Problems
!

•

Still heavily in development, no “right way”
yet

•

Hard to set up syslog inside a container

•

Runs as root on the box
That’s being fixed though
We’re Done!
With thanks to
Paramount Pictures
and
startrek.wikia.com
for not suing me
Questions
Thank You!
My first official talk!
•

Special thanks to Lorna Mitchell, Ian
Barber and Rowan Merewood for all the
coaching

•

All feedback welcome!

Mais conteúdo relacionado

Mais procurados

Redis : Database, cache, pub/sub and more at Jelly button games
Redis : Database, cache, pub/sub and more at Jelly button gamesRedis : Database, cache, pub/sub and more at Jelly button games
Redis : Database, cache, pub/sub and more at Jelly button gamesRedis Labs
 
ASP.NET Scalability - DDD7
ASP.NET Scalability - DDD7ASP.NET Scalability - DDD7
ASP.NET Scalability - DDD7Phil Pursglove
 
Php & web server performace
Php & web server performacePhp & web server performace
Php & web server performaceTuyển Đoàn
 
OpenCms Days 2014 - OpenCms cloud setup with the FI-TS
OpenCms Days 2014 - OpenCms cloud setup with the FI-TSOpenCms Days 2014 - OpenCms cloud setup with the FI-TS
OpenCms Days 2014 - OpenCms cloud setup with the FI-TSAlkacon Software GmbH & Co. KG
 
Drupal High Availability High Performance 2012
Drupal High Availability High Performance 2012Drupal High Availability High Performance 2012
Drupal High Availability High Performance 2012Amazee Labs
 
kranonit S06E01 Игорь Цинько: High load
kranonit S06E01 Игорь Цинько: High loadkranonit S06E01 Игорь Цинько: High load
kranonit S06E01 Игорь Цинько: High loadKrivoy Rog IT Community
 
Roshan Bhattarai: Scaling WordPress for high traffic sites
Roshan Bhattarai: Scaling WordPress for high traffic sitesRoshan Bhattarai: Scaling WordPress for high traffic sites
Roshan Bhattarai: Scaling WordPress for high traffic siteswpnepal
 
Scaling wordpress for high traffic
Scaling wordpress for high trafficScaling wordpress for high traffic
Scaling wordpress for high trafficRoshan Bhattarai
 
NGINX for Application Delivery & Acceleration
NGINX for Application Delivery & AccelerationNGINX for Application Delivery & Acceleration
NGINX for Application Delivery & AccelerationNGINX, Inc.
 
MySQL topology healing at OLA.
MySQL topology healing at OLA.MySQL topology healing at OLA.
MySQL topology healing at OLA.Mydbops
 
ASP.NET Scalability - NxtGen Oxford
ASP.NET Scalability - NxtGen OxfordASP.NET Scalability - NxtGen Oxford
ASP.NET Scalability - NxtGen OxfordPhil Pursglove
 
Evolution of DBA in the Cloud Era
 Evolution of DBA in the Cloud Era Evolution of DBA in the Cloud Era
Evolution of DBA in the Cloud EraMydbops
 
Concurrency Control in MongoDB 3.0
Concurrency Control in MongoDB 3.0Concurrency Control in MongoDB 3.0
Concurrency Control in MongoDB 3.0MongoDB
 
Linux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performanceLinux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performancePostgreSQL-Consulting
 
From One to a Cluster
From One to a ClusterFrom One to a Cluster
From One to a Clusterguestd34230
 

Mais procurados (17)

Redis : Database, cache, pub/sub and more at Jelly button games
Redis : Database, cache, pub/sub and more at Jelly button gamesRedis : Database, cache, pub/sub and more at Jelly button games
Redis : Database, cache, pub/sub and more at Jelly button games
 
WordCamp RVA
WordCamp RVAWordCamp RVA
WordCamp RVA
 
Memcache d
Memcache dMemcache d
Memcache d
 
ASP.NET Scalability - DDD7
ASP.NET Scalability - DDD7ASP.NET Scalability - DDD7
ASP.NET Scalability - DDD7
 
Php & web server performace
Php & web server performacePhp & web server performace
Php & web server performace
 
OpenCms Days 2014 - OpenCms cloud setup with the FI-TS
OpenCms Days 2014 - OpenCms cloud setup with the FI-TSOpenCms Days 2014 - OpenCms cloud setup with the FI-TS
OpenCms Days 2014 - OpenCms cloud setup with the FI-TS
 
Drupal High Availability High Performance 2012
Drupal High Availability High Performance 2012Drupal High Availability High Performance 2012
Drupal High Availability High Performance 2012
 
kranonit S06E01 Игорь Цинько: High load
kranonit S06E01 Игорь Цинько: High loadkranonit S06E01 Игорь Цинько: High load
kranonit S06E01 Игорь Цинько: High load
 
Roshan Bhattarai: Scaling WordPress for high traffic sites
Roshan Bhattarai: Scaling WordPress for high traffic sitesRoshan Bhattarai: Scaling WordPress for high traffic sites
Roshan Bhattarai: Scaling WordPress for high traffic sites
 
Scaling wordpress for high traffic
Scaling wordpress for high trafficScaling wordpress for high traffic
Scaling wordpress for high traffic
 
NGINX for Application Delivery & Acceleration
NGINX for Application Delivery & AccelerationNGINX for Application Delivery & Acceleration
NGINX for Application Delivery & Acceleration
 
MySQL topology healing at OLA.
MySQL topology healing at OLA.MySQL topology healing at OLA.
MySQL topology healing at OLA.
 
ASP.NET Scalability - NxtGen Oxford
ASP.NET Scalability - NxtGen OxfordASP.NET Scalability - NxtGen Oxford
ASP.NET Scalability - NxtGen Oxford
 
Evolution of DBA in the Cloud Era
 Evolution of DBA in the Cloud Era Evolution of DBA in the Cloud Era
Evolution of DBA in the Cloud Era
 
Concurrency Control in MongoDB 3.0
Concurrency Control in MongoDB 3.0Concurrency Control in MongoDB 3.0
Concurrency Control in MongoDB 3.0
 
Linux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performanceLinux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performance
 
From One to a Cluster
From One to a ClusterFrom One to a Cluster
From One to a Cluster
 

Semelhante a DevOps: The Next Generation - The Five Stars of DevOps

introduction to node.js
introduction to node.jsintroduction to node.js
introduction to node.jsorkaplan
 
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto Docker, Inc.
 
Real World Lessons on the Pain Points of Node.js Applications
Real World Lessons on the Pain Points of Node.js ApplicationsReal World Lessons on the Pain Points of Node.js Applications
Real World Lessons on the Pain Points of Node.js ApplicationsBen Hall
 
DevOps in PHP environment
DevOps in PHP environment DevOps in PHP environment
DevOps in PHP environment Evaldo Felipe
 
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...Hackito Ergo Sum
 
Ansible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less CoffeeAnsible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less CoffeeSarah Z
 
Lateral Movement: How attackers quietly traverse your Network
Lateral Movement: How attackers quietly traverse your NetworkLateral Movement: How attackers quietly traverse your Network
Lateral Movement: How attackers quietly traverse your NetworkEC-Council
 
Lateral Movement - Hacker Halted 2016
Lateral Movement - Hacker Halted 2016Lateral Movement - Hacker Halted 2016
Lateral Movement - Hacker Halted 2016Xavier Ashe
 
Ingesting hdfs intosolrusingsparktrimmed
Ingesting hdfs intosolrusingsparktrimmedIngesting hdfs intosolrusingsparktrimmed
Ingesting hdfs intosolrusingsparktrimmedwhoschek
 
Chickens & Eggs: Managing secrets in AWS with Hashicorp Vault
Chickens & Eggs: Managing secrets in AWS with Hashicorp VaultChickens & Eggs: Managing secrets in AWS with Hashicorp Vault
Chickens & Eggs: Managing secrets in AWS with Hashicorp VaultJeff Horwitz
 
DEF CON 27 - ORANGE TSAI and MEH CHANG - infiltrating corporate intranet like...
DEF CON 27 - ORANGE TSAI and MEH CHANG - infiltrating corporate intranet like...DEF CON 27 - ORANGE TSAI and MEH CHANG - infiltrating corporate intranet like...
DEF CON 27 - ORANGE TSAI and MEH CHANG - infiltrating corporate intranet like...Felipe Prado
 
PHP from soup to nuts Course Deck
PHP from soup to nuts Course DeckPHP from soup to nuts Course Deck
PHP from soup to nuts Course DeckrICh morrow
 
Orange@php conf
Orange@php confOrange@php conf
Orange@php confHash Lin
 
Security in PHP - 那些在滲透測試的小技巧
Security in PHP - 那些在滲透測試的小技巧Security in PHP - 那些在滲透測試的小技巧
Security in PHP - 那些在滲透測試的小技巧Orange Tsai
 
Nginx - The webserver you might actually like
Nginx - The webserver you might actually likeNginx - The webserver you might actually like
Nginx - The webserver you might actually likeEdorian
 
AstriCon 2017 - Docker Swarm & Asterisk
AstriCon 2017  - Docker Swarm & AsteriskAstriCon 2017  - Docker Swarm & Asterisk
AstriCon 2017 - Docker Swarm & AsteriskEvan McGee
 
FITC - Node.js 101
FITC - Node.js 101FITC - Node.js 101
FITC - Node.js 101Rami Sayar
 
RedisConf17 - Operationalizing Redis at Scale
RedisConf17 - Operationalizing Redis at ScaleRedisConf17 - Operationalizing Redis at Scale
RedisConf17 - Operationalizing Redis at ScaleRedis Labs
 

Semelhante a DevOps: The Next Generation - The Five Stars of DevOps (20)

introduction to node.js
introduction to node.jsintroduction to node.js
introduction to node.js
 
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
 
Real World Lessons on the Pain Points of Node.js Applications
Real World Lessons on the Pain Points of Node.js ApplicationsReal World Lessons on the Pain Points of Node.js Applications
Real World Lessons on the Pain Points of Node.js Applications
 
DevOps in PHP environment
DevOps in PHP environment DevOps in PHP environment
DevOps in PHP environment
 
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
 
Ansible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less CoffeeAnsible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less Coffee
 
Lateral Movement: How attackers quietly traverse your Network
Lateral Movement: How attackers quietly traverse your NetworkLateral Movement: How attackers quietly traverse your Network
Lateral Movement: How attackers quietly traverse your Network
 
Lateral Movement - Hacker Halted 2016
Lateral Movement - Hacker Halted 2016Lateral Movement - Hacker Halted 2016
Lateral Movement - Hacker Halted 2016
 
Ingesting hdfs intosolrusingsparktrimmed
Ingesting hdfs intosolrusingsparktrimmedIngesting hdfs intosolrusingsparktrimmed
Ingesting hdfs intosolrusingsparktrimmed
 
Chickens & Eggs: Managing secrets in AWS with Hashicorp Vault
Chickens & Eggs: Managing secrets in AWS with Hashicorp VaultChickens & Eggs: Managing secrets in AWS with Hashicorp Vault
Chickens & Eggs: Managing secrets in AWS with Hashicorp Vault
 
DEF CON 27 - ORANGE TSAI and MEH CHANG - infiltrating corporate intranet like...
DEF CON 27 - ORANGE TSAI and MEH CHANG - infiltrating corporate intranet like...DEF CON 27 - ORANGE TSAI and MEH CHANG - infiltrating corporate intranet like...
DEF CON 27 - ORANGE TSAI and MEH CHANG - infiltrating corporate intranet like...
 
PHP from soup to nuts Course Deck
PHP from soup to nuts Course DeckPHP from soup to nuts Course Deck
PHP from soup to nuts Course Deck
 
JavaScript Event Loop
JavaScript Event LoopJavaScript Event Loop
JavaScript Event Loop
 
Orange@php conf
Orange@php confOrange@php conf
Orange@php conf
 
Security in PHP - 那些在滲透測試的小技巧
Security in PHP - 那些在滲透測試的小技巧Security in PHP - 那些在滲透測試的小技巧
Security in PHP - 那些在滲透測試的小技巧
 
About Clack
About ClackAbout Clack
About Clack
 
Nginx - The webserver you might actually like
Nginx - The webserver you might actually likeNginx - The webserver you might actually like
Nginx - The webserver you might actually like
 
AstriCon 2017 - Docker Swarm & Asterisk
AstriCon 2017  - Docker Swarm & AsteriskAstriCon 2017  - Docker Swarm & Asterisk
AstriCon 2017 - Docker Swarm & Asterisk
 
FITC - Node.js 101
FITC - Node.js 101FITC - Node.js 101
FITC - Node.js 101
 
RedisConf17 - Operationalizing Redis at Scale
RedisConf17 - Operationalizing Redis at ScaleRedisConf17 - Operationalizing Redis at Scale
RedisConf17 - Operationalizing Redis at Scale
 

Último

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 

Último (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 

DevOps: The Next Generation - The Five Stars of DevOps