lab 8 discussion: scripting

12
ì System Administration & Security COMP 175 | Fall 2021 | University of the Pacific | Jeff Shafer Lab 8 Discussion: Scripting (with DNS, Log Files, AWS CLI)

Upload: others

Post on 05-Jun-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lab 8 Discussion: Scripting

ìSystem Administration & SecurityCOMP 175 | Fall 2021 | University of the Pacific | Jeff Shafer

Lab 8 Discussion:Scripting

(with DNS, Log Files, AWS CLI)

Page 2: Lab 8 Discussion: Scripting

Lab 8 – Scripting

Objectivesì Automatic DNS Updates

ì Log file analysis (w/scripting)

ì SSH Connection Limiting

Discussionì DNS

ì AWS CLI

ì Fail2Ban

Fall 2021System Administration & Security

2

Page 3: Lab 8 Discussion: Scripting

ìAWS CLI

Fall 2021System Administration & Security

3

Page 4: Lab 8 Discussion: Scripting

DNS Motivation

ì We want some nice DNS entries for tigerenterpriseì www.STUDENT-NAME.tigerenterprises.orgì vpn.STUDENT-NAME.tigerenterprises.orgì And others in the future?

ì But we’re too cheap to pay for an ElasticIP to have a 100% reserved IP address…

ì … and we’re too lazy to update Route53 every time we launch a new instance

Fall 2021System Administration & Security

4

Page 5: Lab 8 Discussion: Scripting

Fall 2021System Administration & Security

5

https://xkcd.com/1319/

Let’s automate this menial task!

Page 6: Lab 8 Discussion: Scripting

AWS Command Line Interface

ì Free, cross-platform (Windows, MacOS, Linux)ì https://aws.amazon.com/cli/

ì Intended to provide equivalent functionality to the browser-based AWS Management Console, but at the command-lineì Scriptable!ì More capable in some instances (not every obscure

action can be done via the web console)

Fall 2021System Administration & Security

6

Page 7: Lab 8 Discussion: Scripting

AWS Command Line Interface

ì Traditional “getting started” method of using AWS CLI is to load it with your user credentialsì AWS Access Key IDì AWS Secret Access Keyì AWS Academy users can find this in your Vocareum portal

page – click on “Info” and then “show AWS CLI”ì Note that your credentials expire after 4 hour…

ì Can also grant permission to specific instances to run specific AWS CLI operations, and thus no additional authentication is required

Fall 2021System Administration & Security

7

Page 8: Lab 8 Discussion: Scripting

DNS Update

ì In a Bash script, run at startup:1. Load some variables with desired DNS name and

Route53 Hosted Zone ID2. Query Amazon (via a special-purpose URL) about

your current public IP3. Request Amazon (via CLI) change a Route53

resource record to reflect current public IP address

Fall 2021System Administration & Security

8

Page 9: Lab 8 Discussion: Scripting

Curl

ì curl is a tool to transfer data from or to a server

ì Supports myriad protocols!ì HTTP, HTTPS, SCP, SFTP, etc…

ì Supports myriad featuresì Proxies, user authentication, cookies, file transfer

resume, etc…

Fall 2021System Administration & Security

9

$ MY_IP=$(curl -s http://169.254.169.254/latest/meta-data/public-ipv4/)$ echo ${MY_IP}54.148.163.48

Page 10: Lab 8 Discussion: Scripting

ìFail2Ban

Fall 2021System Administration & Security

10

Page 11: Lab 8 Discussion: Scripting

Fail2Ban

ì Python program intended to slow down automated password-guessing attacks against servers

ì Monitors log files for patterns that indicate attack (e.g. repeated failed logins from an IP) and takes action (e.g. update firewall to ban IP temporarily)

ì Many applications supportedì Apache/Nginx, SSHD, qmail, proftpd, …

ì Limited effectiveness against a distributed brute-force attack

Fall 2021System Administration & Security

11

Page 12: Lab 8 Discussion: Scripting

Wrap-Up

ìQuestions?ìConcerns?

ì Todayì Lab 7 – VPNì Lab 8 – Scripting

Fall 2021System Administration & Security

12