<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Cloudanix Inc</title>
    <description>The latest articles on DEV Community by Cloudanix Inc (@cloudanix).</description>
    <link>https://dev.to/cloudanix</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F3859%2F553e4cfc-6964-48df-94f3-6315e0045a4e.png</url>
      <title>DEV Community: Cloudanix Inc</title>
      <link>https://dev.to/cloudanix</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cloudanix"/>
    <language>en</language>
    <item>
      <title>My Experience Contributing To The Cartography Open Source Project</title>
      <dc:creator>Kedar Ghule</dc:creator>
      <pubDate>Tue, 04 May 2021 10:08:12 +0000</pubDate>
      <link>https://dev.to/cloudanix/my-experience-contributing-to-the-cartography-open-source-project-5ep9</link>
      <guid>https://dev.to/cloudanix/my-experience-contributing-to-the-cartography-open-source-project-5ep9</guid>
      <description>&lt;p&gt;Open-source contributions are a great way to help the tech community. They are also one of the best ways out there to learn and build your skills. Open-source software are publicly available source codes of a product that you can use and modify for free. Chromium, Mozilla Firefox, the Linux Operating system are some of the most popular open-source software. &lt;/p&gt;

&lt;p&gt;Recently, we at &lt;a href="https://www.cloudanix.com/"&gt;Cloudanix&lt;/a&gt; made open source contributions to the &lt;a href="https://github.com/lyft/cartography"&gt;Cartography project&lt;/a&gt; by Lyft. We contributed to the pre-existing AWS module by adding support for &lt;a href="https://github.com/lyft/cartography/pull/527"&gt;KMS&lt;/a&gt; and &lt;a href="https://github.com/lyft/cartography/pull/539"&gt;API gateway&lt;/a&gt;. Since the Cartography project did not have support for Microsoft Azure, we started from scratch to add that capability to Cartography. We added support for Azure services like &lt;a href="https://github.com/lyft/cartography/pull/573"&gt;CosmosDB&lt;/a&gt;, &lt;a href="https://github.com/lyft/cartography/pull/563"&gt;SQL&lt;/a&gt;, &lt;a href="https://github.com/lyft/cartography/pull/564"&gt;Storage&lt;/a&gt;, and &lt;a href="https://github.com/lyft/cartography/pull/554"&gt;Virtual Machines&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;After 6 pull requests and dozens of review comments, here is what we thought the benefits of contributing to open source are and what we learnt.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits Of Contributing to Open Source
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SD3khgVV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nfhf9ax3ixzpdu2z6h1p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SD3khgVV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nfhf9ax3ixzpdu2z6h1p.png" alt="benefits-of-open-source-contribution"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Improves Coding Skills&lt;/strong&gt;: From a personal point of view, I can most definitely say that my Python coding skills have improved drastically after working on the Cartography project. I have got the habit of writing docstrings for every function. I have learned to write valuable comments in the code wherever necessary, adhering to the PEP8 style and unit testing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exposed to new trends and treasures in technology&lt;/strong&gt;: Personally, before contributing to Cartography, I had no idea tools like that existed. Furthermore, I had never worked on anything related to AWS or Azure. After contributing to Cartography, I have started getting quite comfortable with these tools and more, like Terraform.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Networking and Peer Recognition&lt;/strong&gt;: Working on an open-source project provides recognition. Contributing to the same project often makes you recognizable in the community. This is very important in terms of your career and your learning curve.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;In-depth knowledge of the project&lt;/strong&gt;: You can make contributions like opening issues, adding fixes, adding features, and updating documentation. This will give you an in-depth knowledge of the project you are working on. So, suppose in the future, people ask questions about some functionality of that project on StackOverflow. In that case, you can be their go-to person.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Improving software on a user and business level&lt;/strong&gt;: I will talk thoroughly about this in the "Why We Chose The Above Modules to Contribute?" section.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Valuable experience in collaboration and teamwork&lt;/strong&gt;: Contributing to open source is a good crash course to collaboration in technology. You are working on a code written by someone else and trying to contribute to it. In this process, you will end up communicating with the original contributors of that project. Knowing what their expectations are, understanding the project's roadmaps, fixing open issues, and then communicating over Slack/Discord is an excellent step towards embedding a sense of teamwork in yourself.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How Did We Approach Contributing to Lyft's Cartography?
&lt;/h2&gt;

&lt;p&gt;So before we contributed to Lyft, we knew our contribution would be adding AWS support for KMS and API Gateway and adding Azure support for CosmosDB, SQL, Storage, and Virtual Machines. However, before we began writing the code for this, there were some steps that we took.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Learning about Source Control&lt;/strong&gt;: The first step to any open source contribution is to learn about version control systems. The majority of the open-source projects use a version control system. Version control systems are tools that help with merging new code into the project or the main repository. The Cartography repository is hosted on GitHub. So, in this case, we had to get a good command over GitHub. This included knowing operations like -

&lt;ol&gt;
&lt;li&gt;Forking the project,&lt;/li&gt;
&lt;li&gt;Making commits,&lt;/li&gt;
&lt;li&gt;Mastering markdown,&lt;/li&gt;
&lt;li&gt;Committing your code changes, and&lt;/li&gt;
&lt;li&gt;Opening pull requests.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Assessing My Skills&lt;/strong&gt;: Before moving ahead with the contribution, we read the Lyft Cartography project's code. This exercise was done to explore the skills we would need directly related to writing the code. The project needs you to have a strong command over the Python programming language as the entire codebase is in Python. Since we would be adding modules related to AWS and Azure cloud services, we needed a basic understanding of these cloud services. Furthermore, we had to get familiar with Python's AWS SDK documentation, known as &lt;a href="https://boto3.amazonaws.com/v1/documentation/api/latest/index.html"&gt;Boto3&lt;/a&gt;, and Azure documentation for &lt;a href="https://azuresdkdocs.blob.core.windows.net/%24web/python/azure-mgmt-cosmosdb/6.0.0/azure.mgmt.cosmosdb.html"&gt;CosmosDB&lt;/a&gt;, &lt;a href="https://azuresdkdocs.blob.core.windows.net/%24web/python/azure-mgmt-sql/1.0.0/azure.mgmt.sql.html"&gt;SQL&lt;/a&gt;, &lt;a href="https://azuresdkdocs.blob.core.windows.net/%24web/python/azure-mgmt-storage/16.0.0/index.html"&gt;Storage&lt;/a&gt;, and &lt;a href="https://docs.microsoft.com/en-us/python/api/azure-mgmt-compute/azure.mgmt.compute.computemanagementclient?view=azure-python"&gt;Virtual Machines&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Understanding the existing code&lt;/strong&gt;: Next, it was time for us to explore the existing codes. We used the AWS intel module codes as references to build the KMS and API Gateway modules. We preferred not to stray too far from the already existing code style and workflow so that all the AWS module codes are streamlined in a particular manner. This approach helped when we added the Azure module and support for Azure services like CosmosDB, SQL, Storage, and Virtual Machines.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Writing the documentation&lt;/strong&gt;: Contributing to open source doesn't just involve adding code. In our case, we were adding support for entire modules of the cloud services to the project. Hence we had to be comfortable with markdown and writing good and efficient documentation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Did We Choose The Above Modules to Contribute?
&lt;/h2&gt;

&lt;p&gt;Initially, we came across the Cartography project as users. While Cartography supported most of the services we needed, we needed Cartography's functionalities for AWS KMS and API Gateway and resources of Microsoft Azure's CosmosDB, SQL, Storage, and Virtual Machines. This is one of the key benefits of open-source. If we want to add new functionality as per our need to an already existing project, we can do so. Since Cartography is an open-source project, we get to contribute features that meet our business needs. At the same time, Cartography gets those features that other users can use. We assessed our business needs and concluded that we would like feature support for the services I mentioned earlier. Hence, we went ahead and contributed that to the Cartography project!&lt;/p&gt;

&lt;h2&gt;
  
  
  What Did I Learn?
&lt;/h2&gt;

&lt;p&gt;For me, the PRs I opened for Cartography were my first open-source contributions. The code reviews helped me tremendously to be a better developer.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Writing Clean and Readable Code&lt;/strong&gt;: My college assignments would always end up being spaghetti. It would not be very readable and barely clean. One of the things I had to adhere to while writing code for Cartography was the &lt;a href="https://www.python.org/dev/peps/pep-0008/"&gt;PEP8 style&lt;/a&gt;. Removing unnecessary spaces, adding trailing commas, not having more than 120 characters in one line of code, and so on. And while I started adhering to it, I could also see the benefits of it. It actually made my code readable - even for me. I found it easier to navigate through the code and be more efficient at writing and debugging the code in general. Another practice followed for the Cartography codes was writing type hints for every function. This is again one of the methods to make your code understandable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Writing Efficient Code&lt;/strong&gt;: In the Cartography code, I would gather the resources in one list and then iterate over them and ingest them into neo4j. Little did I know this was not the efficient way to do it. I got a code review by &lt;a href="https://github.com/achantavy"&gt;Alex Chantavy&lt;/a&gt; saying that I should re-write those parts of the code by using UNWIND for the list of resources inside the Cypher queries instead of looping through them. He further explained to me the reason behind this - "UNWIND makes it a lot faster and helps with potential memory issues." Another feedback from &lt;a href="https://github.com/ramonpetgrave64"&gt;Ramon Petgrave&lt;/a&gt; was using list comprehension rather than a list(map(...)). I had used list(map(...)) for the entirety of the code. And this is a big thing - for small codes, you don't care much about efficiency, but for big projects like Cartography, the code's efficiency is vital. I was not very well aware that list comprehension is a faster alternative to list(map(...)). This is one of the benefits of open source as well - you get constructive feedback on your style of code from the best in the industry, and you learn new things at the same time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Handling Exceptions&lt;/strong&gt;: Handling exceptions was something I was familiar with and a practice that I did follow while writing my Cartography codes. However, for bigger projects, I had to be specific about what the exception was. Handling exceptions in big projects like Cartography is very important. Ramon Petgrave's review of my Azure code made me realize the importance of being specific during exception handling.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Testing&lt;/strong&gt;: Lastly, writing tests for the code I wrote was a big task. I am not so familiar with testing. In college, we barely practiced test-driven development. However, I realized it is a necessity to do that in the real world. Writing integration tests for the code I wrote was a good way to assure myself that I am not breaking anything in the already existing codebase.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Lastly, I learned a lot while contributing to the Cartography open source project. Open source contribution really does give you a feeling of satisfaction, and I highly recommend you to contribute to open-source projects.&lt;/p&gt;

&lt;p&gt;A huge thank you to the entire team at Cloudanix for providing us this opportunity to contribute to open-source. Thanks are in order to my mentor - &lt;a href="https://github.com/mpurusottamc"&gt;Purusottom Mupunu&lt;/a&gt;, who contributed to this project with me by laying an initial foundation and then guiding me with my PRs and the thousands of questions I would bug him with. We also want to extend our sincere gratitude to Alex Chantavy and Ramon Petgrave. Their code reviews helped us become better developers than we were before we contributed to Cartography.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: This post was originally written by me and was published on Medium on the &lt;a href="https://medium.com/cloudanix/our-experience-contributing-to-the-cartography-open-source-project-bc66c04fcb3b"&gt;Cloudanix page&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>github</category>
      <category>aws</category>
      <category>azure</category>
    </item>
    <item>
      <title>What is GDPR Compliance?</title>
      <dc:creator>Kedar Ghule</dc:creator>
      <pubDate>Thu, 08 Apr 2021 06:07:13 +0000</pubDate>
      <link>https://dev.to/cloudanix/what-is-gdpr-compliance-1din</link>
      <guid>https://dev.to/cloudanix/what-is-gdpr-compliance-1din</guid>
      <description>&lt;p&gt;On the 25th of May 2018, there was a significant reform in Europe's digital privacy laws. After much preparation, the GDPR was enforced. The reform has since enabled Europe to be 'fit' for this digital age. The GDPR was adopted in 2016, and a two-year window was given to businesses to be GDPR compliant. The law replaces outdated data protection laws from the 1990s. So, you must be having a question. What is GDPR?&lt;/p&gt;




&lt;p&gt;In this blog post, I am covering the below topics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What is GDPR?&lt;/li&gt;
&lt;li&gt;Why does GDPR exist?&lt;/li&gt;
&lt;li&gt;What kind of data does the GDPR protect?&lt;/li&gt;
&lt;li&gt;Key Definitions &lt;/li&gt;
&lt;li&gt;Seven Principles of GDPR&lt;/li&gt;
&lt;li&gt;Rights of an Individual according to the GDPR&lt;/li&gt;
&lt;li&gt;Which companies does the GDPR affect?&lt;/li&gt;
&lt;li&gt;What are the penalties?&lt;/li&gt;
&lt;li&gt;How can Cloudanix help?&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What is GDPR?
&lt;/h2&gt;

&lt;p&gt;The GDPR can be considered as the world's most robust law on data protection. The General Data Protection Regulation (GDPR) 2016/679 is legislation that specifies the regulation on data privacy and protection in the European Union (EU) and the European Economic Area (EEA). The provisions of the GDPR are consistent across all 28 EU member states, which means every organization around the world which has a business in the European Union or handles data of EU residents should be GDPR compliant. &lt;/p&gt;

&lt;p&gt;The European Union says that the GDPR was designed to "harmonize" data privacy laws across all its member states and provide greater protection and rights to individuals. GDPR was also created to alter how businesses and other organizations can handle the information of their users. The law also slaps large fines and can cause significant reputational damage for those found in breach of the rules.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why does GDPR exist?
&lt;/h2&gt;

&lt;p&gt;The short answer to that question is the rising public concern over privacy. In general, Europe has had a history of strict rules on how companies can use EU residents' data. Before the digital age set in, the Data Protection Directive came into effect in the EU in 1995. The GDPR replaces this and builds on the outdated law to deal with technology's progress in recent decades. With the progress in technology, more data was produced, and there was a rising skepticism among people on how it was used and who had access to it. This skepticism only keeps rising after every high-profile data breach. &lt;/p&gt;

&lt;p&gt;According to the &lt;a href="https://www.rsa.com/content/dam/en/e-book/rsa-data-privacy-report.pdf"&gt;RSA Data Privacy &amp;amp; Security Report&lt;/a&gt;, for which RSA surveyed 7,500 consumers in France, Germany, Italy, the UK, and the US, 80% of consumers said lost banking, and financial data is a top concern. Furthermore, and specifically, lost security information (e.g., passwords) and identity information (e.g., passports or driving license) was cited as a significant concern among 76% of the respondents. What is even more important is that 62% of people mentioned that they would blame the company for a breach and not the hacker, while 72% of respondents from the US said that they would boycott a company in such a case. These statistics are enough for the GDPR to exist.&lt;/p&gt;




&lt;h2&gt;
  
  
  What kind of data does the GDPR protect?
&lt;/h2&gt;

&lt;p&gt;At the heart of GDPR is personal data privacy and protection. To be very specific, this is the information that allows a living person to be directly or indirectly identified from any available data. It can be obvious as a person's name or location data or something less apparent like an IP address, RFID tags, and cookie identifiers. This can be considered as personal data. &lt;/p&gt;

&lt;p&gt;There are also provisions in the GDPR for a few special categories of sensitive personal data given greater protection. This personal data includes information about racial and ethnic origin, political opinions, religious beliefs, biometric data, health information, sexual orientation data, and trade unions membership.&lt;/p&gt;

&lt;p&gt;Personal data is crucial under GDPR because it covers individuals, organizations, and companies that are either 'controllers' or 'processors.' I will cover these terms next.&lt;/p&gt;




&lt;h2&gt;
  
  
  Key Definitions
&lt;/h2&gt;

&lt;p&gt;The GDPR applies to 'controllers' and 'processors.' Their roles and responsibilities are specified in Chapter 4 of the GDPR, from Articles 24 to 43.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Controller: A controller is responsible for determining the purposes and means of processing personal data. They are the primary decision-makers who exercise overall control and are responsible for processing personal data. You are a controller if you do any or all of the following:

&lt;ul&gt;
&lt;li&gt;Collect or process personal data.&lt;/li&gt;
&lt;li&gt;Decide what personal data should be collected and how it should be processed.&lt;/li&gt;
&lt;li&gt;Decide which individuals to collect personal data about.&lt;/li&gt;
&lt;li&gt;Obtain a commercial gain or other benefits from the processing, except for any payment for another controller's services.&lt;/li&gt;
&lt;li&gt;Process the personal data because of a contract between you and the data subject.&lt;/li&gt;
&lt;li&gt;Data subjects are your employees.&lt;/li&gt;
&lt;li&gt;Have complete independence as to how the personal data is processed.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Processor: A processor is responsible for processing personal data on behalf of a controller. Processors act either on behalf of or on the instructions of the relevant controller. You are a processor if you do any or all of the following:

&lt;ul&gt;
&lt;li&gt;Are following instructions from someone else regarding the processing of personal data.&lt;/li&gt;
&lt;li&gt;Were given the personal data by a customer or a third party or told what data to collect.&lt;/li&gt;
&lt;li&gt;Do not decide to collect personal data or what personal data should be collected from individuals.&lt;/li&gt;
&lt;li&gt;Do not decide the lawful basis for the use of that data.&lt;/li&gt;
&lt;li&gt;Do not decide what purpose or purposes the data will be used for.&lt;/li&gt;
&lt;li&gt;Do not decide whether to disclose the data or to whom.&lt;/li&gt;
&lt;li&gt;Do not know how long you will retain the data.&lt;/li&gt;
&lt;li&gt;Are not interested in the result of the data.&lt;/li&gt;
&lt;li&gt;Make some decisions on how data is processed but implement these decisions under a contract with someone else.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A processor has some specific legal obligations as per the GDPR. For example, processors should maintain records of personal data and processing activities. They will have legal liability if you are responsible for a breach.&lt;/p&gt;

&lt;p&gt;Controllers have stricter obligations under GDPR than processors.&lt;/p&gt;




&lt;h2&gt;
  
  
  Seven Principles of GDPR
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Lawfulness, fairness, and transparency: Lawfulness includes identifying an appropriate lawful basis (or bases) for data processing. In case a business is processing special category data or criminal offense data, there are specific terms and conditions. Furthermore, nothing unlawful should be done with personal data. Fairness includes because how the processing may affect the individuals concerned. The business should handle people's data in ways they would reasonably expect or should be able to explain any unexpected processing. They should also not mislead people when they collect their data. Transparency ensures that the business is open and honest and complies with the transparency obligations of the right to be informed&lt;/li&gt;
&lt;li&gt;Purpose limitation: Businesses should identify their purposes for processing and document them. They should also include details of their purposes in their privacy information for individuals.&lt;/li&gt;
&lt;li&gt;Data minimization: Businesses must ensure the personal data they are processing is:
adequate – sufficient to properly fulfill their purpose;
relevant – has a rational link to that purpose; and
limited to what is necessary – they do not hold more than they need for that purpose.&lt;/li&gt;
&lt;li&gt;Accuracy:  The personal data should be accurate and up to date.&lt;/li&gt;
&lt;li&gt;Storage limitation: Personal data should not be kept for longer than needed. Businesses should think about and be able to justify how long they will keep personal data. This will depend on their purposes for holding the data. Businesses should also have a policy setting the standard retention periods wherever possible to comply with documentation requirements. Furthermore, they should periodically review the data they hold and erase or anonymize it when they no longer need it. Lastly, they can keep personal data for longer if they keep it for public interest archiving, scientific or historical research, or statistical purposes.&lt;/li&gt;
&lt;li&gt;Integrity and Confidentiality: Businesses must ensure that the data they have is protected and appropriate security measures are in place.&lt;/li&gt;
&lt;li&gt;Accountability: The accountability principle requires businesses to take up responsibility for their personal data and comply with other principles. They must have appropriate measures and records in place to be able to demonstrate their compliance.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Rights of an individual according to the GDPR
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_7fUZSe4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xa3n4nchgvrandcwu4ha.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_7fUZSe4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xa3n4nchgvrandcwu4ha.png" alt="GDPR Rights of An Individual"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Which companies does the GDPR affect?
&lt;/h2&gt;

&lt;p&gt;GDPR affects any company that stores, processes, or handles in any capacity, personal information about EU citizens. If your company falls in any of the below categories, you must be GDPR compliant. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Have a presence in an EU country.&lt;/li&gt;
&lt;li&gt;Do not have a presence in the EU, but process personal data of European residents.&lt;/li&gt;
&lt;li&gt;Have more than 250 employees.&lt;/li&gt;
&lt;li&gt;Have less than 250 employees but data-processing impacts data subjects' rights and freedoms and includes sensitive personal data. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In short, every company in the world should be GDPR compliant.&lt;/p&gt;




&lt;h2&gt;
  
  
  What are the penalties?
&lt;/h2&gt;

&lt;p&gt;In July 2019, &lt;a href="https://ico.org.uk/about-the-ico/news-and-events/news-and-blogs/2019/07/ico-announces-intention-to-fine-british-airways/"&gt;British Airways was fined €204,6 million by the ICO&lt;/a&gt; for violating article 31 of the GDPR. In September 2018, an incident occurred when the British Airways website diverted users' traffic to a hacker website, which resulted in hackers stealing the personal data of more than 500,000 customers. Other examples include &lt;a href="https://ico.org.uk/about-the-ico/news-and-events/news-and-blogs/2019/07/statement-intention-to-fine-marriott-international-inc-more-than-99-million-under-gdpr-for-data-breach/"&gt;Marriott International in July 2019&lt;/a&gt;, who were fined €110 million, and even &lt;a href="https://www.theverge.com/2019/1/21/18191591/google-gdpr-fine-50-million-euros-data-consent-cnil"&gt;Google, who were fined €50 million in January 2019&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;There are two levels of GDPR fines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the lower level is up to €10 million, or 2% of the worldwide annual revenue from the previous year, whichever is higher, and&lt;/li&gt;
&lt;li&gt;the upper level is twice that size or €20 million and 4% of the worldwide annual revenue.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  How can Cloudanix help?
&lt;/h2&gt;

&lt;p&gt;We, at &lt;a href="https://www.cloudanix.com/"&gt;Cloudanix&lt;/a&gt; have a variety of &lt;a href="https://www.cloudanix.com/recipelist"&gt;recipes&lt;/a&gt; for your cloud audit and remediation which implements rules so that you adhere to the &lt;a href="https://www.cloudanix.com/blog/a-definitive-list-of-various-compliance-standards-and-what-they-mean/"&gt;various compliance standards&lt;/a&gt;, one of them being GDPR.  To know more about how we help you to be GDPR compliant, check this &lt;a href="https://www.cloudanix.com/compliance/gdpr"&gt;link&lt;/a&gt;. &lt;/p&gt;




&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://ico.org.uk/for-organisations/guide-to-data-protection/guide-to-the-general-data-protection-regulation-gdpr/key-definitions/controllers-and-processors/"&gt;https://ico.org.uk/for-organisations/guide-to-data-protection/guide-to-the-general-data-protection-regulation-gdpr/key-definitions/controllers-and-processors/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>security</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Top 13 AWS EC2 Misconfigurations To Avoid in 2021</title>
      <dc:creator>Kedar Ghule</dc:creator>
      <pubDate>Thu, 01 Apr 2021 07:12:05 +0000</pubDate>
      <link>https://dev.to/cloudanix/top-13-aws-ec2-misconfigurations-to-avoid-in-2021-29il</link>
      <guid>https://dev.to/cloudanix/top-13-aws-ec2-misconfigurations-to-avoid-in-2021-29il</guid>
      <description>&lt;p&gt;In this blog post, we will take a look at the top 13 AWS EC2 misconfigurations that you should avoid. Let us brush up our knowledge on what AWS EC2 is first.&lt;/p&gt;




&lt;p&gt;We will be covering the below topics:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What is AWS EC2?&lt;/li&gt;
&lt;li&gt;The 13 Common AWS EC2 Misconfigurations&lt;/li&gt;
&lt;li&gt;How Can Cloudanix Help?&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  What is AWS EC2?
&lt;/h2&gt;

&lt;p&gt;Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides a secure and resizable compute capacity in the cloud. In other words, Amazon allows users to rent virtual computers (called EC2 instances) on which they can run their applications. This eliminates your need to invest in hardware resources as you can rely on these virtual servers for your storage and configure your security. The aim of AWS EC2 is to make web-scale distributed computing simpler for developers. The "pay-as-you-go" model of AWS EC2 makes it even more popular.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 13 Common AWS EC2 Misconfigurations
&lt;/h2&gt;

&lt;p&gt;With every good service and for it to be really secure, you need to take specific measures from your side too. Below are the top 13 common AWS EC2 Misconfigurations that will help you achieve security, efficiency, cost optimization, and adherence to various compliance standards.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Public Snapshots&lt;/li&gt;
&lt;li&gt;Non-public EC2 AMI&lt;/li&gt;
&lt;li&gt;Encrypted AMI&lt;/li&gt;
&lt;li&gt;Not using default VPC&lt;/li&gt;
&lt;li&gt;AMI Age&lt;/li&gt;
&lt;li&gt;Scheduled Events&lt;/li&gt;
&lt;li&gt;EC2 Instance Not In Public Subnet&lt;/li&gt;
&lt;li&gt;Unrestricted Netbios Access&lt;/li&gt;
&lt;li&gt;Unrestricted Outbound Access&lt;/li&gt;
&lt;li&gt;EC2 Reserved Instance Payment Pending&lt;/li&gt;
&lt;li&gt;EC2 IAM Roles&lt;/li&gt;
&lt;li&gt;Unrestricted CIFS Access&lt;/li&gt;
&lt;li&gt;EC2 Reserved Instance Payment Failed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let us take a look at them one by one in detail.&lt;/p&gt;

&lt;h3&gt;
  
  
  Public Snapshots
&lt;/h3&gt;

&lt;p&gt;The very first EC2 misconfigurations you should be avoiding is making your snapshots public. Ensure that your EC2 instance snapshots are not publicly accessible. Having public snapshots can expose your personal and sensitive information, thereby violating compliance standards like &lt;a href="https://www.cloudanix.com/blog/what-is-gdpr-compliance/"&gt;GDPR&lt;/a&gt;, &lt;a href="https://www.cloudanix.com/blog/what-is-the-difference-between-nist-cis-sans-20-iso-27001-compliance-standards/"&gt;NIST&lt;/a&gt;, and &lt;a href="https://www.cloudanix.com/blog/a-quick-introduction-to-pci-compliance-and-key-aspects-to-know/"&gt;PCI DSS&lt;/a&gt;. Violating these compliance standards can result in hefty fines and litigation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Non-public EC2 AMI
&lt;/h3&gt;

&lt;p&gt;The next most common EC2 misconfiguration is publicly sharing your Amazon Machine Images (AMIs) with other AWS accounts. AWS AMIs should not be shared publicly with the other AWS accounts to prevent exposing sensitive data. It is a requirement for NIST, &lt;a href="https://www.cloudanix.com/blog/a-quick-introduction-to-apra-compliance-and-how-it-affects-your-cloud-hosted-applications/"&gt;ARPA&lt;/a&gt;, MAS compliance standards.&lt;/p&gt;

&lt;h3&gt;
  
  
  Encrypted AMI
&lt;/h3&gt;

&lt;p&gt;Talking about AMIs, having non-encrypted AMIs is another misconfiguration. When dealing with sensitive data that is crucial to your business, encrypting AMIs is necessary to protect your data from attackers. Amazon Machine Images (AMIs) should be encrypted to fulfill compliance requirements for data-at-rest encryption. Compliance standards required for this are NIST, PCI, ARPA, MAS, &lt;a href="https://www.cloudanix.com/blog/a-quick-introduction-to-hipaa-compliance-for-a-busy-cloud-user/"&gt;HIPAA&lt;/a&gt;, GDPR.&lt;/p&gt;

&lt;h3&gt;
  
  
  Not using default VPC
&lt;/h3&gt;

&lt;p&gt;Using a default VPC is a misconfiguration you should avoid. It is recommended not to using the default VPC. Compliance with this policy is also required for APRA, MAS, NIST.&lt;/p&gt;

&lt;h3&gt;
  
  
  AMI Age
&lt;/h3&gt;

&lt;p&gt;Your AMI should not be old than a given number of days. This value can be as per your convenience; however, we recommend not having an AMI older than 180 days. Using up-to-date AMIs ensures that your EC2 instances deployed are secure and reliable. Overcoming this misconfiguration is one step towards achieving NIST, APRA, and MAS compliance.&lt;/p&gt;

&lt;h3&gt;
  
  
  Scheduled Events
&lt;/h3&gt;

&lt;p&gt;Not taking any action on the AWS EC2 scheduled events result in unexpected downtimes that further results in low availability and reliability. You should take the necessary steps on EC2 instances that are scheduled for retirement and/or maintenance. &lt;/p&gt;

&lt;h3&gt;
  
  
  EC2 Instance Not In Public Subnet
&lt;/h3&gt;

&lt;p&gt;Backend instances should not be running in public subnets. This will help you maintain security. Backend instances are EC2 instances that should run in a private subnet (i.e., behind a NAT gateway). Backend instances do not require direct access to the public internet, such as databases, API, or caching servers. &lt;/p&gt;

&lt;h3&gt;
  
  
  Unrestricted Netbios Access
&lt;/h3&gt;

&lt;p&gt;No AWS EC2 security group should allow unrestricted inbound access to TCP port 139 and UDP ports 137 and 138 (NetBIOS). Failure to resolve this misconfiguration can result in devastating consequences like Denial of Service (DoS) attacks, man-in-the-middle (MITM) attacks, and data breaches. Furthermore, having this misconfiguration violates a host of compliance standards like - PCI, APRA, MAS, NIST, SOC2.&lt;/p&gt;

&lt;h3&gt;
  
  
  Unrestricted Outbound Access
&lt;/h3&gt;

&lt;p&gt;EC2 security groups should not allow unrestricted outbound/egress access. The entity implements logical access security software, infrastructure, and architectures over protected information assets to protect them from security events to meet the entity's objectives.&lt;/p&gt;

&lt;h3&gt;
  
  
  EC2 Reserved Instance Payment Pending
&lt;/h3&gt;

&lt;p&gt;Ensuring that none of your AWS EC2 Reserved Instance purchases have a pending status helps you implement cost optimization. Furthermore, it also helps you comply with APRA, MAS, and AWAF.&lt;/p&gt;

&lt;h3&gt;
  
  
  EC2 IAM Roles
&lt;/h3&gt;

&lt;p&gt;IAM Roles/Instance profiles should be used instead of IAM Access Keys to appropriately grant access permissions to any application that performs AWS API requests running on your EC2 instances.&lt;/p&gt;

&lt;h3&gt;
  
  
  Unrestricted CIFS Access
&lt;/h3&gt;

&lt;p&gt;No AWS EC2 security group should allow unrestricted inbound access to TCP port 445 and (CIFS). Failure to resolve this misconfiguration can result in devastating consequences like Denial of Service (DoS) attacks, man-in-the-middle (MITM) attacks, and data breaches. Furthermore, having this misconfiguration violates a host of compliance standards like - PCI, APRA, MAS, NIST.&lt;/p&gt;

&lt;h3&gt;
  
  
  EC2 Reserved Instance Payment Failed
&lt;/h3&gt;

&lt;p&gt;Ensuring that none of your AWS EC2 Reserved Instance purchases have failed helps you implement cost optimization. Furthermore, it also helps you comply with APRA, MAS, and AWAF.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Can Cloudanix Help?
&lt;/h2&gt;

&lt;p&gt;EC2 Misconfigurations issues are not new. It is the largest issue faced by organizations for years. It is essential to understand what they are and why acting on them immediately is necessary. &lt;a href="https://www.cloudanix.com/"&gt;Cloudanix&lt;/a&gt; provides you with an &lt;a href="https://www.cloudanix.com/recipelist/aws/ec2monitoring"&gt;EC2 recipe&lt;/a&gt; that helps audits your AWS account for these misconfigurations and more! We also help you remediate these misconfigurations in an automated way! You can sign up for a free trial &lt;a href="https://console.cloudanix.com/users/sign_up"&gt;here&lt;/a&gt; today!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>cloudskills</category>
      <category>cybersecurity</category>
    </item>
  </channel>
</rss>
