what is this thing called hadoop and how do i secure it? · pdf filewhat is this thing called...
TRANSCRIPT
© 2014 IBM Corporation
What is this thing called Hadoop and how do Isecure it?
Kathy Zeidenstein, IBM InfoSphere Guardium Evangelist and Tech Talk HostSundari Voruganti, IBM InfoSphere Guardium QA and solutions architectMike Murphy, WW Center of Excellence
2 © 2014 IBM Corporation2
Logistics This tech talk is being recorded. If you object, please hang up and
leave the webcast now.
We’ll post a copy of slides and link to recording on the Guardiumcommunity tech talk wiki page: http://ibm.co/Wh9x0o
You can listen to the tech talk using audiocast and ask questions inthe chat to the Q and A group.
We’ll try to answer questions in the chat or address them atspeaker’s discretion.
– If we cannot answer your question, please do include your emailso we can get back to you.
When speaker pauses for questions:– We’ll go through existing questions in the chat
3 © 2014 IBM Corporation
Reminder: Guardium Tech Talks
Next tech talk: Managing SOX compliance: People, processes, andtechnology
Speakers: Karl Wehden and Joe DiPietro
Date &Time: Thursday, August 7th, 2014
11:30 AM Eastern Time (60 minutes)
Register here: bit.ly/1xnMMgd
Next tech talk +1: Technical deep dive for InfoSphere Guardium on z
Speakers: Ernie Mancill
Date &Time: Wednesday, August 27th, 2014
11:30 AM Eastern Time (60+ minutes)
Register here: http://bit.ly/1jhYeqZ
4 © 2014 IBM Corporation
InfoSphere Data Privacy for Hadoop Webinar, July 24
Please join our webinar and learn how InfoSphere® Data Privacy for Hadoopenables you to establish a common big data business language and managebusiness perspectives about information, aligning those views with the ITperspective.
Highlights of this solution include:– Automate the discovery of relationships within and across big data sources.– Extract, de-identify, mask, and transform sensitive data targeting or residing in
your Hadoop environment.– Mask data on demand and in flight to your Hadoop environment.– Provide native masking support for Hadoop, CSV, and XML files.– Continuously monitor access and reduce unauthorized activities for big data
environments such as Hadoop.– Create a single, enterprise-wide view of big data security and compliance across
the entire data infrastructure.
Register herehttps://events.r20.constantcontact.com/register/eventReg?llr=jtqllyfab&oeidk=a07e98stk893a6e0fda
5 © 2014 IBM Corporation
Agenda
Part 1–What and Why Hadoop?–Security overview–Guardium Activity Monitoring for HadoopOverview
Part 2–Demo
Part 3–Implementation details and sample output–Sample reports–Deployment guidance (so far)–Q and A
Caveat: Hadoop is a rapidly evolving space. And security within Hadoop is evolving aswell. You will need to validate your own environment and capabilities with the IBM Team(for Guardium) and the Hadoop vendor you work with…
6 © 2014 IBM Corporation
Hadoop Deployment Guide DRAFT
For those that are seriously looking atHadoop deployments with Guardium, we havea draft of a deployment guide that is inconstant state of change– Includes much material from this tech talk plus
more details and will continue to evolve
Cannot distribute widely because of its draftnature.
If you want a draft, and agree that youunderstand it is a DRAFT to be used foreducation and planning purposes and not asofficial product documentation, please sendKathy Zeidenstein an email with your request.
7 © 2014 IBM Corporation
Polling question
Which best describes your technicalbackground for this topic?
1. I know about Hadoop pretty well butnot much about Guardium.
2. I understand Guardium but Hadoopis Greek to me (and I’m not Greek)
3. I understand both technologiespretty well
4. I don’t feel comfortable with eithertechnology. That’s why I’m here!
8 © 2014 IBM Corporation
Big Data Scenarios Span Many Industries
Identify criminals and threatsfrom disparate video, audio,and data feeds
Make risk decisions based onreal-time transactional data
Predict weather patterns to planoptimal wind turbine usage, andoptimize capital expenditure onasset placement
Detect life-threateningconditions at hospitals intime to intervene
Multi-channel customersentiment and experience aanalysis
9 © 2014 IBM Corporation
Business Users(With An Idea),Power Users,Data Analysts
Data Scientist /Data Miner,
Advanced BusinessUser,
Application Developer
TraditionalIT / Application
Developer
search &survey
exploratoryanalysis
operational
text search simple investigations peek / poke
from mountain ofdata into astructured world withapps to providebusiness value iterative in nature,
many false starts
creating/standing upapplications,processes, systemswith enterprisecharacteristicsmore formal
environment, SLAs,etc
Big Data life cycle – from raw to production
10 © 2014 IBM Corporation
What is Hadoop? (not exhaustive, or too much?)
HDFS (Hadoop distributed file system)
• YARN (Map Reduce 2)
• Map Reduce
Flu
me
(log
aggre
gato
r)S
qo
op
(bulk
data
transfe
r)
Zo
oke
epe
r(C
oord
ination)
Oo
zie
(Work
flow
)
Pig
(Scriptin
g)
Sp
ark
(analy
tics
fram
ew
ork
)
Imp
ala
/T
ez
/B
igS
QL
/HA
WQ
(Lo
wla
tency
qu
ery
en
g.)
Hiv
e(S
QL
-lik
eq
ue
ry)
HB
ase
(Co
lum
na
rsto
re)
Management Consoles
BigInsights Console, Hortonworks Ambari, Cloudera Navigator…
Ma
ho
ut
(Machin
ele
arn
ing)
HCatalog (metadata and storage abstraction)
Check out also http://wikibon.org/wiki/v/HBase,_Sqoop,_Flume_and_More:_Apache_Hadoop_Defined
11 © 2014 IBM Corporation
What is Hadoop?
The framework consists of ‘common,’ HDFS, andMapReduce ( YARN=MapReduce 2)– Derived from Google papers on Apache Hadoop's
MapReduce and HDFS (Hadoop Distributed File System)– Designed for fault tolerance and large scale processing
Additional Apache projects introduced to round outthe ‘platform, such as:– Hive (warehouse queries)– HBase (Big Table storage)– And more… (introduced in many cases by vendors)
And other components are differentiators includedby the vendors …– Cloudera – Impala (open source query engine)– Pivotal – HAWQ (SQL-compliant)– IBM BigInsights – BigSQL (SQL compliant), BigSheets
(spreadsheet metaphor)– Tez – high speed data processing app on YARN
According to Gartner, top 13 projects supported bymajor vendors include:– HDFS, YARN, MapReduce, Pig, Hive, HBase, Zookeeper,
Flume, Mahout, Oozie, Sqoop, Cascading and HCatalog.– ….
http://blogs.gartner.com/merv-adrian/2014/03/24/hadoop-is-in-the-mind-of-the-beholder/
http://blogs.gartner.com/merv-adrian/2014/06/28/what-is-hadoop-now/
YetAnotherResourceNegotiator
12 © 2014 IBM Corporation
Hadoop releases
1.2.X - current stable version, 1.2 release 2.4.X – current stable 2.4 version (April 2014) 0.23.x – Apache branch. Similar to 2.4 but without Name Node High
Availability
Source: http://hadoop.apache.org/releases.html
Hadoop 2.x requires Guardium GPU210 + patches to support YARN and
other changes
13 © 2014 IBM Corporation
A Hadoop Security Architecture
http://www.hadoopsphere.com/2013/01/security-architecture-for-apache-hadoop.html
Static Data(at rest)Static Data(at rest)Dynamic Data
(in use)Dynamic Data(in use)
..and masking
Defense in depthHadoop-agnosticHeterogeneous
14 © 2014 IBM Corporation
Protecting Big Data at Rest –Guardium Data Encryption
All data sourcespotentially containsensitive information Data is distributed as
needed throughoutHadoop cluster Deploy IBM InfoSphere
Guardium DataEncryption Agents toall systems hostingData Stores Agents protect the
data store at the filesystem or volume level
From Vormetric
Data security best practices: A practical guide to implementing dataencryption for InfoSphere BigInsights (on developerWorks)
15 © 2014 IBM Corporation
File SystemFile System
DBMS Server / File serverDBMS Server / File serverftp serverftp serverDBMS Server / File serverDBMS Server / File serverftp serverftp server
File SystemFile System
DBMS Server / File serverDBMS Server / File serverftp serverftp serverDBMS Server / File serverDBMS Server / File serverftp serverftp server
File System
Protecting Data with Guardium Data EncryptionArchitecture
Data Encryption Security Server
Policy and key management
Centralized administration
Separation of duties
WebAdministration
https
SSLx.509 Certificates
Guardium DE ServerGuardium DE Server
Key, Policy,Audit Log Store
Active /Active
DE Agent
HDFS
MapReduce Jobs
Users
16 © 2014 IBM Corporation
Monitoring and auditing challenges
•Many avenues to access
•Security andauthentication is evolving
•Complex software stackwith significant log datafrom each component
•Security and auditviewed in isolation fromrest of data architecture
17 © 2014 IBM Corporation
InfoSphere Guardium Hadoop Activity Monitoring
Hadoop ClusterClients
InfoSphereGuardiumCollectorAppliance
S-TAPsReal-time
alerts
Heavy lifting occurs on Guardium collector!Very low overhead on Hadoop Cluster
Dashboards Anomalies
Audit reports
Monitors key Hadoop events:Session and user informationHDFS operations and MapReduce jobsExceptions, such as authorization and access control failuresQueries (Hive, Hbase, BigSQL…)
Real-time alerts and anomaly detection
Same policies, architecture and reporring acrossthe data ecosystem
Separation of duties
18 © 2014 IBM Corporation
HadoopClient
GuardiumCollector
Analysisengine
Hadoop fs –mkdir /user/data/sundari
Hadoop fs –mkdir ….
Sessions
Commands
Objects
Read OnlyHardened Repository
(no direct access)
Hadoop commands
mkdirs
Joe /user/data/sundari
Parsecommands
then log
Joe
Namenode
Agent
Hadoop fs –mkdir …
Hadoop fs –mkdir/user/data/sundari
Under the Covers
19 © 2014 IBM Corporation
Comprehensive support for structured and unstructured sensitive data:Databases, data warehouses, Big Data Environments and file shares
InfoSphereBigInsights
InfoSphere Guardium
HANA
CICS
z/OS Datasets
Pure Data Analytics
FTP
with BLU Acceleration
DB2®
with BLU Acceleration
DB2®
20 © 2014 IBM Corporation
InfoSphere Data Privacyfor Hadoop
InfoSphere Data Privacy andSecurity for Data Warehousing
InfoSphereData Securityand Privacy
Define and ShareDiscover and Classify
Mask and RedactMonitor Data Activity
Purpose-BuiltCapabilities•Secure and Protect Sensitive big
data•Extend Compliance Controls•Promote Information Sharing•Employ across diverseenvironments
•Achieve and enforce compliance•Secure and Protect sensitive data indata warehouses•Reduce costs of attaining enterprisesecurity
Pure DataAnalytics
Data Privacy Offerings
21 © 2014 IBM Corporation
Demo
Mike Murphy
22 © 2014 IBM Corporation
Implementation details and sample activityreports
Sundari Voruganti
23 © 2014 IBM Corporation
Standby NN
S-TAP placement in a Hadoop cluster
DB store
Distributed dataprocessingMapReduce/Yarn
Distributed querypocessingDistributed data storage
HDFS
Maste
rsS
laves
HBaseMaster
Job Tracker/ResourceManagerNameNode
S-TAP
Clients
S-TAP required on the region servers/compute nodes only for monitoring HBasetable operations, Impala, and Big SQL traffic.
Data NodeNode ManagerHBase RegionImpala DaemonBig SQL Worker
Data NodeNode ManagerHBase RegionImpala DaemonBig SQL Worker
Data NodeNode ManagerHBase RegionImpala DaemonBig SQL Worker
Data NodeNode ManagerHBase RegionImpala DaemonBig SQL Worker
Hive Server
TezHAWQ
Big SQL
24 © 2014 IBM Corporation
S-TAP
Portion of guard_tap.ini filetap_ip=10.10.9.56sqlguard_ip=10.10.9.245sqlguard_port=16016
Hadoop
Guardium Appliance10.10.9.245
S-TAP makes a copy of the traffic and streamspackets to appliance over TCP port 16016
User Space
Kernel
KTAP
Hadoop “client”
STAP Architecture
Ports:803260000(more)
Ports:803260000(more)
Components arelocated onHadoop node10.10.9.56
25 © 2014 IBM Corporation
Configuring inspection engines (know your ports)
Hadoop21000ImpalaImpala daemons
DB251000BigSQL workerCompute node
DB251000BigSQL serverManagement node
Hadoop21000ImpalaImpala daemons
Hadoop9083Hive Metastore (Thrift protocol messages)Hive Server
Hadoop8002Beeswax Server ( with MySQL as Hue metastore)Hue Server
Hadoop10000Hive Server (Thrift protocol messages)Hive Master
Hadoop60020HBase RegionHBase Region
Hadoop9090HBase Thrift pluginHBase Master
Hadoop60000 and 60010HBase MasterHBase Master
Hadoop8021, 9290, 50030MapReduce Job TrackerJob Tracker
HTTP50111HTTP port (HCatalog)Namenode
Hadoop8032Resource Manager (YARN only)Namenode
HTTP50070HTTP port (for WebHDFS)Namenode
Hadoop10090HDFS Thrift plugin for Cloudera HueNamenode
Hadoop8020, 50470HDFS Name NodeNamenode
Inspection engine protocolDefault PortsServiceHadoop Node
Configure only what you need!Use Guardium APIs to speed deployment
26 © 2014 IBM Corporation
Decrypting user names from Kerberos…
If you are using built-in integration such asBigInsights GuardiumProxy, this is handledbefore traffic is sent to Guardium
For Big SQL, you will need to configureDB2_exit with S-TAP.
For other Hadoop distributions, you will needto do special configuration with keytabs.
If you are planning an implementation thatuses Kerberos, please work with IBM to getthis information.
Also included in deployment guide draft thatis available from the authors upon request.
27 © 2014 IBM Corporation
Sample Hadoop Policies
Tip: Log Full details is NOT recommended for production environments except when exacttimestamp is needed for each statement. (Default behavior will aggregate occurrences ofexact same command within an hour.)
This one only logs full details for privilegedusers
28 © 2014 IBM Corporation
Hadoop Policy Filter out uninteresting objects
29 © 2014 IBM Corporation
Hadoop Policy: Filter out uninteresting commands
30 © 2014 IBM Corporation
Hadoop Policy (filter out non hadoop servers)
Tip: You MUST put something in the Not Hadoop Servers group, even if it’s a dummyIP or you will not collect traffic. (You can remove this condition if it’s not necessary).
31 © 2014 IBM Corporation
Hadoop Policy: Sensitive Data Access Incident
32 © 2014 IBM Corporation
HDFS
Hadoop8020
HTTP(WebHDFS)
50070
Name NodeSecondary Name Node
ProtocolPortsS-TAP installed on…
hadoop fs –put customer.data /user/svoruga/input
A Java-based file system that spans all the nodes in a Hadoop cluster. It links together the filesystems on many local nodes to make them into one big file system.
hadoop fs –ls /user/svoruga/input
33 © 2014 IBM Corporation
WebHDFSWebHDFS is an HTTP Rest server bundle.
1. Access via Web browser
2. Two rows in report: 1)getfilestatus and 2) open
34 © 2014 IBM Corporation
Logical MapReduce Example: Word Count
map(String key, String value):// key: document name// value: document contentsfor each word w in value:
EmitIntermediate(w, "1");
reduce(String key, Iterator values):// key: a word// values: a list of countsint result = 0;for each v in values:
result += ParseInt(v);Emit(AsString(result));
Hello World Bye World
Hello IBM
Content of Input Documents
Reduce (final output):
< Bye, 1>< IBM, 1>< Hello, 2>< World, 2>
Map 1 emits:< Hello, 1>< World, 1>< Bye, 1>< World, 1>
Map 2 emits:< Hello, 1>< IBM, 1>
35 © 2014 IBM Corporation
Map Reduce 1
Job Tracker (MR1)
STAP installedon..
Hadoop802150030
ProtocolPorts
hadoop jar ./wordcount.jar WordCount /user/svoruga/input /user/svoruga/output-june14
Notes and restrictionsMapReduce Report filters out noise between create andcomplete.HDFS report will show file level accessesMapReduce name is computed attribute in Hadoop 1.xMapReduce name is an object (can be used in policies) withGuardium support for Hadoop 2.x
MapReduce 1 example.Two rows in report: 1) create 2) complete
36 © 2014 IBM Corporation
Mapreduce 2 (YARN)
hadoop jar hadoop-mapreduce-examples-2.4.0.2.1.1.0-237.jar wordcount/user/HWtest/input /user/HWtest/wc1
Tip on IE configuration.Check the file:/etc/hadoop/conf/yarn-site.xml and look for the following:
<property><name>yarn.resourcemanager.address</name><value>hw-v2-
03.guard.swg.usma.ibm.com:8050</value></property>
Extend the 8000-8021 IE on the machine above to 8050 (orwhatever the port is)ORCreate a new Hadoop IE with the port (if it does not fall inany defined port ranges)
Resource Manager (YARN)
STAP installed on..
Hadoop8032
ProtocolPorts
37 © 2014 IBM Corporation
HBase
Region Server
HBase Master
STAP installedon..
Hadoop6000060010
Hadoop60020
ProtocolPorts
create 'Blog', {NAME=>'info'}, {NAME=>'content'}
1. Create an HBase table with two column families
2. Corresponding activity in report
Notes:Nicely formatted list of Hbase shell commandshttp://learnhbase.wordpress.com/2013/03/02/hbase-shell-commands/
A column-oriented database management system that runs on top of HDFS.
38 © 2014 IBM Corporation
HBase, continued
put 'Blog', 'Matt-001', 'content:post', 'Do elephants like monkeys?'
3. Add values
4. Activity report (PUT is sent across as multi)
Tip: Extraneous characters in Object Name are cleaned up with Guardium support for Hadoop 2.x..
39 © 2014 IBM Corporation
HBase, continued
get 'Blog', 'Michelle-004'
get 'Blog', 'Matt-001'
5. Retrieve data
6. Each get in this case has two rows. 1) table object and 2) row object
40 © 2014 IBM Corporation
Hive
Hive Master (HiveServer 2)
STAP installedon..
Hadoop10000
ProtocolPorts
Notes and restrictionsHive CLI will be captured as MapReduce,Thrift, and HDFS.
hive> select * from credit_card;
Ended Job = job_201407031507_0002MapReduce Jobs Launched:Job 0: Map: 1 Reduce: 1 Cumulative CPU: 3.26 sec HDFSRead: 3434932 HDFS Write: 6 SUCCESSTotal MapReduce CPU Time Spent: 3 seconds 260 msec
Hive allows SQL developers to write Hive Query Language (HQL) statements thatare similar to standard SQL. HQL statements are broken down by the Hive serviceinto MapReduce jobs and executed across a Hadoop cluster.
1. Query data
2. Corresponding MapReduce job
3. Thrift traffic against Hive Metastore
Tip: This report requiresconfiguration of acomputed attribute toextract user. See backupslides.
41 © 2014 IBM Corporation
Hive example from Hue/Beeswax
Notes and restrictionsThis report only valid when MySQL is usedas the Hive metastore.This report uses computed attributes foruser name and dbname, which cannot beused in policies.
Hue is a web interface to Hadoop. Beeswax is the Hive user interface in Hue.
42 © 2014 IBM Corporation
PigA programming language and runtime environment forprocessing data sets
A = LOAD 'ssn.txt' USING PigStorage() AS (id:int, name:chararray,SSN:chararray); --loadingB = FOREACH A GENERATE SSN; -- transformingDUMP B; -- retrieving
Counters:Total records written : 3Total bytes written : 15Spillable Memory Manager spill count : 0Total bags proactively spilled: 0Total records proactively spilled: 0
Job DAG:
job_201407031507_0006
Notes.Captured through HDFS and MapReduce.No special ports required.
1. Load and transform data
2. Excerpt from MapReduce report (jobid)
3. HDFS report showing file name as object
43 © 2014 IBM Corporation
OozieOozie is a workflow scheduler system to manageApache Hadoop jobs.
Notes and restrictionsNo special ports required. Traffic will becaptured as HDFS and MapReduce.
1. From Hue
2. HDFS report excerpt
44 © 2014 IBM Corporation
Sqoop
sqoop import --connect"jdbc:sqlserver://9.70.148.102:1433;database=sample;username=sa;password=Guardium123" --table CC_CALL_LOG --hive-import
Sqoop is a command-line interface application fortransferring data between relational databases and Hadoop.
Notes and restrictionsNo special ports required. Traffic will becaptured as HDFS, MapReduce, and Thrift.Need Hadoop IE on ports 10000 and 9083
1. Import data from SQL Server into Hive Table
2. MapReduce report shows jar of same name as table.
3. Thrift message shows activity on the Hive Metastore to create the table
Tip: This report requiresconfiguration of a computedattribute to extract username into separate column.Examine the ‘SQL’ or ‘fullsql’ column to determinewhere user name is.
45 © 2014 IBM Corporation
Impala - Cloudera
Impala Daemon nodes
STAP installed on..
Hadoop21000
ProtocolPorts
One row wherethe SQL is theobject
One row where the user isthe object
In the ‘Object’ domain report, the same SQLappears twice.
Cloudera Impala is an open source (MPP) SQL query engine for datastored in hadoop.
Notes and restrictions:Impala sends thestatement over the wire in aa ‘query’ message.For now, the actualcommand is parsed byGuardium as an object.User is not sent over thewire on the connection souser name apears as anobject rather than in DBUser.
46 © 2014 IBM Corporation
Big SQL V3 (IBM)
Management Nodesand Compute Nodes
STAP installed on..
DB251000
ProtocolPorts
Notes and restrictions:Big SQL prior to V3 is notsupported.Requires 9.1 GPU 210 +patchRequires use of DB2 Exitfor encrypted connections,Kerberos, GPFS
IBM's SQL interface to its Hadoop-based platform, InfoSphere BigInsights.
47 © 2014 IBM Corporation
Other components
Through HDFS Mahout – machine learning Avro – data serialization Flume – log aggregator Spark - advanced DAG execution engine that supports cyclic data
flow and in-memory computing.
Through http SOLR – Messages are large.
Tip: New projects and components are being added for Hadoop constantly. Beforeallowing usage in a secure environment in which auditing is required, validate that youcan get correct information from HDFS-level auditing/reporting after upgrading to latestGuardium patches.
48 © 2014 IBM Corporation
Reports and their associated queries
49 © 2014 IBM Corporation
Planning for reports
Examine the default hadoop and non-Hadoop groupsincluded in your version of Guardium and augmentappropriately
Sample queries in this section use groups we created forRead commands, Write commands, etc.
Some reports you see in this presentation use Full SQLas a column. Most of the time this is not needed. It canbe overwhelming for auditors and and Guardium will notcollect this information anyway if you are not using logfull details. You can get what you need from SQL (ratherthan FULL SQL)
– And, yes, columns can be renamed so you are not stuck with therelational metaphor.
Tip: If you are not familiar with reporting and the impact of policies on data collected forreporting, please see the following resources (log into developerWorks first)
•4-part video series on policies
•Tech Talk: Reporting 101
50 © 2014 IBM Corporation
Permissions reportSundari is granting herself root on customer.data
51 © 2014 IBM Corporation
Permissions report query
Group of permissioncommands
52 © 2014 IBM Corporation
Privileged users accessing sensitive data
53 © 2014 IBM Corporation
Privileged users accessing sensitive data query
54 © 2014 IBM Corporation
Hadoop Read Activity
hadoop fs –cat /user/svoruga/input/customer.data
55 © 2014 IBM Corporation
Hadoop Read Activity Query
Group of read commands
56 © 2014 IBM Corporation
Hadoop Write Activity
hadoop fs -mkdir /user/svoruga/new_docs
hadoop fs -put ssn.txt /user/svoruga/input
57 © 2014 IBM Corporation
Hadoop Write Activity query (Conditions only)
Group of write commands
58 © 2014 IBM Corporation
Permissions exceptions report
svoruga@rh6-cli-06:>Hadoop fs –mkdir /user/dgundam/test
mkdir: Permission denied: user=svoruga…
59 © 2014 IBM Corporation
Permissions exceptions query builder
60 © 2014 IBM Corporation
Hadoop Exceptions (General)
61 © 2014 IBM Corporation
Hadoop MapReduce (V1)
The prebuilt MapReduce Report includes only a record for the create and one forcompletion of the job.
62 © 2014 IBM Corporation
Mapreduce 2 (YARN)- not predefined
hadoop jar hadoop-mapreduce-examples-2.4.0.2.1.1.0-237.jar wordcount/user/HWtest/input /user/HWtest/wc1
In contrast to theMapReduce 1predefined report,YARN output has onlyrow. See query builderon next page.
63 © 2014 IBM Corporation
Mapreduce 2 (YARN) – Query Builder
64 © 2014 IBM Corporation
One possible strategy for testing/deployment
Mandatory to monitor HDFS- you’ll need to determine what else youwant to monitor based on your auditing requirements
HDFS is simplest to configure and validate (STAP only needed onNameNode and secondary NN)
Add workload and monitor impact on the collectors. Use filteringwhen possible.– No Ignore Session policy rule for Hadoop! .
Add more inspection engines gradually, validate results, and monitorimpact on the collectors.
This will evolve as we get feedback from clients and partners, like you!
65 © 2014 IBM Corporation
Ordered steps
1. Start by monitoring the basics - HDFS on ports 8020, 50070 (HTTP), andHCatalog 50111
– Run commands and validate using the HDFS report.– Consider adding more work to more closely simulate production and monitor load on the
appliance(s).
2. Add Mapreduce (don’t forget to restart S-TAP after adding the new IE)– Run mapreduce jobs and validate using the MapReduce report.– Again monitor load on appliance
3. Add Hiveserver2 (if using)– Run Hive commands and validate using the HDFS and MapReduce reports
4. Add HBase (if using) – S-TAPs must go on RegionServer nodes!– Run HBase commands and validate using the HBase reports
5. Add Impala (if using) – S-TAPs on all Impala daemon nodes Validate using MapReduce and HDFS reports – S-TAPs on all nodes where Impala
Daemon is.
6. Add BigSQL (if using) – S-TAP on management and compute nodes!Validate using database activity reports
66 © 2014 IBM Corporation
Questions?
67 © 2014 IBM Corporation
Reminder: Guardium Tech Talks
Next tech talk: Managing SOX compliance: People, processes, andtechnology
Speakers: Karl Wehden and Joe DiPietro
Date &Time: Thursday, August 7th, 2014
11:30 AM Eastern Time (60 minutes)
Register here: bit.ly/1xnMMgd
Next tech talk +1: Technical deep dive for InfoSphere Guardium onz
Speakers: Ernie Mancill
Date &Time: Wednesday, August 27th, 2014
11:30 AM Eastern Time (60 minutes)
Register here: http://bit.ly/1jhYeqZ
68 © 2014 IBM Corporation
Hadoop Deployment Guide DRAFT
For those that are seriously looking atHadoop deployments with Guardium, we havea draft of a deployment guide that is inconstant state of change– Includes much material from this tech talk plus
more details and will continue to evolve
Cannot distribute widely because of its draftnature.
If you want a draft, and agree that youunderstand it is a DRAFT to be used foreducation and planning purposes and not asofficial product documentation, please sendKathy Zeidenstein an email with your request.
69 © 2014 IBM Corporation
Resources
Information Governance Principles and Practices for a BigData Landscape (Redbook)http://www.redbooks.ibm.com/abstracts/sg248165.html?Open
E-book “Planning a security and auditing deployment forHadoop” http://www.ibm.com/software/sw-library/en_US/detail/I804665J74548G31.html
developerWorks article: “Big Data Security and Auditing withInfoSphere Guardium”http://www.ibm.com/developerworks/data/library/techarticle/dm-1210bigdatasecurity/
(note: this is Hadoop 1.x)
70 © 2014 IBM Corporation
For more information
InfoSphere Guardium YouTube Channel – includes overviews andtechnical demos developerWorks forum (very active)Guardium DAM User Group on Linked-In (very active) Community on developerWorks (includes content and links to a
myriad of sources, articles, etc)Guardium Info Center
InfoSphere Guardium Virtual User Group.Open, technical discussions with other users.
Send a note to [email protected] ifinterested.
71 © 2014 IBM Corporation71
GraciasMerci
Grazie
ObrigadoDanke
Japanese
French
Russian
German
Italian
Spanish
Brazilian Portuguese
Arabic
Traditional Chinese
Simplified Chinese
Thai
TackSwedish
Danke
DziękujęPolish
72 © 2014 IBM Corporation
Existing Hadoop Security Review
History Hadoop originally conceived for a trusted environment Security infrastructure is growing
Existing Hadoop Distributions – General Capabilities Uses LDAP or Kerberos network authentication protocol Nodes /Servers In Hadoop cluster prove identity to each other and with users Access control for specific MapReduce andHive – more provided by vendors Access control to HDFS files or directories In Hadoop 2.4, a POSIX-style ACL list can be used.
Hadoop Security Gaps• Limited auditing & alerting capabilities (evolving) – not all projects even write audit
logs – requires processing to get ‘audit-like’ information• Role based access controls to data (evolving)• Data masking and data encryption (at rest)
72
“… most are complex to setup and there is still no reference standard acrossdeployments.”Maloy Manna, The Business Intelligence Blog, April 2014
http://biguru.wordpress.com/2014/04/13/basics-of-big-data-part-2-hadoop/
73 © 2014 IBM Corporation
Authentication and Authorization by Default No authentication by default– A malevolent user can sudo to user HDFS
(member of Hadoop supergroup) and delete everything because the clusterdoesn’t know who he really is.
Authorizations:– HDFS file permissions are UNIX-like– Access to files and map reduce jobs are controlled via Access Control Lists (ACLs)– In Hadoop 2.4, a POSIX-style permission model can be used to enable much finer level
control and reduce the overhead of managing hierarchical authorizations.
Default in HBASE - everyone is allowed to read from and write to all tablesavailable in the system.
– There are table and row access controls, with cell level being added in 0.98.
Default Hive authorization is to prevent good users from doing badthings…Three methods now include:
– Client-side authorization – it is possible to bypass these checks– Metastore authorization (server side, to complement HDFS security)– SQL-Standards based security (Hive 0.13)
Nice blog from Cloudera explains it in a clear way. https://blog.cloudera.com/blog/2012/03/authorization-and-authentication-in-hadoop/
More info about Hadoop 2.4 enhancements: http://hortonworks.com/blog/hdfs-acls-fine-grained-permissions-hdfs-files-hadoop/
Hive authorization: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Authorization
Recommended: http://www.slideshare.net/oom65/hadoop-security-architecture
74 © 2014 IBM Corporation
Security is hot topic in Hadoop space
Project Rhino (launched by Intel)– https://github.com/intel-hadoop/project-rhino/#apache-projects
Sentry for authentication and role-based access control (contributedto open source by Cloudera)
Apache Knox gateway– Provide perimeter security by providing a gateway that exposes access to
Hadoop clusters through a Representational State Transfer (REST)-ful API.(incubator- contributions from Hortonworks)
Hadoop Cryptographic File system (part of Project Rhino- Intel) –“… most are complex to setup and there is still no reference standard acrossdeployments.”Maloy Manna, The Business Intelligence Blog, April 2014
http://biguru.wordpress.com/2014/04/13/basics-of-big-data-part-2-hadoop/
75 © 2014 IBM Corporation
Hadoop clusterData sources
• Data needs to be privatized (masked) in abalanced way that reduces business riskwithout impacting monetization of data
• Masking in a Hadoop environmentshould be consistent across all dataregardless of data source origin orlocation in Hadoop
MaskedDatafiles
MaskedDatafiles
MaskedDelimited
files
MaskedDelimited
files
MaskingApplication
MaskingApplication
MaskedDatafiles
MaskedDatafiles
InfoSphereOptim Data
Masking
InfoSphereOptim Data
Masking
• InfoSphereBusiness Glossary
• Policies and value
Business policies
Redacteddocuments
Redacteddocuments
InfoSphereGuardiumRedaction
InfoSphereGuardiumRedaction
DocumentsDocuments
• InfoSphere Discovery• InfoSphere Guardium
Redaction
Sensitive datadiscovery
Data-bases
Delimitedfiles
Delimitedfiles
MaskedDatafiles
MaskedDatafiles
Redacteddocuments
Redacteddocuments
MapReduceMapReduce
Building a secure Hadoop environment-Masking
76 © 2014 IBM Corporation
Reduce risk by detecting suspicious behavior inreal time
• Who is accessing what data?• Detect and alert on anomalous behavior• Detect and alert on anomalous connections• Detailed reporting for compliance and forensics• Don’t let fox watch the henhouse (SOD)
Hadoop clusterData sources
MaskedDatafiles
MaskedDatafiles
MODAppMODApp
Redacteddocuments
Redacteddocuments
InfoSphereGuardiumRedaction
InfoSphereGuardiumRedaction
DocumentsDocuments
DelimitedFiles
DelimitedFiles
MaskedDatafiles
MaskedDatafiles
Redacteddocuments
Redacteddocuments
InfoSphere Guardium HadoopActivity Monitoring
Monitor and audit data access(HDFS, Hive, HBase, MapReduce, etc.)
Monitoring a Hadoop environment
MapReduceMapReduce
MaskedDelimited
files
MaskedDelimited
files
MaskedDatafiles
MaskedDatafiles
InfoSphereOptim Data
Privacy
InfoSphereOptim Data
Privacy
Data-bases
Real-time alertingand SIEM integration
Show compliance
Hackers
Privileged users
77 © 2014 IBM Corporation
Thrift report query used in our presentation
Thrift user is a computed attribute. For more information on creating a computedattribute for Thrift, see the Hadoop Deployment Guide draft. Email Kathy Zeidenstein fora copy.
78 © 2014 IBM Corporation
Tez - Hortonworks
Tez is an application framework built on Hadoop YARN that canexecute complex directed acyclic graphs of general data processingtasks.
hive> set hive.execution.engine=tez;hive> select h.*, b.country, b.hvacproduct, b.buildingage, b.buildingmgr
> from building b join hvac h> on b.buildingid = h.buildingid;
…Status: Running (application id: application_1396475021085_0018)Map 1: -/- Map 2: -/-Map 1: 0/1 Map 2: 0/1…..6/18/13 3:33:07 68 69 10 4 3 Brazil JDNS77 28 M36/19/13 4:33:07 65 63 7 23 20 Argentina ACMAX2219 M206/20/13 5:33:07 66 66 9 21 3 Brazil JDNS77 28 M3Time taken: 18.963 seconds, Fetched: 8000 row(s)
Notes and restrictions:No special portsActivity will be captured vianormal mechanisms such asHDFS or YARN
1. Specify Tez as execution engine and run query
2. This report shows activity against the Hive metastore (Thrift message)
79 © 2014 IBM Corporation
Spark
SPARK_JAR=/opt/cloudera/parcels/CDH-5.0.0-1.cdh5.0.0.p0.47/lib/spark/assembly/lib/spark-assembly_2.10-0.9.0-cdh5.0.0-hadoop2.3.0-cdh5.0.0.jar \/opt/cloudera/parcels/CDH-5.0.0-1.cdh5.0.0.p0.47/lib/spark/bin/spark-classorg.apache.spark.deploy.yarn.Client \
--jar /opt/cloudera/parcels/CDH-5.0.0-1.cdh5.0.0.p0.47/lib/spark/examples/lib/spark-examples_2.10-0.9.0-cdh5.0.0.jar \
--class org.apache.spark.examples.SparkPi \--args yarn-standalone \--num-workers 3
Apache Spark is a is a fast and general engine for large-scale data processing.
Notes and restrictionsNo special ports required. Traffic will becaptured as HDFS and MapReduce,
YARN report
80 © 2014 IBM Corporation
Spark, continued
HDFS report
81 © 2014 IBM Corporation
Component BigInsights 3.0HortonWorks HDP
2.1MapR 3.1 Pivotal HD 2.0
ClouderaCDH5
Hadoop 2.2 2.4 1.0.3 2.2 2.3
HBase 0.96.0 0.98.0 0.94.13 0.96.0 0.96.1
Hive 0.12.0 0.13 0.12 0.12.0 0.12.0
Pig 0.12.0 0.12 0.11.0 0.10.1 0.12.0
Zookeeper 3.4.5 3.4.5 3.4.5 3.4.5 3.4.5
Oozie 4.0.0 4.0.0 3.3.2 4.0.0 4.0.0
Avro 1.7.5 X X X 1.7.5
Flume 1.4.0 1.4.0 1.4.0 1.4.0 1.4.0
Sqoop 1.4.4 1.4.4 1.4.4 1.4.2 1.4.4
*Note. MapR uses MapR-FS, which is not currently supported by GuardiumDAM
Common Hadoop core in most Hadoop Distributions
81