SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
Getting Memcached Secure


      NEC OSS Promotion Center
 KaiGai Kohei <kaigai@ak.jp.nec.com>
Self Introduction

▐ Name             KaiGai Kohei
▐ Company          NEC, OSS Promotion Center
▐ Works            7 years experiences of OSS development
                   »   SELinux
                   »   PostgreSQL
                   »   Memcached
                   »   Apache (mod_selinux)

▐ Memcached - selinux engine
          A memcached plugin to apply mandatory access control
          according to the SELinux policy.




 Page 2                    LinuxCon Japan/Tokyo 2010 - Memcached getting secure
1. Memcached and security
    Background
    Centralized security and SELinux

2. Getting Memcached secure
    Adjustment of security model
    Engine framework performing with libselinux
    The selinux_engine.so plugin
Recent web-system's architecture
     Fast, but poor
      Fast, but poor
      functionality
       functionality                 Web servers

                                                                                               The Internet




          Key-Value                                                          Web application
            store




             Slow, but rich
              Slow, but rich
              functionality
               functionality         RDBMS                                                     End Users


 Page 4                        LinuxCon Japan/Tokyo 2010 - Memcached getting secure
What is Memcached

▐ Memcached
           general purpose, high-performance, distributed memory caches
           Typically, used to backends of high-traffic web systems
           Much faster than RDBMS, but less functionalities


                                           PostgreSQL                                  Memcached
          Client Interface                         SQL                              memcached protocol
          Script support                            OK                                     OK
          Schemed Data                            good                                     bad
          Data Integrity                          good                                     bad
           Performance                 relatively worse                                   good
            Scaling-out                       not easy                                 much easier
                                      authentication &
             Security                                                                  less features
                                       access controls

 Page 5                      LinuxCon Japan/Tokyo 2010 - Memcached getting secure
Memcached from security perspective (1/2)
                    (3) Not run as root
                     (3) Not run as root
   Memcached




     (2) SASL auth,
      (2) SASL auth,                                                     (1) Firewalling,
        if needed
                       Web Apps                                           (1) Firewalling,
         if needed                                                            always
                                                                               always
                                       Web Server


▐ We have few options to keep Memcached secure :-(
          Should never allow to connect from external network
          SASL authentication
          Should never run as root
▐ Memcached Security; by Dustin Sallings
   http://dustin.github.com/2010/08/08/memcached-security.html

 Page 6                  LinuxCon Japan/Tokyo 2010 - Memcached getting secure
Memcached from security perspective (2/2)
                    Any items
                     Any items
   Memcached        accessible!
                     accessible!




            Perhaps,
             Perhaps,    Web Apps
          vulnerable?
           vulnerable?
                                         Web Server


▐ Our concern
          No protection from internal threats
          Buggy application turns an external threats
          into an internal threat.
          It means all the application must be
          FREE from BUGS and VULNERABILITIES!

 Page 7                    LinuxCon Japan/Tokyo 2010 - Memcached getting secure
Why server software applies access controls
▐ How reliable is the security feature?
           Consistency and Comprehensiveness
▐ Which is more preferable to apply access control?
           If each applications apply access control?
                   Some of them may not be right
                   Some of them may check nothing...
           Access control should be centralized.
                                                                                       Access
                                                                                       Control



                                                              Authentication
                       object
      object




                                                                                                 Applications
                                    Access
                                    Control                                            Access
          object
                                                                                       Control
                       object

                     Server Application
                                                                                       Access
                     (Object Manager)                                                  Control


 Page 8                         LinuxCon Japan/Tokyo 2010 - Memcached getting secure
More centralized access control (1/2)
           PostgreSQL
                                                                 Memcached

                     SE-PgSQL
          Table                                                             Item
                    Schema                                  Item

          Table                                                                         Item
                   Table                                          Item

                                                                         selinux_engine
                                                                                                                   Security
                                                                                                                    Security
                                                                                                                    Server
                                                                                                                     Server
             SQL      memcached
                       protocol
                                                            LSM
                                                                             File
                           System                                                                           Security
                             call                             File                    File                   Policy

                                                               Filesystem                                   SELinux

                                                                                             Linux kernel
 Page 9                        LinuxCon Japan/Tokyo 2010 - Memcached getting secure
More centralized access control (2/2)
                  a centralized
                 security server                                                          ie; we don't allow
                                                                                          classified process to write
       SELinux

                       Security                                                           an object being readable
                        Policy                                                            from unclassified process




                                                  Filesystem
                                                                           Networks

               classified                                                                              unclassified
             information                                                                               information

                                               memcached                      RDBMS

        domain of                                inter process                                          domain of
   classified processes                      communication channels                               unclassified processes
 Page 10                           LinuxCon Japan/Tokyo 2010 - Memcached getting secure
SELinux as a Security Server (1/3)

▐ Interactions with object managers
           Kernel subsystems do queries via LSM.
           Userspace applications do queries via libselinux.
           Both of them control user's requests according to the decision.
▐ Security context as a common identifier
     system_u:system_r:memcached_t:s0
     system_u:object_r:var_log_t:s0
           A short formatted text, independent from object classes.
▐ Security policy
           A massive set of access control rules.
           A rule describes a set of actions to be allowed on a pair of
           a security context of the subject (process being accessing) and
           a security context of the object being accessed.


 Page 11                   LinuxCon Japan/Tokyo 2010 - Memcached getting secure
SELinux as a Security Server (2/3)

▐ Case of Linux Kernel
           staff_u:staff_r:staff_t:s0                                        user_u:user_r:user_t:s0



                                   write(2)
                                    write(2)
                     read(2)
                      read(2)
 user process A                      Subject: user process B
                                    Subject: user_u:user_r:user_t:s0
                                              user_u:user_r:user_t:s0  Applications
                                Object: user_u:object_r:user_home_t:s0 Linux kernel
                                Object: user_u:object_r:user_home_t:s0
                                               Target class: file
                                                Target class: file


                           VFS                            LSM
                                                                                             Security
                                                                                              Policy
                                                                    file:{getattr read write ...}
                                                                     file:{getattr read write ...}
                                                                                             SELinux
                  File X                 File Y

 system_u:object_r:etc_t:s0                       user_u:object_r:user_home_t:s0

 Page 12                   LinuxCon Japan/Tokyo 2010 - Memcached getting secure
SELinux as a Security Server (3/3)

▐ Case of Memcached
           staff_u:staff_r:staff_t:s0                                      user_u:user_r:user_t:s0



                                     SET
                                      SET
                     GET
                      GET
 user process A                                           Subject: user_u:user_r:user_t:s0
                                                       userSubject:user_u:user_r:user_t:s0
                                                           process B                Applications
                                                       Object: user_u:object_r:user_item_t:s0
                                                       Object: user_u:object_r:user_item_t:s0
 Memcached                                                         Target class: kv_item Linux kernel
                                                                    Target class: kv_item




                                                                                libselinux
                  Protocol Parser
                                                                                             Security
                     selinux_engine.so                                                        Policy
                                                           kv_item:{read write ...}
                                                            kv_item:{read write ...}
                                                                                             SELinux
                Item X                Item Y

                                            user_u:object_r:user_item_t:s0
system_u:object_r:system_ro_item_t:s0
 Page 13                 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
1. Memcached and security
    Background
    Centralized security and SELinux

2. Getting Memcached secure
    Adjustment of security model
    Engine framework performing with libselinux
    The selinux_engine.so plugin
Needed features to be enhanced

▐ Memcached needs to get enhanced
      1. Facility to retrieve security context of client process
      2. Facility to assign security context on key-value item
      3. Facility to ask SELinux its access control decision

                                            query

system_u:system_r:user_webapp_t:s0                                                     system_u:object_r:memcached_item_t:s0
                                                                                        system_u:object_r:memcached_item_t:s0

                                                                                           Item

                                                     Protocol Parser

                                                                       Engine Module
      web application
                                                                                                Item
                                                                                                                  Security
                                                                                                                   Policy
                                                                                           Item
system_u:system_r:guest_webapp_t:s0                                                                               SELinux

  Page 15                    LinuxCon Japan/Tokyo 2010 - Memcached getting secure
Security context of the clients

▐ getpeercon(int sockfd, security_context_t *con)
           It allows to retrieve security context of the client process
           that connected to the server using sockfd.
           If UNIX domain socket, no configurations are necessary
           If TCP/IP socket, also need to set up labeled IPsec.
▐ Labeled IPsec
           It uses an enhanced version of key-exchange daemon
           that transfers peer security context during IKE exchanges.
           getpeercon(3) enables to retrieve the delivered one.
           For more details:
           Introduction to Labeled Networking on Linux (Paul Moore, HP)
           http://www.linuxfoundation.jp/jp_uploads/seminar20080709/paul_moore-r1.pdf




 Page 16                     LinuxCon Japan/Tokyo 2010 - Memcached getting secure
Security context of key/value item
  hash_item structure                                      mchunk_t.item

   uint32_t nbytes                                      uint16 flags
     uint16_t nkey                                    uint16_t keylen
    uint16_t iflag                                    uint32_t datalen               mchunk_t.label
                                                       uint32_t secid                 uint32_t secid
                                                                                    uint32_t refcount
           Key of item                                          Key of item
                                                                                      security context
                                                                                        in text form

       Value of item                                          Value of item




▐ SELinux needs key-value item to be labeled
           But original hash_item is not designed to store a security context.
▐ Revised data format that allows to point a certain security context
           Large number of objects tend to share small number of security contexts

 Page 17                     LinuxCon Japan/Tokyo 2010 - Memcached getting secure
memcached - storage engine interface (1/2)

▐ What is the storage engine interface?
           An upcoming feature in memcached v1.6.x
           It allows a plugin to provide its mechanism to manage key/value pair.
           Well designed protocol between the core and engine plugin.
            • Some plugins may provide persistent storage support.
            • Some plugins may provide access control.
                   :


                                                                                   xxx


                                                         storage engine
               memcached
                protocol                                                          plugin


                                                            interface
                                          Protocol
                                           Parser


                                                                                  selinux
                                                                                            SELinux
                                                                                  plugin

                                                        memcached
 Page 18                   LinuxCon Japan/Tokyo 2010 - Memcached getting secure
memcached - storage engine interface (2/2)

   typedef struct engine_interface_v1 {
           :
   /**
     * Retrieve an item.
     *
     * @param handle the engine handle
     * @param cookie The cookie provided by the frontend
     * @param item output variable that will receive the located item
     * @param key the key to look up
     * @param nkey the length of the key
     * @param vbucket the virtual bucket id
     *
     * @return ENGINE_SUCCESS if all goes well
     */
   ENGINE_ERROR_CODE (*get)(ENGINE_HANDLE* handle,
                             const void* cookie,
                             item** item,
                             const void* key,
                             const int nkey,
                             uint16_t vbucket);
           :
   }

 Page 19             LinuxCon Japan/Tokyo 2010 - Memcached getting secure
Flow-chart in GET command
                        Protocol
                         Parser

                     Storage Engine
                                                               selinux_get()
                        Interface

           GET xxx        ENGINE_KEY_ENOENT
                                                                Item exists?
                                                 No
                                                                                 decision
                                                     security_compute_av()


                              ENGINE_EACCESS                                       /selinux/access
                                                                   Allowed?
                                                 No

                                                                                            Security
                                                            Return the item                  Policy
                     Storage Engine
                        Interface                             ENGINE_SUCCESS            SELinux
   Client
 Application                                Memcached                                       Kernel
 Page 20                  LinuxCon Japan/Tokyo 2010 - Memcached getting secure
selinuxfs and libselinux (1/2)

 [kaigai@saba ~]$ ls /selinux
 access                context                                 load                   reject_unknown
 avc/                  create                                  member                 relabel
 booleans/             deny_unknown                            mls                    status
 checkreqprot          disable                                 null                   user
 class/                enforce                                 policy_capabilities/
 commit_pending_bools initial_contexts/                        policyvers


▐ selinuxfs
           A pseudo filesystem as an interface to applications
           Eg; write and read on /selinux/access
                        it asks selinux its access control decision
▐ libselinux
           A set of wrapper functions for selinuxfs and configuration files.
           Eg; security_getenforce()            read /selinux/enforce
           Userspace access vector cache


 Page 21                    LinuxCon Japan/Tokyo 2010 - Memcached getting secure
selinuxfs and libselinux (2/2)

extern int security_compute_av(const security_context_t scon,
                               const security_context_t tcon,
                               security_class_t tclass,
                               access_vector_t required,
                               struct av_decision *avd);

                                                                       It contains bitmask of
                                                                        It contains bitmask of
                                                                       allowed permissions.
                                                                        allowed permissions.
▐ security_compute_av
           scon       ... security context of the user process
           tcon       ... security context of the item to be referenced
           tclass ... code of object class
           required... an obsolete argument
           avd        ... result shall be set in this structure
           It writes scon, tcon and tclass to /selinux/access,
           then SELinux returns allowed actions on a pair of them.

 Page 22                    LinuxCon Japan/Tokyo 2010 - Memcached getting secure
Flow-chart in ADD command
                        Protocol
                         Parser                               selinux_allocate()                 default
                                                                                                 context

                     Storage Engine                  security_compute_create()
                        Interface

           ADD xxx                                          create a new item
                                                           with security context

                                                                                              /selinux/create
                                                                selinux_store()
                                                                                   decision
                       OPERATION_ADD
                                                         security_compute_av()         /selinux/access

                            ENGINE_EACCESS
                                                                      Allowed?
                                                 No
                                                                                               Security
                                                              link the new item
                                                                                                Policy
                                                                to btree-index
                     Storage Engine
                        Interface                  ENGINE_SUCCESS                              SELinux
   Client
 Application                                  Memcached                                        Kernel
 Page 23                    LinuxCon Japan/Tokyo 2010 - Memcached getting secure
Memcached - selinux engine

▐ To obtain the source code
     git clone git://github.com/trondn/memcached.git -b engine
     svn co http://sepgsql.googlecode.com/svn/trunk/memcached
▐ Features
           Mandatory access control with SELinux policy
           Using B+tree index
           Persistent storage support
▐ Future works
           Waiting for Memcached v1.6.x release :-)
           Pushing the package to Fedora project
           Scalability improvement
           Comprehensive statistical information
           Documentations


 Page 24                  LinuxCon Japan/Tokyo 2010 - Memcached getting secure
Userspace access vector cache (avc)
▐ security_compute_xxx() always invokes a system-call
           AVC enables to cache access control decisions recently used.
 Query
  Query                      avc_has_perms()                                                Memory
                                                                                             Memory
                                                                                           reference
                                                                                            reference
                                    validation check of
      Decision                                                                                          selinux_kernel_status
       Decision                      userspace cache
                                                                                                                    mmap(2)
                               still valid            invalid
                                                     reset avc cache

                                                                                                                /selinux/status
                                   lookup an avc
                               entry from the cache                                                             /selinux/access
    In heuristic,
     In heuristic,                                not found
                                   Found




   the rate to hit                                                                                              /selinux/create
    the rate to hit                              make an avc entry
    overs 99.9%
     overs 99.9%                                                                                  System
                                                                                                   System
                                                                                                    call
                                                                                                     call
                             check access permissions                                                              Security
                                                                                                                    Policy
                                    validation check of
                                                                                                                   SELinux
               still valid           userspace cache                               invalid
 Page 25                                 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
Benchmark

                               default
                                default                             selinux
                                                                     selinux

    IPsec(ESP)
     IPsec(ESP)
                                                       191,409
                                                        191,409

     IPsec(AH)
      IPsec(AH)

                                                           251,485
                                                            251,485
      No IPsec
       No IPsec


                  00          100000
                               100000         200000
                                               200000                              300000
                                                                                    300000
                          number of commands in 30sec
                           number of commands in 30sec

▐ Iteration of GET/SET mixture, 8threads-client, 4core server x 2, Gb-ether
▐ Less significant differences in same network environment
           default = no access control, selinux = mandatory access control
▐ Penalties in IPsec(AH) communication (~20%?)
 Page 26                    LinuxCon Japan/Tokyo 2010 - Memcached getting secure
Summary

▐ Why object managers apply access controls
           Access control should be centralized
            • Consistency
            • Coverage
           Server is better than applications, Kernel is better than servers.
▐ SELinux as a Security Server
           SELinux returns its access control decision,
           then object manager control accesses according to the decision.
           User and data object need to be identified with security context.
▐ Using libselinux
           Libselinux encapsulates raw accesses to selinuxfs.
           Userspace access vector cache reduces number of kernel invocations



 Page 27                   LinuxCon Japan/Tokyo 2010 - Memcached getting secure
Any Questions?
Thank you!

Weitere ähnliche Inhalte

Was ist angesagt?

Web sphere application server performance tuning workshop
Web sphere application server performance tuning workshopWeb sphere application server performance tuning workshop
Web sphere application server performance tuning workshopRohit Kelapure
 
Security in OSGi applications: Robust OSGi Platforms, secure Bundles
Security in OSGi applications: Robust OSGi Platforms, secure BundlesSecurity in OSGi applications: Robust OSGi Platforms, secure Bundles
Security in OSGi applications: Robust OSGi Platforms, secure BundlesKai Hackbarth
 
Building Secure OSGi Applications
Building Secure OSGi ApplicationsBuilding Secure OSGi Applications
Building Secure OSGi ApplicationsMarcel Offermans
 
Using Novell Sentinel Log Manager to Monitor Novell Applications
Using Novell Sentinel Log Manager to Monitor Novell ApplicationsUsing Novell Sentinel Log Manager to Monitor Novell Applications
Using Novell Sentinel Log Manager to Monitor Novell ApplicationsNovell
 
Configuration management: automating and rationalizing server setup with CFEn...
Configuration management: automating and rationalizing server setup with CFEn...Configuration management: automating and rationalizing server setup with CFEn...
Configuration management: automating and rationalizing server setup with CFEn...Jonathan Clarke
 
Cross-Build Injection attacks: how safe is your Java build?
Cross-Build Injection attacks: how safe is your Java build?Cross-Build Injection attacks: how safe is your Java build?
Cross-Build Injection attacks: how safe is your Java build?Sander Mak (@Sander_Mak)
 
State Of The Art - Part 3 Technical Spec
State Of The Art - Part 3 Technical SpecState Of The Art - Part 3 Technical Spec
State Of The Art - Part 3 Technical SpecPascal Cottereau
 
XS Japan 2008 Project Status English
XS Japan 2008 Project Status EnglishXS Japan 2008 Project Status English
XS Japan 2008 Project Status EnglishThe Linux Foundation
 
Security Best Practices For Hyper V And Server Virtualization
Security Best Practices For Hyper V And Server VirtualizationSecurity Best Practices For Hyper V And Server Virtualization
Security Best Practices For Hyper V And Server Virtualizationrsnarayanan
 
(ATS3-APP14) Troubleshooting Symyx Notebook client performance
(ATS3-APP14) Troubleshooting Symyx Notebook client performance(ATS3-APP14) Troubleshooting Symyx Notebook client performance
(ATS3-APP14) Troubleshooting Symyx Notebook client performanceBIOVIA
 
(ATS4-APP03) Top 10 things every Notebook administrator should know
(ATS4-APP03) Top 10 things every Notebook administrator should know(ATS4-APP03) Top 10 things every Notebook administrator should know
(ATS4-APP03) Top 10 things every Notebook administrator should knowBIOVIA
 
Oracle VM – the coolest virtualizator you’ve ever had
Oracle VM – the coolest virtualizator you’ve ever had Oracle VM – the coolest virtualizator you’ve ever had
Oracle VM – the coolest virtualizator you’ve ever had ORACLE USER GROUP ESTONIA
 
Aqualogic monitoring system datasheet
Aqualogic monitoring system datasheetAqualogic monitoring system datasheet
Aqualogic monitoring system datasheetChenna Keshavulu
 
Cisco VSG_Конкурс продуктов портала VirtualizationSecurityGroup.Ru
Cisco VSG_Конкурс продуктов портала VirtualizationSecurityGroup.RuCisco VSG_Конкурс продуктов портала VirtualizationSecurityGroup.Ru
Cisco VSG_Конкурс продуктов портала VirtualizationSecurityGroup.RuVirtSGR
 
2012 04-06-v2-tdp-1163-java e-evsspringshootout-final
2012 04-06-v2-tdp-1163-java e-evsspringshootout-final2012 04-06-v2-tdp-1163-java e-evsspringshootout-final
2012 04-06-v2-tdp-1163-java e-evsspringshootout-finalRohit Kelapure
 
Automating for Monitoring and Troubleshooting your Cisco IOS Network
Automating for Monitoring and Troubleshooting your Cisco IOS NetworkAutomating for Monitoring and Troubleshooting your Cisco IOS Network
Automating for Monitoring and Troubleshooting your Cisco IOS NetworkCisco Canada
 

Was ist angesagt? (19)

Web sphere application server performance tuning workshop
Web sphere application server performance tuning workshopWeb sphere application server performance tuning workshop
Web sphere application server performance tuning workshop
 
E Vm Virtualization
E Vm VirtualizationE Vm Virtualization
E Vm Virtualization
 
Security in OSGi applications: Robust OSGi Platforms, secure Bundles
Security in OSGi applications: Robust OSGi Platforms, secure BundlesSecurity in OSGi applications: Robust OSGi Platforms, secure Bundles
Security in OSGi applications: Robust OSGi Platforms, secure Bundles
 
Building Secure OSGi Applications
Building Secure OSGi ApplicationsBuilding Secure OSGi Applications
Building Secure OSGi Applications
 
Using Novell Sentinel Log Manager to Monitor Novell Applications
Using Novell Sentinel Log Manager to Monitor Novell ApplicationsUsing Novell Sentinel Log Manager to Monitor Novell Applications
Using Novell Sentinel Log Manager to Monitor Novell Applications
 
Configuration management: automating and rationalizing server setup with CFEn...
Configuration management: automating and rationalizing server setup with CFEn...Configuration management: automating and rationalizing server setup with CFEn...
Configuration management: automating and rationalizing server setup with CFEn...
 
XS Japan 2008 App Data English
XS Japan 2008 App Data EnglishXS Japan 2008 App Data English
XS Japan 2008 App Data English
 
Cross-Build Injection attacks: how safe is your Java build?
Cross-Build Injection attacks: how safe is your Java build?Cross-Build Injection attacks: how safe is your Java build?
Cross-Build Injection attacks: how safe is your Java build?
 
State Of The Art - Part 3 Technical Spec
State Of The Art - Part 3 Technical SpecState Of The Art - Part 3 Technical Spec
State Of The Art - Part 3 Technical Spec
 
XS Japan 2008 Project Status English
XS Japan 2008 Project Status EnglishXS Japan 2008 Project Status English
XS Japan 2008 Project Status English
 
Java security
Java securityJava security
Java security
 
Security Best Practices For Hyper V And Server Virtualization
Security Best Practices For Hyper V And Server VirtualizationSecurity Best Practices For Hyper V And Server Virtualization
Security Best Practices For Hyper V And Server Virtualization
 
(ATS3-APP14) Troubleshooting Symyx Notebook client performance
(ATS3-APP14) Troubleshooting Symyx Notebook client performance(ATS3-APP14) Troubleshooting Symyx Notebook client performance
(ATS3-APP14) Troubleshooting Symyx Notebook client performance
 
(ATS4-APP03) Top 10 things every Notebook administrator should know
(ATS4-APP03) Top 10 things every Notebook administrator should know(ATS4-APP03) Top 10 things every Notebook administrator should know
(ATS4-APP03) Top 10 things every Notebook administrator should know
 
Oracle VM – the coolest virtualizator you’ve ever had
Oracle VM – the coolest virtualizator you’ve ever had Oracle VM – the coolest virtualizator you’ve ever had
Oracle VM – the coolest virtualizator you’ve ever had
 
Aqualogic monitoring system datasheet
Aqualogic monitoring system datasheetAqualogic monitoring system datasheet
Aqualogic monitoring system datasheet
 
Cisco VSG_Конкурс продуктов портала VirtualizationSecurityGroup.Ru
Cisco VSG_Конкурс продуктов портала VirtualizationSecurityGroup.RuCisco VSG_Конкурс продуктов портала VirtualizationSecurityGroup.Ru
Cisco VSG_Конкурс продуктов портала VirtualizationSecurityGroup.Ru
 
2012 04-06-v2-tdp-1163-java e-evsspringshootout-final
2012 04-06-v2-tdp-1163-java e-evsspringshootout-final2012 04-06-v2-tdp-1163-java e-evsspringshootout-final
2012 04-06-v2-tdp-1163-java e-evsspringshootout-final
 
Automating for Monitoring and Troubleshooting your Cisco IOS Network
Automating for Monitoring and Troubleshooting your Cisco IOS NetworkAutomating for Monitoring and Troubleshooting your Cisco IOS Network
Automating for Monitoring and Troubleshooting your Cisco IOS Network
 

Ähnlich wie Getting Memcached Secure

LAPP/SELinux - A secure web application platform powered by SELinux
LAPP/SELinux - A secure web application platform powered by SELinuxLAPP/SELinux - A secure web application platform powered by SELinux
LAPP/SELinux - A secure web application platform powered by SELinuxKohei KaiGai
 
LCJ2010-KaiGai-Memcached
LCJ2010-KaiGai-MemcachedLCJ2010-KaiGai-Memcached
LCJ2010-KaiGai-MemcachedKohei KaiGai
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA
 
Operating the Hyperscale Cloud
Operating the Hyperscale CloudOperating the Hyperscale Cloud
Operating the Hyperscale CloudOpen Stack
 
Federal VMUG - March - Reflex VMC Overview
Federal VMUG - March - Reflex VMC OverviewFederal VMUG - March - Reflex VMC Overview
Federal VMUG - March - Reflex VMC Overviewlangonej
 
Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012
Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012
Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012CloudBees
 
Security on cloud storage and IaaS (NSC: Taiwan - JST: Japan workshop)
Security on cloud storage and IaaS (NSC: Taiwan - JST: Japan workshop)Security on cloud storage and IaaS (NSC: Taiwan - JST: Japan workshop)
Security on cloud storage and IaaS (NSC: Taiwan - JST: Japan workshop)Kuniyasu Suzaki
 
Project SpaceLock - Architecture & Design
Project SpaceLock - Architecture & DesignProject SpaceLock - Architecture & Design
Project SpaceLock - Architecture & DesignAbhishek Mishra
 
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanPlugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanRack Lin
 
AWS Summit 2011: Application Security Best Practices
AWS Summit 2011: Application Security Best PracticesAWS Summit 2011: Application Security Best Practices
AWS Summit 2011: Application Security Best PracticesAmazon Web Services
 
Ss Wrap Up Session 13 Aug
Ss Wrap Up Session 13 AugSs Wrap Up Session 13 Aug
Ss Wrap Up Session 13 AugWSO2
 
SOA Summer School: Best of SOA Summer School – Encore Session
SOA Summer School: Best of SOA Summer School – Encore Session SOA Summer School: Best of SOA Summer School – Encore Session
SOA Summer School: Best of SOA Summer School – Encore Session WSO2
 
Brief about Windows Azure Platform
Brief about Windows Azure Platform Brief about Windows Azure Platform
Brief about Windows Azure Platform K.Mohamed Faizal
 
Spring Roo Rev005
Spring Roo Rev005Spring Roo Rev005
Spring Roo Rev005Rich Helton
 
Wallix AdminBastion - Privileged User Management &amp; Access Control
Wallix AdminBastion - Privileged User Management &amp; Access ControlWallix AdminBastion - Privileged User Management &amp; Access Control
Wallix AdminBastion - Privileged User Management &amp; Access Controlzayedalji
 
BayThreat Why The Cloud Changes Everything
BayThreat Why The Cloud Changes EverythingBayThreat Why The Cloud Changes Everything
BayThreat Why The Cloud Changes EverythingCloudPassage
 
Successful PaaS and CI in the Cloud - EclipseCon 2012
Successful PaaS and CI in the Cloud - EclipseCon 2012Successful PaaS and CI in the Cloud - EclipseCon 2012
Successful PaaS and CI in the Cloud - EclipseCon 2012CloudBees
 
Monitoring Principles & z/VSE Monitoring Options
Monitoring Principles & z/VSE Monitoring OptionsMonitoring Principles & z/VSE Monitoring Options
Monitoring Principles & z/VSE Monitoring OptionsIBM India Smarter Computing
 
Ca today here and_now_martin_vajda
Ca today here and_now_martin_vajdaCa today here and_now_martin_vajda
Ca today here and_now_martin_vajdamvajda62
 

Ähnlich wie Getting Memcached Secure (20)

LAPP/SELinux - A secure web application platform powered by SELinux
LAPP/SELinux - A secure web application platform powered by SELinuxLAPP/SELinux - A secure web application platform powered by SELinux
LAPP/SELinux - A secure web application platform powered by SELinux
 
LCJ2010-KaiGai-Memcached
LCJ2010-KaiGai-MemcachedLCJ2010-KaiGai-Memcached
LCJ2010-KaiGai-Memcached
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case Study
 
Operating the Hyperscale Cloud
Operating the Hyperscale CloudOperating the Hyperscale Cloud
Operating the Hyperscale Cloud
 
Virtual classroom
Virtual classroomVirtual classroom
Virtual classroom
 
Federal VMUG - March - Reflex VMC Overview
Federal VMUG - March - Reflex VMC OverviewFederal VMUG - March - Reflex VMC Overview
Federal VMUG - March - Reflex VMC Overview
 
Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012
Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012
Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012
 
Security on cloud storage and IaaS (NSC: Taiwan - JST: Japan workshop)
Security on cloud storage and IaaS (NSC: Taiwan - JST: Japan workshop)Security on cloud storage and IaaS (NSC: Taiwan - JST: Japan workshop)
Security on cloud storage and IaaS (NSC: Taiwan - JST: Japan workshop)
 
Project SpaceLock - Architecture & Design
Project SpaceLock - Architecture & DesignProject SpaceLock - Architecture & Design
Project SpaceLock - Architecture & Design
 
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanPlugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
 
AWS Summit 2011: Application Security Best Practices
AWS Summit 2011: Application Security Best PracticesAWS Summit 2011: Application Security Best Practices
AWS Summit 2011: Application Security Best Practices
 
Ss Wrap Up Session 13 Aug
Ss Wrap Up Session 13 AugSs Wrap Up Session 13 Aug
Ss Wrap Up Session 13 Aug
 
SOA Summer School: Best of SOA Summer School – Encore Session
SOA Summer School: Best of SOA Summer School – Encore Session SOA Summer School: Best of SOA Summer School – Encore Session
SOA Summer School: Best of SOA Summer School – Encore Session
 
Brief about Windows Azure Platform
Brief about Windows Azure Platform Brief about Windows Azure Platform
Brief about Windows Azure Platform
 
Spring Roo Rev005
Spring Roo Rev005Spring Roo Rev005
Spring Roo Rev005
 
Wallix AdminBastion - Privileged User Management &amp; Access Control
Wallix AdminBastion - Privileged User Management &amp; Access ControlWallix AdminBastion - Privileged User Management &amp; Access Control
Wallix AdminBastion - Privileged User Management &amp; Access Control
 
BayThreat Why The Cloud Changes Everything
BayThreat Why The Cloud Changes EverythingBayThreat Why The Cloud Changes Everything
BayThreat Why The Cloud Changes Everything
 
Successful PaaS and CI in the Cloud - EclipseCon 2012
Successful PaaS and CI in the Cloud - EclipseCon 2012Successful PaaS and CI in the Cloud - EclipseCon 2012
Successful PaaS and CI in the Cloud - EclipseCon 2012
 
Monitoring Principles & z/VSE Monitoring Options
Monitoring Principles & z/VSE Monitoring OptionsMonitoring Principles & z/VSE Monitoring Options
Monitoring Principles & z/VSE Monitoring Options
 
Ca today here and_now_martin_vajda
Ca today here and_now_martin_vajdaCa today here and_now_martin_vajda
Ca today here and_now_martin_vajda
 

Mehr von Kohei KaiGai

20221116_DBTS_PGStrom_History
20221116_DBTS_PGStrom_History20221116_DBTS_PGStrom_History
20221116_DBTS_PGStrom_HistoryKohei KaiGai
 
20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_API20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_APIKohei KaiGai
 
20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrow20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrowKohei KaiGai
 
20210928_pgunconf_hll_count
20210928_pgunconf_hll_count20210928_pgunconf_hll_count
20210928_pgunconf_hll_countKohei KaiGai
 
20210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.020210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.0Kohei KaiGai
 
20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCacheKohei KaiGai
 
20210301_PGconf_Online_GPU_PostGIS_GiST_Index
20210301_PGconf_Online_GPU_PostGIS_GiST_Index20210301_PGconf_Online_GPU_PostGIS_GiST_Index
20210301_PGconf_Online_GPU_PostGIS_GiST_IndexKohei KaiGai
 
20201128_OSC_Fukuoka_Online_GPUPostGIS
20201128_OSC_Fukuoka_Online_GPUPostGIS20201128_OSC_Fukuoka_Online_GPUPostGIS
20201128_OSC_Fukuoka_Online_GPUPostGISKohei KaiGai
 
20201113_PGconf_Japan_GPU_PostGIS
20201113_PGconf_Japan_GPU_PostGIS20201113_PGconf_Japan_GPU_PostGIS
20201113_PGconf_Japan_GPU_PostGISKohei KaiGai
 
20201006_PGconf_Online_Large_Data_Processing
20201006_PGconf_Online_Large_Data_Processing20201006_PGconf_Online_Large_Data_Processing
20201006_PGconf_Online_Large_Data_ProcessingKohei KaiGai
 
20200828_OSCKyoto_Online
20200828_OSCKyoto_Online20200828_OSCKyoto_Online
20200828_OSCKyoto_OnlineKohei KaiGai
 
20200806_PGStrom_PostGIS_GstoreFdw
20200806_PGStrom_PostGIS_GstoreFdw20200806_PGStrom_PostGIS_GstoreFdw
20200806_PGStrom_PostGIS_GstoreFdwKohei KaiGai
 
20200424_Writable_Arrow_Fdw
20200424_Writable_Arrow_Fdw20200424_Writable_Arrow_Fdw
20200424_Writable_Arrow_FdwKohei KaiGai
 
20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_TokyoKohei KaiGai
 
20191115-PGconf.Japan
20191115-PGconf.Japan20191115-PGconf.Japan
20191115-PGconf.JapanKohei KaiGai
 
20190926_Try_RHEL8_NVMEoF_Beta
20190926_Try_RHEL8_NVMEoF_Beta20190926_Try_RHEL8_NVMEoF_Beta
20190926_Try_RHEL8_NVMEoF_BetaKohei KaiGai
 
20190925_DBTS_PGStrom
20190925_DBTS_PGStrom20190925_DBTS_PGStrom
20190925_DBTS_PGStromKohei KaiGai
 
20190909_PGconf.ASIA_KaiGai
20190909_PGconf.ASIA_KaiGai20190909_PGconf.ASIA_KaiGai
20190909_PGconf.ASIA_KaiGaiKohei KaiGai
 
20190516_DLC10_PGStrom
20190516_DLC10_PGStrom20190516_DLC10_PGStrom
20190516_DLC10_PGStromKohei KaiGai
 
20190418_PGStrom_on_ArrowFdw
20190418_PGStrom_on_ArrowFdw20190418_PGStrom_on_ArrowFdw
20190418_PGStrom_on_ArrowFdwKohei KaiGai
 

Mehr von Kohei KaiGai (20)

20221116_DBTS_PGStrom_History
20221116_DBTS_PGStrom_History20221116_DBTS_PGStrom_History
20221116_DBTS_PGStrom_History
 
20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_API20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_API
 
20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrow20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrow
 
20210928_pgunconf_hll_count
20210928_pgunconf_hll_count20210928_pgunconf_hll_count
20210928_pgunconf_hll_count
 
20210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.020210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.0
 
20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache
 
20210301_PGconf_Online_GPU_PostGIS_GiST_Index
20210301_PGconf_Online_GPU_PostGIS_GiST_Index20210301_PGconf_Online_GPU_PostGIS_GiST_Index
20210301_PGconf_Online_GPU_PostGIS_GiST_Index
 
20201128_OSC_Fukuoka_Online_GPUPostGIS
20201128_OSC_Fukuoka_Online_GPUPostGIS20201128_OSC_Fukuoka_Online_GPUPostGIS
20201128_OSC_Fukuoka_Online_GPUPostGIS
 
20201113_PGconf_Japan_GPU_PostGIS
20201113_PGconf_Japan_GPU_PostGIS20201113_PGconf_Japan_GPU_PostGIS
20201113_PGconf_Japan_GPU_PostGIS
 
20201006_PGconf_Online_Large_Data_Processing
20201006_PGconf_Online_Large_Data_Processing20201006_PGconf_Online_Large_Data_Processing
20201006_PGconf_Online_Large_Data_Processing
 
20200828_OSCKyoto_Online
20200828_OSCKyoto_Online20200828_OSCKyoto_Online
20200828_OSCKyoto_Online
 
20200806_PGStrom_PostGIS_GstoreFdw
20200806_PGStrom_PostGIS_GstoreFdw20200806_PGStrom_PostGIS_GstoreFdw
20200806_PGStrom_PostGIS_GstoreFdw
 
20200424_Writable_Arrow_Fdw
20200424_Writable_Arrow_Fdw20200424_Writable_Arrow_Fdw
20200424_Writable_Arrow_Fdw
 
20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo
 
20191115-PGconf.Japan
20191115-PGconf.Japan20191115-PGconf.Japan
20191115-PGconf.Japan
 
20190926_Try_RHEL8_NVMEoF_Beta
20190926_Try_RHEL8_NVMEoF_Beta20190926_Try_RHEL8_NVMEoF_Beta
20190926_Try_RHEL8_NVMEoF_Beta
 
20190925_DBTS_PGStrom
20190925_DBTS_PGStrom20190925_DBTS_PGStrom
20190925_DBTS_PGStrom
 
20190909_PGconf.ASIA_KaiGai
20190909_PGconf.ASIA_KaiGai20190909_PGconf.ASIA_KaiGai
20190909_PGconf.ASIA_KaiGai
 
20190516_DLC10_PGStrom
20190516_DLC10_PGStrom20190516_DLC10_PGStrom
20190516_DLC10_PGStrom
 
20190418_PGStrom_on_ArrowFdw
20190418_PGStrom_on_ArrowFdw20190418_PGStrom_on_ArrowFdw
20190418_PGStrom_on_ArrowFdw
 

Kürzlich hochgeladen

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
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
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 

Kürzlich hochgeladen (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
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...
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 

Getting Memcached Secure

  • 1. Getting Memcached Secure NEC OSS Promotion Center KaiGai Kohei <kaigai@ak.jp.nec.com>
  • 2. Self Introduction ▐ Name KaiGai Kohei ▐ Company NEC, OSS Promotion Center ▐ Works 7 years experiences of OSS development » SELinux » PostgreSQL » Memcached » Apache (mod_selinux) ▐ Memcached - selinux engine A memcached plugin to apply mandatory access control according to the SELinux policy. Page 2 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 3. 1. Memcached and security Background Centralized security and SELinux 2. Getting Memcached secure Adjustment of security model Engine framework performing with libselinux The selinux_engine.so plugin
  • 4. Recent web-system's architecture Fast, but poor Fast, but poor functionality functionality Web servers The Internet Key-Value Web application store Slow, but rich Slow, but rich functionality functionality RDBMS End Users Page 4 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 5. What is Memcached ▐ Memcached general purpose, high-performance, distributed memory caches Typically, used to backends of high-traffic web systems Much faster than RDBMS, but less functionalities PostgreSQL Memcached Client Interface SQL memcached protocol Script support OK OK Schemed Data good bad Data Integrity good bad Performance relatively worse good Scaling-out not easy much easier authentication & Security less features access controls Page 5 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 6. Memcached from security perspective (1/2) (3) Not run as root (3) Not run as root Memcached (2) SASL auth, (2) SASL auth, (1) Firewalling, if needed Web Apps (1) Firewalling, if needed always always Web Server ▐ We have few options to keep Memcached secure :-( Should never allow to connect from external network SASL authentication Should never run as root ▐ Memcached Security; by Dustin Sallings http://dustin.github.com/2010/08/08/memcached-security.html Page 6 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 7. Memcached from security perspective (2/2) Any items Any items Memcached accessible! accessible! Perhaps, Perhaps, Web Apps vulnerable? vulnerable? Web Server ▐ Our concern No protection from internal threats Buggy application turns an external threats into an internal threat. It means all the application must be FREE from BUGS and VULNERABILITIES! Page 7 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 8. Why server software applies access controls ▐ How reliable is the security feature? Consistency and Comprehensiveness ▐ Which is more preferable to apply access control? If each applications apply access control? Some of them may not be right Some of them may check nothing... Access control should be centralized. Access Control Authentication object object Applications Access Control Access object Control object Server Application Access (Object Manager) Control Page 8 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 9. More centralized access control (1/2) PostgreSQL Memcached SE-PgSQL Table Item Schema Item Table Item Table Item selinux_engine Security Security Server Server SQL memcached protocol LSM File System Security call File File Policy Filesystem SELinux Linux kernel Page 9 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 10. More centralized access control (2/2) a centralized security server ie; we don't allow classified process to write SELinux Security an object being readable Policy from unclassified process Filesystem Networks classified unclassified information information memcached RDBMS domain of inter process domain of classified processes communication channels unclassified processes Page 10 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 11. SELinux as a Security Server (1/3) ▐ Interactions with object managers Kernel subsystems do queries via LSM. Userspace applications do queries via libselinux. Both of them control user's requests according to the decision. ▐ Security context as a common identifier system_u:system_r:memcached_t:s0 system_u:object_r:var_log_t:s0 A short formatted text, independent from object classes. ▐ Security policy A massive set of access control rules. A rule describes a set of actions to be allowed on a pair of a security context of the subject (process being accessing) and a security context of the object being accessed. Page 11 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 12. SELinux as a Security Server (2/3) ▐ Case of Linux Kernel staff_u:staff_r:staff_t:s0 user_u:user_r:user_t:s0 write(2) write(2) read(2) read(2) user process A Subject: user process B Subject: user_u:user_r:user_t:s0 user_u:user_r:user_t:s0 Applications Object: user_u:object_r:user_home_t:s0 Linux kernel Object: user_u:object_r:user_home_t:s0 Target class: file Target class: file VFS LSM Security Policy file:{getattr read write ...} file:{getattr read write ...} SELinux File X File Y system_u:object_r:etc_t:s0 user_u:object_r:user_home_t:s0 Page 12 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 13. SELinux as a Security Server (3/3) ▐ Case of Memcached staff_u:staff_r:staff_t:s0 user_u:user_r:user_t:s0 SET SET GET GET user process A Subject: user_u:user_r:user_t:s0 userSubject:user_u:user_r:user_t:s0 process B Applications Object: user_u:object_r:user_item_t:s0 Object: user_u:object_r:user_item_t:s0 Memcached Target class: kv_item Linux kernel Target class: kv_item libselinux Protocol Parser Security selinux_engine.so Policy kv_item:{read write ...} kv_item:{read write ...} SELinux Item X Item Y user_u:object_r:user_item_t:s0 system_u:object_r:system_ro_item_t:s0 Page 13 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 14. 1. Memcached and security Background Centralized security and SELinux 2. Getting Memcached secure Adjustment of security model Engine framework performing with libselinux The selinux_engine.so plugin
  • 15. Needed features to be enhanced ▐ Memcached needs to get enhanced 1. Facility to retrieve security context of client process 2. Facility to assign security context on key-value item 3. Facility to ask SELinux its access control decision query system_u:system_r:user_webapp_t:s0 system_u:object_r:memcached_item_t:s0 system_u:object_r:memcached_item_t:s0 Item Protocol Parser Engine Module web application Item Security Policy Item system_u:system_r:guest_webapp_t:s0 SELinux Page 15 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 16. Security context of the clients ▐ getpeercon(int sockfd, security_context_t *con) It allows to retrieve security context of the client process that connected to the server using sockfd. If UNIX domain socket, no configurations are necessary If TCP/IP socket, also need to set up labeled IPsec. ▐ Labeled IPsec It uses an enhanced version of key-exchange daemon that transfers peer security context during IKE exchanges. getpeercon(3) enables to retrieve the delivered one. For more details: Introduction to Labeled Networking on Linux (Paul Moore, HP) http://www.linuxfoundation.jp/jp_uploads/seminar20080709/paul_moore-r1.pdf Page 16 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 17. Security context of key/value item hash_item structure mchunk_t.item uint32_t nbytes uint16 flags uint16_t nkey uint16_t keylen uint16_t iflag uint32_t datalen mchunk_t.label uint32_t secid uint32_t secid uint32_t refcount Key of item Key of item security context in text form Value of item Value of item ▐ SELinux needs key-value item to be labeled But original hash_item is not designed to store a security context. ▐ Revised data format that allows to point a certain security context Large number of objects tend to share small number of security contexts Page 17 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 18. memcached - storage engine interface (1/2) ▐ What is the storage engine interface? An upcoming feature in memcached v1.6.x It allows a plugin to provide its mechanism to manage key/value pair. Well designed protocol between the core and engine plugin. • Some plugins may provide persistent storage support. • Some plugins may provide access control. : xxx storage engine memcached protocol plugin interface Protocol Parser selinux SELinux plugin memcached Page 18 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 19. memcached - storage engine interface (2/2) typedef struct engine_interface_v1 { : /** * Retrieve an item. * * @param handle the engine handle * @param cookie The cookie provided by the frontend * @param item output variable that will receive the located item * @param key the key to look up * @param nkey the length of the key * @param vbucket the virtual bucket id * * @return ENGINE_SUCCESS if all goes well */ ENGINE_ERROR_CODE (*get)(ENGINE_HANDLE* handle, const void* cookie, item** item, const void* key, const int nkey, uint16_t vbucket); : } Page 19 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 20. Flow-chart in GET command Protocol Parser Storage Engine selinux_get() Interface GET xxx ENGINE_KEY_ENOENT Item exists? No decision security_compute_av() ENGINE_EACCESS /selinux/access Allowed? No Security Return the item Policy Storage Engine Interface ENGINE_SUCCESS SELinux Client Application Memcached Kernel Page 20 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 21. selinuxfs and libselinux (1/2) [kaigai@saba ~]$ ls /selinux access context load reject_unknown avc/ create member relabel booleans/ deny_unknown mls status checkreqprot disable null user class/ enforce policy_capabilities/ commit_pending_bools initial_contexts/ policyvers ▐ selinuxfs A pseudo filesystem as an interface to applications Eg; write and read on /selinux/access it asks selinux its access control decision ▐ libselinux A set of wrapper functions for selinuxfs and configuration files. Eg; security_getenforce() read /selinux/enforce Userspace access vector cache Page 21 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 22. selinuxfs and libselinux (2/2) extern int security_compute_av(const security_context_t scon, const security_context_t tcon, security_class_t tclass, access_vector_t required, struct av_decision *avd); It contains bitmask of It contains bitmask of allowed permissions. allowed permissions. ▐ security_compute_av scon ... security context of the user process tcon ... security context of the item to be referenced tclass ... code of object class required... an obsolete argument avd ... result shall be set in this structure It writes scon, tcon and tclass to /selinux/access, then SELinux returns allowed actions on a pair of them. Page 22 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 23. Flow-chart in ADD command Protocol Parser selinux_allocate() default context Storage Engine security_compute_create() Interface ADD xxx create a new item with security context /selinux/create selinux_store() decision OPERATION_ADD security_compute_av() /selinux/access ENGINE_EACCESS Allowed? No Security link the new item Policy to btree-index Storage Engine Interface ENGINE_SUCCESS SELinux Client Application Memcached Kernel Page 23 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 24. Memcached - selinux engine ▐ To obtain the source code git clone git://github.com/trondn/memcached.git -b engine svn co http://sepgsql.googlecode.com/svn/trunk/memcached ▐ Features Mandatory access control with SELinux policy Using B+tree index Persistent storage support ▐ Future works Waiting for Memcached v1.6.x release :-) Pushing the package to Fedora project Scalability improvement Comprehensive statistical information Documentations Page 24 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 25. Userspace access vector cache (avc) ▐ security_compute_xxx() always invokes a system-call AVC enables to cache access control decisions recently used. Query Query avc_has_perms() Memory Memory reference reference validation check of Decision selinux_kernel_status Decision userspace cache mmap(2) still valid invalid reset avc cache /selinux/status lookup an avc entry from the cache /selinux/access In heuristic, In heuristic, not found Found the rate to hit /selinux/create the rate to hit make an avc entry overs 99.9% overs 99.9% System System call call check access permissions Security Policy validation check of SELinux still valid userspace cache invalid Page 25 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 26. Benchmark default default selinux selinux IPsec(ESP) IPsec(ESP) 191,409 191,409 IPsec(AH) IPsec(AH) 251,485 251,485 No IPsec No IPsec 00 100000 100000 200000 200000 300000 300000 number of commands in 30sec number of commands in 30sec ▐ Iteration of GET/SET mixture, 8threads-client, 4core server x 2, Gb-ether ▐ Less significant differences in same network environment default = no access control, selinux = mandatory access control ▐ Penalties in IPsec(AH) communication (~20%?) Page 26 LinuxCon Japan/Tokyo 2010 - Memcached getting secure
  • 27. Summary ▐ Why object managers apply access controls Access control should be centralized • Consistency • Coverage Server is better than applications, Kernel is better than servers. ▐ SELinux as a Security Server SELinux returns its access control decision, then object manager control accesses according to the decision. User and data object need to be identified with security context. ▐ Using libselinux Libselinux encapsulates raw accesses to selinuxfs. Userspace access vector cache reduces number of kernel invocations Page 27 LinuxCon Japan/Tokyo 2010 - Memcached getting secure