Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore:...

38
Misusing Open Services on the Internet Jelte Fennema Ben de Graaff University of Amsterdam Supervisor: Rick van Galen (KPMG) February 3, 2016

Transcript of Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore:...

Page 1: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Misusing Open Services on the Internet

Jelte Fennema Ben de Graaff

University of AmsterdamSupervisor: Rick van Galen (KPMG)

February 3, 2016

Page 2: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Introduction

Open service: no authentication or default credentials

Relevant: more than 35,000 open MongoDB instancesExposing 685 TB (last December [1])

More than just data leaks – example: botnet command and control

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 2/24

Page 3: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

A problem for devops and software developers

“Memcached does not spend much, if any, effort inensuring its defensibility from random Internetconnections. So you must not expose Memcached directlyto the Internet.”

– Memcached documentation

“Everybody has privileges to do anything. Neat.”

— CouchDB security documentation

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 3/24

Page 4: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Research goals

I What are settings that lead to exploitable services?

I What are the operations required when exploiting an openservice as a command & control server?

I What are best practices for default configurations andauthentication?

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 4/24

Page 5: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Approach

For various software packages...

I Examine configuration (weaknesses?)I Tool to scan level of accessI Proof of concept: botnet command & control

Scanning the Internet

I ShodanI ZMap and our own scan tool

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 5/24

Page 6: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Approach

For various software packages...

I Examine configuration (weaknesses?)I Tool to scan level of accessI Proof of concept: botnet command & control

Scanning the Internet

I ShodanI ZMap and our own scan tool

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 5/24

Page 7: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Software classes

I Relational databases: MySQL, MariaDB, PostgreSQL

I NoSQL databases: MongoDB, CouchDB

I Key-value store: Redis, Memcached

I Message queue: RabbitMQ

I Printing protocols: CUPS (and IPP printers)

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 6/24

Page 8: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Software classes

I Relational databases: MySQL, MariaDB, PostgreSQL

I NoSQL databases: MongoDB, CouchDB

I Key-value store: Redis, Memcached

I Message queue: RabbitMQ

I Printing protocols: CUPS (and IPP printers)

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 6/24

Page 9: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Software classes

I Relational databases: MySQL, MariaDB, PostgreSQL

I NoSQL databases: MongoDB, CouchDB

I Key-value store: Redis, Memcached

I Message queue: RabbitMQ

I Printing protocols: CUPS (and IPP printers)

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 6/24

Page 10: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Software classes

I Relational databases: MySQL, MariaDB, PostgreSQL

I NoSQL databases: MongoDB, CouchDB

I Key-value store: Redis, Memcached

I Message queue: RabbitMQ

I Printing protocols: CUPS (and IPP printers)

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 6/24

Page 11: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Software classes

I Relational databases: MySQL, MariaDB, PostgreSQL

I NoSQL databases: MongoDB, CouchDB

I Key-value store: Redis, Memcached

I Message queue: RabbitMQ

I Printing protocols: CUPS (and IPP printers)

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 6/24

Page 12: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Proof of concept

Simple botnet simulation (communication channel):I Botnet operator sends signed commands to one bot or all botsI Bots execute commands, write back encrypted results

Setup Writecommand

Readcommand

Write resultRead result

Operator Operator Bot

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 7/24

Page 13: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Impact on the Internet

What is the impact on the Internet?

Is configuration security a factor?

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 8/24

Page 14: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Configuration security

PostgreSQL

MySQL

CUPSRabbitM

Q

Couch

DB

MongoDB

Redis

Memcach

ed

Localhost (in config) Y Y Y N Y Y N NNot public (default) Y N Y N Y N N N

Authentication by default Y Y Y Y N N N NNo public creds or anon Y Y Y Y N N N NHost-based access control Y Y Y Y N N N NAuthentication always on N Y N Y N N N NMinimal steps to make open 3 2 3 1 1 1 0 0Steps to make public/secure 3 2 3 1 3 3 1 2

Table 1: Comparison of security settings for the software packages

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 9/24

Page 15: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Configuration security

PostgreSQL

MySQL

CUPSRabbitM

Q

Couch

DB

MongoDB

Redis

Memcach

ed

Localhost (in config) Y Y Y N Y Y N NNot public (default) Y N Y N Y N N NAuthentication by default Y Y Y Y N N N NNo public creds or anon Y Y Y Y N N N N

Host-based access control Y Y Y Y N N N NAuthentication always on N Y N Y N N N NMinimal steps to make open 3 2 3 1 1 1 0 0Steps to make public/secure 3 2 3 1 3 3 1 2

Table 1: Comparison of security settings for the software packages

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 9/24

Page 16: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Configuration security

PostgreSQL

MySQL

CUPSRabbitM

Q

Couch

DB

MongoDB

Redis

Memcach

ed

Localhost (in config) Y Y Y N Y Y N NNot public (default) Y N Y N Y N N NAuthentication by default Y Y Y Y N N N NNo public creds or anon Y Y Y Y N N N NHost-based access control Y Y Y Y N N N N

Authentication always on N Y N Y N N N NMinimal steps to make open 3 2 3 1 1 1 0 0Steps to make public/secure 3 2 3 1 3 3 1 2

Table 1: Comparison of security settings for the software packages

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 9/24

Page 17: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Configuration security

PostgreSQL

MySQL

CUPSRabbitM

Q

Couch

DB

MongoDB

Redis

Memcach

ed

Localhost (in config) Y Y Y N Y Y N NNot public (default) Y N Y N Y N N NAuthentication by default Y Y Y Y N N N NNo public creds or anon Y Y Y Y N N N NHost-based access control Y Y Y Y N N N NAuthentication always on N Y N Y N N N N

Minimal steps to make open 3 2 3 1 1 1 0 0Steps to make public/secure 3 2 3 1 3 3 1 2

Table 1: Comparison of security settings for the software packages

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 9/24

Page 18: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Configuration security

PostgreSQL

MySQL

CUPSRabbitM

Q

Couch

DB

MongoDB

Redis

Memcach

ed

Localhost (in config) Y Y Y N Y Y N NNot public (default) Y N Y N Y N N NAuthentication by default Y Y Y Y N N N NNo public creds or anon Y Y Y Y N N N NHost-based access control Y Y Y Y N N N NAuthentication always on N Y N Y N N N NMinimal steps to make open 3 2 3 1 1 1 0 0

Steps to make public/secure 3 2 3 1 3 3 1 2

Table 1: Comparison of security settings for the software packages

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 9/24

Page 19: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Configuration security

PostgreSQL

MySQL

CUPSRabbitM

Q

Couch

DB

MongoDB

Redis

Memcach

ed

Localhost (in config) Y Y Y N Y Y N NNot public (default) Y N Y N Y N N NAuthentication by default Y Y Y Y N N N NNo public creds or anon Y Y Y Y N N N NHost-based access control Y Y Y Y N N N NAuthentication always on N Y N Y N N N NMinimal steps to make open 3 2 3 1 1 1 0 0Steps to make public/secure 3 2 3 1 3 3 1 2

Table 1: Comparison of security settings for the software packages

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 9/24

Page 20: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Percentage of open services exposed to the Internet

PostgreSQL CUPS RabbitMQ CouchDB MongoDB Redis Memcached IPP

Software packages

0%

20%

40%

60%

80%

100%P

erce

ntag

eof

open

serv

ices

Open with limited access

Open

Figure 1: Percentages of open services.

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 10/24

Page 21: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Combined results

PostgreSQL

CUPS

RabbitM

Q

CouchDB

MongoDB

Redis

Memcached

IPP

Localhost (in config) Y Y N Y Y N N –Not public (default) Y Y N Y N N N –Authentication by default Y Y Y N N N N –No public creds or anon Y Y Y N N N N –Host-based access control Y Y Y N N N N –Authentication always on N N Y N N N N –Minimal steps to make open 3 3 1 1 1 0 0 –Steps to make public/secure 3 3 1 3 3 1 2 –Percentage open 2% 21% 22% 72% 71% 37% 98% 81%With full access 2% 1% 22% 18% 71% 37% 98% –

Table 2: Combined comparison of software packages

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 11/24

Page 22: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

First attempt: Shodan

Shodan:I Scans the InternetI Sends command related to that serviceI Stores result in plain text

Full text search interface to find open services

Example: port:5984 couchdb !unauthorized

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 12/24

Page 23: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Shodan results

Package Open Closed

Memcached 100,044 –MongoDB 47,351 –Redis 13,455 23,174RabbitMQ 6,487 23,121PostgreSQL 6,391 293,481

Table 3: Worldwide statistics based on Shodan

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 13/24

Page 24: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Shodan inconclusive results

Package Unknown Closed

MySQL/MariaDB 1,767,930 2,231,132Non-CUPS IPP 23,948 1,664CouchDB 2,783 513CUPS 5,591 29,387

Table 4: Inconclusive statistics based on Shodan

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 14/24

Page 25: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Shodan unknowns

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 15/24

Page 26: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Second attempt: Our own scan

Shodan incomplete for some services

Setup

I Permission to scan all Dutch IPsI Not allowed to log in to any service

(required for MySQL, PostgreSQL)

How

I ZMap to port scan (5.5 minutes for 4.6 million IPs)I ~20,000 hits per portI Scanner modified for concurrency (7 minutes at 500

concurrent requests)

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 16/24

Page 27: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Second attempt: Our own scan

Shodan incomplete for some services

Setup

I Permission to scan all Dutch IPsI Not allowed to log in to any service

(required for MySQL, PostgreSQL)

How

I ZMap to port scan (5.5 minutes for 4.6 million IPs)I ~20,000 hits per portI Scanner modified for concurrency (7 minutes at 500

concurrent requests)

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 16/24

Page 28: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Our scan results

Service Open Closed Admin

Memcached 98% 3,725 70 –IPP 81% 260 61 –CouchDB 72% 190 73 47MongoDB 71% 1,859 753 –CUPS 21% 474 1,824 13

Table 5: Dutch statistics based on our scan

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 17/24

Page 29: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Type of IP range per service

CUPS/IPP

I Consumer networksI Some universitiesI Businesses

Memcached, MongoDB, CouchDB

I Mostly hosting services

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 18/24

Page 30: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Other quirks we found

CUPS:Print jobs can contain arbitrary attributes

. . . turning a printing job into a key-value store

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 19/24

Page 31: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Other quirks we found

CouchDB:Default security policy empty (writable by anyone)

. . . including database containing user credentials

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 20/24

Page 32: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Other quirks we found

Memcached:Authentication requires different, binary protocol

. . . not even supported by all clients

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 21/24

Page 33: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Conclusion

I Open services still an issue

I Exploitation is incredibly easy:any service you can write data to and read it back later

I Bad (default) configuration can lead to exploitable services

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 22/24

Page 34: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Best practices

I Prefer localhost access, require authentication for remoteaccess

I Secure defaults!

I Clear documentation and warnings (also in configuration)

I Simplify configuration of authentication (good configs, tools)

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 23/24

Page 35: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Best practices

I Prefer localhost access, require authentication for remoteaccess

I Secure defaults!

I Clear documentation and warnings (also in configuration)

I Simplify configuration of authentication (good configs, tools)

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 23/24

Page 36: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Best practices

I Prefer localhost access, require authentication for remoteaccess

I Secure defaults!

I Clear documentation and warnings (also in configuration)

I Simplify configuration of authentication (good configs, tools)

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 23/24

Page 37: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

Best practices

I Prefer localhost access, require authentication for remoteaccess

I Secure defaults!

I Clear documentation and warnings (also in configuration)

I Simplify configuration of authentication (good configs, tools)

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 23/24

Page 38: Misusing Open Services on the Internet · I NoSQLdatabases: MongoDB,CouchDB I Key-valuestore: Redis,Memcached I Messagequeue: RabbitMQ I Printingprotocols: CUPS(andIPPprinters) JelteFennema,BendeGraaff

Introduction Approach Proof of concept Results Scanning the Internet Conclusion References

References

John Matherly. It’s Still the Data, Stupid! 15th Dec. 2015.url:https://blog.shodan.io/its-still-the-data-stupid/(visited on 27/01/2016).

Shodan: the world’s first search engine for Internet-connecteddevices. 2009. url: https://www.shodan.io/ (visited on04/01/2016).

Zakir Durumeric, Eric Wustrow and J. Alex Halderman.“ZMap: Fast Internet-Wide Scanning and its SecurityApplications”. In: Proceedings of the 22nd USENIX SecuritySymposium. Aug. 2013.

Jelte Fennema, Ben de Graaff Misusing Open Services on the Internet 24/24