SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
Firewalling dynamic
infrastructures (the cloud) with
        Chef and Netfilter


           Julien Vehent
       Aweber Communications
          BsidesDE 2012
Firewalling dynamic infrastructures
AFW    (the cloud) with Chef and Netfilter

      Julien Vehent - @jvehent
●   Systems & Security
    Engineer at
●   I built and secure web
    infrastructures on Linux
●   http://www.github.com/jvehent/
●   http://jve.linuxwall.info
Firewalling dynamic infrastructures
AFW   (the cloud) with Chef and Netfilter



                 Problem
 Monolithic firewalls will either fail under
load, or contain too many rules to secure
                 anything.

                 Solution
            Host-based firewalls
         and dynamic configuration.
Firewalling dynamic infrastructures
AFW   (the cloud) with Chef and Netfilter

The 70's Firewall design
Firewalling dynamic infrastructures
AFW   (the cloud) with Chef and Netfilter

The 90's Firewall design
                              ●   Few powerful &
                                  expensive firewalls
                                  filter the entire traffic
                              ●   DMZ design: works
                                  with small DMZs
                              ●   Rules maintained
                                  manually: need a
                                  route opening
                                  workflow
Firewalling dynamic infrastructures
AFW   (the cloud) with Chef and Netfilter

2000 Firewall design failure
                              ●   “Let's keep pilling stuff in
                                  the DMZ, it needs to be
                                  accessed from the Internet
                                  anyway.”
                              ●   Really complex rule
                                  opening workflow
                              ●   No rule deletion workflow
Firewalling dynamic infrastructures
AFW   (the cloud) with Chef and Netfilter

2005: We Need More !
                               ●   Bigger firewalls
                               ●   NIDS, NIPS, HIDS
                               ●   Web App Firewall,
                                   Database firewalls
                               ●   Logs centralizers, Logs
                                   analyzers, Logs readers
                               ●   Developers stopped
                                   trying to connect
                                   application A to server B
                                   somewhere around 2008
Firewalling dynamic infrastructures
AFW   (the cloud) with Chef and Netfilter

2010: Congratulations !


                            You are now routing your
                            entire datacenter traffic
                            through a handful of
                            appliances from very happy
                            vendors.

                           Their shareholders thank you.

                           Your CFO ? Not so much...
Firewalling dynamic infrastructures
AFW        (the cloud) with Chef and Netfilter

Service Oriented Architecture
●    Services are autonomous

●    Services call each other
     using a standard protocol
     (REST: JSON over HTTP)

●    The architecture is
     described by a list of
     dependencies between
     services
    “Cloud” type requirements:
    • No single point of failure

    • Optimize resources utilization

    • Augment & reduce capacity rapidly
Firewalling dynamic infrastructures
AFW      (the cloud) with Chef and Netfilter

Service Oriented Security
AWS security groups (SG)

•   Create SG-X for service X

•   Create SG-Y for service Y

•   Allow SG-X to connect to SG-Y

•   All instances (servers) in SG-X
    will be allowed to connect to
    SG-Y

=> Dynamic security: No need to
update the firewall for each new
server
Firewalling dynamic infrastructures
AFW      (the cloud) with Chef and Netfilter

Service Oriented Security
Inter-services policy

ACCEPT 0.0.0.0/0 to CACHING on TCP/80

ACCEPT CACHING to FRONTEND on TCP/80

ACCEPT FRONTEND to ServiceX on TCP/80

ACCEPT FRONTEND to ServiceZ on TCP/80

ACCEPT ServiceX to ServiceY on TCP/80

Intra-service policy

ACCEPT API to DB on TCP/5432

ACCEPT Workers to DB on TCP/5432
Firewalling dynamic infrastructures
AFW    (the cloud) with Chef and Netfilter

Scalability (you know, the cloud)
Firewalling dynamic infrastructures
AFW    (the cloud) with Chef and Netfilter

Scalability (you know, the cloud)




       Add 2 new API nodes
Firewalling dynamic infrastructures
AFW       (the cloud) with Chef and Netfilter

Scalability (you know, the cloud)




Allow the 2 API nodes
in the DB firewall
Firewalling dynamic infrastructures
AFW       (the cloud) with Chef and Netfilter

Scalability (you know, the cloud)



Allow all the Frontend nodes
to connect to the new API nodes
Firewalling dynamic infrastructures
AFW       (the cloud) with Chef and Netfilter

The Tool: Chef
●   Chef is a provisioning tool, similar to puppet, cfengine, or a massively
    glorified Perl script.

●   Sysadmin write ruby scripts to install and configure services. Chef runs
    those scripts on the target server every X minutes to make sure that the
    configuration is in place

●   When adding a new server, sysadmin “bootstraps” the server by telling
    Chef to add the new node to the infrastructure.

    –   New server (node) receive a Chef Role, composed of scripts
        (cookbooks) that configure services.
    –   Chef server registers the new node in its database, give it a key, ...
●   The Chef Database contains everything that you've ever dreamed of !
Firewalling dynamic infrastructures
AFW      (the cloud) with Chef and Netfilter

The Tool: Chef
$ knife search node "roles:web-frontend AND chef_environment:staging"

3 items found
  Node Name:   frontend1.staging.domain
  Environment: staging
  FQDN:        frontend1.staging.domain
  IP:          172.21.1.2
  Run List:    role[base], role[web-frontend]
  Roles:       rsyslog-client, snmp-base, nagios-client, ntp-client,
  chef-client, ossec-agent, openldap-client,   web-frontend
  Recipes:     ohai, timezone, ntp, afw, apt, system-tools, sysctl,
  nagios::client, snmp, diamond,   openldap::client, sudo, rsyslog,
  ossec::agent, nginx, varnish
  Platform:    centos 6

  Node Name:     frontend2.staging.domain
  Environment:   staging
  FQDN:          frontend1.staging.domain
  IP:            172.21.1.3
  Run List:      role[base], role[web-frontend]
...
Firewalling dynamic infrastructures
AFW      (the cloud) with Chef and Netfilter

The Tool: Chef
Chef Run: the principle of “convergence”

•   Node executes `chef-client` , that
    connects to the Chef Server API
    Endpoint.

•   Chef-client retrieves its `run_list` and the
    related `cookbooks` from the Chef server

•   Cookbook are executed and local
    configuration is updated
Example: haproxy cookbook, running on Node-X, searches for all nodes
that run the `web-backend` role, and add them to the local configuration.

When a new `web-backend` node is added, `chef-client` on Node-X will find
it, add it to haproxy.cfg, and reload the daemon.
Firewalling dynamic infrastructures
AFW      (the cloud) with Chef and Netfilter

A{daptative,dvanced,Weber,...} FireWall
●   Concepts                             ●   Technology

•   Automated generation and             •   Stock Netfilter. No wrapper (ufw,
    deletion of rules                        shorewall, …).

•   1 to 1 rules only: connection from   •   Reload at every run, flushes
    one node to another is                   unwanted rules
    represented by one rule (no range
    opening)                             •   Netfilter features:

•   User specific outbound firewall:         •   Fast reload: iptables-restore
    one user, identified by UID, can
    connect to one destination               •   Owner match (xt_owner)

•   Generic rules: avoid writing             •   Conntrack (xt_conntrack)
    custom rules for each node, write
    rules for type of service instead
                                             •   In the pipe: NAT, time, Ipset,...
Firewalling dynamic infrastructures
AFW      (the cloud) with Chef and Netfilter

AFW: the syntax
●   Rules are `attributes` of the AFW cookbook, and can be defined in roles,
    or other cookbooks
                                       'RabbitMQ AMQP Producers' => {
●   Basic syntax, without searches:      :direction => 'in',
                                         :user => 'rabbitmq',
                                         :protocol => 'tcp',
                                         :interface => 'default',
                                         :source => ['producer1.production.domain',
                                                     'producer2.production.domain',
                                                     'producer1.staging.domain'],
                                         :dport => '5672'
                                       },


                                       'MongoDB Staging access from Jenkins' => {
                                         :direction => 'in',
●   Open access for a specific env.:     :protocol => 'tcp',
                                         :user => 'mongodb',
                                         :dport => '27017',
                                         :source => ['jenkins1.production.domain',
                                                     'jenkins2.production.domain'],
                                         :interface => 'all',
                                         :env => 'staging'
                                       }
Firewalling dynamic infrastructures
AFW       (the cloud) with Chef and Netfilter

AFW: Searches
●    Uses Chef's search capabilities to list the nodes allowed to connect.
                                          default_attributes(
                                            :afw => {
●    Perfect for client ↔ server              :rules => {
                                                'ossec_agent_to_server' => {
                                                  :direction => 'in',
                                                  :protocol => 'udp',
                                                  :user => 'ossec',
                                                  :dport => '1514',
                                                  :source => 'roles:ossec-agent',
                                                  :interface => 'default',
                                                },
●    Or frontend to backend                     'ossec_server_to_agent' => {
                                                  :direction => 'out',
    'MongoDB App Entry Point' => {                :protocol => 'udp',
      :protocol => 'tcp',                         :user => 'ossec',
      :direction => 'in',                         :dport => '1514',
      :user => 'mongodb',                         :destination => 'roles:ossec-agent',
      :source => '(roles:nodejs                   :interface => 'default'
                   OR roles:worker-node         }
                   OR roles:api-node)'        }
      :dport => '27017'                     },
    },
Firewalling dynamic infrastructures
AFW        (the cloud) with Chef and Netfilter

AFW: The notion of 'service tag'
●   AFW rules are generic,
    not duplicated for each
    service

●   Chef `tag` identifies the
    members of a service

●   Ex: allow API nodes to
    connect to their own                        All nodes in Service X are tagged `X`.
    database only                               All nodes in Service Y are tagged `Y`.
                                                The message broker has both `X` and `Y` tags

'API to Service Database' => {
  :protocol => 'tcp',
  :direction => 'out',
  :user => 'apiuser',
  :destination => 'roles:*database* AND SAMETAG',
  :dport => '5432'
},                                     roles:*database*
                                                     AND tags:X
                                      AND chef_environment:#{node.chef_environment}
Firewalling dynamic infrastructures
AFW      (the cloud) with Chef and Netfilter

AFW: User specific Outbound rules
●   Netfilter's INPUT chain cannot check the owner of the socket

●   But the OUTPUT chain can:

    –   Example with the `root` user
 -A OUTPUT -m owner --uid-owner 0 -m state --state NEW -j root
 :root – [0:0]
 # Root user is allowed to connect to the RSYSLOG server
 -A root -o eth1 -p tcp --dport 514 -d 172.31.15.13 -m conntrack --ctstate NEW -j ACCEPT
 # Root is also allowed to connect anywhere in TCP
 -A root -p tcp --dport 1:65535 -d 0.0.0.0/0 -m conntrack --ctstate NEW -j ACCEPT
 # Everything else is logged
 -A root -j LOG --log-prefix "DROP_AFW_OUTPUT_root " --log-uid --log-tcp-sequence

    –   The `nagios` user has much less permissions
 -A OUTPUT -m owner --uid-owner 107 -m state --state NEW   -j nagios
 :nagios – [0:0]
 # Nagios local user is allowed to connect to the Nagios   server
 -A INPUT -i eth1 -p tcp --dport 5666 -s 172.31.12.42 -m   conntrack --ctstate NEW -j ACCEPT
 -A nagios -j LOG --log-prefix "DROP_AFW_OUTPUT_nagios "   --log-uid --log-tcp-sequence
Firewalling dynamic infrastructures
 AFW        (the cloud) with Chef and Netfilter

  AFW: Open rules “on-the-fly”
   ●   When we can't create generic rules ahead of time, we can let a cookbook
       create its own rules.

   ●   AFW's core functions can be called from another cookbook. It's all Ruby.

    # Call the AFW module to create the rule
    AFW.create_rule(node,
                    "Haproxy local LB to #{server['hostname']}:#{port}",
                    {'protocol' => 'tcp',
                     'direction' => 'out',
                     'user' => 'haproxy',
                     'destination' => "#{server['ipaddress']}",
                     'dport' => "#{port}"
                    })  

   ●   Useful, but harder to diagnose. Use with caution.
Firewalling dynamic infrastructures
AFW   (the cloud) with Chef and Netfilter

AFW: Crossing environments
                  ●   Allow the workers in production, to connect to
                      the database in staging (same service tag,
                      same nodes, different `chef_environment)
                         'Production Workers to Staging Database' => {
                           :protocol => 'tcp',
                           :direction => 'out',
                           :user => 'workeruser',
                           :destination => 'roles:database AND SAMETAG
                                            AND chef_environment:staging',
                           :dport => '5432',
                           :env => 'production',
                           :options => ['disable_env_limit']
                         },


                            'Staging database from Production Workers' => {
                             :protocol => 'tcp',
                             :direction => 'in',
                             :user => 'database',
                             :source => 'roles:worker AND SAMETAG
                                         AND chef_environment:production',
                             :dport => '5432',
                             :env => 'staging',
                             :options => ['disable_env_limit']
                           },
Firewalling dynamic infrastructures
AFW      (the cloud) with Chef and Netfilter

AFW: Advanced features of Chef & Ruby
●   When building a MongoDB cluster, all members share the same “shard”.

●   Chef knows the name of the shard, in the `shard_name` attribute.

●   AFW can use the shard name to identify the members of a cluster, and
    open the replication port to those members only.
          'MongoDB Cluster Inbound Replication' => {
            :protocol => 'tcp',
            :direction => 'in',
            :user => 'mongodb',
            :source => 'shard_name:#{node[:mongodb][:shard_name]}',
            :dport => '27017'
          },
          'MongoDB Cluster Outbound Replication' => {
            :protocol => 'tcp',
            :direction => 'out',
            :user => 'mongodb',
            :destination => 'shard_name:#{node[:mongodb][:shard_name]}',
            :dport => '27017'
          },
Firewalling dynamic infrastructures
AFW        (the cloud) with Chef and Netfilter

AFW: Weird rules ? Use predefined rules.
●    Predefined rules are copied verbatim into the iptables ruleset. No
     interpretation.
    :afw => {
      :rules => {
        'Accept all packets router through the bridge' => {
          :table => 'filter',
          :rule => '-I FORWARD -o br0 -m physdev --physdev-is-bridged -j ACCEPT'
        },
        'Drop connection to the admin panel on the eth0 interface' => {
          :table => 'mangle',
          :rule => '-A INPUT -i eth0 -p tcp --dport 80 -m string --string "get /admin
    http/1.1" --icase --algo bm -m conntrack --ctstate ESTABLISHED -j DROP
        },
        'DNAT a source IP to change the destination port' => {
          :table => 'nat',
          :rule => '-A PREROUTING -i eth3 -s 201.23.72.3 -p tcp --dport 8008 -j DNAT
    --to-destination 127.0.0.1:1234'
        },
        'Dont do conntrack on this specific user's UDP packets' => {
          :table => 'raw',
          :rule => '-A OUTPUT -o eth0 -p udp -m owner --uid-owner 105 -j NOTRACK'
        }
      }
    }
Firewalling dynamic infrastructures
AFW      (the cloud) with Chef and Netfilter

AFW: Limitations
●   The entire security relies on the security of the Chef server (true for
    all provisioning systems)

●   Nodes can modify their own Chef attributes. Other nodes should be
    careful when opening access based on the attributes a peer has.

●   AFW works well with homogeneous infrastructure. Otherwise, the
    number of rules and custom hacks becomes too large to manage in
    a clean way.

●   With Chef 10, searches that return a lot of results (ex:
    “roles:chef-client”) are slow and consume a lot of bandwidth.

    –   Should be fixed in Chef 11, with `partial_search`
Questions ?
●   https://github.com/jvehent/AFW/
●   http://community.opscode.com/cookbooks/afw

Weitere ähnliche Inhalte

Was ist angesagt?

Control Your Network ASICs, What Benefits switchdev Can Bring Us
Control Your Network ASICs, What Benefits switchdev Can Bring UsControl Your Network ASICs, What Benefits switchdev Can Bring Us
Control Your Network ASICs, What Benefits switchdev Can Bring UsHungWei Chiu
 
NFV Infrastructure Manager with High Performance Software Switch Lagopus
NFV Infrastructure Manager with High Performance Software Switch Lagopus NFV Infrastructure Manager with High Performance Software Switch Lagopus
NFV Infrastructure Manager with High Performance Software Switch Lagopus Hirofumi Ichihara
 
RTP NPUG: Ansible Intro and Integration with ACI
RTP NPUG: Ansible Intro and Integration with ACIRTP NPUG: Ansible Intro and Integration with ACI
RTP NPUG: Ansible Intro and Integration with ACIJoel W. King
 
Automating with NX-OS: Let's Get Started!
Automating with NX-OS: Let's Get Started!Automating with NX-OS: Let's Get Started!
Automating with NX-OS: Let's Get Started!Cisco DevNet
 
DPDK summit 2015: It's kind of fun to do the impossible with DPDK
DPDK summit 2015: It's kind of fun  to do the impossible with DPDKDPDK summit 2015: It's kind of fun  to do the impossible with DPDK
DPDK summit 2015: It's kind of fun to do the impossible with DPDKLagopus SDN/OpenFlow switch
 
Nagios Conference 2014 - Leland Lammert - Distributed Heirarchical Nagios
Nagios Conference 2014 - Leland Lammert - Distributed Heirarchical NagiosNagios Conference 2014 - Leland Lammert - Distributed Heirarchical Nagios
Nagios Conference 2014 - Leland Lammert - Distributed Heirarchical NagiosNagios
 
How Networking works with Data Science
How Networking works with Data Science How Networking works with Data Science
How Networking works with Data Science HungWei Chiu
 
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDNOpenStack Korea Community
 
DPDK Summit 2015 - Sprint - Arun Rajagopal
DPDK Summit 2015 - Sprint - Arun RajagopalDPDK Summit 2015 - Sprint - Arun Rajagopal
DPDK Summit 2015 - Sprint - Arun RajagopalJim St. Leger
 
NSX, API, Automation and Unicorns
NSX, API, Automation and UnicornsNSX, API, Automation and Unicorns
NSX, API, Automation and UnicornsRomain DECKER
 
DPDK Summit - 08 Sept 2014 - Futurewei - Jun Xu - Revisit the IP Stack in Lin...
DPDK Summit - 08 Sept 2014 - Futurewei - Jun Xu - Revisit the IP Stack in Lin...DPDK Summit - 08 Sept 2014 - Futurewei - Jun Xu - Revisit the IP Stack in Lin...
DPDK Summit - 08 Sept 2014 - Futurewei - Jun Xu - Revisit the IP Stack in Lin...Jim St. Leger
 
DPDK Summit 2015 - Aspera - Charles Shiflett
DPDK Summit 2015 - Aspera - Charles ShiflettDPDK Summit 2015 - Aspera - Charles Shiflett
DPDK Summit 2015 - Aspera - Charles ShiflettJim St. Leger
 
Network automation ansible_nx-api
Network automation ansible_nx-apiNetwork automation ansible_nx-api
Network automation ansible_nx-apiJoel W. King
 
NTTドコモ様 導入事例 OpenStack Summit 2015 Tokyo 講演「After One year of OpenStack Cloud...
NTTドコモ様 導入事例 OpenStack Summit 2015 Tokyo 講演「After One year of OpenStack Cloud...NTTドコモ様 導入事例 OpenStack Summit 2015 Tokyo 講演「After One year of OpenStack Cloud...
NTTドコモ様 導入事例 OpenStack Summit 2015 Tokyo 講演「After One year of OpenStack Cloud...VirtualTech Japan Inc.
 
Mellanox for OpenStack - OpenStack最新情報セミナー 2014年10月
Mellanox for OpenStack  - OpenStack最新情報セミナー 2014年10月Mellanox for OpenStack  - OpenStack最新情報セミナー 2014年10月
Mellanox for OpenStack - OpenStack最新情報セミナー 2014年10月VirtualTech Japan Inc.
 
DPDK Summit 2015 - NTT - Yoshihiro Nakajima
DPDK Summit 2015 - NTT - Yoshihiro NakajimaDPDK Summit 2015 - NTT - Yoshihiro Nakajima
DPDK Summit 2015 - NTT - Yoshihiro NakajimaJim St. Leger
 
Tectonic Summit 2016: Networking for Kubernetes
Tectonic Summit 2016: Networking for Kubernetes Tectonic Summit 2016: Networking for Kubernetes
Tectonic Summit 2016: Networking for Kubernetes CoreOS
 

Was ist angesagt? (19)

Control Your Network ASICs, What Benefits switchdev Can Bring Us
Control Your Network ASICs, What Benefits switchdev Can Bring UsControl Your Network ASICs, What Benefits switchdev Can Bring Us
Control Your Network ASICs, What Benefits switchdev Can Bring Us
 
NFV Infrastructure Manager with High Performance Software Switch Lagopus
NFV Infrastructure Manager with High Performance Software Switch Lagopus NFV Infrastructure Manager with High Performance Software Switch Lagopus
NFV Infrastructure Manager with High Performance Software Switch Lagopus
 
Neutron CI Run on Docker
Neutron CI Run on DockerNeutron CI Run on Docker
Neutron CI Run on Docker
 
RTP NPUG: Ansible Intro and Integration with ACI
RTP NPUG: Ansible Intro and Integration with ACIRTP NPUG: Ansible Intro and Integration with ACI
RTP NPUG: Ansible Intro and Integration with ACI
 
Automating with NX-OS: Let's Get Started!
Automating with NX-OS: Let's Get Started!Automating with NX-OS: Let's Get Started!
Automating with NX-OS: Let's Get Started!
 
DPDK summit 2015: It's kind of fun to do the impossible with DPDK
DPDK summit 2015: It's kind of fun  to do the impossible with DPDKDPDK summit 2015: It's kind of fun  to do the impossible with DPDK
DPDK summit 2015: It's kind of fun to do the impossible with DPDK
 
Nagios Conference 2014 - Leland Lammert - Distributed Heirarchical Nagios
Nagios Conference 2014 - Leland Lammert - Distributed Heirarchical NagiosNagios Conference 2014 - Leland Lammert - Distributed Heirarchical Nagios
Nagios Conference 2014 - Leland Lammert - Distributed Heirarchical Nagios
 
How Networking works with Data Science
How Networking works with Data Science How Networking works with Data Science
How Networking works with Data Science
 
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
 
DPDK Summit 2015 - Sprint - Arun Rajagopal
DPDK Summit 2015 - Sprint - Arun RajagopalDPDK Summit 2015 - Sprint - Arun Rajagopal
DPDK Summit 2015 - Sprint - Arun Rajagopal
 
NSX, API, Automation and Unicorns
NSX, API, Automation and UnicornsNSX, API, Automation and Unicorns
NSX, API, Automation and Unicorns
 
Janus & docker: friends or foe
Janus & docker: friends or foe Janus & docker: friends or foe
Janus & docker: friends or foe
 
DPDK Summit - 08 Sept 2014 - Futurewei - Jun Xu - Revisit the IP Stack in Lin...
DPDK Summit - 08 Sept 2014 - Futurewei - Jun Xu - Revisit the IP Stack in Lin...DPDK Summit - 08 Sept 2014 - Futurewei - Jun Xu - Revisit the IP Stack in Lin...
DPDK Summit - 08 Sept 2014 - Futurewei - Jun Xu - Revisit the IP Stack in Lin...
 
DPDK Summit 2015 - Aspera - Charles Shiflett
DPDK Summit 2015 - Aspera - Charles ShiflettDPDK Summit 2015 - Aspera - Charles Shiflett
DPDK Summit 2015 - Aspera - Charles Shiflett
 
Network automation ansible_nx-api
Network automation ansible_nx-apiNetwork automation ansible_nx-api
Network automation ansible_nx-api
 
NTTドコモ様 導入事例 OpenStack Summit 2015 Tokyo 講演「After One year of OpenStack Cloud...
NTTドコモ様 導入事例 OpenStack Summit 2015 Tokyo 講演「After One year of OpenStack Cloud...NTTドコモ様 導入事例 OpenStack Summit 2015 Tokyo 講演「After One year of OpenStack Cloud...
NTTドコモ様 導入事例 OpenStack Summit 2015 Tokyo 講演「After One year of OpenStack Cloud...
 
Mellanox for OpenStack - OpenStack最新情報セミナー 2014年10月
Mellanox for OpenStack  - OpenStack最新情報セミナー 2014年10月Mellanox for OpenStack  - OpenStack最新情報セミナー 2014年10月
Mellanox for OpenStack - OpenStack最新情報セミナー 2014年10月
 
DPDK Summit 2015 - NTT - Yoshihiro Nakajima
DPDK Summit 2015 - NTT - Yoshihiro NakajimaDPDK Summit 2015 - NTT - Yoshihiro Nakajima
DPDK Summit 2015 - NTT - Yoshihiro Nakajima
 
Tectonic Summit 2016: Networking for Kubernetes
Tectonic Summit 2016: Networking for Kubernetes Tectonic Summit 2016: Networking for Kubernetes
Tectonic Summit 2016: Networking for Kubernetes
 

Andere mochten auch

Pc i 2010-11 150m msp
Pc i 2010-11 150m mspPc i 2010-11 150m msp
Pc i 2010-11 150m msphayat alishah
 
サービスと共に成長するチームとアーキテクチャ
サービスと共に成長するチームとアーキテクチャサービスと共に成長するチームとアーキテクチャ
サービスと共に成長するチームとアーキテクチャShinichiro Suzuki
 
101年b類社區營造點社區生活館常態展及特展節目表 整
101年b類社區營造點社區生活館常態展及特展節目表 整101年b類社區營造點社區生活館常態展及特展節目表 整
101年b類社區營造點社區生活館常態展及特展節目表 整中心 雲
 
Future of Digital - Global Trends & Statistics - 2012
Future of Digital - Global Trends & Statistics - 2012Future of Digital - Global Trends & Statistics - 2012
Future of Digital - Global Trends & Statistics - 2012Harsh Wardhan Dave
 
Grado 10 orientaciones trabajo final feb 16 2015
Grado 10 orientaciones trabajo final feb 16 2015Grado 10 orientaciones trabajo final feb 16 2015
Grado 10 orientaciones trabajo final feb 16 2015mkciencias
 
Session 3-3-simon-siburat-the-challenges-costs-benefits-of-maintaining-hcvs-i...
Session 3-3-simon-siburat-the-challenges-costs-benefits-of-maintaining-hcvs-i...Session 3-3-simon-siburat-the-challenges-costs-benefits-of-maintaining-hcvs-i...
Session 3-3-simon-siburat-the-challenges-costs-benefits-of-maintaining-hcvs-i...ZSL Biodiversity & Palm Oil Platform
 
Что может быть лучше России... (2011 год)
Что может быть лучше России... (2011 год)Что может быть лучше России... (2011 год)
Что может быть лучше России... (2011 год)Балтийская Муза
 
Project theme adventure park galiyat
Project theme adventure park galiyatProject theme adventure park galiyat
Project theme adventure park galiyathayat alishah
 
Session 5-1-darrel-webber-increasing-the-effectiveness-of-the-rspo-1482
Session 5-1-darrel-webber-increasing-the-effectiveness-of-the-rspo-1482Session 5-1-darrel-webber-increasing-the-effectiveness-of-the-rspo-1482
Session 5-1-darrel-webber-increasing-the-effectiveness-of-the-rspo-1482ZSL Biodiversity & Palm Oil Platform
 
Веб-аналитика. Продвинутый уровень
Веб-аналитика. Продвинутый уровеньВеб-аналитика. Продвинутый уровень
Веб-аналитика. Продвинутый уровеньVladyslava Rykova
 
Close-up look at the Potential of Female Entrepreneurs in Canada
Close-up look at the Potential of Female Entrepreneurs in CanadaClose-up look at the Potential of Female Entrepreneurs in Canada
Close-up look at the Potential of Female Entrepreneurs in CanadaRuta Aidis
 
Контекстная реклама. Основы AdWords
Контекстная реклама. Основы AdWordsКонтекстная реклама. Основы AdWords
Контекстная реклама. Основы AdWordsVladyslava Rykova
 
Thamme Gowda's Summer2016- NASA JPL Internship
Thamme Gowda's Summer2016- NASA JPL InternshipThamme Gowda's Summer2016- NASA JPL Internship
Thamme Gowda's Summer2016- NASA JPL InternshipThamme Gowda
 
Reclaiming prosperity in khyber pakhtunkhwahas
Reclaiming prosperity in khyber pakhtunkhwahasReclaiming prosperity in khyber pakhtunkhwahas
Reclaiming prosperity in khyber pakhtunkhwahashayat alishah
 
Presentation muhammadalishahzada110620141930hours
Presentation muhammadalishahzada110620141930hoursPresentation muhammadalishahzada110620141930hours
Presentation muhammadalishahzada110620141930hourshayat alishah
 

Andere mochten auch (20)

Pc i 2010-11 150m msp
Pc i 2010-11 150m mspPc i 2010-11 150m msp
Pc i 2010-11 150m msp
 
サービスと共に成長するチームとアーキテクチャ
サービスと共に成長するチームとアーキテクチャサービスと共に成長するチームとアーキテクチャ
サービスと共に成長するチームとアーキテクチャ
 
Stinkin’ Thinkin’
Stinkin’ Thinkin’Stinkin’ Thinkin’
Stinkin’ Thinkin’
 
101年b類社區營造點社區生活館常態展及特展節目表 整
101年b類社區營造點社區生活館常態展及特展節目表 整101年b類社區營造點社區生活館常態展及特展節目表 整
101年b類社區營造點社區生活館常態展及特展節目表 整
 
Future of Digital - Global Trends & Statistics - 2012
Future of Digital - Global Trends & Statistics - 2012Future of Digital - Global Trends & Statistics - 2012
Future of Digital - Global Trends & Statistics - 2012
 
Galyat slids
Galyat slidsGalyat slids
Galyat slids
 
Grado 10 orientaciones trabajo final feb 16 2015
Grado 10 orientaciones trabajo final feb 16 2015Grado 10 orientaciones trabajo final feb 16 2015
Grado 10 orientaciones trabajo final feb 16 2015
 
Session 2-2-sophie-persey-can-oil-palm-biodiversity-co-exist-1481
Session 2-2-sophie-persey-can-oil-palm-biodiversity-co-exist-1481Session 2-2-sophie-persey-can-oil-palm-biodiversity-co-exist-1481
Session 2-2-sophie-persey-can-oil-palm-biodiversity-co-exist-1481
 
Session 3-3-simon-siburat-the-challenges-costs-benefits-of-maintaining-hcvs-i...
Session 3-3-simon-siburat-the-challenges-costs-benefits-of-maintaining-hcvs-i...Session 3-3-simon-siburat-the-challenges-costs-benefits-of-maintaining-hcvs-i...
Session 3-3-simon-siburat-the-challenges-costs-benefits-of-maintaining-hcvs-i...
 
Что может быть лучше России... (2011 год)
Что может быть лучше России... (2011 год)Что может быть лучше России... (2011 год)
Что может быть лучше России... (2011 год)
 
F4 06statisticsiii-090716074100-phpapp01
F4 06statisticsiii-090716074100-phpapp01F4 06statisticsiii-090716074100-phpapp01
F4 06statisticsiii-090716074100-phpapp01
 
Project theme adventure park galiyat
Project theme adventure park galiyatProject theme adventure park galiyat
Project theme adventure park galiyat
 
Session 5-1-darrel-webber-increasing-the-effectiveness-of-the-rspo-1482
Session 5-1-darrel-webber-increasing-the-effectiveness-of-the-rspo-1482Session 5-1-darrel-webber-increasing-the-effectiveness-of-the-rspo-1482
Session 5-1-darrel-webber-increasing-the-effectiveness-of-the-rspo-1482
 
Веб-аналитика. Продвинутый уровень
Веб-аналитика. Продвинутый уровеньВеб-аналитика. Продвинутый уровень
Веб-аналитика. Продвинутый уровень
 
Close-up look at the Potential of Female Entrepreneurs in Canada
Close-up look at the Potential of Female Entrepreneurs in CanadaClose-up look at the Potential of Female Entrepreneurs in Canada
Close-up look at the Potential of Female Entrepreneurs in Canada
 
Контекстная реклама. Основы AdWords
Контекстная реклама. Основы AdWordsКонтекстная реклама. Основы AdWords
Контекстная реклама. Основы AdWords
 
Thamme Gowda's Summer2016- NASA JPL Internship
Thamme Gowda's Summer2016- NASA JPL InternshipThamme Gowda's Summer2016- NASA JPL Internship
Thamme Gowda's Summer2016- NASA JPL Internship
 
Reclaiming prosperity in khyber pakhtunkhwahas
Reclaiming prosperity in khyber pakhtunkhwahasReclaiming prosperity in khyber pakhtunkhwahas
Reclaiming prosperity in khyber pakhtunkhwahas
 
Presentation muhammadalishahzada110620141930hours
Presentation muhammadalishahzada110620141930hoursPresentation muhammadalishahzada110620141930hours
Presentation muhammadalishahzada110620141930hours
 
College Profile
College ProfileCollege Profile
College Profile
 

Ähnlich wie AFW: Dynamic Firewalls with Chef and Netfilter

Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst ITThings You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst ITOpenStack
 
Pluggable Infrastructure with CI/CD and Docker
Pluggable Infrastructure with CI/CD and DockerPluggable Infrastructure with CI/CD and Docker
Pluggable Infrastructure with CI/CD and DockerBob Killen
 
Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...
Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...
Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...Công TÔ
 
Open stack networking_101_update_2014
Open stack networking_101_update_2014Open stack networking_101_update_2014
Open stack networking_101_update_2014yfauser
 
Rohit Yadav - The future of the CloudStack Virtual Router
Rohit Yadav - The future of the CloudStack Virtual RouterRohit Yadav - The future of the CloudStack Virtual Router
Rohit Yadav - The future of the CloudStack Virtual RouterShapeBlue
 
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...Puppet
 
Automation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper MeetupAutomation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper MeetupJorge Bonilla
 
Composing services with Kubernetes
Composing services with KubernetesComposing services with Kubernetes
Composing services with KubernetesBart Spaans
 
VMworld 2013: Real-world Deployment Scenarios for VMware NSX
VMworld 2013: Real-world Deployment Scenarios for VMware NSX VMworld 2013: Real-world Deployment Scenarios for VMware NSX
VMworld 2013: Real-world Deployment Scenarios for VMware NSX VMworld
 
Nagios Conference 2011 - William Leibzon - Nagios In Cloud Computing Environm...
Nagios Conference 2011 - William Leibzon - Nagios In Cloud Computing Environm...Nagios Conference 2011 - William Leibzon - Nagios In Cloud Computing Environm...
Nagios Conference 2011 - William Leibzon - Nagios In Cloud Computing Environm...Nagios
 
Dragonflow Austin Summit Talk
Dragonflow Austin Summit Talk Dragonflow Austin Summit Talk
Dragonflow Austin Summit Talk Eran Gampel
 
KCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosKCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosVictor Morales
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingThomas Graf
 
Network Virtualization & Software-defined Networking
Network Virtualization & Software-defined NetworkingNetwork Virtualization & Software-defined Networking
Network Virtualization & Software-defined NetworkingDigicomp Academy AG
 
Apache Provisionr (incubating) - Bucharest JUG 10
Apache Provisionr (incubating) - Bucharest JUG 10Apache Provisionr (incubating) - Bucharest JUG 10
Apache Provisionr (incubating) - Bucharest JUG 10Andrei Savu
 
[OpenStack Day in Korea 2015] Track 2-3 - 오픈스택 클라우드에 최적화된 네트워크 가상화 '누아지(Nuage)'
[OpenStack Day in Korea 2015] Track 2-3 - 오픈스택 클라우드에 최적화된 네트워크 가상화 '누아지(Nuage)'[OpenStack Day in Korea 2015] Track 2-3 - 오픈스택 클라우드에 최적화된 네트워크 가상화 '누아지(Nuage)'
[OpenStack Day in Korea 2015] Track 2-3 - 오픈스택 클라우드에 최적화된 네트워크 가상화 '누아지(Nuage)'OpenStack Korea Community
 
Software defined networking(sdn) vahid sadri
Software defined networking(sdn) vahid sadriSoftware defined networking(sdn) vahid sadri
Software defined networking(sdn) vahid sadriVahid Sadri
 
Boyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experienceBoyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experienceShapeBlue
 
Net Devops Overview
Net Devops OverviewNet Devops Overview
Net Devops OverviewJoel W. King
 

Ähnlich wie AFW: Dynamic Firewalls with Chef and Netfilter (20)

Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst ITThings You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
 
Pluggable Infrastructure with CI/CD and Docker
Pluggable Infrastructure with CI/CD and DockerPluggable Infrastructure with CI/CD and Docker
Pluggable Infrastructure with CI/CD and Docker
 
Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...
Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...
Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...
 
Open stack networking_101_update_2014
Open stack networking_101_update_2014Open stack networking_101_update_2014
Open stack networking_101_update_2014
 
Rohit Yadav - The future of the CloudStack Virtual Router
Rohit Yadav - The future of the CloudStack Virtual RouterRohit Yadav - The future of the CloudStack Virtual Router
Rohit Yadav - The future of the CloudStack Virtual Router
 
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
 
Automation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper MeetupAutomation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper Meetup
 
Composing services with Kubernetes
Composing services with KubernetesComposing services with Kubernetes
Composing services with Kubernetes
 
VMworld 2013: Real-world Deployment Scenarios for VMware NSX
VMworld 2013: Real-world Deployment Scenarios for VMware NSX VMworld 2013: Real-world Deployment Scenarios for VMware NSX
VMworld 2013: Real-world Deployment Scenarios for VMware NSX
 
Nagios Conference 2011 - William Leibzon - Nagios In Cloud Computing Environm...
Nagios Conference 2011 - William Leibzon - Nagios In Cloud Computing Environm...Nagios Conference 2011 - William Leibzon - Nagios In Cloud Computing Environm...
Nagios Conference 2011 - William Leibzon - Nagios In Cloud Computing Environm...
 
Dragonflow Austin Summit Talk
Dragonflow Austin Summit Talk Dragonflow Austin Summit Talk
Dragonflow Austin Summit Talk
 
KCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosKCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitos
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center Networking
 
Network Virtualization & Software-defined Networking
Network Virtualization & Software-defined NetworkingNetwork Virtualization & Software-defined Networking
Network Virtualization & Software-defined Networking
 
Apache Provisionr (incubating) - Bucharest JUG 10
Apache Provisionr (incubating) - Bucharest JUG 10Apache Provisionr (incubating) - Bucharest JUG 10
Apache Provisionr (incubating) - Bucharest JUG 10
 
[OpenStack Day in Korea 2015] Track 2-3 - 오픈스택 클라우드에 최적화된 네트워크 가상화 '누아지(Nuage)'
[OpenStack Day in Korea 2015] Track 2-3 - 오픈스택 클라우드에 최적화된 네트워크 가상화 '누아지(Nuage)'[OpenStack Day in Korea 2015] Track 2-3 - 오픈스택 클라우드에 최적화된 네트워크 가상화 '누아지(Nuage)'
[OpenStack Day in Korea 2015] Track 2-3 - 오픈스택 클라우드에 최적화된 네트워크 가상화 '누아지(Nuage)'
 
Software defined networking(sdn) vahid sadri
Software defined networking(sdn) vahid sadriSoftware defined networking(sdn) vahid sadri
Software defined networking(sdn) vahid sadri
 
Boyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experienceBoyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experience
 
Net Devops Overview
Net Devops OverviewNet Devops Overview
Net Devops Overview
 
Simplify Networking for Containers
Simplify Networking for ContainersSimplify Networking for Containers
Simplify Networking for Containers
 

Kürzlich hochgeladen

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Kürzlich hochgeladen (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

AFW: Dynamic Firewalls with Chef and Netfilter

  • 1. Firewalling dynamic infrastructures (the cloud) with Chef and Netfilter Julien Vehent Aweber Communications BsidesDE 2012
  • 2. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter Julien Vehent - @jvehent ● Systems & Security Engineer at ● I built and secure web infrastructures on Linux ● http://www.github.com/jvehent/ ● http://jve.linuxwall.info
  • 3. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter Problem Monolithic firewalls will either fail under load, or contain too many rules to secure anything. Solution Host-based firewalls and dynamic configuration.
  • 4. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter The 70's Firewall design
  • 5. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter The 90's Firewall design ● Few powerful & expensive firewalls filter the entire traffic ● DMZ design: works with small DMZs ● Rules maintained manually: need a route opening workflow
  • 6. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter 2000 Firewall design failure ● “Let's keep pilling stuff in the DMZ, it needs to be accessed from the Internet anyway.” ● Really complex rule opening workflow ● No rule deletion workflow
  • 7. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter 2005: We Need More ! ● Bigger firewalls ● NIDS, NIPS, HIDS ● Web App Firewall, Database firewalls ● Logs centralizers, Logs analyzers, Logs readers ● Developers stopped trying to connect application A to server B somewhere around 2008
  • 8. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter 2010: Congratulations ! You are now routing your entire datacenter traffic through a handful of appliances from very happy vendors. Their shareholders thank you. Your CFO ? Not so much...
  • 9. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter Service Oriented Architecture ● Services are autonomous ● Services call each other using a standard protocol (REST: JSON over HTTP) ● The architecture is described by a list of dependencies between services “Cloud” type requirements: • No single point of failure • Optimize resources utilization • Augment & reduce capacity rapidly
  • 10. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter Service Oriented Security AWS security groups (SG) • Create SG-X for service X • Create SG-Y for service Y • Allow SG-X to connect to SG-Y • All instances (servers) in SG-X will be allowed to connect to SG-Y => Dynamic security: No need to update the firewall for each new server
  • 11. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter Service Oriented Security Inter-services policy ACCEPT 0.0.0.0/0 to CACHING on TCP/80 ACCEPT CACHING to FRONTEND on TCP/80 ACCEPT FRONTEND to ServiceX on TCP/80 ACCEPT FRONTEND to ServiceZ on TCP/80 ACCEPT ServiceX to ServiceY on TCP/80 Intra-service policy ACCEPT API to DB on TCP/5432 ACCEPT Workers to DB on TCP/5432
  • 12. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter Scalability (you know, the cloud)
  • 13. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter Scalability (you know, the cloud) Add 2 new API nodes
  • 14. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter Scalability (you know, the cloud) Allow the 2 API nodes in the DB firewall
  • 15. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter Scalability (you know, the cloud) Allow all the Frontend nodes to connect to the new API nodes
  • 16. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter The Tool: Chef ● Chef is a provisioning tool, similar to puppet, cfengine, or a massively glorified Perl script. ● Sysadmin write ruby scripts to install and configure services. Chef runs those scripts on the target server every X minutes to make sure that the configuration is in place ● When adding a new server, sysadmin “bootstraps” the server by telling Chef to add the new node to the infrastructure. – New server (node) receive a Chef Role, composed of scripts (cookbooks) that configure services. – Chef server registers the new node in its database, give it a key, ... ● The Chef Database contains everything that you've ever dreamed of !
  • 17. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter The Tool: Chef $ knife search node "roles:web-frontend AND chef_environment:staging" 3 items found Node Name: frontend1.staging.domain Environment: staging FQDN: frontend1.staging.domain IP: 172.21.1.2 Run List: role[base], role[web-frontend] Roles: rsyslog-client, snmp-base, nagios-client, ntp-client, chef-client, ossec-agent, openldap-client, web-frontend Recipes: ohai, timezone, ntp, afw, apt, system-tools, sysctl, nagios::client, snmp, diamond, openldap::client, sudo, rsyslog, ossec::agent, nginx, varnish Platform: centos 6 Node Name: frontend2.staging.domain Environment: staging FQDN: frontend1.staging.domain IP: 172.21.1.3 Run List: role[base], role[web-frontend] ...
  • 18. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter The Tool: Chef Chef Run: the principle of “convergence” • Node executes `chef-client` , that connects to the Chef Server API Endpoint. • Chef-client retrieves its `run_list` and the related `cookbooks` from the Chef server • Cookbook are executed and local configuration is updated Example: haproxy cookbook, running on Node-X, searches for all nodes that run the `web-backend` role, and add them to the local configuration. When a new `web-backend` node is added, `chef-client` on Node-X will find it, add it to haproxy.cfg, and reload the daemon.
  • 19. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter A{daptative,dvanced,Weber,...} FireWall ● Concepts ● Technology • Automated generation and • Stock Netfilter. No wrapper (ufw, deletion of rules shorewall, …). • 1 to 1 rules only: connection from • Reload at every run, flushes one node to another is unwanted rules represented by one rule (no range opening) • Netfilter features: • User specific outbound firewall: • Fast reload: iptables-restore one user, identified by UID, can connect to one destination • Owner match (xt_owner) • Generic rules: avoid writing • Conntrack (xt_conntrack) custom rules for each node, write rules for type of service instead • In the pipe: NAT, time, Ipset,...
  • 20. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter AFW: the syntax ● Rules are `attributes` of the AFW cookbook, and can be defined in roles, or other cookbooks 'RabbitMQ AMQP Producers' => { ● Basic syntax, without searches: :direction => 'in', :user => 'rabbitmq', :protocol => 'tcp', :interface => 'default', :source => ['producer1.production.domain', 'producer2.production.domain', 'producer1.staging.domain'], :dport => '5672' }, 'MongoDB Staging access from Jenkins' => { :direction => 'in', ● Open access for a specific env.: :protocol => 'tcp', :user => 'mongodb', :dport => '27017', :source => ['jenkins1.production.domain', 'jenkins2.production.domain'], :interface => 'all', :env => 'staging' }
  • 21. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter AFW: Searches ● Uses Chef's search capabilities to list the nodes allowed to connect. default_attributes( :afw => { ● Perfect for client ↔ server :rules => { 'ossec_agent_to_server' => { :direction => 'in', :protocol => 'udp', :user => 'ossec', :dport => '1514', :source => 'roles:ossec-agent', :interface => 'default', }, ● Or frontend to backend 'ossec_server_to_agent' => { :direction => 'out', 'MongoDB App Entry Point' => { :protocol => 'udp', :protocol => 'tcp', :user => 'ossec', :direction => 'in', :dport => '1514', :user => 'mongodb', :destination => 'roles:ossec-agent', :source => '(roles:nodejs :interface => 'default' OR roles:worker-node } OR roles:api-node)' } :dport => '27017' }, },
  • 22. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter AFW: The notion of 'service tag' ● AFW rules are generic, not duplicated for each service ● Chef `tag` identifies the members of a service ● Ex: allow API nodes to connect to their own All nodes in Service X are tagged `X`. database only All nodes in Service Y are tagged `Y`. The message broker has both `X` and `Y` tags 'API to Service Database' => { :protocol => 'tcp', :direction => 'out', :user => 'apiuser', :destination => 'roles:*database* AND SAMETAG', :dport => '5432' }, roles:*database* AND tags:X AND chef_environment:#{node.chef_environment}
  • 23. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter AFW: User specific Outbound rules ● Netfilter's INPUT chain cannot check the owner of the socket ● But the OUTPUT chain can: – Example with the `root` user -A OUTPUT -m owner --uid-owner 0 -m state --state NEW -j root :root – [0:0] # Root user is allowed to connect to the RSYSLOG server -A root -o eth1 -p tcp --dport 514 -d 172.31.15.13 -m conntrack --ctstate NEW -j ACCEPT # Root is also allowed to connect anywhere in TCP -A root -p tcp --dport 1:65535 -d 0.0.0.0/0 -m conntrack --ctstate NEW -j ACCEPT # Everything else is logged -A root -j LOG --log-prefix "DROP_AFW_OUTPUT_root " --log-uid --log-tcp-sequence – The `nagios` user has much less permissions -A OUTPUT -m owner --uid-owner 107 -m state --state NEW -j nagios :nagios – [0:0] # Nagios local user is allowed to connect to the Nagios server -A INPUT -i eth1 -p tcp --dport 5666 -s 172.31.12.42 -m conntrack --ctstate NEW -j ACCEPT -A nagios -j LOG --log-prefix "DROP_AFW_OUTPUT_nagios " --log-uid --log-tcp-sequence
  • 24. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter AFW: Open rules “on-the-fly” ● When we can't create generic rules ahead of time, we can let a cookbook create its own rules. ● AFW's core functions can be called from another cookbook. It's all Ruby.     # Call the AFW module to create the rule     AFW.create_rule(node,                     "Haproxy local LB to #{server['hostname']}:#{port}",                     {'protocol' => 'tcp',                      'direction' => 'out',                      'user' => 'haproxy',                      'destination' => "#{server['ipaddress']}",                      'dport' => "#{port}"                     })   ● Useful, but harder to diagnose. Use with caution.
  • 25. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter AFW: Crossing environments ● Allow the workers in production, to connect to the database in staging (same service tag, same nodes, different `chef_environment) 'Production Workers to Staging Database' => { :protocol => 'tcp', :direction => 'out', :user => 'workeruser', :destination => 'roles:database AND SAMETAG AND chef_environment:staging', :dport => '5432', :env => 'production', :options => ['disable_env_limit'] }, 'Staging database from Production Workers' => { :protocol => 'tcp', :direction => 'in', :user => 'database', :source => 'roles:worker AND SAMETAG AND chef_environment:production', :dport => '5432', :env => 'staging', :options => ['disable_env_limit'] },
  • 26. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter AFW: Advanced features of Chef & Ruby ● When building a MongoDB cluster, all members share the same “shard”. ● Chef knows the name of the shard, in the `shard_name` attribute. ● AFW can use the shard name to identify the members of a cluster, and open the replication port to those members only. 'MongoDB Cluster Inbound Replication' => { :protocol => 'tcp', :direction => 'in', :user => 'mongodb', :source => 'shard_name:#{node[:mongodb][:shard_name]}', :dport => '27017' }, 'MongoDB Cluster Outbound Replication' => { :protocol => 'tcp', :direction => 'out', :user => 'mongodb', :destination => 'shard_name:#{node[:mongodb][:shard_name]}', :dport => '27017' },
  • 27. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter AFW: Weird rules ? Use predefined rules. ● Predefined rules are copied verbatim into the iptables ruleset. No interpretation. :afw => { :rules => { 'Accept all packets router through the bridge' => { :table => 'filter', :rule => '-I FORWARD -o br0 -m physdev --physdev-is-bridged -j ACCEPT' }, 'Drop connection to the admin panel on the eth0 interface' => { :table => 'mangle', :rule => '-A INPUT -i eth0 -p tcp --dport 80 -m string --string "get /admin http/1.1" --icase --algo bm -m conntrack --ctstate ESTABLISHED -j DROP }, 'DNAT a source IP to change the destination port' => { :table => 'nat', :rule => '-A PREROUTING -i eth3 -s 201.23.72.3 -p tcp --dport 8008 -j DNAT --to-destination 127.0.0.1:1234' }, 'Dont do conntrack on this specific user's UDP packets' => { :table => 'raw', :rule => '-A OUTPUT -o eth0 -p udp -m owner --uid-owner 105 -j NOTRACK' } } }
  • 28. Firewalling dynamic infrastructures AFW (the cloud) with Chef and Netfilter AFW: Limitations ● The entire security relies on the security of the Chef server (true for all provisioning systems) ● Nodes can modify their own Chef attributes. Other nodes should be careful when opening access based on the attributes a peer has. ● AFW works well with homogeneous infrastructure. Otherwise, the number of rules and custom hacks becomes too large to manage in a clean way. ● With Chef 10, searches that return a lot of results (ex: “roles:chef-client”) are slow and consume a lot of bandwidth. – Should be fixed in Chef 11, with `partial_search`
  • 29. Questions ? ● https://github.com/jvehent/AFW/ ● http://community.opscode.com/cookbooks/afw