adventures in drupal security - juniortidal.comin drupal security junior tidal web services &...

79
ADVENTURES IN DRUPAL SECURITY JUNIOR TIDAL WEB SERVICES & MULTIMEDIA LIBRARIAN NEW YORK CITY COLLEGE OF TECHNOLOGY @JUNIORTIDAL 1

Upload: others

Post on 17-Oct-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

ADVENTURES IN DRUPAL SECURITY JUNIOR TIDAL

WEB SERVICES & MULTIMEDIA LIBRARIAN

NEW YORK CITY COLLEGE OF TECHNOLOGY

@JUNIORTIDAL

1

Page 2: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

ORGANIZATIONAL INFORMATICS

2

Page 3: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

HUMANS ARE FLAWED

3

Page 4: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

HUMANS CREATE SYSTEMS

4

Page 5: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

SYSTEMS ARE INHERENTLY FLAWED

5

Page 6: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

EVENTUALLY SYSTEMS FAIL

6

Page 7: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

THERE IS NO PERFECT SYSTEM

7

Page 8: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

THERE IS NO PERFECT SYSTEM

…SO DON’T TRY TO CREATE ONE.

8

Page 9: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

SYSTEMS FAIL FROM INTERNAL AND EXTERNAL FACTORS

9

Page 10: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

INSTEAD OF BUILDING A PERFECT SYSTEM 10

Page 11: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

EMPHASIZE PREVENTIVE MAINTENANCE

11

Page 12: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

CREATE RECOVERY STRATEGIES

12

Page 13: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

WHAT ARE WE TALKING ABOUT TODAY? BACKGROUND SECURITY COMPROMISED! RECOVERY LEARNING SECURING YOUR SITE

13

Page 14: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

BACKGROUND

14

Page 15: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

URSULA C. SCHWERIN LIBRARY SUPPORTS OVER 17,000 STUDENTS OF THE NEW YORK CITY COLLEGE OF TECHNOLOGY (CITY TECH)

15

Page 16: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

ONE OF THE 23 CAMPUSES OF THE CITY UNIVERSITY OF NEW YORK (CUNY)

16

Page 17: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

CONSIDERED A “COMMUTER” SCHOOL

17

Page 18: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

SERVES A DIVERSE POPULATION IN DOWNTOWN BROOKLYN

18

Page 19: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

THE WEB SERVER

19

Page 20: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

MIGRATED FROM A MULTI-DEPARTMENTAL WINDOWS IIS SERVER TO A DEDICATED LAMP SERVER IN 2008.

20

Page 21: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

AD HOC SUPPORTED BY COLLEGE IT DEPARTMENT.

21

Page 22: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

THE WEB SERVICES LIBRARIAN AND IT ASSOCIATE ARE ADMINS FOR THIS SERVER

22

Page 23: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

DRUPAL

23

Page 24: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

DRUPAL IS THE CMS USED TO MANAGE SEPARATE DESKTOP AND MOBILE SITES.

24

Page 25: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

DRUPAL 6 WAS USED FOR THE DESKTOP SITE.

25

Page 26: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

USING ANALYTICS INFORMATION, THERE WAS A NEED TO SUPPORT MOBILE USERS.

26

Page 27: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

DRUPAL 7 WAS USED TO CREATE A SEPARATE MOBILE SITE.

27

Page 28: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

CONVERSION FROM D6 TO D7 WASN’T POSSIBLE DUE TO LACK OF SUPPORT OF KEY MODULES

28

Page 29: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

MOBILE SITE

29

Page 30: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

THE MOBILE SITE HAD A WIDGET TO SEARCH THE CATALOG

30

Page 31: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

LINKS TO MOBILE FRIENDLY ELECTRONIC RESOURCES

31

Page 32: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

LIBRARY INFORMATION SUCH AS HOURS AND CONTACT WAS ALSO PROVIDED

32

Page 33: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

SECURITY COMPROMISED!

33

Page 34: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

THE MOBILE SITE WAS HACKED ON DECEMBER 21ST, 2014.

34

Page 35: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

THE BBC REPORTED A DRUPAL HACK ATTACK ON OCTOBER 31, 2014.

35

Page 36: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

UNIVERSITY IT CONTACTED CAMPUS IT ABOUT THE BREACH

36

Page 37: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

THE SITE WAS DEFACED AND THE HOMEPAGE REPLACED

37

Page 38: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

IT DISCONNECTED THE LIBRARY’S SERVER

38

Page 39: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

ATTACK ANALYSIS

39

Page 40: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

AFTER EXAMINING LOG FILES, THERE WASN’T ANY EVIDENCE OF UNAUTHORIZED USERS OR FILES

40

Page 41: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

SEARCHING MYSQL TABLES FOUND NO MALICIOUS CODE

41

Page 42: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

THE BREACH WAS EITHER THE OUTDATED D7 CORE OR MODULE(S)

42

Page 43: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

THE MOBILE SITE WAS SHUT DOWN

43

Page 44: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

UNTIL THE BETA SITE WAS READY, TRAFFIC WAS REDIRECTED TO THE DESKTOP SITE

44

Page 45: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

LESSONS LEARNED

45

Page 46: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

DON’T NEGLECT YOUR SITE

46

Page 47: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

USE DRUPAL’S EMAIL NOTIFICATIONS FOR NEW UPDATES

47

Page 48: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

IMPLEMENT DRUPAL SECURITY MODULES

48

Page 49: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

DRUPAL SECURITY MODULES

49

Page 50: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

DRUPAL SECURITY KIT

50

Page 51: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

CAPTCHA

51

Page 52: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

BACK UP AND MIGRATE

52

Page 53: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

AUTO LOGOUT

53

Page 54: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

LOGIN SECURITY

54

Page 55: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

DRUSH

55

Page 56: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

STRATEGIES FOR A SECURITY BREACH

56

Page 57: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

CREATE RECOVERY GUIDELINES

57

Page 58: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

CREATE RECOVERY GUIDELINES

58

Page 59: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

TAKE YOUR SITE OFFLINE

59

Page 60: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

MAKE A BACKUP OF YOUR HACKED SITE

60

Page 61: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

REPLACE A HACKED SITE WITH A BACKUP OR FAILOVER SITE

61

Page 62: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

CHECK LOG FILES

62

Page 63: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

NOTIFY ALL WHO NEED TO KNOW

63

Page 64: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

CHANGE PASSWORDS

64

Page 65: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

DOCUMENT EVERYTHING

65

Page 66: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

PREVENTIVE STRATEGIES AT THE SERVER LEVEL

66

Page 67: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

USE HTTPS (PORT 443)

67

Page 68: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

MANAGE FILE EXTENSIONS

68

Page 69: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

MANAGE PHP EXECUTION WITHIN YOUR UPLOADS FOLDER

69

Page 70: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

ROBOTS.TXT

70

Page 71: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

SECURE FILE PERMISSIONS

71

Page 72: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

MAKE AND AUTOMATE BACKUPS

72

Page 73: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

PREVENTIVE MAINTENANCE

73

Page 74: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

STRONG PASSWORDS

74

Page 75: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

EVALUATE USER ROLES AND PERMISSIONS

75

Page 76: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

EXAMINE SUB DIRECTORIES FOR RANDOM FILES ESPECIALLY /FILES AND /UPLOADS

76

Page 77: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

WRAPPING UP SYSTEMS FAIL BACKGROUND OF CITY TECH SECURITY COMPROMISED! RECOVERY LEARNING FROM THE COMPROMISE SECURING YOUR DRUPAL SITE 77

Page 79: Adventures in Drupal Security - juniortidal.comin drupal security junior tidal web services & multimedia librarian . new york city college of technology @juniortidal . 1. organizational

THANKS!

79