goteleport.com Open in urlscan Pro
2606:4700::6812:717  Public Scan

Submitted URL: https://em.goteleport.com/ODE5LVdIVC00ODMAAAGOkZ3gV7xhts14w8ZMweS5EmSGs_BMGXYZTpGzxXVotSo4P7TWbs6oLbMnkCetrdbbmZ7UdMk=
Effective URL: https://goteleport.com/resources/books/identity-native-infrastructure-access-management/?mkt_tok=ODE5LVdIVC00ODMAAAGOkZ...
Submission: On October 03 via api from IL — Scanned from DE

Form analysis 2 forms found in the DOM

<form id="mktoForm_1483" class="teleport-gtuuot mktoForm mktoHasWidth mktoLayoutAbove" __bizdiag="196355680" __biza="W___" novalidate="novalidate" data-styles-ready="true">
  <style type="text/css">
    .mktoForm .mktoButtonWrap.mktoSimple .mktoButton {
      color: #fff;
      border: 1px solid #75ae4c;
      padding: 0.4em 1em;
      font-size: 1em;
      background-color: #99c47c;
      background-image: -webkit-gradient(linear, left top, left bottom, from(#99c47c), to(#75ae4c));
      background-image: -webkit-linear-gradient(top, #99c47c, #75ae4c);
      background-image: -moz-linear-gradient(top, #99c47c, #75ae4c);
      background-image: linear-gradient(to bottom, #99c47c, #75ae4c);
    }

    .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:hover {
      border: 1px solid #447f19;
    }

    .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:focus {
      outline: none;
      border: 1px solid #447f19;
    }

    .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:active {
      background-color: #75ae4c;
      background-image: -webkit-gradient(linear, left top, left bottom, from(#75ae4c), to(#99c47c));
      background-image: -webkit-linear-gradient(top, #75ae4c, #99c47c);
      background-image: -moz-linear-gradient(top, #75ae4c, #99c47c);
      background-image: linear-gradient(to bottom, #75ae4c, #99c47c);
    }
  </style>
  <div class="mktoFormRow">
    <fieldset class="mktoFormCol">
      <legend>Name</legend>
      <div class="mktoFormRow">
        <div class="mktoFieldDescriptor mktoFormCol">
          <div class="mktoOffset"></div>
          <div class="mktoFieldWrap mktoRequiredField"><label for="FirstName" id="LblFirstName" class="mktoLabel mktoHasWidth">
              <div class="mktoAsterix">*</div>First Name
            </label>
            <div class="mktoGutter mktoHasWidth"></div><input id="FirstName" name="FirstName" maxlength="255" aria-labelledby="LblFirstName InstructFirstName" type="text" class="mktoField mktoTextField mktoHasWidth mktoRequired"
              aria-required="true"><span id="InstructFirstName" tabindex="-1" class="mktoInstruction"></span>
            <div class="mktoClear"></div>
          </div>
          <div class="mktoClear"></div>
        </div>
        <div class="mktoClear"></div>
      </div>
      <div class="mktoFormRow">
        <div class="mktoFieldDescriptor mktoFormCol">
          <div class="mktoOffset"></div>
          <div class="mktoFieldWrap mktoRequiredField"><label for="LastName" id="LblLastName" class="mktoLabel mktoHasWidth">
              <div class="mktoAsterix">*</div>Last Name
            </label>
            <div class="mktoGutter mktoHasWidth"></div><input id="LastName" name="LastName" maxlength="255" aria-labelledby="LblLastName InstructLastName" type="text" class="mktoField mktoTextField mktoHasWidth mktoRequired"
              aria-required="true"><span id="InstructLastName" tabindex="-1" class="mktoInstruction"></span>
            <div class="mktoClear"></div>
          </div>
          <div class="mktoClear"></div>
        </div>
        <div class="mktoClear"></div>
      </div>
    </fieldset>
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow">
    <div class="mktoFieldDescriptor mktoFormCol">
      <div class="mktoOffset"></div>
      <div class="mktoFieldWrap mktoRequiredField"><label for="Email" id="LblEmail" class="mktoLabel mktoHasWidth">
          <div class="mktoAsterix">*</div>Email
        </label>
        <div class="mktoGutter mktoHasWidth"></div><input id="Email" name="Email" maxlength="255" aria-labelledby="LblEmail InstructEmail" type="email" class="mktoField mktoEmailField mktoHasWidth mktoRequired" aria-required="true"><span
          id="InstructEmail" tabindex="-1" class="mktoInstruction"></span>
        <div class="mktoClear"></div>
      </div>
      <div class="mktoClear"></div>
    </div>
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="UTM_Campaign__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="eg">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="UTM_Content__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="UTM_Medium__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="email,email">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="UTM_Source__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="oreilly-preview?utm_campaign=k8s,grace">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="UTM_Term__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="utm_ref__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="gaid__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="gclid__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="">
    <div class="mktoClear"></div>
  </div>
  <script src="https://www.google.com/recaptcha/api.js?onload=captchaCallback" type="text/javascript" async="async" defer="defer"></script>
  <div>
    <script type="text/javascript">
      var formId = 1483;
      var captchaCallback = function(a) {
        var b = document.getElementsByClassName("grecaptcha-badge");
        if (b.length > 0)
          for (var c = 0; c < b.length; c++) b[c].style.visibility = "hidden";
        if (a) {
          var d = this.MktoForms2.getForm(formId);
          d && d.setCaptchaValue(a)
        }
      };
    </script>
  </div>
  <div id="captcha" class="g-recaptcha" data-callback="captchaCallback" data-expired-callback="captchaExpired" data-sitekey="6LcV294bAAAAACt2Y7w1E6mqKeCfR2PPWPEEjOoS" data-size="invisible">
    <div class="grecaptcha-badge" data-style="bottomright"
      style="width: 256px; height: 60px; display: block; transition: right 0.3s ease 0s; position: fixed; bottom: 14px; right: -186px; box-shadow: gray 0px 0px 5px; border-radius: 2px; overflow: hidden; visibility: visible;">
      <div class="grecaptcha-logo"><iframe title="reCAPTCHA" width="256" height="60" role="presentation" name="a-6x15hjs7o6ts" frameborder="0" scrolling="no"
          sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-top-navigation allow-modals allow-popups-to-escape-sandbox"
          src="https://www.google.com/recaptcha/api2/anchor?ar=1&amp;k=6LcV294bAAAAACt2Y7w1E6mqKeCfR2PPWPEEjOoS&amp;co=aHR0cHM6Ly9nb3RlbGVwb3J0LmNvbTo0NDM.&amp;hl=de&amp;v=pxZcVU8Dk73FyvFvdCgp2MSG&amp;size=invisible&amp;cb=br2m5yw5i8ch"></iframe>
      </div>
      <div class="grecaptcha-error"></div><textarea id="g-recaptcha-response" name="g-recaptcha-response" class="g-recaptcha-response"
        style="width: 250px; height: 40px; border: 1px solid rgb(193, 193, 193); margin: 10px 25px; padding: 0px; resize: none; display: none;"></textarea>
    </div><iframe style="display: none;"></iframe>
  </div>
  <div class="mktoCaptchaDisclaimer">This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy" target="_blank">Privacy Policy</a> and
    <a href="https://policies.google.com/terms" target="_blank">Terms of Service</a> apply.</div>
  <div class="mktoButtonRow"><span class="mktoButtonWrap mktoSimple"><button type="submit" class="mktoButton">Download</button></span></div><input type="hidden" name="formid" class="mktoField mktoFieldDescriptor" value="1483"><input type="hidden"
    name="munchkinId" class="mktoField mktoFieldDescriptor" value="819-WHT-483">
</form>

<form class="teleport-gtuuot mktoForm mktoHasWidth mktoLayoutAbove" __bizdiag="-1461287091" __biza="W___" novalidate="novalidate"
  style="font-family: Lato; font-size: 13px; color: rgb(51, 51, 51); visibility: hidden; position: absolute; top: -500px; left: -1000px; width: 1600px;"></form>

Text Content

Teleport Connect 2023
Oct 25
San Francisco, CA
Register

Platform


PLATFORM

Why TeleportHow It Works


ACCESS CONTROL

SSHKubernetesDatabasesInternal WebappsWindowsAWS Console
Our Features
AssistSingle Sign OnJust In Time Access RequestsRole Based Access ControlAudit
and Session RecordingsDevice TrustPasswordless
Solutions


BY USE CASE

Privileged Access ManagementRole-Based Access Control for
MicroservicesDeveloper-friendly browserPasswordless Infrastructure Access


BY INDUSTRY

E-commerce & EntertainmentFinancial ServicesSoftware-as-a-service (SaaS)
Providers


BY CLOUD PROVIDER

Infrastructure Access for AWS


BY COMPLIANCE STANDARD

FedRAMPHIPAASOC 2
Resources


TRY TELEPORT

Teleport LabsTeleport TeamIntegrations
Community
Our CustomersGitHubTeleport Connect 2023
Resources
BlogEventsWebinarsPodcastsTech PapersLearn


SUPPORT

Support PortalCommunity SlackGitHub DiscussionsSystem Status
Featured Resource
Documentation
DocumentationTeleport ClientsHow It WorksTeleport LabsTeleport CommunityTeleport
Slack ChannelGitHub
Pricing

Downloads
Sign In


SIGN IN TO TELEPORT


Teleport Cloud LoginLogin to your Teleport Account

Dashboard LoginLegacy Login & Teleport Enterprise Downloads
Get Started


WHAT IS IDENTITY-NATIVE INFRASTRUCTURE ACCESS?



Identity-Native Infrastructure Access is the concept of linking access to an
identity. Instead of sharing passwords or other secrets, access is granted on an
individual's identity. Deployed by the world's largest tech companies, it's the
only way to securely scale access. So, how can you secure access to diverse
infrastructure components, from bare metal to ephemeral containers, consistently
and simply?

In this practical book, authors Ev Kontsevoy, Sakshyam Shah, and Peter Conrad
break this topic down into manageable pieces.

Name
*
First Name




*
Last Name





*
Email














This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of
Service apply.
Download



WHAT YOU WILL LEARN

Traditional secret-based credentials can't scale to meet the complexity and size
of cloud and on-premises infrastructure. Today's applications are spread across
a diverse range of clouds and colocation facilities, as well as on-prem data
centers. Each layer of this modern stack has its own attack vectors and
protocols to consider.

How can you secure access to diverse infrastructure components, from bare metal
to ephemeral containers, consistently and simply? In this practical book,
authors Ev Kontsevoy, Sakshyam Shah, and Peter Conrad break this topic down into
manageable pieces. You'll discover how different parts of the approach fit
together in a way that enables engineering teams to build more secure
applications without slowing down productivity.

With this book, you'll learn:

 * The four pillars of access: connectivity, authentication, authorization, and
   audit
 * Why every attack follows the same pattern, and how to make this threat
   impossible
 * How to implement identity-based access across your entire infrastructure with
   digital certificates
 * Why it's time for secret-based credentials to go away
 * How to securely connect to remote resources including servers, databases, K8s
   Pods, and internal applications such as Jenkins and GitLab
 * Authentication and authorization methods for gaining access to and permission
   for using protected resources


AUTHORS

EV KONTSEVOY

CEO, TELEPORT

SAKSHYAM SHAH

DEVELOPER RELATIONS ENGINEER, TELEPORT

PETER CONRAD

AUTHOR OF WHAT IS KUBEVIRT?


BOOK OUTLINE


CHAPTER 1: THE PILLARS OF ACCESS



In a modern DevOps-driven infrastructure management, access should be both
secure and scalable. To achieve such security and scalability, organizations
must move away from traditional secret-based access to identity-based access.
For an effective identity-based access, true context identity must be applied to
each stage of access.

This chapter introduces four core stages of access: connectivity,
authentication, authorization and audit, which we essentially term as the
Pillars of Access. We also introduce the importance of security versus
convenience and the foundation of identity-based access.


CHAPTER 2: IDENTITY



Traditional access control has always been based on possession of some form of
secrets, such as passwords, private keys etc. But since these forms of secrets
are vulnerable to human error, and are easy to steal, spoof, lose, or misuse,
secretless access based on true identity proposes a secure alternative.

But how can we derive true identity and use that for access? For humans, true
identity can be derived from biological factors (such as fingerprint, retina
etc). For machines, hardware with TPM can be used to store machine-specific
digital certificates, attested by manufacturers. This chapter dives into more
details about how these true identities can then be attested by a certifying
authority in a process called identity proofing, paving a way for identity-based
access.


CHAPTER 3: SECURE CONNECTIVITY



This chapter starts with a brief introduction to cryptography, symmetric and
asymmetric encryption and digital certificates, which are fundamental technology
that enables identity-based access. This chapter then introduces zero trust
approaches for secure connectivity.

Historically, network connectivity used to be synonymous with access. An
ethernet cable connecting the client's computer to the office network would
literally mean the client can “access” the network, and server hosted on that
network. Gradually, security champions started to add authentication and
encryption to a perimeter-defined network and VPN was born. VPN’s did a great
job to secure access to the network. But that’s an obsolete model which no
longer makes sense because:

 * The perimeter-based model worked by treating clients connecting from outside
   the perimeter to be insecure and clients inside the network to be secure.
   This model means that if an attacker would be able to breach the perimeter,
   then they would have an open pass to access and compromise the internal
   network.
 * Computing infrastructure itself is spread out between multiple data centers
   and cloud providers. There’s no single corporate network where perimeter can
   be easily defined. Shoehorning would only increase complexity while adding
   little value.
 * Furthermore, most of the infrastructure attacks target application layer,
   where a VPN based security can have a complete blind spot. Addressing these
   challenges, this chapter lays out techniques for modern zero trust
   connectivity.


CHAPTER 4: AUTHENTICATION



Traditional Secret-based authentication has two major security flaws:

 * Insecure by design: there’s no default security boundary, requires high
   entropy and sets of constraints in place (e.g. minimum character, special
   characters etc), requires careful (hash+salt) storage in the backend
 * Insecure in practice: depends on the user not writing them down on sticky
   notes, developer not pushing them in git commit, susceptible to phishing etc.

Besides security, there’s also an operational side of managing authentication,
i.e., scaling the authentication to several hundreds and thousands of clients on
demand and being able to authenticate properly both humans and bots. This
chapter evaluates different schemes and methods of authentication appropriate
for secure and scalable authentication.


CHAPTER 5: AUTHORIZATION



Authorization must be scalable, expressive and account for insider threats.
Access policy should be context driven, based on identity, roles, intent and
attributes rather than trust. This chapter explores the three evolutions in
access control: From simple access control models such as MAC, DAV, RBAC to
privileged access management to zero trust and identity-based authorization.
Finally we introduce core concepts and techniques on identity-based
authorization.


CHAPTER 6: AUDIT



A detailed audit log (who did what, when and how) is an important artifact that
is valuable to investigate a security incident. Real-time audit logging can even
help detect anomalies before an incident. But when it comes to access audit
logs, there’s a catch: when access control depends on secrets, and spoofable
identities, audit data can be meaningless.

This chapter goes into details on the basics of auditing with an emphasis on
identity-aware logging.


CHAPTER 7: SCALING ACCESS



The best form of access control is the one that lets us scale infrastructure
operation without compromising on security. At the end, an obtrusive security
may hinder engineering workflow, costing more than the assumed security incident
itself.

This chapter discusses how identity-native systems enable for scalable and
secure infrastructure access and lay out technical concepts to implement an
identity-native system.


CHAPTER 8: CALL TO ACTION



In the previous chapters, we’ve talked a lot about what we don’t want to allow:
human error, vulnerabilities, attacks, and threats. But the point of the book is
about access—letting people in, not shutting them out. We want people to be able
to work together easily.

This chapter will offer some parting words on security and convenience at scale,
the future of Trust, infrastructure as one big machine, and the future of
security threats.


CLIENTS

Trusted by leading organizations

 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 


 * PROTOCOLS
   
   * Teleport Overview
   * SSH
   * Kubernetes
   * Databases
   * Applications
   * Windows
   * Teleport Features
   * Teleport Pricing


 * DOCUMENTATION
   
   * Teleport Documentation
   * Download Teleport
   * How Teleport works
   * GitHub repository


 * LEARN
   
   * Why Teleport?
   * Teleport Learn
   * Blog
   * Customers
   * Resources
   * Events
   * What is SSH?
   * What is a Kubernetes cluster?


 * COMPANY
   
   * About us
   * Security
   * Careers
   * News
   * Partners
   * Status


 * GET IN TOUCH
   
   * (855) 818 9008
   * General inquiries
   * Customer support
   
   
   * CONNECT
     
     * Teleport Community
     * Slack
     * GitHub
     * Twitter
     * LinkedIn
     * YouTube

© 2023 Gravitational Inc.; all rights reserved.

 * Terms of Service
 * Website Terms of Use
 * Privacy
 * Job Applicant Privacy Policy