Return-Path: X-Original-To: apmail-ignite-user-archive@minotaur.apache.org Delivered-To: apmail-ignite-user-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E82E018EE6 for ; Thu, 30 Jul 2015 16:19:20 +0000 (UTC) Received: (qmail 49687 invoked by uid 500); 30 Jul 2015 16:19:17 -0000 Delivered-To: apmail-ignite-user-archive@ignite.apache.org Received: (qmail 49650 invoked by uid 500); 30 Jul 2015 16:19:17 -0000 Mailing-List: contact user-help@ignite.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@ignite.incubator.apache.org Delivered-To: mailing list user@ignite.incubator.apache.org Received: (qmail 49640 invoked by uid 99); 30 Jul 2015 16:19:17 -0000 Received: from Unknown (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 30 Jul 2015 16:19:17 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 422C6D8E98 for ; Thu, 30 Jul 2015 16:19:17 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.88 X-Spam-Level: ** X-Spam-Status: No, score=2.88 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-eu-west.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id 7yzNG8ANZFZi for ; Thu, 30 Jul 2015 16:19:10 +0000 (UTC) Received: from mail-lb0-f174.google.com (mail-lb0-f174.google.com [209.85.217.174]) by mx1-eu-west.apache.org (ASF Mail Server at mx1-eu-west.apache.org) with ESMTPS id 4AAEB20DD8 for ; Thu, 30 Jul 2015 16:19:09 +0000 (UTC) Received: by lbqc9 with SMTP id c9so5059258lbq.1 for ; Thu, 30 Jul 2015 09:18:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=uRv/XhcmRsbmKK24YqhtUzu1yWQkpRq8WIhC4CrqtWQ=; b=MBFY9LXDjwOOcOmPRcAliAh1sVxv2fvl25XO0eSP0AgaMKouN+meJR4+1S0IwCO66q dwosCnnjI7eC/dif++46HqNfYJfbj0t7HgQiW2oeaFbACG2Amw/yMjA3OjDPHH4P697x /6UmHkDD6VeS6ofJSQnDGcN9UzeDwasyMbQZDhB/RHjSbMZxpikSuJAKoPUSnU8P3sbU mv7mYRntAodzmpXC+2VA9yQxL8nqwf0GBobiN5Tnb7ZrF//Jzh7d8AaZgoD7TUYpG7UL KqchOLbfq+KGSsvh8FbZr8i8mFDdT2z1grG6ntzt6G/lt/PH6X8+guXy6r5Qpz1aH7iJ kEuw== X-Received: by 10.152.179.131 with SMTP id dg3mr44112456lac.22.1438273103514; Thu, 30 Jul 2015 09:18:23 -0700 (PDT) MIME-Version: 1.0 Received: by 10.114.255.36 with HTTP; Thu, 30 Jul 2015 09:17:43 -0700 (PDT) In-Reply-To: References: From: Ognen Duzlevski Date: Thu, 30 Jul 2015 11:17:43 -0500 Message-ID: Subject: Re: Securing Ignite To: user@ignite.incubator.apache.org Content-Type: multipart/alternative; boundary=001a11348f306cd9e0051c1a0d7c --001a11348f306cd9e0051c1a0d7c Content-Type: text/plain; charset=UTF-8 Aleksei, VPC is by default private, no? You can always have a separate subnet within the VPC that you deploy all your on-demand Ignite nodes into, together with your "always on" node - combined with some simple iptables rules, this should be sufficient. You can expose the functionality of your cluster via REST API where you can control access to the whole thing (submitting jobs, asking for data etc.) via passwords, shared secrets, public/private keys etc. The exposed REST point can be a separate machine or set of machines running something like Scalatra (with/without Akka) that is not in the same subnet but is allowed to connect to the Ignite subnet as a client - you can make this node have a static IP (or you can have a different subnet where this node is that is only allowed to connect to the Ignite subnet) and only allow it to connect to your cluster... On Thu, Jul 30, 2015 at 9:37 AM, Aleksei Valikov wrote: > Hi, > > I'm considering Apache Ignite for a distributed computing application. I > have a question about security. > > We'll have a central node which will run all the time (the application > server) and a number of nodes which will join/leave the cluster in the > runtime (we'll use AWS to add new computing resources on demand). I guess > we'll need to use the static IP-based discovery for this scenario. > > As I read the configuration right now, any server in my VPC which knows > the IP address of the central node will be able to connect to the Ignite > cluster and accept tasks/jobs. This feels quite insecure - basically anyone > in VPC would be able to get the data from the tasks/jobs. > > How could I make it secure? > > I've found the following post: > > http://smartkey.co.uk/development/securing-an-apache-ignite-cluster/ > > This is a step into the right direction. However, whitelisting IPs is not > an option in case of dynamic IP addresses (which we probably have in AWS). > > So I'd like to ask for advice on how to secure the Ignite cluster, for > instance with some pre-shared secret. Is there any support for this OOTB? > > Many thanks and best wishes, > Alexey > --001a11348f306cd9e0051c1a0d7c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Aleksei, VPC is by default private, no? You can always hav= e a separate subnet within the VPC that you deploy all your on-demand Ignit= e nodes into, together with your "always on" node - combined with= some simple iptables rules, this should be sufficient. You can expose the = functionality of your cluster via REST API where you can control access to = the whole thing (submitting jobs, asking for data etc.) via passwords, shar= ed secrets, public/private keys etc. The exposed REST point can be a separa= te machine or set of machines running something like Scalatra (with/without= Akka) that is not in the same subnet but is allowed to connect to the Igni= te subnet as a client - you can make this node have a static IP (or you can= have a different subnet where this node is that is only allowed to connect= to the Ignite subnet) and only allow it to connect to your cluster...

On Thu, Jul 30, = 2015 at 9:37 AM, Aleksei Valikov <aleksei.valikov@gmail.com>= ; wrote:
Hi,
=
I'm considering Apache Ignite for a distributed computin= g application. I have a question about security.

W= e'll have a central node which will run all the time (the application s= erver) and a number of nodes which will join/leave the cluster in the runti= me (we'll use AWS to add new computing resources on demand). I guess we= 'll need to use the static IP-based discovery for this scenario.
<= div>
As I read the configuration right now, any server in my = VPC which knows the IP address of the central node will be able to connect = to the Ignite cluster and accept tasks/jobs. This feels quite insecure - ba= sically anyone in VPC would be able to get the data from the tasks/jobs.

How could I make it secure?

I've found the following post:


This is a step into the right direct= ion. However, whitelisting IPs is not an option in case of dynamic IP addre= sses (which we probably have in AWS).

So I'd l= ike to ask for advice on how to secure the Ignite cluster, for instance wit= h some pre-shared secret. Is there any support for this OOTB?
Many thanks and best wishes,
Alexey

--001a11348f306cd9e0051c1a0d7c--