<?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: Muhammad Asim Khaskheli</title>
    <description>The latest articles on DEV Community by Muhammad Asim Khaskheli (@asimdev2000).</description>
    <link>https://dev.to/asimdev2000</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%2Fuser%2Fprofile_image%2F450387%2F58c3bfa0-6289-4e9d-960c-615e5731570d.jpeg</url>
      <title>DEV Community: Muhammad Asim Khaskheli</title>
      <link>https://dev.to/asimdev2000</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/asimdev2000"/>
    <language>en</language>
    <item>
      <title>Cracking Git with GitKraken</title>
      <dc:creator>Muhammad Asim Khaskheli</dc:creator>
      <pubDate>Sat, 28 Nov 2020 13:30:37 +0000</pubDate>
      <link>https://dev.to/asimdev2000/cracking-git-with-gitkraken-2pm6</link>
      <guid>https://dev.to/asimdev2000/cracking-git-with-gitkraken-2pm6</guid>
      <description>&lt;h3&gt;
  
  
  &lt;strong&gt;INTRODUCTION:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Software Development in teams has always been a very difficult task. Not because, it forces introverts to communicate with people but because it is difficult to keep track of changes in the file system. Small projects don’t go hard on us but large projects become a headache if not properly managed. &lt;br&gt;
Suppose you are working on a large project. It is going to be very difficult for you to keep a track of the changes you have done in the process because in large projects not only the changes matter but when those changes were made also matters. Especially when you are working in a team, this problem is complexified. Because every user will be making changes so it will be difficult for you to identify which user has changed which things and when?&lt;/p&gt;

&lt;h4&gt;
  
  
  Let take an example :
&lt;/h4&gt;

&lt;p&gt;Suppose, I worked on a file, gave it to somebody, and then he made some changes, and then he gave it back to me. After some days we will eventually lose the track of changes because we want to know when did a certain change happen and which user did that particular change. There will be no evidence that this change has been done by a certain user.&lt;/p&gt;

&lt;h4&gt;
  
  
  What to do then?
&lt;/h4&gt;

&lt;p&gt;To resolve this big issue, version control tools are developed to help users keep a track of changes in the file system.&lt;br&gt;
Some of the popular version control tools are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Git&lt;/li&gt;
&lt;li&gt;SVN&lt;/li&gt;
&lt;li&gt;Mercurial&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Version Control and Software Industry:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The use of version control is not just concentrated on Software development. However, in this era, it is tightly coupled with the software development industry. Because, version control provides high flexibility to developers in which they can keep track of changes, roll back to older versions as well as keep a track of their progress. Plus, the project manager also knows what’s happening and there is always evidence of events occurred. &lt;/p&gt;

&lt;p&gt;In the contemporary age of “Paced Development” and “Work From Home” is being encouraged, you cannot just comprehend the paramount importance version control has got in the industry. Like, you can’t just expect that you are going to be a good developer without knowing any version control tool. Like it’s the basic need of the industry.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fct08gp6tua7vmj9956lb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fct08gp6tua7vmj9956lb.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  GITTN' WITH GITKRAKEN:
&lt;/h3&gt;

&lt;p&gt;Git comes as a lifesaver version control tool to manage projects. But with that comes another problem of being uncomfortable with the terminal as people are more comfortable when they can visualize what is going on. To resolve this very concern of users, Axasoft released GitKraken that is a tool in which you can visualize everything from staging your files to resolving a merge conflict, everything comes in handy.  &lt;/p&gt;

&lt;p&gt;So, let’s dive in to see what GitKraken is and what edge does it gives as compared to other GUI clients.&lt;/p&gt;

&lt;h3&gt;
  
  
  More than Just a GUI Client:
&lt;/h3&gt;

&lt;p&gt;GitKraken might seem to be just a GUI client to facilitate users get rid of terminal that is often hard to understand but the reality is a bit different, GitKraken gives you the following three main features:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;An Appealing and Intuitive Interface&lt;/li&gt;
&lt;li&gt;GitKraken Boards&lt;/li&gt;
&lt;li&gt;GitKraken Timelines&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  1. AN APPEALING AND INTUITIVE INTERFACE:
&lt;/h4&gt;

&lt;p&gt;GitKraken comes with a clean and sleek design with everything you need as a developer right on your screen. The toolbar contains almost everything a user has to type on the terminal. The very intuitive interface allows a user to track code changes, revisions, and commits to avoid any disruption in the development flow. Furthermore, all the git actions are performed via drag and drop or using the context menu.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fej5briacl32w1hha23v8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fej5briacl32w1hha23v8.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Easing The Pain of Merging Conflicts:
&lt;/h4&gt;

&lt;p&gt;The branching and merging feature in Gitkraken comes in very handy as it allows us to use interactive rebase mode that gives more control and flexibility to the user. Furthermore, We can quickly open conflicts in one of the many merge tools that are available or use the built-in merge tool to resolve the conflicts.&lt;/p&gt;

&lt;h4&gt;
  
  
  Built-in Code Editor:
&lt;/h4&gt;

&lt;p&gt;As, its previously mentioned, GitKraken is not just a GUI client for git but it’s more than that. So Axasoft has provided users with a built-in Code editor in GitKraken to develop the applications right away. The integrated code editor contains functionalities like syntax highlighting, file mini-map, find and replace and comes with three different views including Hunk, Inline, and Split Diff View. Each of these views can be used in different scenarios and gives the developer high flexibility to understand and compare the code. &lt;/p&gt;

&lt;h4&gt;
  
  
  Git Hosting Integrations:
&lt;/h4&gt;

&lt;p&gt;It is one of the features that make a user stick to this particular software. Git Hosting Integration in GitKraken allows us to integrate repositories on GitHub, GitLab, BitBucket, and Azure DevOps. This feature helps the user to easily add and manage remote repositories, generate and configure SSH keys and do everything right from just one application i.e GitKraken.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2. GITKRAKEN BOARDS:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;“GitKraken Boards” is the issue tracking integration in GitKraen.It helps the developers to add issues or ToDos on the board and assign them to different users. The board is visible to all the users that are invited on the control, generally all developers working on that particular project. Big Projects often go out of hand, however, this integration helps the developers keep a track of the project and a record of what is to be done. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fgzvsbiy2rpoa7lv7ti9a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fgzvsbiy2rpoa7lv7ti9a.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;3. GITKRAKEN TIMELINES:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;“GitKraken Timeline” is a milestone tracking integration that helps the developers (Mainly Project Manager) to see major milestones on a continuous line that represents time. This integration is one of the most important ones when it comes to handling large projects as it allows us to track progress and tally it with the documentation at the same time. The Project Manager usually needs to visualize the upcoming major milestones for the completion of projects and GitKraken Timeline provides exactly what they need. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F3ean3sgh171v95hajelp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F3ean3sgh171v95hajelp.png" alt="Alt Text"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Conclusion:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;There are GUI Clients available for Git that help the users to get rid of the terminal but GitKraken isn’t build to ease that issue but helps the developers to build a project in a better way with maximum efficiency. That’s why I highly recommend using this software to manage your projects!&lt;/p&gt;

</description>
      <category>git</category>
      <category>github</category>
      <category>versioncontrol</category>
      <category>gitkraken</category>
    </item>
    <item>
      <title>Microsoft Azure's Privileged Identity Management</title>
      <dc:creator>Muhammad Asim Khaskheli</dc:creator>
      <pubDate>Sun, 30 Aug 2020 15:46:29 +0000</pubDate>
      <link>https://dev.to/asimdev2000/microsoft-azure-s-privileged-identity-management-29l0</link>
      <guid>https://dev.to/asimdev2000/microsoft-azure-s-privileged-identity-management-29l0</guid>
      <description>&lt;p&gt;Data is the most essential part of any organization. With an increasing amount of data daily, it's becoming very difficult for an organization to manage it efficiently. Advancement in technology has given hackers different tools and techniques through which they can easily conduct a breach without being noticed. Another scenario is that a person having the unwanted privilege to important roles can easily conduct malicious activities without getting noticed.&lt;br&gt;
Forrester, which is one of the most credible sources of information, estimates that around 80% of data breaches involve compromised privileged credentials. The more important this issue is, the more neglected it has been for ages until Microsoft released privileged identity management (PIM). Privileged Identity Management is a tool through which superusers can manage the privileges given to each user efficiently. It is recommended to not have many super users/ administrator accounts as it can also exploit the security of an organization. The main goal of a hacker is to gain access to privileged identities and perform malicious activities. Hence, 2 or 3 administrator accounts are enough. Minimizing the number of users having privileged access to important information reduces the chance of any external or internal actor having access to important information. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6c8wmP7s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ewzk3mac4c9bvzyw0z02.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6c8wmP7s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ewzk3mac4c9bvzyw0z02.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Features of PIM:
&lt;/h3&gt;

&lt;p&gt;Privileged Identity Management provides an organization with the following important features which in turn minimizes the chances of security leaks.&lt;/p&gt;

&lt;p&gt;1.&lt;strong&gt;Just in time and time-bound privileged access:&lt;/strong&gt; The user is given special permission for a given time frame and when the specified time expires the permissions are revoked automatically. The best practice is to set the time frame to 4 hours maximum and if the user needs more time then he can request an extension.&lt;/p&gt;

&lt;p&gt;2.&lt;strong&gt;Proper approval system for the required privileges:&lt;/strong&gt; Access to the user is given after following a proper procedure of approval i.e. user must justify the need for that privilege and approval should be granted by the assigned staff. It is recommended to given approval rights to non-technical staff if a technical person requires permission and vice versa.&lt;/p&gt;

&lt;p&gt;3.&lt;strong&gt;Multi-factor authentication:&lt;/strong&gt; The user can have those permissions after the approval only when it verifies his/her account through multi-factor authentication. &lt;/p&gt;

&lt;p&gt;4.&lt;strong&gt;Notification system:&lt;/strong&gt; When the privileged roles are activated, the administrator is notified through email.&lt;/p&gt;

&lt;p&gt;5.&lt;strong&gt;Audit History:&lt;/strong&gt; The audit history is available to the administrator so that he can easily check the privileges and activities of a user at any time. &lt;/p&gt;

&lt;h3&gt;
  
  
  Types of Roles Managed by Azure PIM:
&lt;/h3&gt;

&lt;p&gt;There are 2 types of roles that can be managed by Microsoft Azure PIM:&lt;br&gt;
&lt;strong&gt;1.Azure AD roles:&lt;/strong&gt; It includes all the roles in an azure active directory such as Global Administrator, Security Administrator, Exchange Administrator, etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.Azure Roles:&lt;/strong&gt; These are the built-in roles in azure that have assigned permissions to particular resources. It includes Contributors, Readers, etc. &lt;/p&gt;

&lt;p&gt;We can also make custom roles for our organization and then provide access to users.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step by Step Guide to Assign privileges to specific users:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Log in to the Azure portal with the administrator account.&lt;/li&gt;
&lt;li&gt;Go to Azure Active Directory -&amp;gt; Properties and turn on the Access Management for Azure Resources. &lt;/li&gt;
&lt;li&gt;Now Search Privileged Identity management from the search bar. &lt;/li&gt;
&lt;li&gt;Go to settings and edit the assignment first&lt;/li&gt;
&lt;li&gt;Set the Maximum duration to 4 hours (Best Practice)&lt;/li&gt;
&lt;li&gt;Set the on activation require to Azure MFA.&lt;/li&gt;
&lt;li&gt;Select the people for approval of the assignment&lt;/li&gt;
&lt;li&gt;Do all other settings as you require.&lt;/li&gt;
&lt;li&gt;After then, On QuickStart, Click on Assign Eligibility, you will be directed to Roles.&lt;/li&gt;
&lt;li&gt;Click Add Assignment &lt;/li&gt;
&lt;li&gt;Select Role from the drop-down menu and the member you want to assign that role.&lt;/li&gt;
&lt;li&gt;Click Next and Uncheck the permanent eligible checkbox.&lt;/li&gt;
&lt;li&gt;Click the active radio button to enter the justification of the assignment.&lt;/li&gt;
&lt;li&gt;Select the date and time duration of the assignment.&lt;/li&gt;
&lt;li&gt;Click Save. &lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Conclusion:
&lt;/h3&gt;

&lt;p&gt;Unmanaged privileged identities can be exploited by both insiders and external attackers. If they are not monitored, held accountable, and actively controlled, malicious insiders, including system administrators, can steal sensitive information or cause significant damage to systems. Hence, it is necessary for organizations to use this amazing tool provided by Microsoft Azure. Although Amazon and GCP also provide this service, but right now Azure is the most efficient player in the market providing quality services in this field. &lt;/p&gt;

</description>
      <category>azure</category>
      <category>security</category>
      <category>azurepim</category>
      <category>identitymanagement</category>
    </item>
  </channel>
</rss>
