You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by pt...@apache.org on 2014/05/07 17:08:35 UTC

[1/3] git commit: Added in security documentation.

Repository: incubator-storm
Updated Branches:
  refs/heads/master 5b4bb3135 -> 7c0487371


Added in security documentation.


Project: http://git-wip-us.apache.org/repos/asf/incubator-storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-storm/commit/bc76878f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-storm/tree/bc76878f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-storm/diff/bc76878f

Branch: refs/heads/master
Commit: bc76878f0ea08e9b853e342ca92211373346bb4e
Parents: f6b843d
Author: Robert (Bobby) Evans <ev...@yahoo-inc.com>
Authored: Thu May 1 13:54:03 2014 -0500
Committer: Robert (Bobby) Evans <ev...@yahoo-inc.com>
Committed: Thu May 1 13:54:03 2014 -0500

----------------------------------------------------------------------
 SECURITY.md | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 74 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-storm/blob/bc76878f/SECURITY.md
----------------------------------------------------------------------
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 0000000..93036b2
--- /dev/null
+++ b/SECURITY.md
@@ -0,0 +1,74 @@
+# Running Apache Storm Securely
+
+The current release of Apache Storm offers no authentication or authorization.
+It does not encrypt any data being sent across the network, and does not 
+attempt to restrict access to data stored on the local file system or in
+Apache Zookeeper.  As such there are a number of different precautions you may
+want to enact outside of storm itself to be sure storm is running securely.
+
+The exact detail of how to setup these precautions varies a lot and is beyond
+the scope of this document.
+
+## Network Security
+
+It is generally a good idea to enable a firewall and restrict incoming network
+connections to only those originating from the cluster itself and from trusted
+hosts and services, a complete list of ports storm uses are below. 
+
+If the data your cluster is processing is sensitive it might be best to setup
+IPsec to encrypt all traffic being sent between the hosts in the cluster.
+
+### Ports
+
+| Default Port | Storm Config | Client Hosts/Processes | Server |
+|--------------|--------------|------------------------|--------|
+| 2181 | `storm.zookeeper.port` | Nimbus, Supervisors, and Worker processes | Zookeeper |
+| 6627 | `nimbus.thrift.port` | Storm clients, Supervisors, and UI | Nimbus |
+| 8080 | `ui.port` | Client Web Browsers | UI |
+| 8000 | `logviewer.port` | Client Web Browsers | Logviewer |
+| 3772 | `drpc.port` | External DRPC Clients | DRPC |
+| 3773 | `drpc.invocations.port` | Worker Processes | DRPC |
+| 670{0,1,2,3} | `supervisor.slots.ports` | Worker Processes | Worker Processes |
+
+### UI/Logviewer
+
+The UI and logviewer processes provide a way to not only see what a cluster is
+doing, but also manipulate running topologies.  In general these processes should
+not be exposed except to users of the cluster.  It is often simplest to restrict
+these ports to only accept connections from local hosts, and then front them with another web server,
+like Apache httpd, that can authenticate/authorize incoming connections and
+proxy the connection to the storm process.  To make this work the ui process must have
+logviewer.port set to the port of the proxy in its storm.yaml, while the logviewers
+must have it set to the actual port that they are going to bind to.
+
+### Nimbus
+
+Nimbus's Thrift port should be locked down as it can be used to control the entire
+cluster including running arbitrary user code on different nodes in the cluster.
+Ideally access to it is restricted to nodes within the cluster and possibly some gateway
+nodes that allow authorized users to log into them and run storm client commands.
+
+### DRPC
+
+Each DRPC server has two different ports.  The invocations port is accessed by worker
+processes within the cluster.  The other port is accessed by external clients that
+want to query the topology.  The external port should be restricted to hosts that you
+want to be able to do queries.
+
+### Supervisors
+
+Supervisors are only clients they are not servers, and as such don't need special restrictions.
+
+### Workers
+
+Worker processes receive data from each other.  There is the option to encrypt this data using
+Blowfish by setting `topology.tuple.serializer` to `backtype.storm.security.serialization.BlowfishTupleSerializer`
+and setting `topology.tuple.serializer.blowfish.key` to a secret key you want your topology to use.
+
+### Zookeeper
+
+Zookeeper uses other ports for communications within the ensemble the details of which
+are beyond the scope of this document.  You should look at restricting Zookeeper access
+as well, because storm does not set up any ACLs for the data it write to Zookeeper.
+
+  


[2/3] git commit: Merge branch 'security-info' of github.com:revans2/incubator-storm

Posted by pt...@apache.org.
Merge branch 'security-info' of github.com:revans2/incubator-storm


Project: http://git-wip-us.apache.org/repos/asf/incubator-storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-storm/commit/248dc8ad
Tree: http://git-wip-us.apache.org/repos/asf/incubator-storm/tree/248dc8ad
Diff: http://git-wip-us.apache.org/repos/asf/incubator-storm/diff/248dc8ad

Branch: refs/heads/master
Commit: 248dc8ad7ec6ec23a5ae4efab7bfa6f93ab6a058
Parents: 5b4bb31 bc76878
Author: P. Taylor Goetz <pt...@gmail.com>
Authored: Wed May 7 11:06:25 2014 -0400
Committer: P. Taylor Goetz <pt...@gmail.com>
Committed: Wed May 7 11:06:25 2014 -0400

----------------------------------------------------------------------
 SECURITY.md | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 74 insertions(+)
----------------------------------------------------------------------



[3/3] git commit: STORM-306: update changelog

Posted by pt...@apache.org.
STORM-306: update changelog


Project: http://git-wip-us.apache.org/repos/asf/incubator-storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-storm/commit/7c048737
Tree: http://git-wip-us.apache.org/repos/asf/incubator-storm/tree/7c048737
Diff: http://git-wip-us.apache.org/repos/asf/incubator-storm/diff/7c048737

Branch: refs/heads/master
Commit: 7c04873713c763f646539bfc9304b1a9cff94e21
Parents: 248dc8a
Author: P. Taylor Goetz <pt...@gmail.com>
Authored: Wed May 7 11:08:10 2014 -0400
Committer: P. Taylor Goetz <pt...@gmail.com>
Committed: Wed May 7 11:08:10 2014 -0400

----------------------------------------------------------------------
 CHANGELOG.md | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-storm/blob/7c048737/CHANGELOG.md
----------------------------------------------------------------------
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 74f2ba2..444fb8b3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,5 @@
 ## 0.9.2-incubating (unreleased)
+ * STORM-306: Add security documentation
  * STORM-302: Fix Indentation for pom.xml in storm-dist
  * STORM-235: Registering a null metric should blow up early
  * STORM-113: making thrift usage thread safe for local cluster