1 | {
|
---|
2 | "log": {
|
---|
3 | "version": "1.2",
|
---|
4 | "creator": {
|
---|
5 | "name": "Firefox",
|
---|
6 | "version": "75.0"
|
---|
7 | },
|
---|
8 | "browser": {
|
---|
9 | "name": "Firefox",
|
---|
10 | "version": "75.0"
|
---|
11 | },
|
---|
12 | "pages": [
|
---|
13 | {
|
---|
14 | "startedDateTime": "2020-04-04T09:41:02.557-04:00",
|
---|
15 | "id": "page_1",
|
---|
16 | "pageTimings": {
|
---|
17 | "onContentLoad": 75,
|
---|
18 | "onLoad": 306
|
---|
19 | }
|
---|
20 | }
|
---|
21 | ],
|
---|
22 | "entries": [
|
---|
23 | {
|
---|
24 | "pageref": "page_1",
|
---|
25 | "startedDateTime": "2020-04-04T09:41:02.557-04:00",
|
---|
26 | "request": {
|
---|
27 | "bodySize": 0,
|
---|
28 | "method": "GET",
|
---|
29 | "url": "https://christianmoore.me/",
|
---|
30 | "httpVersion": "HTTP/2",
|
---|
31 | "headers": [
|
---|
32 | {
|
---|
33 | "name": "Host",
|
---|
34 | "value": "christianmoore.me"
|
---|
35 | },
|
---|
36 | {
|
---|
37 | "name": "User-Agent",
|
---|
38 | "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0"
|
---|
39 | },
|
---|
40 | {
|
---|
41 | "name": "Accept",
|
---|
42 | "value": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
|
---|
43 | },
|
---|
44 | {
|
---|
45 | "name": "Accept-Language",
|
---|
46 | "value": "en-US,en;q=0.5"
|
---|
47 | },
|
---|
48 | {
|
---|
49 | "name": "Accept-Encoding",
|
---|
50 | "value": "gzip, deflate, br"
|
---|
51 | },
|
---|
52 | {
|
---|
53 | "name": "DNT",
|
---|
54 | "value": "1"
|
---|
55 | },
|
---|
56 | {
|
---|
57 | "name": "Connection",
|
---|
58 | "value": "keep-alive"
|
---|
59 | },
|
---|
60 | {
|
---|
61 | "name": "Cookie",
|
---|
62 | "value": "__cfduid=dffc89182199b3a252c9a90ea331e8b221585915134"
|
---|
63 | },
|
---|
64 | {
|
---|
65 | "name": "Upgrade-Insecure-Requests",
|
---|
66 | "value": "1"
|
---|
67 | },
|
---|
68 | {
|
---|
69 | "name": "Pragma",
|
---|
70 | "value": "no-cache"
|
---|
71 | },
|
---|
72 | {
|
---|
73 | "name": "Cache-Control",
|
---|
74 | "value": "no-cache"
|
---|
75 | },
|
---|
76 | {
|
---|
77 | "name": "TE",
|
---|
78 | "value": "Trailers"
|
---|
79 | }
|
---|
80 | ],
|
---|
81 | "cookies": [
|
---|
82 | {
|
---|
83 | "name": "__cfduid",
|
---|
84 | "value": "dffc89182199b3a252c9a90ea331e8b221585915134"
|
---|
85 | }
|
---|
86 | ],
|
---|
87 | "queryString": [],
|
---|
88 | "headersSize": 455
|
---|
89 | },
|
---|
90 | "response": {
|
---|
91 | "status": 200,
|
---|
92 | "statusText": "OK",
|
---|
93 | "httpVersion": "HTTP/2",
|
---|
94 | "headers": [
|
---|
95 | {
|
---|
96 | "name": "server",
|
---|
97 | "value": "nginx"
|
---|
98 | },
|
---|
99 | {
|
---|
100 | "name": "date",
|
---|
101 | "value": "Sat, 04 Apr 2020 13:41:01 GMT"
|
---|
102 | },
|
---|
103 | {
|
---|
104 | "name": "content-type",
|
---|
105 | "value": "text/html; charset=utf-8"
|
---|
106 | },
|
---|
107 | {
|
---|
108 | "name": "x-dns-prefetch-control",
|
---|
109 | "value": "off"
|
---|
110 | },
|
---|
111 | {
|
---|
112 | "name": "x-frame-options",
|
---|
113 | "value": "DENY"
|
---|
114 | },
|
---|
115 | {
|
---|
116 | "name": "strict-transport-security",
|
---|
117 | "value": "max-age=31536000; includeSubDomains; preload"
|
---|
118 | },
|
---|
119 | {
|
---|
120 | "name": "x-download-options",
|
---|
121 | "value": "noopen"
|
---|
122 | },
|
---|
123 | {
|
---|
124 | "name": "x-content-type-options",
|
---|
125 | "value": "nosniff"
|
---|
126 | },
|
---|
127 | {
|
---|
128 | "name": "x-xss-protection",
|
---|
129 | "value": "1; mode=block"
|
---|
130 | },
|
---|
131 | {
|
---|
132 | "name": "referrer-policy",
|
---|
133 | "value": "strict-origin-when-cross-origin"
|
---|
134 | },
|
---|
135 | {
|
---|
136 | "name": "expect-ct",
|
---|
137 | "value": "enforce, max-age=31536000"
|
---|
138 | },
|
---|
139 | {
|
---|
140 | "name": "x-permitted-cross-domain-policies",
|
---|
141 | "value": "none"
|
---|
142 | },
|
---|
143 | {
|
---|
144 | "name": "content-security-policy",
|
---|
145 | "value": "default-src 'none'; connect-src 'self'; img-src 'self' https://cdn.christianmoore.me/; font-src 'self' data: https://fonts.gstatic.com/; style-src 'self' https://cdn.christianmoore.me/ https://fonts.googleapis.com/; script-src 'self' https://cdn.christianmoore.me/; object-src 'none'; frame-src 'none'; manifest-src 'none'; media-src 'none'; worker-src 'none'; frame-ancestors 'none'; form-action 'none'; require-sri-for script; base-uri 'none'; sandbox allow-same-origin allow-scripts allow-popups allow-popups-to-escape-sandbox; upgrade-insecure-requests; block-all-mixed-content; report-uri /report-violation; disown-opener"
|
---|
146 | },
|
---|
147 | {
|
---|
148 | "name": "tk",
|
---|
149 | "value": "D"
|
---|
150 | },
|
---|
151 | {
|
---|
152 | "name": "feature-policy",
|
---|
153 | "value": "accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'"
|
---|
154 | },
|
---|
155 | {
|
---|
156 | "name": "random-bytes",
|
---|
157 | "value": "708f02529792a4eeeb6cd61b14f3613b2b0710a9ac1efb79be65e44c73cd06f337a221757b1fd835555be7a7ec6f5dc54dcc6d42ef3cb0042ea81eda3665a0e8"
|
---|
158 | },
|
---|
159 | {
|
---|
160 | "name": "etag",
|
---|
161 | "value": "W/\"6b31-RbtNJ6f+cOKywcaPcP0ionwSjxU\""
|
---|
162 | },
|
---|
163 | {
|
---|
164 | "name": "cache-control",
|
---|
165 | "value": "public, max-age=1"
|
---|
166 | },
|
---|
167 | {
|
---|
168 | "name": "vary",
|
---|
169 | "value": "Accept-Encoding"
|
---|
170 | },
|
---|
171 | {
|
---|
172 | "name": "content-encoding",
|
---|
173 | "value": "gzip"
|
---|
174 | },
|
---|
175 | {
|
---|
176 | "name": "x-cache-status",
|
---|
177 | "value": "EXPIRED"
|
---|
178 | },
|
---|
179 | {
|
---|
180 | "name": "X-Firefox-Spdy",
|
---|
181 | "value": "h2"
|
---|
182 | }
|
---|
183 | ],
|
---|
184 | "cookies": [],
|
---|
185 | "content": {
|
---|
186 | "mimeType": "text/html; charset=utf-8",
|
---|
187 | "size": 27441,
|
---|
188 | "text": "<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\"><meta name=\"description\" content=\"Christian Moore | IT Professional Extraordinaire\"><meta name=\"author\" content=\"Christian Moore <https://christianmoore.me>\"><meta name=\"theme-color\" content=\"##00d1b2\"><link rel=\"apple-touch-icon\" sizes=\"57x57\" href=\".//af9c3eaedb787f0627d19e7bad775378.png\"><link rel=\"apple-touch-icon\" sizes=\"60x60\" href=\".//18331fb3381617590f629baa6a81e0ce.png\"><link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\".//04f43b3e53f964d1a44bf381009e901e.png\"><link rel=\"apple-touch-icon\" sizes=\"76x76\" href=\".//38d2b1f5bb19942d5d66fc9bc66ff6d2.png\"><link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\".//80fee4c94f94f29fe36971109bfed650.png\"><link rel=\"apple-touch-icon\" sizes=\"120x120\" href=\".//aefc6b0925e3f1fa50c7880c66196af9.png\"><link rel=\"apple-touch-icon\" sizes=\"144x144\" href=\".//25ad8c4eaa015992581b1268d4cdeba2.png\"><link rel=\"apple-touch-icon\" sizes=\"152x152\" href=\".//bc7403b65215ffedfbcea63874c324ee.png\"><link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\".//6f8af21ccd45d6e9286ad66333456d9c.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\".//b35fd58e3766ea3efe64f4dd626feaee.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\".//c23313a8e02a613d159f7ac8f3aed7da.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"96x96\" href=\".//be9858f217c30d7bab7904fa164f9a2b.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\".//1c1567c64bb1d1881315d70772dbfa3e.png\"><meta name=\"msapplication-TileColor\" content=\"#ffffff\"><meta name=\"msapplication-TileImage\" content=\".//25ad8c4eaa015992581b1268d4cdeba2.png\"><meta name=\"theme-color\" content=\"#ffffff\"><title>Christian Moore</title><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//f2c920903fe86b600e53a01c4e49c611.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//d012bbadec37aeacba8bb70afe4e610d.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//bff7faac4e3c03639d30c36ec50e7105.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//3205a8b6fcb292bc79e0d89aedc1679f.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//194c969a166a4486362fe1cb17a4b3ee.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//52297efd0c45945afdf03f55f4a6ddcb.css\"></head><body><div class=\"page-container\"><section class=\"hero is-primary\"><div class=\"hero-body\"><div class=\"container\"><div class=\"columns is-mobile\"><div class=\"column is-narrow\"><img class=\"profile-pic\" src=\".//89c8ad062b8783b6ea9222eaea8ddbf1.png\" alt=\"avatar\"></div><div class=\"column\"><h1 class=\"title\">C<span class=\"is-hidden-mobile\">hristian</span><span class=\"is-hidden-tablet\">.</span>\nMoore</h1><h2 class=\"subtitle\">Cloud<span class=\"is-hidden-mobile\">\nGeneralist</span><span>\nSuperstar</span></h2></div></div></div></div></section><div class=\"main-content\"><section class=\"section is-topless\"><div class=\"container\"><div class=\"columns is-mobile is-variable is-1 has-text-centered\"><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fab fa-aws has-text-it4\"></i><span class=\"is-hidden-mobile\"> \nCloud</span></p></div></div></div><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fab fa-docker has-text-vistaprint\"></i><span class=\"is-hidden-mobile\"> \nContainers</span></p></div></div></div><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fas fa-code-merge has-text-cimpress\"></i><span class=\"is-hidden-mobile\"> \nCI/CD</span></p></div></div></div><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fas fa-lock-alt\"></i><span class=\"is-hidden-mobile\"> \nSecurity</span></p></div></div></div></div><div class=\"is-divider\" data-content=\"Mission\"></div><div class=\"content\"><p>Technology is my passion. I've shaped my life, and 16 years of professional experience around it. AWS is my playground. I seek to ensure software engineers take full advantage of everything it has to offer.</p><p>The cloud is a superpower that a driven man can use to make his impact on the world. Applying cutting edge information technology in clever and intuitive ways is what I do.</p><p>I work every day to move the needle on cloud compliance for efficiency, security, and cost optimization using the latest in containers, serverless, and automation.</p></div><div class=\"is-divider\" data-content=\"Career\"></div><div class=\"timeline\"><header class=\"timeline-header\"><span class=\"tag is-large is-cimpress is-tooltip-right tooltip is-tooltip-multiline is-tooltip-cimpress has-text-centered\" data-tooltip=\"Cimpress is the world leader in mass customized printed materials.\">2014-20</span></header><div class=\"timeline-item is-cimpress\"><div class=\"timeline-marker is-cimpress is-icon\"><i class=\"fal fa-cloud fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Lead Cloud Security Engineer, Cimpress</strong><p><i class=\"fal fa-keyboard fa-fw has-text-cimpress\"></i> <small>Analyzed and addressed security and spending risks across hundreds of AWS accounts, and millions of dollars in infrastructure spending.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-cimpress\"></i> <small>Learned wide array of AWS services, cloud security & cost control implementations, actively exploited vulnerabilities, and secure coding practices.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-cimpress\"></i> <small>Developed education, detection, and mitigation strategies that enabled software engineers to build secure applications in the cloud without overspending.</small></p></div></div><div class=\"timeline-item is-cimpress\"><div class=\"timeline-marker is-cimpress is-icon\"><i class=\"fal fa-code fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Lead DevOps Engineer, Cimpress</strong><p><i class=\"fal fa-keyboard fa-fw has-text-cimpress\"></i> <small>Organized migration to robust CI/CD infrastructure and provided complete platform upon which software engineers can review, build, test, deploy, and monitor.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-cimpress\"></i> <small>Learned configuration management and infrastructure automation, logging and monitoring, IT project management, SDLC, containers, and Linux administration.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-cimpress\"></i> <small>Improved SCM, CI/CD, and artifact management uptime and reliability. Provided path forward, removing dependencies on legacy and outdated platforms.</small></p></div></div><header class=\"timeline-header\"><span class=\"tag is-large is-vistaprint tooltip is-tooltip-right is-tooltip-multiline is-tooltip-vistaprint has-text-centered\" data-tooltip=\"Vistaprint is an e-commerce brand that produces physical and digital marketing products for small and micro businesses.\">2008-13</span></header><div class=\"timeline-item is-vistaprint\"><div class=\"timeline-marker is-vistaprint is-icon\"><i class=\"fal fa-lightbulb fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Sr. Problem Manager, Vistaprint</strong><p><i class=\"fal fa-keyboard fa-fw has-text-vistaprint\"></i> <small>Analyzed, prioritized, & managed the resolution of a wide variety of costly business problems during both business hours and 24x7 on-call.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-vistaprint\"></i> <small>Learned emergency problem triage and analysis, global communication and efficient problem management, and cost & postmortem analysis.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-vistaprint\"></i> <small>Minimized the impact of ongoing production issues, saving tens of thousands of dollars each week. Prevented re-occurrence of problems through accurate and complete analysis. Briefed executives with summaries of high-impact business problems.</small></p></div></div><div class=\"timeline-item is-vistaprint\"><div class=\"timeline-marker is-vistaprint is-icon\"><i class=\"fal fa-server fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Sr. Systems Administrator, Vistaprint</strong><p><i class=\"fal fa-keyboard fa-fw has-text-vistaprint\"></i> <small>Performed maintenance, monitoring, and code deployments on global production infrastructure. Developed tools for systematizing manual tasks.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-vistaprint\"></i> <small>Learned e-commerce IT operations, web development, change & work management, and Windows domain administration.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-vistaprint\"></i> <small>Increased site uptime and reliability. Enabled consistent work tracking and site health historical analysis through tooling.</small></p></div></div><header class=\"timeline-header\"><span class=\"tag is-large is-it4 is-vistaprint tooltip is-tooltip-right is-tooltip-multiline is-tooltip-it4 has-text-centered\" data-tooltip=\"IT4 is a local managed IT services company serving small businesses in the greater Boston area.\">2004-07</span></header><div class=\"timeline-item is-it4\"><div class=\"timeline-marker is-it4 is-icon\"><i class=\"fal fa-wrench fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Systems Engineer, IT4</strong><p><i class=\"fal fa-keyboard fa-fw has-text-it4\"></i> <small>Designed and assembled desktop and portable computer systems for use by law enforcement during forensic collection of computer crimes evidence.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-it4\"></i> <small>Learned system design, customer service, vendor management, quality assurance, and on-site technical skills.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-it4\"></i> <small>Increased product quality baseline and lowered frequency of repair and warranty returns.</small></p></div></div></div><div class=\"is-divider\" data-content=\"Knowledge\"></div><div class=\"columns\"><div class=\"column\"><table class=\"table is-fullwidth\"><tbody><tr><td class=\"is-size-7 is-narrow\">Cloud Solutions Architect</td><td><progress class=\"progress is-primary\" value=\"100\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">DevOps Engineer</td><td><progress class=\"progress is-warning\" value=\"100\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">IT Problem Manager</td><td><progress class=\"progress is-dark\" value=\"100\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">Security Engineer</td><td><progress class=\"progress is-danger\" value=\"90\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">Software Engineer</td><td><progress class=\"progress is-info\" value=\"80\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">Network Administrator</td><td><progress class=\"progress is-link\" value=\"70\" max=\"100\"></progress></td></tr></tbody></table></div><div class=\"column\"><div class=\"field is-grouped is-grouped-multiline\"><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"EC2, ECS, Lambda, Elastic Beanstalk\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Compute</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"CloudWatch, Auto Scaling, CloudFormation, CloudTrail, Trusted Advisor\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Management</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"RDS, DynamoDB, ElastiCache\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Database</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"S3, EFS, Glacier\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Storage</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"IAM, Cognito, GuardDuty, Macie, Certificate Manager, WAF & Shield\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Security</span></div></div><div class=\"control tooltip\" data-tooltip=\"Ubuntu, Debian, Alpine\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-desktop fa-fw\"></i></span><span class=\"tag is-dark\"><i class=\"fab fa-linux\"></i> \nLinux</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"macOS Sierra/High Sierra\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-desktop fa-fw\"></i></span><span class=\"tag is-dark\"><i class=\"fab fa-apple\"></i> \nMac</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Windows 7/8/10, Windows Server 2008/2012/2016\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-desktop fa-fw\"></i></span><span class=\"tag is-dark\"><i class=\"fab fa-windows\"></i> \nWindows</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"A platform for running lightweight, self-contained images of software\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fab fa-docker fa-fw\"></i></span><span class=\"tag is-dark\">Docker</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Write, plan, and create infrastructure as code\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-wrench fa-fw\"></i></span><span class=\"tag is-dark\">Terraform</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Write, plan, and create infrastructure as code\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fab fa-git fa-fw\"></i></span><span class=\"tag is-dark\">Git</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Write, plan, and create infrastructure as code\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-code-merge fa-fw\"></i></span><span class=\"tag is-dark\">CI/CD</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"IAM, WAF, Shield, GuardDuty, Security Hub\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">AWS Security</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"CIS, PCI, HIPAA\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">Compliance</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Certificates, Cipher Suites, Diffie-Hellman\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">TLS</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"RSA, DH, ECC, bcrypt, OpenSSL, Tor\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">Crypto</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"A weakly typed, prototype-based, object-oriented, client & server scripting language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">JavaScript</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Google's statically typed, concurrent, compiled language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">Go</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"An interpreted, reflective, object-oriented, general-purpose scripting language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">Ruby</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Microsofts general-purpose object-oriented programming language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">C#</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Microsoft's task automation and configuration management framework\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-terminal fa-fw\"></i></span><span class=\"tag is-dark\">PowerShell</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"VPC, CloudFront, VPN, Direct Connect, Route 53\"><div class=\"tags has-addons\"><span class=\"tag is-link\"><i class=\"fal fa-exchange fa-fw\"></i></span><span class=\"tag is-dark\">AWS Networking</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"BIND\"><div class=\"tags has-addons\"><span class=\"tag is-link\"><i class=\"fal fa-exchange fa-fw\"></i></span><span class=\"tag is-dark\">DNS/DHCP</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Site-to-Site, Client\"><div class=\"tags has-addons\"><span class=\"tag is-link\"><i class=\"fal fa-exchange fa-fw\"></i></span><span class=\"tag is-dark\">VPN</span></div></div></div></div></div><div class=\"is-divider\" data-content=\"Recent Work\"></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Raising Compliance and Lowering Cost</div><div class=\"message-body\"><p>Cimpress needed a simple way for our hundreds of engineers to stay on top of the security and control the costs of their cloud infrastructure.</p><br><p>I created an intuitive web app in <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> on <a rel=\"noopener\" target=\"_new\" href=\"https://www.docker.com\">Docker</a> using data from <a rel=\"noopener\" target=\"_new\" href=\"https://cloudsploit.com\">CloudSploit</a> and saw drastic improvement in our security compliance.</p><br><p>Next, I built a web app in <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> on <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/lambda/\">AWS Lambda</a> using data from <a rel=\"noopener\" target=\"_new\" href=\"https://cloudability.com\">Cloudability</a> to provide actionable, cost-saving insight to engineers, directors, and leadership. This empowered significant cost savings in a self-service way.</p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Doing Enterprise AWS Right</div><div class=\"message-body\"><p>Cimpress needed a way for the enterprise at large to use AWS effectively and securely. I spearheaded the company's strategy around adopting SSO for the cloud, for login and for API key generation.</p><br><p>This was achieved through partnership with <a rel=\"noopener\" target=\"_new\" href=\"https://auth0.com\">Auth0</a>, and the creation of several supporting tools in <a rel=\"noopener\" target=\"_new\" href=\"https://www.ruby-lang.org/en/\">Ruby</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://docs.microsoft.com/en-us/powershell/scripting/whats-new/what-s-new-in-powershell-core-60?view=powershell-6\">PowerShell</a>, and <a rel=\"noopener\" target=\"_new\" href=\"https://golang.org/\">Golang</a>.</p><br><p>I also developed a methodology for measuring the true cost of our microservices, even in cases where infrastructure is shared amongst several services.</p></div></article></div></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Making Docker in AWS Easy</div><div class=\"message-body\"><p>Recognizing a CI/CD usability gap in AWS ECS for software engineers using <a rel=\"noopener\" target=\"_new\" href=\"https://www.docker.com\">Docker</a>, I created two tools around <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/ecs/\">AWS ECS</a> - one for building and deploying, and another for optimizing infrastructure.</p><br><p>This was achieved with <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> packages made available to the open source community for use by myself and my peers, as well as the public at large.</p><br><p>Available on <a rel=\"noopener\" target=\"_new\" href=\"https://www.npmjs.com/~shamelesscookie\">npmjs.com</a></p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Building My Own Solutions</div><div class=\"message-body\"><p>When I first started using Firefox, there was no way to strictly enforce HTTPS for all requests made by the browser (only add-ons to softly attempt HTTPS, with a fall back to HTTP).</p><br><p>So I built and published an add-on for Firefox called <a rel=\"noopener\" target=\"_new\" href=\"https://addons.mozilla.org/en-US/firefox/addon/nohttp/\">NoHTTP</a> to accomplish this, and I use it every day to ensure my web browsing is always secure.</p><br><p>Published to the world at <a rel=\"noopener\" target=\"_new\" href=\"https://addons.mozilla.org/en-US/firefox/addon/nohttp/\">addons.mozilla.org</a></p></div></article></div></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Practicing What I Preach</div><div class=\"message-body\"><p>This site, <a rel=\"noopener\" target=\"_new\" href=\"https://christianmoore.me\">christianmoore.me</a>, is a living testament to my experience.</p><br><p>I boast A+'s across the board on <a rel=\"noopener\" target=\"_new\" href=\"https://observatory.mozilla.org/analyze/christianmoore.me\">Mozilla Observatory</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://securityheaders.com/?followRedirects=on&hide=on&q=christianmoore.me\">securityheaders.com</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://tls.imirhil.fr/https/christianmoore.me\">CryptCheck</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://www.ssllabs.com/ssltest/analyze.html?d=christianmoore.me&s=18.215.201.130&hideResults=on\">SSL Labs</a>, and <a rel=\"noopener\" target=\"_new\" href=\"https://gtmetrix.com/reports/christianmoore.me/qUuYMf6a\">GTmetrix</a>.</p><br><p>I deploy with CI/CD through <a rel=\"noopener\" target=\"_new\" href=\"https://gitlab.com\">GitLab.com</a>, scanning for vulnerabilities at build time using both <a rel=\"noopener\" target=\"_new\" href=\"https://docs.npmjs.com/cli/audit\">npm audit</a>, using an AWS ECS IaC tool I wrote called <a rel=\"noopener\" target=\"_new\" href=\"https://www.npmjs.com/package/@cimpresscloud/ecs-publish\">ecs-publish</a>, running on Docker in AWS, with DNS from <a rel=\"noopener\" target=\"_new\" href=\"https://cloudflare.com\">CloudFlare</a>.</p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Applying Machine Learning in New Ways</div><div class=\"message-body\"><p>To gain a deeper understanding of streaming video quality and practicality, I applied Netflix machine learning technology to the video standards used on Twitch.tv.</p><br><p>This was achieved by Dockerizing <a rel=\"noopener\" target=\"_new\" href=\"https://hub.docker.com/r/shamelesscookie/vmaf\">Netflix VMAF</a> and collecting measurements from video encoded to Twitch's guidelines.</p><br><p>Published to the world at <a rel=\"noopener\" target=\"_new\" href=\"https://streamquality.report\">streamquality.report</a></p></div></article></div></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Clever Use of Multi-Region Serverless</div><div class=\"message-body\"><p>To better understand global HTTP latency, I deployed a <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> script to several locations around the world that connect to my site every 60 minutes and report how long each phase of the connection process takes.</p><br><p>This was achieved with <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/lambda/\">AWS Lambda</a> deployed through <a rel=\"noopener\" target=\"_new\" href=\"https://serverless.com/\">serverless framework</a>, executing <a rel=\"noopener\" target=\"_new\" href=\"https://github.com/adieuadieu/serverless-chrome/releases\">headless chrome built for Amazon Linux</a>, and aggregating data using <a rel=\"noopener\" target=\"_new\" href=\"https://www.sitespeed.io/\">sitespeed.io</a>'s <a rel=\"noopener\" target=\"_new\" href=\"https://www.sitespeed.io/documentation/browsertime/introduction/\">browsertime</a> tool, storing results in <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/elasticache/\">AWS ElastiCache</a>.</p><br><p>Inspired by <a rel=\"noopener\" target=\"_new\" href=\"https://updown.io/ezxm\">updown.io</a></p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Shedding Light on TLS</div><div class=\"message-body\"><p>To learn more about TLS protocols, cipher suites, and named groups, I implemented a proxy that injects details about the current TLS session as request headers, along with the client's declared supported groups and suites.</p><br><p>This was achieved with <a rel=\"noopener\" target=\"_new\" href=\"https://nginx.org/\">nginx</a> built with <a rel=\"noopener\" target=\"_new\" href=\"https://www.openssl.org\">openssl</a> 1.1.1 for <a rel=\"noopener\" target=\"_new\" href=\"https://en.wikipedia.org/wiki/TLSv1.3\">TLSv1.3</a> support, and cross-referencing data with <a rel=\"noopener\" target=\"_new\" href=\"http://ciphersuite.info/\">ciphersuite.info</a> and <a rel=\"noopener\" target=\"_new\" href=\"https://safecurves.cr.yp.to/\">safecurves.cr.yp.to</a> to understand differences between them.</p><br><p>Deployed as <a rel=\"noopener\" target=\"_new\" href=\"https://ifconfig.lol\">ifconfig.lol</a></p></div></article></div></div></div></section></div><footer class=\"footer\"><div class=\"container\"><div class=\"columns\"><div class=\"column has-text-centered is-hidden-mobile\"><strong>Location</strong><p><a class=\"has-text-dark\" rel=\"noopener\" href=\"https://www.google.com/maps/place/Nashua,+NH/\" target=\"_blank\">Nashua, New Hampshire USA</a></p></div><div class=\"column has-text-centered\"><strong>E-mail</strong><p><a class=\"has-text-dark\" href=\"mailto:christian@christianmoore.me\">christian@christianmoore.me</a></p></div><div class=\"column has-text-centered is-hidden-mobile\"><strong>Darknet</strong><p><a class=\"has-text-dark\" rel=\"noopener\" href=\"http://christian42gxn67.onion/\" target=\"_blank\">christian42gxn67.onion</a></p></div></div></div></footer></div><script defer src=\"https://cdn.christianmoore.me//b10eebbc2664d052c3bddb0e09c2377a.js\" data-auto-add-css=\"false\"></script><script defer src=\"https://cdn.christianmoore.me//16ea15b095fdb907a6ca9e6c6af5e3ca.js\"></script><script defer src=\"https://cdn.christianmoore.me//6476c8226d00b49d068029873af937f3.js\"></script><script defer src=\"https://cdn.christianmoore.me//66630822ced7ea474f4b67f244ee4246.js\"></script><script defer src=\"https://cdn.christianmoore.me//7de4b9a83b960faf05b9b5fa2c9c6681.js\"></script></body></html>"
|
---|
189 | },
|
---|
190 | "redirectURL": "",
|
---|
191 | "headersSize": 1590,
|
---|
192 | "bodySize": 8563
|
---|
193 | },
|
---|
194 | "cache": {},
|
---|
195 | "timings": {
|
---|
196 | "blocked": 0,
|
---|
197 | "dns": 0,
|
---|
198 | "connect": 0,
|
---|
199 | "ssl": 0,
|
---|
200 | "send": 0,
|
---|
201 | "wait": 33,
|
---|
202 | "receive": 0
|
---|
203 | },
|
---|
204 | "time": 33,
|
---|
205 | "_securityState": "secure",
|
---|
206 | "serverIPAddress": "18.215.201.130",
|
---|
207 | "connection": "443"
|
---|
208 | },
|
---|
209 | {
|
---|
210 | "pageref": "page_1",
|
---|
211 | "startedDateTime": "2020-04-04T09:41:03.712-04:00",
|
---|
212 | "request": {
|
---|
213 | "bodySize": 0,
|
---|
214 | "method": "GET",
|
---|
215 | "url": "https://ifconfig.lol/",
|
---|
216 | "httpVersion": "HTTP/2",
|
---|
217 | "headers": [
|
---|
218 | {
|
---|
219 | "name": "Host",
|
---|
220 | "value": "ifconfig.lol"
|
---|
221 | },
|
---|
222 | {
|
---|
223 | "name": "User-Agent",
|
---|
224 | "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0"
|
---|
225 | },
|
---|
226 | {
|
---|
227 | "name": "Accept",
|
---|
228 | "value": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
|
---|
229 | },
|
---|
230 | {
|
---|
231 | "name": "Accept-Language",
|
---|
232 | "value": "en-US,en;q=0.5"
|
---|
233 | },
|
---|
234 | {
|
---|
235 | "name": "Accept-Encoding",
|
---|
236 | "value": "gzip, deflate, br"
|
---|
237 | },
|
---|
238 | {
|
---|
239 | "name": "DNT",
|
---|
240 | "value": "1"
|
---|
241 | },
|
---|
242 | {
|
---|
243 | "name": "Connection",
|
---|
244 | "value": "keep-alive"
|
---|
245 | },
|
---|
246 | {
|
---|
247 | "name": "Upgrade-Insecure-Requests",
|
---|
248 | "value": "1"
|
---|
249 | },
|
---|
250 | {
|
---|
251 | "name": "Pragma",
|
---|
252 | "value": "no-cache"
|
---|
253 | },
|
---|
254 | {
|
---|
255 | "name": "Cache-Control",
|
---|
256 | "value": "no-cache"
|
---|
257 | },
|
---|
258 | {
|
---|
259 | "name": "TE",
|
---|
260 | "value": "Trailers"
|
---|
261 | }
|
---|
262 | ],
|
---|
263 | "cookies": [],
|
---|
264 | "queryString": [],
|
---|
265 | "headersSize": 388
|
---|
266 | },
|
---|
267 | "response": {
|
---|
268 | "status": 200,
|
---|
269 | "statusText": "OK",
|
---|
270 | "httpVersion": "HTTP/2",
|
---|
271 | "headers": [
|
---|
272 | {
|
---|
273 | "name": "server",
|
---|
274 | "value": "nginx"
|
---|
275 | },
|
---|
276 | {
|
---|
277 | "name": "date",
|
---|
278 | "value": "Sat, 04 Apr 2020 13:41:03 GMT"
|
---|
279 | },
|
---|
280 | {
|
---|
281 | "name": "content-type",
|
---|
282 | "value": "text/html; charset=utf-8"
|
---|
283 | },
|
---|
284 | {
|
---|
285 | "name": "content-length",
|
---|
286 | "value": "15455"
|
---|
287 | },
|
---|
288 | {
|
---|
289 | "name": "x-dns-prefetch-control",
|
---|
290 | "value": "off"
|
---|
291 | },
|
---|
292 | {
|
---|
293 | "name": "x-frame-options",
|
---|
294 | "value": "DENY"
|
---|
295 | },
|
---|
296 | {
|
---|
297 | "name": "strict-transport-security",
|
---|
298 | "value": "max-age=31536000; includeSubDomains; preload"
|
---|
299 | },
|
---|
300 | {
|
---|
301 | "name": "x-download-options",
|
---|
302 | "value": "noopen"
|
---|
303 | },
|
---|
304 | {
|
---|
305 | "name": "x-content-type-options",
|
---|
306 | "value": "nosniff"
|
---|
307 | },
|
---|
308 | {
|
---|
309 | "name": "x-xss-protection",
|
---|
310 | "value": "1; mode=block"
|
---|
311 | },
|
---|
312 | {
|
---|
313 | "name": "referrer-policy",
|
---|
314 | "value": "strict-origin-when-cross-origin"
|
---|
315 | },
|
---|
316 | {
|
---|
317 | "name": "expect-ct",
|
---|
318 | "value": "enforce, max-age=31536000"
|
---|
319 | },
|
---|
320 | {
|
---|
321 | "name": "x-permitted-cross-domain-policies",
|
---|
322 | "value": "none"
|
---|
323 | },
|
---|
324 | {
|
---|
325 | "name": "content-security-policy",
|
---|
326 | "value": "default-src 'none'; connect-src 'self'; img-src 'self'; font-src 'self'; style-src 'self'; script-src 'self'; object-src 'none'; frame-src 'none'; manifest-src 'none'; media-src 'none'; prefetch-src 'none'; worker-src 'none'; frame-ancestors 'none'; form-action 'none'; require-sri-for script style; base-uri 'none'; sandbox allow-same-origin allow-scripts allow-popups allow-popups-to-escape-sandbox; upgrade-insecure-requests; block-all-mixed-content; report-uri /report-violation; disown-opener"
|
---|
327 | },
|
---|
328 | {
|
---|
329 | "name": "tk",
|
---|
330 | "value": "D"
|
---|
331 | },
|
---|
332 | {
|
---|
333 | "name": "feature-policy",
|
---|
334 | "value": "accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'"
|
---|
335 | },
|
---|
336 | {
|
---|
337 | "name": "etag",
|
---|
338 | "value": "W/\"3c5f-634eguYt5dOrScTRtPWT5WjNr6I\""
|
---|
339 | },
|
---|
340 | {
|
---|
341 | "name": "cache-control",
|
---|
342 | "value": "no-store"
|
---|
343 | },
|
---|
344 | {
|
---|
345 | "name": "x-cache-status",
|
---|
346 | "value": "EXPIRED"
|
---|
347 | },
|
---|
348 | {
|
---|
349 | "name": "X-Firefox-Spdy",
|
---|
350 | "value": "h2"
|
---|
351 | }
|
---|
352 | ],
|
---|
353 | "cookies": [],
|
---|
354 | "content": {
|
---|
355 | "mimeType": "text/html; charset=utf-8",
|
---|
356 | "size": 15455,
|
---|
357 | "text": "<!DOCTYPE html><html class=\"has-navbar-fixed-top\" lang=\"en\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\"><meta name=\"description\" content=\"ifconfig.lol | I tell you where you're from\"><meta name=\"author\" content=\"Christian Moore <https://christianmoore.me>\"><link rel=\"apple-touch-icon\" sizes=\"57x57\" href=\"/e551c7c7b726e1e915d7d55193fc41d5.png\"><link rel=\"apple-touch-icon\" sizes=\"60x60\" href=\"/54f5ccd1c07ef5387d709b6bc70e9864.png\"><link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"/ec9ff6a73fce94e55ee4ab4a399fcbb1.png\"><link rel=\"apple-touch-icon\" sizes=\"76x76\" href=\"/1b2138ea855090be7f11c487b0b88d71.png\"><link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"/84218c88fbf9d662be280a88434db6bd.png\"><link rel=\"apple-touch-icon\" sizes=\"120x120\" href=\"/902faf706ee409a48f6d2d62a13eed84.png\"><link rel=\"apple-touch-icon\" sizes=\"144x144\" href=\"/cac793e9c3b238b85c4d5ded0223ff40.png\"><link rel=\"apple-touch-icon\" sizes=\"152x152\" href=\"/3b4119c187c890274b0451f8b97dc7c3.png\"><link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"/69eb43bc095b6b8f4644dbd5e54c2ac3.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/a28658bbab8b46cad450768e07a7f40f.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/3a870b4af44b99934a35efdcb798b103.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"96x96\" href=\"/718c2c09363caa1c41df373b910f69d2.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/99b8a9a30d3f361168f8f0ef19023e6e.png\"><meta name=\"msapplication-TileColor\" content=\"#ffffff\"><meta name=\"msapplication-TileImage\" content=\"/cac793e9c3b238b85c4d5ded0223ff40.png\"><meta name=\"theme-color\" content=\"#ffffff\"><title>ifconfig.lol</title><link rel=\"stylesheet\" href=\"/495473a8da8f3022bbac8d60ba566ea2.css\"><link rel=\"stylesheet\" href=\"/f77d1ae86768b5b5192e144550c1f2db.css\"></head><body><div><div class=\"site-body\"><div class=\"col background-black\"><div class=\"cell\"><div><h1><br>ifconfig.lol<h2><small>I show you where you're from.</small></h2><br><br></h1></div></div></div><div class=\"col\"><div class=\"cell\"><div class=\"col width-1of5\"><div class=\"cell panel\"><div class=\"header background-black\">IP Address</div><div class=\"body gradient\"><div class=\"cell\"><span id=\"serverDetectedIp\">174.63.88.125</span><span id=\"webRtcIps\"></span></div></div></div></div><div class=\"col width-2of5\"><div class=\"cell panel\"><div class=\"header background-black\">Reverse DNS</div><div class=\"body gradient\"><div class=\"cell\">c-174-63-88-125.hsd1.nh.comcast.net</div></div></div></div><div class=\"col width-fill\"><div class=\"cell panel\"><div class=\"header background-black\">Location</div><div class=\"body gradient\"><div class=\"cell\"><a class=\"has-no-text-decoration\" target=\"_new\" rel=\"noopener\" href=\"https://maps.google.com/?q=42.765369,-71.467567\">Nashua, New Hampshire, US</a></div></div></div></div><div class=\"col\"><div class=\"cell panel\"><div class=\"header background-black\">Proxy</div><div class=\"body gradient\"><div class=\"cell\">You do not appear to be using a proxy</div></div></div></div><div class=\"col\"><div class=\"cell panel\"><div class=\"header background-black\">Device</div><div class=\"body gradient\"><div class=\"cell\"><p>Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0</p></div></div></div></div><div class=\"col width-1of2\"><div class=\"cell panel\"><div class=\"header background-black\">TLS Negotiation</div><div class=\"body\"><div class=\"cell menu\"><h4>This Session:</h4><ul class=\"stat left nav\"><li><p class=\"has-overflow-hidden\"><small><a class=\"has-padding-6 has-no-text-decoration has text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://en.wikipedia.org/wiki/TLSv1.3\">TLSv1.3</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small class=\"phone-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_AES_256_GCM_SHA384\">TLS_AES_256_GCM_SHA384</a></small><small class=\"tablet-hidden desktop-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_AES_256_GCM_SHA384\">0x1302</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li></ul><br><h4>Your Supported Groups:</h4><ul class=\"stat left nav\"><li><p class=\"has-overflow-hidden\"><small><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://safecurves.cr.yp.to/\">x25519</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://safecurves.cr.yp.to/\">prime256v1</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/4d85dd5a74485382147eeca06591905d.png\" alt=\"Potentially weak\" title=\"Potentially weak\"></span></li><li><p class=\"has-overflow-hidden\"><small><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://safecurves.cr.yp.to/\">secp384r1</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/4d85dd5a74485382147eeca06591905d.png\" alt=\"Potentially weak\" title=\"Potentially weak\"></span></li><li><p class=\"has-overflow-hidden\"><small><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://safecurves.cr.yp.to/\">secp521r1</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://safecurves.cr.yp.to/\">0x0100</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://safecurves.cr.yp.to/\">0x0101</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li></ul><br><h4>Your Supported Ciphers:</h4><ul class=\"stat left nav\"><li><p class=\"has-overflow-hidden\"><small class=\"phone-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_AES_128_GCM_SHA256\">TLS_AES_128_GCM_SHA256</a></small><small class=\"tablet-hidden desktop-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_AES_128_GCM_SHA256\">0x1301</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small class=\"phone-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_CHACHA20_POLY1305_SHA256\">TLS_CHACHA20_POLY1305_SHA256</a></small><small class=\"tablet-hidden desktop-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_CHACHA20_POLY1305_SHA256\">0x1303</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small class=\"phone-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_AES_256_GCM_SHA384\">TLS_AES_256_GCM_SHA384</a></small><small class=\"tablet-hidden desktop-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_AES_256_GCM_SHA384\">0x1302</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small class=\"phone-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\">TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256</a></small><small class=\"tablet-hidden desktop-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\">0xc02b</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small class=\"phone-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\">TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256</a></small><small class=\"tablet-hidden desktop-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\">0xc02f</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small class=\"phone-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\">TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256</a></small><small class=\"tablet-hidden desktop-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\">0xcca9</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small class=\"phone-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256\">TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256</a></small><small class=\"tablet-hidden desktop-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256\">0xcca8</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small class=\"phone-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\">TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384</a></small><small class=\"tablet-hidden desktop-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\">0xc02c</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small class=\"phone-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\">TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384</a></small><small class=\"tablet-hidden desktop-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\">0xc030</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li></ul></div></div></div></div><div class=\"col width-fill\"><div class=\"cell panel\"><pre class=\"background-black\">$ curl ifconfig.lol\n174.63.88.125\n\n$ curl ifconfig.lol/reverse\nc-174-63-88-125.hsd1.nh.comcast.net\n\n$ wget -qO- ifconfig.lol/location\nNashua, New Hampshire, US\n42.765369, -71.467567\n\n$ http -b ifconfig.lol/json\n{\n "public_ip": "174.63.88.125",\n "country": "US",\n "region": "New Hampshire",\n "city": "Nashua",\n "latitude": 42.765369,\n "longitude": -71.467567,\n "proxy": "-",\n "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0",\n "device": {\n "browser": {\n "name": "Firefox",\n "version": "75.0"\n },\n "os": {\n "name": "Windows",\n "version": "NT 10.0",\n "versionName": "10"\n },\n "platform": {\n "type": "desktop"\n },\n "engine": {\n "name": "Gecko",\n "version": "20100101"\n }\n }\n}\n\n$ http -b https://ifconfig.lol/ciphers\n[\n "TLS_AES_128_GCM_SHA256",\n "TLS_CHACHA20_POLY1305_SHA256",\n "TLS_AES_256_GCM_SHA384",\n "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",\n "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",\n "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",\n "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",\n "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",\n "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"\n]</pre></div></div></div></div></div><div class=\"site-footer\"><div class=\"col\"><div class=\"cell is-centered\"><a rel=\"noopener\" href=\"https://shameless.gg\"><img class=\"is-centered\" src=\"/0d2be2acb38452b4c09b02842ff54eff.png\"></a></div></div></div></div><script defer src=\"/310a47c68be0e79d9fca110bb4a40490.js\"></script></body></html>"
|
---|
358 | },
|
---|
359 | "redirectURL": "",
|
---|
360 | "headersSize": 1284,
|
---|
361 | "bodySize": 16739
|
---|
362 | },
|
---|
363 | "cache": {},
|
---|
364 | "timings": {
|
---|
365 | "blocked": 0,
|
---|
366 | "dns": 0,
|
---|
367 | "connect": 0,
|
---|
368 | "ssl": 0,
|
---|
369 | "send": 0,
|
---|
370 | "wait": 34,
|
---|
371 | "receive": 25
|
---|
372 | },
|
---|
373 | "time": 59,
|
---|
374 | "_securityState": "secure",
|
---|
375 | "serverIPAddress": "18.215.201.130",
|
---|
376 | "connection": "443"
|
---|
377 | },
|
---|
378 | {
|
---|
379 | "pageref": "page_1",
|
---|
380 | "startedDateTime": "2020-04-04T09:41:06.538-04:00",
|
---|
381 | "request": {
|
---|
382 | "bodySize": 0,
|
---|
383 | "method": "GET",
|
---|
384 | "url": "https://christianmoore.me/",
|
---|
385 | "httpVersion": "HTTP/2",
|
---|
386 | "headers": [
|
---|
387 | {
|
---|
388 | "name": "Host",
|
---|
389 | "value": "christianmoore.me"
|
---|
390 | },
|
---|
391 | {
|
---|
392 | "name": "User-Agent",
|
---|
393 | "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0"
|
---|
394 | },
|
---|
395 | {
|
---|
396 | "name": "Accept",
|
---|
397 | "value": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
|
---|
398 | },
|
---|
399 | {
|
---|
400 | "name": "Accept-Language",
|
---|
401 | "value": "en-US,en;q=0.5"
|
---|
402 | },
|
---|
403 | {
|
---|
404 | "name": "Accept-Encoding",
|
---|
405 | "value": "gzip, deflate, br"
|
---|
406 | },
|
---|
407 | {
|
---|
408 | "name": "DNT",
|
---|
409 | "value": "1"
|
---|
410 | },
|
---|
411 | {
|
---|
412 | "name": "Connection",
|
---|
413 | "value": "keep-alive"
|
---|
414 | },
|
---|
415 | {
|
---|
416 | "name": "Cookie",
|
---|
417 | "value": "__cfduid=dffc89182199b3a252c9a90ea331e8b221585915134"
|
---|
418 | },
|
---|
419 | {
|
---|
420 | "name": "Upgrade-Insecure-Requests",
|
---|
421 | "value": "1"
|
---|
422 | },
|
---|
423 | {
|
---|
424 | "name": "Pragma",
|
---|
425 | "value": "no-cache"
|
---|
426 | },
|
---|
427 | {
|
---|
428 | "name": "Cache-Control",
|
---|
429 | "value": "no-cache"
|
---|
430 | },
|
---|
431 | {
|
---|
432 | "name": "TE",
|
---|
433 | "value": "Trailers"
|
---|
434 | }
|
---|
435 | ],
|
---|
436 | "cookies": [
|
---|
437 | {
|
---|
438 | "name": "__cfduid",
|
---|
439 | "value": "dffc89182199b3a252c9a90ea331e8b221585915134"
|
---|
440 | }
|
---|
441 | ],
|
---|
442 | "queryString": [],
|
---|
443 | "headersSize": 455
|
---|
444 | },
|
---|
445 | "response": {
|
---|
446 | "status": 200,
|
---|
447 | "statusText": "OK",
|
---|
448 | "httpVersion": "HTTP/2",
|
---|
449 | "headers": [
|
---|
450 | {
|
---|
451 | "name": "server",
|
---|
452 | "value": "nginx"
|
---|
453 | },
|
---|
454 | {
|
---|
455 | "name": "date",
|
---|
456 | "value": "Sat, 04 Apr 2020 13:41:05 GMT"
|
---|
457 | },
|
---|
458 | {
|
---|
459 | "name": "content-type",
|
---|
460 | "value": "text/html; charset=utf-8"
|
---|
461 | },
|
---|
462 | {
|
---|
463 | "name": "x-dns-prefetch-control",
|
---|
464 | "value": "off"
|
---|
465 | },
|
---|
466 | {
|
---|
467 | "name": "x-frame-options",
|
---|
468 | "value": "DENY"
|
---|
469 | },
|
---|
470 | {
|
---|
471 | "name": "strict-transport-security",
|
---|
472 | "value": "max-age=31536000; includeSubDomains; preload"
|
---|
473 | },
|
---|
474 | {
|
---|
475 | "name": "x-download-options",
|
---|
476 | "value": "noopen"
|
---|
477 | },
|
---|
478 | {
|
---|
479 | "name": "x-content-type-options",
|
---|
480 | "value": "nosniff"
|
---|
481 | },
|
---|
482 | {
|
---|
483 | "name": "x-xss-protection",
|
---|
484 | "value": "1; mode=block"
|
---|
485 | },
|
---|
486 | {
|
---|
487 | "name": "referrer-policy",
|
---|
488 | "value": "strict-origin-when-cross-origin"
|
---|
489 | },
|
---|
490 | {
|
---|
491 | "name": "expect-ct",
|
---|
492 | "value": "enforce, max-age=31536000"
|
---|
493 | },
|
---|
494 | {
|
---|
495 | "name": "x-permitted-cross-domain-policies",
|
---|
496 | "value": "none"
|
---|
497 | },
|
---|
498 | {
|
---|
499 | "name": "content-security-policy",
|
---|
500 | "value": "default-src 'none'; connect-src 'self'; img-src 'self' https://cdn.christianmoore.me/; font-src 'self' data: https://fonts.gstatic.com/; style-src 'self' https://cdn.christianmoore.me/ https://fonts.googleapis.com/; script-src 'self' https://cdn.christianmoore.me/; object-src 'none'; frame-src 'none'; manifest-src 'none'; media-src 'none'; worker-src 'none'; frame-ancestors 'none'; form-action 'none'; require-sri-for script; base-uri 'none'; sandbox allow-same-origin allow-scripts allow-popups allow-popups-to-escape-sandbox; upgrade-insecure-requests; block-all-mixed-content; report-uri /report-violation; disown-opener"
|
---|
501 | },
|
---|
502 | {
|
---|
503 | "name": "tk",
|
---|
504 | "value": "D"
|
---|
505 | },
|
---|
506 | {
|
---|
507 | "name": "feature-policy",
|
---|
508 | "value": "accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'"
|
---|
509 | },
|
---|
510 | {
|
---|
511 | "name": "random-bytes",
|
---|
512 | "value": "019632fff719f10abfaa3955084ed064d10fcf71bee4401efe1bc7cf36299e6d3c9f1ae5f4db98dba16177ed0dadb3bc9a3d1570e6e086b123f7e22e7adff997"
|
---|
513 | },
|
---|
514 | {
|
---|
515 | "name": "etag",
|
---|
516 | "value": "W/\"6b31-RbtNJ6f+cOKywcaPcP0ionwSjxU\""
|
---|
517 | },
|
---|
518 | {
|
---|
519 | "name": "cache-control",
|
---|
520 | "value": "public, max-age=1"
|
---|
521 | },
|
---|
522 | {
|
---|
523 | "name": "vary",
|
---|
524 | "value": "Accept-Encoding"
|
---|
525 | },
|
---|
526 | {
|
---|
527 | "name": "content-encoding",
|
---|
528 | "value": "gzip"
|
---|
529 | },
|
---|
530 | {
|
---|
531 | "name": "x-cache-status",
|
---|
532 | "value": "EXPIRED"
|
---|
533 | },
|
---|
534 | {
|
---|
535 | "name": "X-Firefox-Spdy",
|
---|
536 | "value": "h2"
|
---|
537 | }
|
---|
538 | ],
|
---|
539 | "cookies": [],
|
---|
540 | "content": {
|
---|
541 | "mimeType": "text/html; charset=utf-8",
|
---|
542 | "size": 27441,
|
---|
543 | "text": "<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\"><meta name=\"description\" content=\"Christian Moore | IT Professional Extraordinaire\"><meta name=\"author\" content=\"Christian Moore <https://christianmoore.me>\"><meta name=\"theme-color\" content=\"##00d1b2\"><link rel=\"apple-touch-icon\" sizes=\"57x57\" href=\".//af9c3eaedb787f0627d19e7bad775378.png\"><link rel=\"apple-touch-icon\" sizes=\"60x60\" href=\".//18331fb3381617590f629baa6a81e0ce.png\"><link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\".//04f43b3e53f964d1a44bf381009e901e.png\"><link rel=\"apple-touch-icon\" sizes=\"76x76\" href=\".//38d2b1f5bb19942d5d66fc9bc66ff6d2.png\"><link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\".//80fee4c94f94f29fe36971109bfed650.png\"><link rel=\"apple-touch-icon\" sizes=\"120x120\" href=\".//aefc6b0925e3f1fa50c7880c66196af9.png\"><link rel=\"apple-touch-icon\" sizes=\"144x144\" href=\".//25ad8c4eaa015992581b1268d4cdeba2.png\"><link rel=\"apple-touch-icon\" sizes=\"152x152\" href=\".//bc7403b65215ffedfbcea63874c324ee.png\"><link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\".//6f8af21ccd45d6e9286ad66333456d9c.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\".//b35fd58e3766ea3efe64f4dd626feaee.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\".//c23313a8e02a613d159f7ac8f3aed7da.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"96x96\" href=\".//be9858f217c30d7bab7904fa164f9a2b.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\".//1c1567c64bb1d1881315d70772dbfa3e.png\"><meta name=\"msapplication-TileColor\" content=\"#ffffff\"><meta name=\"msapplication-TileImage\" content=\".//25ad8c4eaa015992581b1268d4cdeba2.png\"><meta name=\"theme-color\" content=\"#ffffff\"><title>Christian Moore</title><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//f2c920903fe86b600e53a01c4e49c611.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//d012bbadec37aeacba8bb70afe4e610d.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//bff7faac4e3c03639d30c36ec50e7105.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//3205a8b6fcb292bc79e0d89aedc1679f.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//194c969a166a4486362fe1cb17a4b3ee.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//52297efd0c45945afdf03f55f4a6ddcb.css\"></head><body><div class=\"page-container\"><section class=\"hero is-primary\"><div class=\"hero-body\"><div class=\"container\"><div class=\"columns is-mobile\"><div class=\"column is-narrow\"><img class=\"profile-pic\" src=\".//89c8ad062b8783b6ea9222eaea8ddbf1.png\" alt=\"avatar\"></div><div class=\"column\"><h1 class=\"title\">C<span class=\"is-hidden-mobile\">hristian</span><span class=\"is-hidden-tablet\">.</span>\nMoore</h1><h2 class=\"subtitle\">Cloud<span class=\"is-hidden-mobile\">\nGeneralist</span><span>\nSuperstar</span></h2></div></div></div></div></section><div class=\"main-content\"><section class=\"section is-topless\"><div class=\"container\"><div class=\"columns is-mobile is-variable is-1 has-text-centered\"><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fab fa-aws has-text-it4\"></i><span class=\"is-hidden-mobile\"> \nCloud</span></p></div></div></div><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fab fa-docker has-text-vistaprint\"></i><span class=\"is-hidden-mobile\"> \nContainers</span></p></div></div></div><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fas fa-code-merge has-text-cimpress\"></i><span class=\"is-hidden-mobile\"> \nCI/CD</span></p></div></div></div><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fas fa-lock-alt\"></i><span class=\"is-hidden-mobile\"> \nSecurity</span></p></div></div></div></div><div class=\"is-divider\" data-content=\"Mission\"></div><div class=\"content\"><p>Technology is my passion. I've shaped my life, and 16 years of professional experience around it. AWS is my playground. I seek to ensure software engineers take full advantage of everything it has to offer.</p><p>The cloud is a superpower that a driven man can use to make his impact on the world. Applying cutting edge information technology in clever and intuitive ways is what I do.</p><p>I work every day to move the needle on cloud compliance for efficiency, security, and cost optimization using the latest in containers, serverless, and automation.</p></div><div class=\"is-divider\" data-content=\"Career\"></div><div class=\"timeline\"><header class=\"timeline-header\"><span class=\"tag is-large is-cimpress is-tooltip-right tooltip is-tooltip-multiline is-tooltip-cimpress has-text-centered\" data-tooltip=\"Cimpress is the world leader in mass customized printed materials.\">2014-20</span></header><div class=\"timeline-item is-cimpress\"><div class=\"timeline-marker is-cimpress is-icon\"><i class=\"fal fa-cloud fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Lead Cloud Security Engineer, Cimpress</strong><p><i class=\"fal fa-keyboard fa-fw has-text-cimpress\"></i> <small>Analyzed and addressed security and spending risks across hundreds of AWS accounts, and millions of dollars in infrastructure spending.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-cimpress\"></i> <small>Learned wide array of AWS services, cloud security & cost control implementations, actively exploited vulnerabilities, and secure coding practices.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-cimpress\"></i> <small>Developed education, detection, and mitigation strategies that enabled software engineers to build secure applications in the cloud without overspending.</small></p></div></div><div class=\"timeline-item is-cimpress\"><div class=\"timeline-marker is-cimpress is-icon\"><i class=\"fal fa-code fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Lead DevOps Engineer, Cimpress</strong><p><i class=\"fal fa-keyboard fa-fw has-text-cimpress\"></i> <small>Organized migration to robust CI/CD infrastructure and provided complete platform upon which software engineers can review, build, test, deploy, and monitor.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-cimpress\"></i> <small>Learned configuration management and infrastructure automation, logging and monitoring, IT project management, SDLC, containers, and Linux administration.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-cimpress\"></i> <small>Improved SCM, CI/CD, and artifact management uptime and reliability. Provided path forward, removing dependencies on legacy and outdated platforms.</small></p></div></div><header class=\"timeline-header\"><span class=\"tag is-large is-vistaprint tooltip is-tooltip-right is-tooltip-multiline is-tooltip-vistaprint has-text-centered\" data-tooltip=\"Vistaprint is an e-commerce brand that produces physical and digital marketing products for small and micro businesses.\">2008-13</span></header><div class=\"timeline-item is-vistaprint\"><div class=\"timeline-marker is-vistaprint is-icon\"><i class=\"fal fa-lightbulb fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Sr. Problem Manager, Vistaprint</strong><p><i class=\"fal fa-keyboard fa-fw has-text-vistaprint\"></i> <small>Analyzed, prioritized, & managed the resolution of a wide variety of costly business problems during both business hours and 24x7 on-call.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-vistaprint\"></i> <small>Learned emergency problem triage and analysis, global communication and efficient problem management, and cost & postmortem analysis.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-vistaprint\"></i> <small>Minimized the impact of ongoing production issues, saving tens of thousands of dollars each week. Prevented re-occurrence of problems through accurate and complete analysis. Briefed executives with summaries of high-impact business problems.</small></p></div></div><div class=\"timeline-item is-vistaprint\"><div class=\"timeline-marker is-vistaprint is-icon\"><i class=\"fal fa-server fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Sr. Systems Administrator, Vistaprint</strong><p><i class=\"fal fa-keyboard fa-fw has-text-vistaprint\"></i> <small>Performed maintenance, monitoring, and code deployments on global production infrastructure. Developed tools for systematizing manual tasks.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-vistaprint\"></i> <small>Learned e-commerce IT operations, web development, change & work management, and Windows domain administration.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-vistaprint\"></i> <small>Increased site uptime and reliability. Enabled consistent work tracking and site health historical analysis through tooling.</small></p></div></div><header class=\"timeline-header\"><span class=\"tag is-large is-it4 is-vistaprint tooltip is-tooltip-right is-tooltip-multiline is-tooltip-it4 has-text-centered\" data-tooltip=\"IT4 is a local managed IT services company serving small businesses in the greater Boston area.\">2004-07</span></header><div class=\"timeline-item is-it4\"><div class=\"timeline-marker is-it4 is-icon\"><i class=\"fal fa-wrench fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Systems Engineer, IT4</strong><p><i class=\"fal fa-keyboard fa-fw has-text-it4\"></i> <small>Designed and assembled desktop and portable computer systems for use by law enforcement during forensic collection of computer crimes evidence.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-it4\"></i> <small>Learned system design, customer service, vendor management, quality assurance, and on-site technical skills.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-it4\"></i> <small>Increased product quality baseline and lowered frequency of repair and warranty returns.</small></p></div></div></div><div class=\"is-divider\" data-content=\"Knowledge\"></div><div class=\"columns\"><div class=\"column\"><table class=\"table is-fullwidth\"><tbody><tr><td class=\"is-size-7 is-narrow\">Cloud Solutions Architect</td><td><progress class=\"progress is-primary\" value=\"100\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">DevOps Engineer</td><td><progress class=\"progress is-warning\" value=\"100\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">IT Problem Manager</td><td><progress class=\"progress is-dark\" value=\"100\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">Security Engineer</td><td><progress class=\"progress is-danger\" value=\"90\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">Software Engineer</td><td><progress class=\"progress is-info\" value=\"80\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">Network Administrator</td><td><progress class=\"progress is-link\" value=\"70\" max=\"100\"></progress></td></tr></tbody></table></div><div class=\"column\"><div class=\"field is-grouped is-grouped-multiline\"><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"EC2, ECS, Lambda, Elastic Beanstalk\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Compute</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"CloudWatch, Auto Scaling, CloudFormation, CloudTrail, Trusted Advisor\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Management</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"RDS, DynamoDB, ElastiCache\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Database</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"S3, EFS, Glacier\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Storage</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"IAM, Cognito, GuardDuty, Macie, Certificate Manager, WAF & Shield\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Security</span></div></div><div class=\"control tooltip\" data-tooltip=\"Ubuntu, Debian, Alpine\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-desktop fa-fw\"></i></span><span class=\"tag is-dark\"><i class=\"fab fa-linux\"></i> \nLinux</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"macOS Sierra/High Sierra\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-desktop fa-fw\"></i></span><span class=\"tag is-dark\"><i class=\"fab fa-apple\"></i> \nMac</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Windows 7/8/10, Windows Server 2008/2012/2016\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-desktop fa-fw\"></i></span><span class=\"tag is-dark\"><i class=\"fab fa-windows\"></i> \nWindows</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"A platform for running lightweight, self-contained images of software\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fab fa-docker fa-fw\"></i></span><span class=\"tag is-dark\">Docker</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Write, plan, and create infrastructure as code\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-wrench fa-fw\"></i></span><span class=\"tag is-dark\">Terraform</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Write, plan, and create infrastructure as code\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fab fa-git fa-fw\"></i></span><span class=\"tag is-dark\">Git</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Write, plan, and create infrastructure as code\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-code-merge fa-fw\"></i></span><span class=\"tag is-dark\">CI/CD</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"IAM, WAF, Shield, GuardDuty, Security Hub\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">AWS Security</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"CIS, PCI, HIPAA\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">Compliance</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Certificates, Cipher Suites, Diffie-Hellman\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">TLS</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"RSA, DH, ECC, bcrypt, OpenSSL, Tor\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">Crypto</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"A weakly typed, prototype-based, object-oriented, client & server scripting language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">JavaScript</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Google's statically typed, concurrent, compiled language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">Go</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"An interpreted, reflective, object-oriented, general-purpose scripting language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">Ruby</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Microsofts general-purpose object-oriented programming language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">C#</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Microsoft's task automation and configuration management framework\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-terminal fa-fw\"></i></span><span class=\"tag is-dark\">PowerShell</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"VPC, CloudFront, VPN, Direct Connect, Route 53\"><div class=\"tags has-addons\"><span class=\"tag is-link\"><i class=\"fal fa-exchange fa-fw\"></i></span><span class=\"tag is-dark\">AWS Networking</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"BIND\"><div class=\"tags has-addons\"><span class=\"tag is-link\"><i class=\"fal fa-exchange fa-fw\"></i></span><span class=\"tag is-dark\">DNS/DHCP</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Site-to-Site, Client\"><div class=\"tags has-addons\"><span class=\"tag is-link\"><i class=\"fal fa-exchange fa-fw\"></i></span><span class=\"tag is-dark\">VPN</span></div></div></div></div></div><div class=\"is-divider\" data-content=\"Recent Work\"></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Raising Compliance and Lowering Cost</div><div class=\"message-body\"><p>Cimpress needed a simple way for our hundreds of engineers to stay on top of the security and control the costs of their cloud infrastructure.</p><br><p>I created an intuitive web app in <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> on <a rel=\"noopener\" target=\"_new\" href=\"https://www.docker.com\">Docker</a> using data from <a rel=\"noopener\" target=\"_new\" href=\"https://cloudsploit.com\">CloudSploit</a> and saw drastic improvement in our security compliance.</p><br><p>Next, I built a web app in <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> on <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/lambda/\">AWS Lambda</a> using data from <a rel=\"noopener\" target=\"_new\" href=\"https://cloudability.com\">Cloudability</a> to provide actionable, cost-saving insight to engineers, directors, and leadership. This empowered significant cost savings in a self-service way.</p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Doing Enterprise AWS Right</div><div class=\"message-body\"><p>Cimpress needed a way for the enterprise at large to use AWS effectively and securely. I spearheaded the company's strategy around adopting SSO for the cloud, for login and for API key generation.</p><br><p>This was achieved through partnership with <a rel=\"noopener\" target=\"_new\" href=\"https://auth0.com\">Auth0</a>, and the creation of several supporting tools in <a rel=\"noopener\" target=\"_new\" href=\"https://www.ruby-lang.org/en/\">Ruby</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://docs.microsoft.com/en-us/powershell/scripting/whats-new/what-s-new-in-powershell-core-60?view=powershell-6\">PowerShell</a>, and <a rel=\"noopener\" target=\"_new\" href=\"https://golang.org/\">Golang</a>.</p><br><p>I also developed a methodology for measuring the true cost of our microservices, even in cases where infrastructure is shared amongst several services.</p></div></article></div></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Making Docker in AWS Easy</div><div class=\"message-body\"><p>Recognizing a CI/CD usability gap in AWS ECS for software engineers using <a rel=\"noopener\" target=\"_new\" href=\"https://www.docker.com\">Docker</a>, I created two tools around <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/ecs/\">AWS ECS</a> - one for building and deploying, and another for optimizing infrastructure.</p><br><p>This was achieved with <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> packages made available to the open source community for use by myself and my peers, as well as the public at large.</p><br><p>Available on <a rel=\"noopener\" target=\"_new\" href=\"https://www.npmjs.com/~shamelesscookie\">npmjs.com</a></p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Building My Own Solutions</div><div class=\"message-body\"><p>When I first started using Firefox, there was no way to strictly enforce HTTPS for all requests made by the browser (only add-ons to softly attempt HTTPS, with a fall back to HTTP).</p><br><p>So I built and published an add-on for Firefox called <a rel=\"noopener\" target=\"_new\" href=\"https://addons.mozilla.org/en-US/firefox/addon/nohttp/\">NoHTTP</a> to accomplish this, and I use it every day to ensure my web browsing is always secure.</p><br><p>Published to the world at <a rel=\"noopener\" target=\"_new\" href=\"https://addons.mozilla.org/en-US/firefox/addon/nohttp/\">addons.mozilla.org</a></p></div></article></div></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Practicing What I Preach</div><div class=\"message-body\"><p>This site, <a rel=\"noopener\" target=\"_new\" href=\"https://christianmoore.me\">christianmoore.me</a>, is a living testament to my experience.</p><br><p>I boast A+'s across the board on <a rel=\"noopener\" target=\"_new\" href=\"https://observatory.mozilla.org/analyze/christianmoore.me\">Mozilla Observatory</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://securityheaders.com/?followRedirects=on&hide=on&q=christianmoore.me\">securityheaders.com</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://tls.imirhil.fr/https/christianmoore.me\">CryptCheck</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://www.ssllabs.com/ssltest/analyze.html?d=christianmoore.me&s=18.215.201.130&hideResults=on\">SSL Labs</a>, and <a rel=\"noopener\" target=\"_new\" href=\"https://gtmetrix.com/reports/christianmoore.me/qUuYMf6a\">GTmetrix</a>.</p><br><p>I deploy with CI/CD through <a rel=\"noopener\" target=\"_new\" href=\"https://gitlab.com\">GitLab.com</a>, scanning for vulnerabilities at build time using both <a rel=\"noopener\" target=\"_new\" href=\"https://docs.npmjs.com/cli/audit\">npm audit</a>, using an AWS ECS IaC tool I wrote called <a rel=\"noopener\" target=\"_new\" href=\"https://www.npmjs.com/package/@cimpresscloud/ecs-publish\">ecs-publish</a>, running on Docker in AWS, with DNS from <a rel=\"noopener\" target=\"_new\" href=\"https://cloudflare.com\">CloudFlare</a>.</p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Applying Machine Learning in New Ways</div><div class=\"message-body\"><p>To gain a deeper understanding of streaming video quality and practicality, I applied Netflix machine learning technology to the video standards used on Twitch.tv.</p><br><p>This was achieved by Dockerizing <a rel=\"noopener\" target=\"_new\" href=\"https://hub.docker.com/r/shamelesscookie/vmaf\">Netflix VMAF</a> and collecting measurements from video encoded to Twitch's guidelines.</p><br><p>Published to the world at <a rel=\"noopener\" target=\"_new\" href=\"https://streamquality.report\">streamquality.report</a></p></div></article></div></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Clever Use of Multi-Region Serverless</div><div class=\"message-body\"><p>To better understand global HTTP latency, I deployed a <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> script to several locations around the world that connect to my site every 60 minutes and report how long each phase of the connection process takes.</p><br><p>This was achieved with <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/lambda/\">AWS Lambda</a> deployed through <a rel=\"noopener\" target=\"_new\" href=\"https://serverless.com/\">serverless framework</a>, executing <a rel=\"noopener\" target=\"_new\" href=\"https://github.com/adieuadieu/serverless-chrome/releases\">headless chrome built for Amazon Linux</a>, and aggregating data using <a rel=\"noopener\" target=\"_new\" href=\"https://www.sitespeed.io/\">sitespeed.io</a>'s <a rel=\"noopener\" target=\"_new\" href=\"https://www.sitespeed.io/documentation/browsertime/introduction/\">browsertime</a> tool, storing results in <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/elasticache/\">AWS ElastiCache</a>.</p><br><p>Inspired by <a rel=\"noopener\" target=\"_new\" href=\"https://updown.io/ezxm\">updown.io</a></p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Shedding Light on TLS</div><div class=\"message-body\"><p>To learn more about TLS protocols, cipher suites, and named groups, I implemented a proxy that injects details about the current TLS session as request headers, along with the client's declared supported groups and suites.</p><br><p>This was achieved with <a rel=\"noopener\" target=\"_new\" href=\"https://nginx.org/\">nginx</a> built with <a rel=\"noopener\" target=\"_new\" href=\"https://www.openssl.org\">openssl</a> 1.1.1 for <a rel=\"noopener\" target=\"_new\" href=\"https://en.wikipedia.org/wiki/TLSv1.3\">TLSv1.3</a> support, and cross-referencing data with <a rel=\"noopener\" target=\"_new\" href=\"http://ciphersuite.info/\">ciphersuite.info</a> and <a rel=\"noopener\" target=\"_new\" href=\"https://safecurves.cr.yp.to/\">safecurves.cr.yp.to</a> to understand differences between them.</p><br><p>Deployed as <a rel=\"noopener\" target=\"_new\" href=\"https://ifconfig.lol\">ifconfig.lol</a></p></div></article></div></div></div></section></div><footer class=\"footer\"><div class=\"container\"><div class=\"columns\"><div class=\"column has-text-centered is-hidden-mobile\"><strong>Location</strong><p><a class=\"has-text-dark\" rel=\"noopener\" href=\"https://www.google.com/maps/place/Nashua,+NH/\" target=\"_blank\">Nashua, New Hampshire USA</a></p></div><div class=\"column has-text-centered\"><strong>E-mail</strong><p><a class=\"has-text-dark\" href=\"mailto:christian@christianmoore.me\">christian@christianmoore.me</a></p></div><div class=\"column has-text-centered is-hidden-mobile\"><strong>Darknet</strong><p><a class=\"has-text-dark\" rel=\"noopener\" href=\"http://christian42gxn67.onion/\" target=\"_blank\">christian42gxn67.onion</a></p></div></div></div></footer></div><script defer src=\"https://cdn.christianmoore.me//b10eebbc2664d052c3bddb0e09c2377a.js\" data-auto-add-css=\"false\"></script><script defer src=\"https://cdn.christianmoore.me//16ea15b095fdb907a6ca9e6c6af5e3ca.js\"></script><script defer src=\"https://cdn.christianmoore.me//6476c8226d00b49d068029873af937f3.js\"></script><script defer src=\"https://cdn.christianmoore.me//66630822ced7ea474f4b67f244ee4246.js\"></script><script defer src=\"https://cdn.christianmoore.me//7de4b9a83b960faf05b9b5fa2c9c6681.js\"></script></body></html>"
|
---|
544 | },
|
---|
545 | "redirectURL": "",
|
---|
546 | "headersSize": 1590,
|
---|
547 | "bodySize": 8563
|
---|
548 | },
|
---|
549 | "cache": {},
|
---|
550 | "timings": {
|
---|
551 | "blocked": 1,
|
---|
552 | "dns": 0,
|
---|
553 | "connect": 0,
|
---|
554 | "ssl": 0,
|
---|
555 | "send": 0,
|
---|
556 | "wait": 35,
|
---|
557 | "receive": 0
|
---|
558 | },
|
---|
559 | "time": 36,
|
---|
560 | "_securityState": "secure",
|
---|
561 | "serverIPAddress": "18.215.201.130",
|
---|
562 | "connection": "443"
|
---|
563 | },
|
---|
564 | {
|
---|
565 | "pageref": "page_1",
|
---|
566 | "startedDateTime": "2020-04-04T09:41:07.446-04:00",
|
---|
567 | "request": {
|
---|
568 | "bodySize": 0,
|
---|
569 | "method": "GET",
|
---|
570 | "url": "https://ifconfig.lol/",
|
---|
571 | "httpVersion": "HTTP/2",
|
---|
572 | "headers": [
|
---|
573 | {
|
---|
574 | "name": "Host",
|
---|
575 | "value": "ifconfig.lol"
|
---|
576 | },
|
---|
577 | {
|
---|
578 | "name": "User-Agent",
|
---|
579 | "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0"
|
---|
580 | },
|
---|
581 | {
|
---|
582 | "name": "Accept",
|
---|
583 | "value": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
|
---|
584 | },
|
---|
585 | {
|
---|
586 | "name": "Accept-Language",
|
---|
587 | "value": "en-US,en;q=0.5"
|
---|
588 | },
|
---|
589 | {
|
---|
590 | "name": "Accept-Encoding",
|
---|
591 | "value": "gzip, deflate, br"
|
---|
592 | },
|
---|
593 | {
|
---|
594 | "name": "DNT",
|
---|
595 | "value": "1"
|
---|
596 | },
|
---|
597 | {
|
---|
598 | "name": "Connection",
|
---|
599 | "value": "keep-alive"
|
---|
600 | },
|
---|
601 | {
|
---|
602 | "name": "Upgrade-Insecure-Requests",
|
---|
603 | "value": "1"
|
---|
604 | },
|
---|
605 | {
|
---|
606 | "name": "Pragma",
|
---|
607 | "value": "no-cache"
|
---|
608 | },
|
---|
609 | {
|
---|
610 | "name": "Cache-Control",
|
---|
611 | "value": "no-cache"
|
---|
612 | },
|
---|
613 | {
|
---|
614 | "name": "TE",
|
---|
615 | "value": "Trailers"
|
---|
616 | }
|
---|
617 | ],
|
---|
618 | "cookies": [],
|
---|
619 | "queryString": [],
|
---|
620 | "headersSize": 388
|
---|
621 | },
|
---|
622 | "response": {
|
---|
623 | "status": 200,
|
---|
624 | "statusText": "OK",
|
---|
625 | "httpVersion": "HTTP/2",
|
---|
626 | "headers": [
|
---|
627 | {
|
---|
628 | "name": "server",
|
---|
629 | "value": "nginx"
|
---|
630 | },
|
---|
631 | {
|
---|
632 | "name": "date",
|
---|
633 | "value": "Sat, 04 Apr 2020 13:41:06 GMT"
|
---|
634 | },
|
---|
635 | {
|
---|
636 | "name": "content-type",
|
---|
637 | "value": "text/html; charset=utf-8"
|
---|
638 | },
|
---|
639 | {
|
---|
640 | "name": "x-dns-prefetch-control",
|
---|
641 | "value": "off"
|
---|
642 | },
|
---|
643 | {
|
---|
644 | "name": "x-frame-options",
|
---|
645 | "value": "DENY"
|
---|
646 | },
|
---|
647 | {
|
---|
648 | "name": "strict-transport-security",
|
---|
649 | "value": "max-age=31536000; includeSubDomains; preload"
|
---|
650 | },
|
---|
651 | {
|
---|
652 | "name": "x-download-options",
|
---|
653 | "value": "noopen"
|
---|
654 | },
|
---|
655 | {
|
---|
656 | "name": "x-content-type-options",
|
---|
657 | "value": "nosniff"
|
---|
658 | },
|
---|
659 | {
|
---|
660 | "name": "x-xss-protection",
|
---|
661 | "value": "1; mode=block"
|
---|
662 | },
|
---|
663 | {
|
---|
664 | "name": "referrer-policy",
|
---|
665 | "value": "strict-origin-when-cross-origin"
|
---|
666 | },
|
---|
667 | {
|
---|
668 | "name": "expect-ct",
|
---|
669 | "value": "enforce, max-age=31536000"
|
---|
670 | },
|
---|
671 | {
|
---|
672 | "name": "x-permitted-cross-domain-policies",
|
---|
673 | "value": "none"
|
---|
674 | },
|
---|
675 | {
|
---|
676 | "name": "content-security-policy",
|
---|
677 | "value": "default-src 'none'; connect-src 'self'; img-src 'self' https://cdn.christianmoore.me/; font-src 'self' data: https://fonts.gstatic.com/; style-src 'self' https://cdn.christianmoore.me/ https://fonts.googleapis.com/; script-src 'self' https://cdn.christianmoore.me/; object-src 'none'; frame-src 'none'; manifest-src 'none'; media-src 'none'; worker-src 'none'; frame-ancestors 'none'; form-action 'none'; require-sri-for script; base-uri 'none'; sandbox allow-same-origin allow-scripts allow-popups allow-popups-to-escape-sandbox; upgrade-insecure-requests; block-all-mixed-content; report-uri /report-violation; disown-opener"
|
---|
678 | },
|
---|
679 | {
|
---|
680 | "name": "tk",
|
---|
681 | "value": "D"
|
---|
682 | },
|
---|
683 | {
|
---|
684 | "name": "feature-policy",
|
---|
685 | "value": "accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'"
|
---|
686 | },
|
---|
687 | {
|
---|
688 | "name": "random-bytes",
|
---|
689 | "value": "019632fff719f10abfaa3955084ed064d10fcf71bee4401efe1bc7cf36299e6d3c9f1ae5f4db98dba16177ed0dadb3bc9a3d1570e6e086b123f7e22e7adff997"
|
---|
690 | },
|
---|
691 | {
|
---|
692 | "name": "etag",
|
---|
693 | "value": "W/\"6b31-RbtNJ6f+cOKywcaPcP0ionwSjxU\""
|
---|
694 | },
|
---|
695 | {
|
---|
696 | "name": "cache-control",
|
---|
697 | "value": "public, max-age=1"
|
---|
698 | },
|
---|
699 | {
|
---|
700 | "name": "vary",
|
---|
701 | "value": "Accept-Encoding"
|
---|
702 | },
|
---|
703 | {
|
---|
704 | "name": "content-encoding",
|
---|
705 | "value": "gzip"
|
---|
706 | },
|
---|
707 | {
|
---|
708 | "name": "x-cache-status",
|
---|
709 | "value": "HIT"
|
---|
710 | },
|
---|
711 | {
|
---|
712 | "name": "X-Firefox-Spdy",
|
---|
713 | "value": "h2"
|
---|
714 | }
|
---|
715 | ],
|
---|
716 | "cookies": [],
|
---|
717 | "content": {
|
---|
718 | "mimeType": "text/html; charset=utf-8",
|
---|
719 | "size": 27441,
|
---|
720 | "text": "<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\"><meta name=\"description\" content=\"Christian Moore | IT Professional Extraordinaire\"><meta name=\"author\" content=\"Christian Moore <https://christianmoore.me>\"><meta name=\"theme-color\" content=\"##00d1b2\"><link rel=\"apple-touch-icon\" sizes=\"57x57\" href=\".//af9c3eaedb787f0627d19e7bad775378.png\"><link rel=\"apple-touch-icon\" sizes=\"60x60\" href=\".//18331fb3381617590f629baa6a81e0ce.png\"><link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\".//04f43b3e53f964d1a44bf381009e901e.png\"><link rel=\"apple-touch-icon\" sizes=\"76x76\" href=\".//38d2b1f5bb19942d5d66fc9bc66ff6d2.png\"><link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\".//80fee4c94f94f29fe36971109bfed650.png\"><link rel=\"apple-touch-icon\" sizes=\"120x120\" href=\".//aefc6b0925e3f1fa50c7880c66196af9.png\"><link rel=\"apple-touch-icon\" sizes=\"144x144\" href=\".//25ad8c4eaa015992581b1268d4cdeba2.png\"><link rel=\"apple-touch-icon\" sizes=\"152x152\" href=\".//bc7403b65215ffedfbcea63874c324ee.png\"><link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\".//6f8af21ccd45d6e9286ad66333456d9c.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\".//b35fd58e3766ea3efe64f4dd626feaee.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\".//c23313a8e02a613d159f7ac8f3aed7da.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"96x96\" href=\".//be9858f217c30d7bab7904fa164f9a2b.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\".//1c1567c64bb1d1881315d70772dbfa3e.png\"><meta name=\"msapplication-TileColor\" content=\"#ffffff\"><meta name=\"msapplication-TileImage\" content=\".//25ad8c4eaa015992581b1268d4cdeba2.png\"><meta name=\"theme-color\" content=\"#ffffff\"><title>Christian Moore</title><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//f2c920903fe86b600e53a01c4e49c611.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//d012bbadec37aeacba8bb70afe4e610d.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//bff7faac4e3c03639d30c36ec50e7105.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//3205a8b6fcb292bc79e0d89aedc1679f.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//194c969a166a4486362fe1cb17a4b3ee.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//52297efd0c45945afdf03f55f4a6ddcb.css\"></head><body><div class=\"page-container\"><section class=\"hero is-primary\"><div class=\"hero-body\"><div class=\"container\"><div class=\"columns is-mobile\"><div class=\"column is-narrow\"><img class=\"profile-pic\" src=\".//89c8ad062b8783b6ea9222eaea8ddbf1.png\" alt=\"avatar\"></div><div class=\"column\"><h1 class=\"title\">C<span class=\"is-hidden-mobile\">hristian</span><span class=\"is-hidden-tablet\">.</span>\nMoore</h1><h2 class=\"subtitle\">Cloud<span class=\"is-hidden-mobile\">\nGeneralist</span><span>\nSuperstar</span></h2></div></div></div></div></section><div class=\"main-content\"><section class=\"section is-topless\"><div class=\"container\"><div class=\"columns is-mobile is-variable is-1 has-text-centered\"><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fab fa-aws has-text-it4\"></i><span class=\"is-hidden-mobile\"> \nCloud</span></p></div></div></div><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fab fa-docker has-text-vistaprint\"></i><span class=\"is-hidden-mobile\"> \nContainers</span></p></div></div></div><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fas fa-code-merge has-text-cimpress\"></i><span class=\"is-hidden-mobile\"> \nCI/CD</span></p></div></div></div><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fas fa-lock-alt\"></i><span class=\"is-hidden-mobile\"> \nSecurity</span></p></div></div></div></div><div class=\"is-divider\" data-content=\"Mission\"></div><div class=\"content\"><p>Technology is my passion. I've shaped my life, and 16 years of professional experience around it. AWS is my playground. I seek to ensure software engineers take full advantage of everything it has to offer.</p><p>The cloud is a superpower that a driven man can use to make his impact on the world. Applying cutting edge information technology in clever and intuitive ways is what I do.</p><p>I work every day to move the needle on cloud compliance for efficiency, security, and cost optimization using the latest in containers, serverless, and automation.</p></div><div class=\"is-divider\" data-content=\"Career\"></div><div class=\"timeline\"><header class=\"timeline-header\"><span class=\"tag is-large is-cimpress is-tooltip-right tooltip is-tooltip-multiline is-tooltip-cimpress has-text-centered\" data-tooltip=\"Cimpress is the world leader in mass customized printed materials.\">2014-20</span></header><div class=\"timeline-item is-cimpress\"><div class=\"timeline-marker is-cimpress is-icon\"><i class=\"fal fa-cloud fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Lead Cloud Security Engineer, Cimpress</strong><p><i class=\"fal fa-keyboard fa-fw has-text-cimpress\"></i> <small>Analyzed and addressed security and spending risks across hundreds of AWS accounts, and millions of dollars in infrastructure spending.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-cimpress\"></i> <small>Learned wide array of AWS services, cloud security & cost control implementations, actively exploited vulnerabilities, and secure coding practices.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-cimpress\"></i> <small>Developed education, detection, and mitigation strategies that enabled software engineers to build secure applications in the cloud without overspending.</small></p></div></div><div class=\"timeline-item is-cimpress\"><div class=\"timeline-marker is-cimpress is-icon\"><i class=\"fal fa-code fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Lead DevOps Engineer, Cimpress</strong><p><i class=\"fal fa-keyboard fa-fw has-text-cimpress\"></i> <small>Organized migration to robust CI/CD infrastructure and provided complete platform upon which software engineers can review, build, test, deploy, and monitor.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-cimpress\"></i> <small>Learned configuration management and infrastructure automation, logging and monitoring, IT project management, SDLC, containers, and Linux administration.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-cimpress\"></i> <small>Improved SCM, CI/CD, and artifact management uptime and reliability. Provided path forward, removing dependencies on legacy and outdated platforms.</small></p></div></div><header class=\"timeline-header\"><span class=\"tag is-large is-vistaprint tooltip is-tooltip-right is-tooltip-multiline is-tooltip-vistaprint has-text-centered\" data-tooltip=\"Vistaprint is an e-commerce brand that produces physical and digital marketing products for small and micro businesses.\">2008-13</span></header><div class=\"timeline-item is-vistaprint\"><div class=\"timeline-marker is-vistaprint is-icon\"><i class=\"fal fa-lightbulb fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Sr. Problem Manager, Vistaprint</strong><p><i class=\"fal fa-keyboard fa-fw has-text-vistaprint\"></i> <small>Analyzed, prioritized, & managed the resolution of a wide variety of costly business problems during both business hours and 24x7 on-call.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-vistaprint\"></i> <small>Learned emergency problem triage and analysis, global communication and efficient problem management, and cost & postmortem analysis.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-vistaprint\"></i> <small>Minimized the impact of ongoing production issues, saving tens of thousands of dollars each week. Prevented re-occurrence of problems through accurate and complete analysis. Briefed executives with summaries of high-impact business problems.</small></p></div></div><div class=\"timeline-item is-vistaprint\"><div class=\"timeline-marker is-vistaprint is-icon\"><i class=\"fal fa-server fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Sr. Systems Administrator, Vistaprint</strong><p><i class=\"fal fa-keyboard fa-fw has-text-vistaprint\"></i> <small>Performed maintenance, monitoring, and code deployments on global production infrastructure. Developed tools for systematizing manual tasks.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-vistaprint\"></i> <small>Learned e-commerce IT operations, web development, change & work management, and Windows domain administration.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-vistaprint\"></i> <small>Increased site uptime and reliability. Enabled consistent work tracking and site health historical analysis through tooling.</small></p></div></div><header class=\"timeline-header\"><span class=\"tag is-large is-it4 is-vistaprint tooltip is-tooltip-right is-tooltip-multiline is-tooltip-it4 has-text-centered\" data-tooltip=\"IT4 is a local managed IT services company serving small businesses in the greater Boston area.\">2004-07</span></header><div class=\"timeline-item is-it4\"><div class=\"timeline-marker is-it4 is-icon\"><i class=\"fal fa-wrench fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Systems Engineer, IT4</strong><p><i class=\"fal fa-keyboard fa-fw has-text-it4\"></i> <small>Designed and assembled desktop and portable computer systems for use by law enforcement during forensic collection of computer crimes evidence.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-it4\"></i> <small>Learned system design, customer service, vendor management, quality assurance, and on-site technical skills.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-it4\"></i> <small>Increased product quality baseline and lowered frequency of repair and warranty returns.</small></p></div></div></div><div class=\"is-divider\" data-content=\"Knowledge\"></div><div class=\"columns\"><div class=\"column\"><table class=\"table is-fullwidth\"><tbody><tr><td class=\"is-size-7 is-narrow\">Cloud Solutions Architect</td><td><progress class=\"progress is-primary\" value=\"100\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">DevOps Engineer</td><td><progress class=\"progress is-warning\" value=\"100\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">IT Problem Manager</td><td><progress class=\"progress is-dark\" value=\"100\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">Security Engineer</td><td><progress class=\"progress is-danger\" value=\"90\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">Software Engineer</td><td><progress class=\"progress is-info\" value=\"80\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">Network Administrator</td><td><progress class=\"progress is-link\" value=\"70\" max=\"100\"></progress></td></tr></tbody></table></div><div class=\"column\"><div class=\"field is-grouped is-grouped-multiline\"><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"EC2, ECS, Lambda, Elastic Beanstalk\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Compute</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"CloudWatch, Auto Scaling, CloudFormation, CloudTrail, Trusted Advisor\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Management</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"RDS, DynamoDB, ElastiCache\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Database</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"S3, EFS, Glacier\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Storage</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"IAM, Cognito, GuardDuty, Macie, Certificate Manager, WAF & Shield\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Security</span></div></div><div class=\"control tooltip\" data-tooltip=\"Ubuntu, Debian, Alpine\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-desktop fa-fw\"></i></span><span class=\"tag is-dark\"><i class=\"fab fa-linux\"></i> \nLinux</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"macOS Sierra/High Sierra\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-desktop fa-fw\"></i></span><span class=\"tag is-dark\"><i class=\"fab fa-apple\"></i> \nMac</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Windows 7/8/10, Windows Server 2008/2012/2016\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-desktop fa-fw\"></i></span><span class=\"tag is-dark\"><i class=\"fab fa-windows\"></i> \nWindows</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"A platform for running lightweight, self-contained images of software\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fab fa-docker fa-fw\"></i></span><span class=\"tag is-dark\">Docker</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Write, plan, and create infrastructure as code\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-wrench fa-fw\"></i></span><span class=\"tag is-dark\">Terraform</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Write, plan, and create infrastructure as code\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fab fa-git fa-fw\"></i></span><span class=\"tag is-dark\">Git</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Write, plan, and create infrastructure as code\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-code-merge fa-fw\"></i></span><span class=\"tag is-dark\">CI/CD</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"IAM, WAF, Shield, GuardDuty, Security Hub\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">AWS Security</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"CIS, PCI, HIPAA\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">Compliance</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Certificates, Cipher Suites, Diffie-Hellman\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">TLS</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"RSA, DH, ECC, bcrypt, OpenSSL, Tor\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">Crypto</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"A weakly typed, prototype-based, object-oriented, client & server scripting language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">JavaScript</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Google's statically typed, concurrent, compiled language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">Go</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"An interpreted, reflective, object-oriented, general-purpose scripting language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">Ruby</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Microsofts general-purpose object-oriented programming language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">C#</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Microsoft's task automation and configuration management framework\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-terminal fa-fw\"></i></span><span class=\"tag is-dark\">PowerShell</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"VPC, CloudFront, VPN, Direct Connect, Route 53\"><div class=\"tags has-addons\"><span class=\"tag is-link\"><i class=\"fal fa-exchange fa-fw\"></i></span><span class=\"tag is-dark\">AWS Networking</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"BIND\"><div class=\"tags has-addons\"><span class=\"tag is-link\"><i class=\"fal fa-exchange fa-fw\"></i></span><span class=\"tag is-dark\">DNS/DHCP</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Site-to-Site, Client\"><div class=\"tags has-addons\"><span class=\"tag is-link\"><i class=\"fal fa-exchange fa-fw\"></i></span><span class=\"tag is-dark\">VPN</span></div></div></div></div></div><div class=\"is-divider\" data-content=\"Recent Work\"></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Raising Compliance and Lowering Cost</div><div class=\"message-body\"><p>Cimpress needed a simple way for our hundreds of engineers to stay on top of the security and control the costs of their cloud infrastructure.</p><br><p>I created an intuitive web app in <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> on <a rel=\"noopener\" target=\"_new\" href=\"https://www.docker.com\">Docker</a> using data from <a rel=\"noopener\" target=\"_new\" href=\"https://cloudsploit.com\">CloudSploit</a> and saw drastic improvement in our security compliance.</p><br><p>Next, I built a web app in <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> on <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/lambda/\">AWS Lambda</a> using data from <a rel=\"noopener\" target=\"_new\" href=\"https://cloudability.com\">Cloudability</a> to provide actionable, cost-saving insight to engineers, directors, and leadership. This empowered significant cost savings in a self-service way.</p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Doing Enterprise AWS Right</div><div class=\"message-body\"><p>Cimpress needed a way for the enterprise at large to use AWS effectively and securely. I spearheaded the company's strategy around adopting SSO for the cloud, for login and for API key generation.</p><br><p>This was achieved through partnership with <a rel=\"noopener\" target=\"_new\" href=\"https://auth0.com\">Auth0</a>, and the creation of several supporting tools in <a rel=\"noopener\" target=\"_new\" href=\"https://www.ruby-lang.org/en/\">Ruby</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://docs.microsoft.com/en-us/powershell/scripting/whats-new/what-s-new-in-powershell-core-60?view=powershell-6\">PowerShell</a>, and <a rel=\"noopener\" target=\"_new\" href=\"https://golang.org/\">Golang</a>.</p><br><p>I also developed a methodology for measuring the true cost of our microservices, even in cases where infrastructure is shared amongst several services.</p></div></article></div></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Making Docker in AWS Easy</div><div class=\"message-body\"><p>Recognizing a CI/CD usability gap in AWS ECS for software engineers using <a rel=\"noopener\" target=\"_new\" href=\"https://www.docker.com\">Docker</a>, I created two tools around <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/ecs/\">AWS ECS</a> - one for building and deploying, and another for optimizing infrastructure.</p><br><p>This was achieved with <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> packages made available to the open source community for use by myself and my peers, as well as the public at large.</p><br><p>Available on <a rel=\"noopener\" target=\"_new\" href=\"https://www.npmjs.com/~shamelesscookie\">npmjs.com</a></p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Building My Own Solutions</div><div class=\"message-body\"><p>When I first started using Firefox, there was no way to strictly enforce HTTPS for all requests made by the browser (only add-ons to softly attempt HTTPS, with a fall back to HTTP).</p><br><p>So I built and published an add-on for Firefox called <a rel=\"noopener\" target=\"_new\" href=\"https://addons.mozilla.org/en-US/firefox/addon/nohttp/\">NoHTTP</a> to accomplish this, and I use it every day to ensure my web browsing is always secure.</p><br><p>Published to the world at <a rel=\"noopener\" target=\"_new\" href=\"https://addons.mozilla.org/en-US/firefox/addon/nohttp/\">addons.mozilla.org</a></p></div></article></div></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Practicing What I Preach</div><div class=\"message-body\"><p>This site, <a rel=\"noopener\" target=\"_new\" href=\"https://christianmoore.me\">christianmoore.me</a>, is a living testament to my experience.</p><br><p>I boast A+'s across the board on <a rel=\"noopener\" target=\"_new\" href=\"https://observatory.mozilla.org/analyze/christianmoore.me\">Mozilla Observatory</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://securityheaders.com/?followRedirects=on&hide=on&q=christianmoore.me\">securityheaders.com</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://tls.imirhil.fr/https/christianmoore.me\">CryptCheck</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://www.ssllabs.com/ssltest/analyze.html?d=christianmoore.me&s=18.215.201.130&hideResults=on\">SSL Labs</a>, and <a rel=\"noopener\" target=\"_new\" href=\"https://gtmetrix.com/reports/christianmoore.me/qUuYMf6a\">GTmetrix</a>.</p><br><p>I deploy with CI/CD through <a rel=\"noopener\" target=\"_new\" href=\"https://gitlab.com\">GitLab.com</a>, scanning for vulnerabilities at build time using both <a rel=\"noopener\" target=\"_new\" href=\"https://docs.npmjs.com/cli/audit\">npm audit</a>, using an AWS ECS IaC tool I wrote called <a rel=\"noopener\" target=\"_new\" href=\"https://www.npmjs.com/package/@cimpresscloud/ecs-publish\">ecs-publish</a>, running on Docker in AWS, with DNS from <a rel=\"noopener\" target=\"_new\" href=\"https://cloudflare.com\">CloudFlare</a>.</p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Applying Machine Learning in New Ways</div><div class=\"message-body\"><p>To gain a deeper understanding of streaming video quality and practicality, I applied Netflix machine learning technology to the video standards used on Twitch.tv.</p><br><p>This was achieved by Dockerizing <a rel=\"noopener\" target=\"_new\" href=\"https://hub.docker.com/r/shamelesscookie/vmaf\">Netflix VMAF</a> and collecting measurements from video encoded to Twitch's guidelines.</p><br><p>Published to the world at <a rel=\"noopener\" target=\"_new\" href=\"https://streamquality.report\">streamquality.report</a></p></div></article></div></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Clever Use of Multi-Region Serverless</div><div class=\"message-body\"><p>To better understand global HTTP latency, I deployed a <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> script to several locations around the world that connect to my site every 60 minutes and report how long each phase of the connection process takes.</p><br><p>This was achieved with <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/lambda/\">AWS Lambda</a> deployed through <a rel=\"noopener\" target=\"_new\" href=\"https://serverless.com/\">serverless framework</a>, executing <a rel=\"noopener\" target=\"_new\" href=\"https://github.com/adieuadieu/serverless-chrome/releases\">headless chrome built for Amazon Linux</a>, and aggregating data using <a rel=\"noopener\" target=\"_new\" href=\"https://www.sitespeed.io/\">sitespeed.io</a>'s <a rel=\"noopener\" target=\"_new\" href=\"https://www.sitespeed.io/documentation/browsertime/introduction/\">browsertime</a> tool, storing results in <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/elasticache/\">AWS ElastiCache</a>.</p><br><p>Inspired by <a rel=\"noopener\" target=\"_new\" href=\"https://updown.io/ezxm\">updown.io</a></p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Shedding Light on TLS</div><div class=\"message-body\"><p>To learn more about TLS protocols, cipher suites, and named groups, I implemented a proxy that injects details about the current TLS session as request headers, along with the client's declared supported groups and suites.</p><br><p>This was achieved with <a rel=\"noopener\" target=\"_new\" href=\"https://nginx.org/\">nginx</a> built with <a rel=\"noopener\" target=\"_new\" href=\"https://www.openssl.org\">openssl</a> 1.1.1 for <a rel=\"noopener\" target=\"_new\" href=\"https://en.wikipedia.org/wiki/TLSv1.3\">TLSv1.3</a> support, and cross-referencing data with <a rel=\"noopener\" target=\"_new\" href=\"http://ciphersuite.info/\">ciphersuite.info</a> and <a rel=\"noopener\" target=\"_new\" href=\"https://safecurves.cr.yp.to/\">safecurves.cr.yp.to</a> to understand differences between them.</p><br><p>Deployed as <a rel=\"noopener\" target=\"_new\" href=\"https://ifconfig.lol\">ifconfig.lol</a></p></div></article></div></div></div></section></div><footer class=\"footer\"><div class=\"container\"><div class=\"columns\"><div class=\"column has-text-centered is-hidden-mobile\"><strong>Location</strong><p><a class=\"has-text-dark\" rel=\"noopener\" href=\"https://www.google.com/maps/place/Nashua,+NH/\" target=\"_blank\">Nashua, New Hampshire USA</a></p></div><div class=\"column has-text-centered\"><strong>E-mail</strong><p><a class=\"has-text-dark\" href=\"mailto:christian@christianmoore.me\">christian@christianmoore.me</a></p></div><div class=\"column has-text-centered is-hidden-mobile\"><strong>Darknet</strong><p><a class=\"has-text-dark\" rel=\"noopener\" href=\"http://christian42gxn67.onion/\" target=\"_blank\">christian42gxn67.onion</a></p></div></div></div></footer></div><script defer src=\"https://cdn.christianmoore.me//b10eebbc2664d052c3bddb0e09c2377a.js\" data-auto-add-css=\"false\"></script><script defer src=\"https://cdn.christianmoore.me//16ea15b095fdb907a6ca9e6c6af5e3ca.js\"></script><script defer src=\"https://cdn.christianmoore.me//6476c8226d00b49d068029873af937f3.js\"></script><script defer src=\"https://cdn.christianmoore.me//66630822ced7ea474f4b67f244ee4246.js\"></script><script defer src=\"https://cdn.christianmoore.me//7de4b9a83b960faf05b9b5fa2c9c6681.js\"></script></body></html>"
|
---|
721 | },
|
---|
722 | "redirectURL": "",
|
---|
723 | "headersSize": 1586,
|
---|
724 | "bodySize": 8559
|
---|
725 | },
|
---|
726 | "cache": {},
|
---|
727 | "timings": {
|
---|
728 | "blocked": 1,
|
---|
729 | "dns": 0,
|
---|
730 | "connect": 0,
|
---|
731 | "ssl": 0,
|
---|
732 | "send": 0,
|
---|
733 | "wait": 28,
|
---|
734 | "receive": 0
|
---|
735 | },
|
---|
736 | "time": 29,
|
---|
737 | "_securityState": "secure",
|
---|
738 | "serverIPAddress": "18.215.201.130",
|
---|
739 | "connection": "443"
|
---|
740 | }
|
---|
741 | ]
|
---|
742 | }
|
---|
743 | }
|
---|