John Hanley

Security, software development and devops in a cloud world - AWS, Azure, Google, IBM & Alibaba

Author

John Hanley

Hostwinds – Virtual Private Servers

Introduction One of the things that I love about the cloud, is that you can deploy servers in minutes. What previously took weeks of time, purchase orders, etc. is now a few clicks of the mouse. One of my action… Continue Reading →

What programming language do I write software in?

Introduction I recently had a conversation with the Principle Security Architect for a large company concerned with security, identity, and access management. He asked me, “What language do you write your code in and why?”. I answered his question with… Continue Reading →

Google Cloud – Improving Security with Impersonation

Introduction A common practice in Google Cloud is to create one or more service accounts to authorize the Google Cloud CLI. Using service accounts is recommended by Google instead of user accounts. However, a service account JSON or P12 file… Continue Reading →

PowerShell – Impersonate Google Service Account

Introduction This article shows how to impersonate a service account from user account credentials. To understand how to set up everything, read the companion article: Google Cloud – Improving Security with Impersonation Save the following PowerShell script as a file… Continue Reading →

Google Cloud Compute – Mastering SSH

Introduction One of the more frequent problems on Stackoverflow is Compute Engine SSH. This article will dive into how SSH is configured on Compute Engine and how to connect using various SSH tools. I will also cover how to create… Continue Reading →

Certification Practice Tests

What is a Certification Practice Test? There are two types: Practice Questions and Practice Tests. Practice Questions help you test your knowledge and prepare for certification. These could be as simple as a list of questions where you select an… Continue Reading →

Microsoft Security Certifications – New Year’s Resolution

Introduction I am working on two new security certifications for my new year’s resolution. My specialties include security, identity, access management, and networking with a focus on hybrid and multi-cloud. For the first quarter, I plan to prepare for and… Continue Reading →

IBM Cloud – New Website

Sticky post

Today I moved all of my IBM Cloud and Red Hat OpenShift content to a new site. The new site will focus on IBM Cloud, Red Hat, Serverless Containers and OpenShift. Most of my work is in Hybrid and Multi-Cloud…. Continue Reading →

Socratica Python Kickstarter Project

 Socratica Python Kickstarter Campaign Introduction from Socratica’s Kickstarter Campaign Socratica – a small educational film studio with big dreams. You know us for our high-quality video lessons about math, science, and programming, especially PYTHON. Over the course of five… Continue Reading →

Never Implement Proxy TLS Interception

Introduction I was answering a question on StackOverflow. The questioner has implemented Proxy TLS Interception which is very dangerous. I am reposting this thread on my website to share the details of my answer. The Question: how to configure Google… Continue Reading →

Google Cloud – SSL Certificates the Easy Way

Introduction I use SSL certificates for everything. I am constantly creating them for internal systems and cloud services. This includes services such as web servers, SQL servers, anything where you might use a paid SSL certificate, or a self-signed certificate… Continue Reading →

Cloud Storage Bytes – New Training Videolab

This training videolab is a collection of videos Google Cloud created by Jennifer Brown @jbrojbrojbro. Jennifer is a Google Cloud Developer Advocate and a Google employee. Her videos are very good and average about 3 minutes each. This lab combines… Continue Reading →

Get Cooking in Cloud – New Training Videolab

Introduction This training videolab is a collection of videos Google Cloud created by Priyanka Vergadia @pvergadia. Priyanka is a Google Cloud Architect and a Google employee. Her videos are very good and average about 5 minutes each. This lab combines her… Continue Reading →

Google Cloud SQL for MySQL – Connection Security, High Availability and Failover

Introduction Designing an application that incorporates Google Cloud SQL requires some thought. There are several factors to consider regarding security, performance, fault tolerance and availability. Incorrectly implementing one of these areas can affect the other areas, usually negatively. In this… Continue Reading →

Introduction to Python – New Training Videolab

Introduction I watch a lot of training material from all the major education vendors (Pluralsight, Linux Academy, Cloud Academy, A Cloud Guru, and many others). For a long time, I have been wanting to add professional scriptwriting, professional graphics and… Continue Reading →

Google Cloud SQL – New Training Videolab

Introduction I watch a lot of training material from all the major education vendors (Pluralsight, Linux Academy, Cloud Academy, A Cloud Guru, and many others). For a long time, I have been wanting to add professional scriptwriting, professional graphics and… Continue Reading →

Google Cloud SQL Proxy – Installing as a Service on GCE

Introduction Google Cloud SQL Proxy provides secure access to Cloud SQL Second Generation instances without having to whitelist IP addresses or configure SSL. Cloud SQL Proxy provides several important benefits: Secure connections: The proxy automatically encrypts traffic to and from the database using TLS… Continue Reading →

Google Cloud Run Deep Dive – Understanding the APIs – Part 2

Introduction This article discusses mapping custom domains for Google Cloud Run Managed. In a future article, I will cover Google Cloud Run on GKE. Google Cloud Run supports using a custom domain rather than the default address provided for a… Continue Reading →

Google Cloud Run Deep Dive – Understanding the APIs – Part 1

Introduction To understand Google Cloud Run, you must peel back the layers and look at the interfaces that the API offers. Understanding the API will provide you with a better understanding of the features and capabilities. If your goal is… Continue Reading →

Google Cloud Platform – Getting Started

Introduction Google Cloud Platform is a suite of cloud computing services. Google has everything from storage, compute, database, big data to AI and everything in between. I am often asked how do I get started with Google Cloud. In this… Continue Reading →

Google Cloud Run – Minimizing Cold Starts

Introduction This article discusses Google Cloud Run cold starts, what they are and how to avoid cold starts. What is Cold Start? Cloud Run is a stateless HTTP serverless container service that provides on-demand services that autoscales to zero instances…. Continue Reading →

Google Cloud – HTTP Load Balancer File Upload Error

Introduction This article is about how to upload files to Compute Engine fronted by a Google HTTP Load Balancer and how to diagnose and correct file upload timeouts. The result is a better understanding of how to configure the Google… Continue Reading →

Google Cloud Shell – CLI in Go

Google Cloud Shell CLI Written in Go This is a placeholder until I write this article. I have published the source code on GitHub. Note: This program is written for Windows. I have not yet ported it to Linux or… Continue Reading →

Security – Key Pairs and Private-Public Keys

Table of Contents Introduction Definitions Example Private & Public Keys OpenSSH Public Keys SSH-2 Public Keys Examining OpenSSH Public Keys Introduction There is a lot of confusion and inaccurate information on the Internet about Key Pairs and Private/Public keys. This… Continue Reading →

Google Cloud Run – Simple File Server in Go

Introduction This article shows how to serve files with Google Cloud Run. There are a few reasons to use Cloud Run instead of Google Cloud Storage. To learn how to deploy a simple file sharing service using Cloud Run. To… Continue Reading →

Google Cloud and Go – My Journey to Learn a new Language in 30 days

Part 1: Introduction Today I decided to learn Go in the next 30 days and document every step of my journey. How well will I know Go in 30 days? That is a difficult question and by logging the steps,… Continue Reading →

Google Cloud Asset Inventory – Reverse Engineering an API

Introduction This article describes a missing item from the articles and documentation on Google Cloud Asset Inventory. The item is the header X-Goog-User-Project. I am writing this article to show how I figured this out, so you have another method… Continue Reading →

Google Cloud Run – Identity

Introduction Sometimes your Google Cloud Run app needs to communicate with or consume other services. This can be a simple as reading an object in Cloud Storage, sending an email, or connecting to a database. What identity does Cloud Run use?… Continue Reading →

Google Cloud Run – Pricing

Introduction Google Cloud Run charges you for the resources you use when you use them. No long running compute instances, just on-demand services. There are several components to Cloud Run services. In this article, we will look at each one…. Continue Reading →

Google Developers Experts – Cloud Platform

Google Experts Program Google has honored me with Google Developers Experts Cloud Platform. I am the twentieth expert in North America. This is a global program to recognize individuals who are experts and thought leaders in one or more Google… Continue Reading →

GitHub – New Public Repository

Starting today, I am copying all of my source code for the articles on this website to GitHub. This will take a week to complete. Today’s article on Cloud Run now has a GitHub repository to make downloads and builds… Continue Reading →

Google Cloud Run – HTTPS – Part 2

Introduction This article discusses HTTP to HTTPS redirection in software. I will show you one method of server-side redirects in Python 3 and Flask. I will start by analyzing the HTTP headers received by a Cloud Run container application and… Continue Reading →

Google Cloud Run – HTTPS – Part 1

Introduction This article discusses HTTP to HTTPS redirection as implemented by Google Cloud Run. Today, all websites should deliver traffic over HTTPS. Google Cloud has adopted this policy providing HTTPS for Cloud Run service URLs with automatic redirects from HTTP to… Continue Reading →

Google Cloud – Backup Bitnami WordPress

Introduction My personal website which covers articles about Google Cloud has been growing both in traffic and content. After I wrote my article Google Professional Cloud Security Engineer Certification, my website lit up with traffic and has continued to grow…. Continue Reading →

Google Cloud – HTTP Load Balancer and IPv6

  Introduction This article covers how to add IPv6 to a load balancer on Google Cloud and create the correct DNS resource records. Google Compute Engine does not support IPv6, so this requires that a Google HTTP Load Balancer (and… Continue Reading →

Google Cloud Run – Getting Started with Python and Flask

Introduction On August 15, 2018, Google released the Alpha release of Google Cloud Run. Many of us saw the potential and went to work learning this new platform. Everything serverless gets our attention. Cloud Run is Google’s entry into serverless… Continue Reading →

Google G Suite – How to Analyze an Email Ransom Demand

Introduction Date created: May 7, 2019 Last updated: May 7, 2019 Today I received an email titled “jhanley@jhanley.com has been hacked, change your password ASAP”. The hacker claims to know my login and password, has full control over my account… Continue Reading →

Google G Suite – Sender Policy Framework – SPF

Date created: May 4, 2019 Last updated: May 5, 2019 Gmail stats graphic courtesy Google Security Blog Introduction One of the major problems with email is email spam. Spammers impersonate your identity to send emails that appear to be sent… Continue Reading →

Google Domains – Purchasing a Domain Name

Date created: May 2, 2019 Last updated: May 4, 2019 Introduction For the articles on this site, I often create subdomains for testing. This is neither safe nor secure and a mistake could take down my entire domain. Therefore, I… Continue Reading →

Google Cloud Certification Badges

I think that Google has done a nice job creating certification badges. Certify with Google Cloud and G Suite and get your own badges. Google Cloud Certified

Google Cloud Memorystore – Redis

Date created: April 17, 2019 Last updated: April 19, 2019 Introduction Redis (REmote DIctionary Server) is one of the most popular databases in the world. Redis is a Key Value dictionary. Google Cloud Memorystore is Google’s managed service for Redis…. Continue Reading →

Google Cloud Certified – Associate Cloud Engineer

Date created: March 22, 2019 Last updated: March 25, 2019 Today I took the Associate Cloud Engineer exam and passed. The exam was medium difficulty. However, I took this exam for granted and I did not study or prepare at… Continue Reading →

Google Compute – Stackdriver Logging – Installation, Setup & Debugging

Date created: March 10, 2018 Last updated: September 12, 2019 Google Stackdriver is a very good product for monitoring and logging your compute instances on Google Cloud, AWS, Azure, Alibaba, etc. This article covers Stackdriver logging for Google Compute instances… Continue Reading →

Google Cloud – Compute Engine Service Accounts

Date created: March 1, 2019 Last updated: March 3, 2019 Note: This article is evolving as I document my deep dive. Contents: Introduction March 1, 2019 – Day #1 – Basics and FAQ March 2, 2019 – Day #2 – Auditing, Alerting & Stackdriver… Continue Reading →

Google Cloud – The Master Series

Date created: February 27, 2019 Last updated: March 2, 2019 Introduction This month I completed two beta Google certification exams (Security, Network) with another exam scheduled for March 11th. In preparing for these exams I realized that it is important… Continue Reading →

Google Professional Cloud Network Engineer Certification

Date created: February 10, 2019 Last updated: March 13, 2019 Update: March 13, 2019. I passed this certification. Update: February 21, 2019. Bad news. My work schedule has been so long each day that I have not been able to… Continue Reading →

Google Professional Cloud Security Engineer Certification

Date created: January 30, 2019 Last updated: May 5, 2019 Exam Completed: February 15, 2019 Part 1: Introduction Part 2: Post Exam Review Part 3: Daily Study Part 4: Tips and Advice Part 5: Final Exam Update March 29, 2019…. Continue Reading →

Google OAuth 2.0 – Testing with Curl – Refresh Access Token

In my earlier article on how to test Google OAuth 2.0 flows from the command line I showed how to generate Google OAuth 2.0 Access Token, Refresh Token, and ID Token. In this article, I will show how to refresh… Continue Reading →

Google OAuth 2.0 – Testing with Curl – Version 2

If you have ever wanted to test Google OAuth 2.0 flows from the command line, you will like this short article. This article is the second version. I wrote a previous article on using curl, but that version did not… Continue Reading →

© 2020 John Hanley — Powered by WordPress

Theme by Anders NorenUp ↑