Netskope named a Leader in the 2022 Gartner® Magic Quadrant™ for Security Service Edge. Get the Report.

  • Platform

    Unrivaled visibility and real-time data and threat protection on the world's largest security private cloud.

  • Products

    Netskope products are built on the Netskope Security Cloud.

Netskope delivers a modern cloud security stack, with unified capabilities for data and threat protection, plus secure private access.

Explore our platform
Birds eye view metropolitan city

Netskope Named a Leader in the 2022 Gartner Magic Quadrant™ for SSE Report

Get the report Go to Products Overview
Netskope gartner mq 2022 sse leader

Make the move to market-leading cloud security services with minimal latency and high reliability.

Learn more
Lighted highway through mountainside switchbacks

Prevent threats that often evade other security solutions using a single-pass SSE framework.

Learn more
Lighting storm over metropolitan area

Zero trust solutions for SSE and SASE deployments

Learn more
Boat driving through open sea

Netskope enables a safe, cloud-smart, and fast journey to adopt cloud services, apps, and public cloud infrastructure.

Learn more
Wind turbines along cliffside
  • Customer Success

    Secure your digital transformation journey and make the most of your cloud, web, and private applications.

  • Customer Support

    Proactive support and engagement to optimize your Netskope environment and accelerate your success.

  • Training and Certification

    Netskope training will help you become a cloud security expert.

Trust Netskope to help you address evolving threats, new risks, technology shifts, organizational and network changes, and new regulatory requirements.

Learn more
Woman smiling with glasses looking out window

We have qualified engineers worldwide, with diverse backgrounds in cloud security, networking, virtualization, content delivery, and software development, ready to give you timely, high-quality technical assistance.

Learn more
Bearded man wearing headset working on computer

Secure your digital transformation journey and make the most of your cloud, web, and private applications with Netskope training.

Learn more
Group of young professionals working
  • Resources

    Learn more about how Netskope can help you secure your journey to the cloud.

  • Blog

    Learn how Netskope enables security and networking transformation through security service edge (SSE).

  • Events & Workshops

    Stay ahead of the latest security trends and connect with your peers.

  • Security Defined

    Everything you need to know in our cybersecurity encyclopedia.

Security Visionaries Podcast

Bonus Episode: The Importance of Security Service Edge (SSE)

Play the podcast
Black man sitting in conference meeting

Read the latest on how Netskope can enable the Zero Trust and SASE journey through security service edge (SSE) capabilities.

Read the blog
Sunrise and cloudy sky

Netskope Hybrid Work

This webinar series highlights the impact of hybrid work on your business by securing your talent, apps, and data anytime and anywhere.

Register
Webinar Series: The impact of hybrid work on your business

What is Security Service Edge?

Explore the security side of SASE, the future of network and protection in the cloud.

Learn more
Four-way roundabout
  • Company

    We help you stay ahead of cloud, data, and network security challenges.

  • Why Netskope

    Cloud transformation and work from anywhere have changed how security needs to work.

  • Leadership

    Our leadership team is fiercely committed to doing everything it takes to make our customers successful.

  • Partners

    We partner with security leaders to help you secure your journey to the cloud.

Netskope enables the future of work.

Find out more
Curvy road through wooded area

Netskope is redefining cloud, data, and network security to help organizations apply Zero Trust principles to protect data.

Learn more
Switchback road atop a cliffside

Thinkers, builders, dreamers, innovators. Together, we deliver cutting-edge cloud security solutions to help our customers protect their data and people.

Meet our team
Group of hikers scaling a snowy mountain

Netskope’s partner-centric go-to-market strategy enables our partners to maximize their growth and profitability while transforming enterprise security.

Learn more
Group of diverse young professionals smiling
Blog Threat Labs A Real-World Look at AWS Best Practices: IAM Policies
May 19 2021

A Real-World Look at AWS Best Practices: IAM Policies

Introduction

Best practices for securing an AWS environment have been well-documented and generally accepted, such as AWS’s guidance. However, organizations may still find it challenging on how to begin applying this guidance to their specific environments.

  • Which controls should be applied out-of-the-box vs. customized?
  • What pitfalls exist in implementing the various controls or checks?
  • How do you prioritize remediation of the “sea of red” violations?

In this blog series, we’ll analyze anonymized data from Netskope customers that include security settings of 650,000 entities from 1,143 AWS accounts across several hundred organizations. We’ll look at the configuration from the perspective of the best practices, see what’s commonly occurring in the real world, and:

  • Discuss specific risk areas that should be prioritized
  • Identify underlying root causes and potential pitfalls
  • Focus on practical guidance for applying the Benchmark to your specific environment

This blog post focuses on IAM security controls related to IAM Policies. Based on the Netskope dataset analyzed, we will highlight four opportunities to improve security by making simple IAM changes:

  1. IAM Policies are over-privileged with 4% of the policies in use having full administrative privileges and more than 60% of these using the AWS AdministratorAccess role, which increases the potential impact from compromised credentials and increases the assets at risk.
  1. 1,401 (11.2%) of 12,478 IAM Users have inline policies, which leads to errors in policies because they are difficult to manage and maintain in a consistent manner.
  1. 5,886 (47%) of IAM Users have policies directly attached to the user, which also are difficult to manage and maintain.
  1. 769 (67.3%) accounts do not have the AWSSupportAccess policy attached to a role or user for incident response, which could slow down response if an incident occurs.

IAM Policy: overall, over-privileged, all over

“Power corrupts. Absolute power is kind of neat.”

— John F. Lehman, Jr.

The following five best practices related to IAM Policy were analyzed in this dataset, which contained 35,950 IAM Policies across all accounts:

#Best Practice# Violations%
1Ensure IAM policies that allow full "*:*" administrative privileges are not attached1,4114.2
2Ensure IAM Users Receive Permissions Only Through Groups (no inline)12,40111.2
3Ensure IAM Users Receive Permissions Only Through Groups (no direct attach)5,88647.2
4Ensure IAM instance roles are used for AWS resource access from instances34.03
5Ensure a support role has been created to manage incidents with AWS Support76967.3

1. Full Administrator Privileges

Background: Minimal privileges are a key security practice to prevent unauthorized access and to make escalation of privileges and lateral movement harder for malicious actors. Policies with overly broad privileges should not be created. In this case, overly broad is defined as all actions (*) for all resources (*) being allowed in a policy.

Data: 1,511 (4%) out of 35,950 policies have full administrative privileges with any action on any resource i.e. Action=*, Resource=*.

Analysis: 926 (61%) of the 1,511 have full admin privileges due to the direct use of the AWS AdministratorAccess policy. 

Controls:

  • Detection/Audit
  • Prevention/Mitigation
    • The recommendation is to create more granular and limited least-privilege policies and roles. Do not use the AWS AdministratorAccess policy, instead use more limited Administrator policies.

2. No Inline Policies and 3. No Direct Attachment of Policies to Users

Background: Policies should be attached to groups or roles, not directly to users. Similarly, inline policies should not be used. Both of these practices make the management of policies and permissions more error-prone and less repeatable. Inline policies are hard-coded policies that exist for only that IAM User and are difficult to track and update. Direct attachment of policies is hard to maintain across multiple users who require the same privileges.

Data:

  • 1,401 (11.2%) of 12,478 IAM Users have inline policies.
  • 5,886 (47%) of IAM Users have policies directly attached to the user. 

Analysis: 47% or almost half of IAM Users have policies directly attached, rather than through groups or roles. Over 11% of IAM Users have inline policies. Both of these practices are quite common but should be avoided. If inline policies are duplicated among users and need to be updated, then mistakes can occur during this process, leading to inconsistent policies. Similarly, for policies directly attached to users, if multiple users require the same policy updates, errors can occur since all of the specified users need to be modified. However, if the policies were attached to a group or role, only one modification would be needed at the group or role level.

Controls: 

  • Detection/Audit
    • Inline policies can be detected with the AWS Config Rule: iam-no-inline-policy-check. Alternatively, auditing of IAM Users and their 
  • Prevention/Mitigation
    • To remediate the situation, it is recommended to remove any directly attached policies or inline policies and replace them with managed policies attached to groups or roles, not users. Policies are more manageable and maintainable, reducing errors.

4. EC2 Instances Profiles

Background: EC2 instances can run with a specified profile and role, rather than the privileges of the user or service account used to launch the EC2 instance. The impact can be several-fold: users can accidentally run EC2 instances with broader privileges (the user’s privileges) increasing the risk should the EC2 instance be compromised, and it allows attackers to utilize EC2 instances for further actions should credentials be compromised. It is recommended to use instance profiles for all EC2 instances so that the runtime privileges of the EC2 instance are clear and explicit, and so that it is easier to implement minimal privileges.

Data: 34 (.03%) out of 112,323 total EC2 instances are not using instance profiles/roles.

Analysis: Only a very small number of EC2 instances do not have instance profiles/roles assigned. There is no reason not to remediate these and ensure a limited privilege instance profile/role is created and used for each EC2 instance.

Controls:

  • Detection/Audit
    • EC2 instances can be audited with
      aws ec2 describe-iam-instance-profile-associations
  • Prevention/Mitigation
    • The recommended practice is to ensure that every EC2 instance has an instance profile/role created and associated with it.

5. AWS Support Role

Background: It is recommended to create an IAM Role that allows authorized users to manage incidents with AWS Support. A built-in managed policy, AWSSupportAccess, should be attached to a role.

Data: Out of the 1,143 accounts in this dataset, 769 (67.3%) accounts do not have the AWSSupportAccess policy attached to a role or user for incident response. 

Analysis: The impact of this is during incident response. Likely, organizations work around this by using over-privileged accounts e.g. AdministratorAccess, to engage with AWS Support. It is recommended to remediate the situation and create an appropriate role with the AWSSupportAccess policy.

Controls:

  • Detection/Audit
    • The IAM Policies can be audited for inclusion of the AWSSupportAccess ARN and attachment to a role via CLI:
      aws iam list-policies --query "Policies[?PolicyName == 'AWSSupportAccess']"

      aws iam list-entities-for-policy --policy-arn arn:aws:iam::aws:policy/AWSSupportAccess

Conclusion

Many best practices have been codified but many AWS environments lag behind in implementing these best practices. Remediating the issues is straightforward for many of the security settings, and there exists specific prescriptive guidance on auditing and remediating your configurations in these areas, which can result in a large reduction in risk.

Here are some basic measures that can be done to address some of the common risk areas due to IAM configuration in your AWS environment:

  1. Creating IAM Policies and roles with only the minimum privileges necessary. 
  1. Inline policies should be replaced with managed roles that are centrally managed.
  1. IAM Policies should be attached to groups or roles, instead of users.
  1. A support role should be created with the AWSupportAcess policy so that incident response is optimized.

In upcoming blogs, we’ll explore other best practices and how individual organizations can apply these best practices to their specific environment.

Additionally, Netskope’s Public Cloud Security platform also can automate configuration checking of your AWS environment, implementing both compliance standards, as well as custom configuration checks.

Dataset and Methodology

Time Period: Data was sampled/analyzed from January 24, 2021. 

Source: The analysis presented in this blog post is based on anonymized usage data collected by the Netskope Security Cloud platform relating to a subset of Netskope customers with prior authorization.

Data Scope: The data included 1,143 AWS accounts and several hundred organizations. 

The data was composed of configuration settings across tens of thousands of AWS entities including IAM users, IAM policies, password policy, buckets, databases, CloudTrail logs, compute instances, and security groups.
Logic: The analysis followed the logic of core root account security checks found in best practices regarding AWS configuration settings with a few adjustments for the dataset and methodology. Some best practices might define “recent usage” for the root account as a last logged-in time occurring within the past 24 hours to determine whether the root account has been used recently. Because this dataset comes from a point-in-time snapshot, this was changed to within the past seven days prior to the audit date.

author image
About the author
Jenko has 15+ years of experience in research, product management, and engineering in cloud security, AV/AS, routers/appliances, threat intel, Windows security, vulnerability scanning and compliance. At Netskope, he researches new cloud attacks.
Jenko has 15+ years of experience in research, product management, and engineering in cloud security, AV/AS, routers/appliances, threat intel, Windows security, vulnerability scanning and compliance. At Netskope, he researches new cloud attacks.