Right.


We've actually worked through a lot of Side Car issues last year.  Amdocs 
created one for ONAP, and here's the main points, as we worked it.  Please 
correct me if I misstate something.



  1.  AAF was originally designed to give the security elements (Certificates, 
ability to Authenticate/Authorize) on an HTTP/S stack (ex: A Filter in Servlet, 
though that is not the only way).
  2.  In any SideCar, you secure the Side Car, and setup protected channels 
called Ingress and Egress to an otherwise unprotected MS.
  3.  In the ONAP SideCar, they used AAF elements to secure the SideCar.
     *   IMPORTANT POINT:  AAF is not IN the Sidecar.  It is Infrastructure 
used to SECURE the SideCar (instead of the MS Directly).



My assumption, when you talk about making AAF run as 127.0.0.1 so it can run 
with Sidecar is that you are trying to put AAF itself into a Sidecar, which 
doesn’t make any sense to me.



If you are using Istio with AAF, IIMHO, you have to figure out how to implement 
Istio SideCar Authentication and/or Authorization Interfaces (if that exists) 
with AAF running as it does today… outside of the SideCars themselves.





--

Jonathan Gathman

Principled-System Architect

ATO Tech Dev/SEAT/Platform Architecture and Technology Management

AT&T Services, Inc.

m  314-550-3312  |  [email protected]



On 11/7/19, 6:51 AM, "[email protected]" 
<[email protected]> wrote:



    Hi Jonathan and thanks for the reply,



    My purpose is to (try to) install ONAP (actually a subset) into a 
Kubernetes Cluster with service mesh enabled (in particular istio -- 
https://urldefense.proofpoint.com/v2/url?u=https-3A__istio.io&d=DwIGaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=jxRielOoGyNWi5tOCRKusgUTQisLiqE_bMTrKwvJIvI&m=izHcjMcyZjt62G5W7OHOK1JCiNkHBH5Abn-iGovE1h4&s=OwT8H6eNMJ4Bs7KLawgwU0ThG3X6PlCr0u-u2Qxves4&e=
 -- and linkerd -- 
https://urldefense.proofpoint.com/v2/url?u=https-3A__linkerd.io_&d=DwIGaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=jxRielOoGyNWi5tOCRKusgUTQisLiqE_bMTrKwvJIvI&m=izHcjMcyZjt62G5W7OHOK1JCiNkHBH5Abn-iGovE1h4&s=aNoGFK2CKfQY007Kkw0nlfg7HfxgOYqis0_rVnmP9aU&e=).

    These service meshes automatically add at start of a POD a "sidecar" 
(another container in the same cgroup) which will proxy all network requests.

    The purpose is to :

    * add tracing (and thus visibility)

    * add (later on) network policy (for example allow only aaf pods to connect 
to aaf cassandra)

    * add metrics for operations

    * add automatic mTLS between pods



    In order to do that, these proxies intercept the network, and if it's 
accepted, send it back to the destination container.

    But in order to do that, they point the destination container as 
127.0.0.1:CONTAINER_PORT (127.0.0.1:8095 for aaf-locate for example).

    See here 
https://urldefense.proofpoint.com/v2/url?u=https-3A__istio.io_docs_reference_config_networking_v1alpha3_sidecar_&d=DwIGaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=jxRielOoGyNWi5tOCRKusgUTQisLiqE_bMTrKwvJIvI&m=izHcjMcyZjt62G5W7OHOK1JCiNkHBH5Abn-iGovE1h4&s=g7QRBU7fMGLy5yAPxZMxSW1mA6OU-WbL61GyXluVCbc&e=
 for a better (and more accurate) explanation

    And here an explanation on cassandra: 
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_istio_istio.io_blob_master_content_en_faq_applications_cassandra.md&d=DwIGaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=jxRielOoGyNWi5tOCRKusgUTQisLiqE_bMTrKwvJIvI&m=izHcjMcyZjt62G5W7OHOK1JCiNkHBH5Abn-iGovE1h4&s=CzAyTBQLq8LRypwxR7PMkDoVY9Hg6mjRbRMvpu1-IC8&e=



    So if I want to deploy ONAP on top of these service meshes, I need 
application to listen at least on 127.0.0.1 (but everywhere is fine too).

    And I don't see how I can achieve that with AAF components today



    Hoping that I'm clear,



    ---

    Sylvain Desbureaux



    Le 07/11/2019 13:37, « GATHMAN, JONATHAN C » <[email protected]> a 
écrit :



        Greetings,

          May I assume that your need for 127.0.0.1 is so you can develop with?



        Some History:

          Security Policies from the past tend to frown on "localhost", because 
some people wrote code that assumed if processes on running on the box, they 
are secure.  This is not a good assumption.  Also, 127.0.0.1, as an IP, is not 
unique... Every box has one. __



          For that reason, SOME Security tooling (at least ones that AAF 
supports at AT&T) denies the use of 127.0.0.1 or "localhost".



        What to do instead:



          What works better is to come up with a valid name.  For my local AAF 
Instances, I use "aaf.osaaf.org" (my ONAP Namespace).  I then enter that name 
into /etc/hosts with supporting IP from "minikube" (which is how I run K8s).



        Ex

        192.168.64.1 aaf.osaaf.org



        At this point, everything is validly running that I need in my K8s 
private net, and, of course, not accessible externally.



        For AAF, we get "hostname" onto a property file in docker through the 
use of "Init" docker.  Let me know if you need to explore that part.



        --

        Jonathan Gathman

        Principled-System Architect

        ATO Tech Dev/SEAT/Platform Architecture and Technology Management



        AT&T Services, Inc.

        m  314-550-3312  |  [email protected]





        On 11/7/19, 5:46 AM, "Krzysztof Opasiak" <[email protected]> wrote:



            HI Sylvian,



            I did just some short lookup so this may not work but I think is 
worth

            to try:



            try setting the hostname property for locator as based on what I 
see in

            init logs:



            2019-10-31 05:05:03,328+0000 2019-10-31T05:05:03.328+0000 INIT 
[init]

            hostname is not explicitly set

            2019-10-31 05:05:03,328+0000 2019-10-31T05:05:03.328+0000 INIT 
[init]

            Hostname set to dev-aaf-aaf-locate-7c89f876c4-q7cdf



            which I think is generated by:



                     // Setup Host, in case Network reports an unusable Hostname

            (i.e. VTiers, VPNs, etc)

                     String hostname = logProp(access, HOSTNAME,null);

                     if (hostname==null) {

                         try {

                             hostname = 
InetAddress.getLocalHost().getHostName();

                         } catch (UnknownHostException e1) {

                             throw new CadiException("Unable to determine 
Hostname",e1);

                         }

                     }



                     access.log(Level.INIT, "Hostname set to",hostname);



            in cadi/core/src/main/java/org/onap/aaf/cadi/config/Config.java



            so I believe that if you explicitly set this you should be able to 
force

            aaf to listen on all network interfaces or at least on localhost



            On 07.11.2019 11:44, [email protected] wrote:

            > Hi Krzysztof,

            > I agree but I also don't know how to do it in aaf ^_^.

            >

            > ---

            > Sylvain Desbureaux

            >

            > Le 07/11/2019 11:43, « Krzysztof Opasiak » 
<[email protected]> a écrit :

            >

            >      Hi Sylvian,

            >

            >      On 07.11.2019 11:39, Sylvain Desbureaux via Lists.Onap.Org 
wrote:

            >      > Sorry, bad mail address

            >      >

            >      > ---

            >      >

            >      > Sylvain Desbureaux

            >      >

            >      > *De : *DESBUREAUX Sylvain TGI/OLN 
<[email protected]>

            >      > *Date : *jeudi 7 novembre 2019 à 11:38

            >      > *À : *"[email protected]" 
<[email protected]>

            >      > *Cc : *"[email protected]" <[email protected]>,

            >      > "[email protected]" <[email protected]>

            >      > *Objet : *[ONA][AAF] AAF with Istio/linkerd

            >      >

            >      > Hello Jonathan,

            >      >

            >      > I’m trying to make work ONAP on a kubernetes with service 
mesh (linkerd,

            >      > istio and consul connect as service mesh).

            >      >

            >      > As these service meshes add “sidecars” to PODs, every 
requests sent to

            >      > the pod is intercepted by the sidecar and sent back from 
the sidecar. It

            >      > means that you need to listen on 127.0.0.1 and not on the 
public ip.

            >      >

            >      > Today, aaf-locate (and maybe others 😉) are listening on 
public ip. I’ve

            >      > taken a look at the configuration and at the code and I 
don’t see if

            >      > it’s possible to listen to 127.0.0.1 and if yes how to 
“tell” aaf-locate

            >      > to do so…

            >      >

            >      > I’ve seen that in

            >      > 
auth/auth-core/src/main/java/org/onap/aaf/auth/server/AbsServiceStarter.java,

            >      > we use the hostname but I’m not sure how to “force” to 
127.0.0.1.

            >

            >      You don't need to force the localhost, you can just make 
sure that it

            >      listens on all available interfaces (0.0.0.0) which 
shouldn't break

            >      anything and then make it work also with istio;)

            >

            >

            >      --

            >      Krzysztof Opasiak

            >      Samsung R&D Institute Poland

            >      Samsung Electronics

            >

            >

            >

            > 
_________________________________________________________________________________________________________________________

            >

            > Ce message et ses pieces jointes peuvent contenir des 
informations confidentielles ou privilegiees et ne doivent donc

            > pas etre diffuses, exploites ou copies sans autorisation. Si vous 
avez recu ce message par erreur, veuillez le signaler

            > a l'expediteur et le detruire ainsi que les pieces jointes. Les 
messages electroniques etant susceptibles d'alteration,

            > Orange decline toute responsabilite si ce message a ete altere, 
deforme ou falsifie. Merci.

            >

            > This message and its attachments may contain confidential or 
privileged information that may be protected by law;

            > they should not be distributed, used or copied without 
authorisation.

            > If you have received this email in error, please notify the 
sender and delete this message and its attachments.

            > As emails may be altered, Orange is not liable for messages that 
have been modified, changed or falsified.

            > Thank you.

            >



            --

            Krzysztof Opasiak

            Samsung R&D Institute Poland

            Samsung Electronics











    
_________________________________________________________________________________________________________________________



    Ce message et ses pieces jointes peuvent contenir des informations 
confidentielles ou privilegiees et ne doivent donc

    pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu 
ce message par erreur, veuillez le signaler

    a l'expediteur et le detruire ainsi que les pieces jointes. Les messages 
electroniques etant susceptibles d'alteration,

    Orange decline toute responsabilite si ce message a ete altere, deforme ou 
falsifie. Merci.



    This message and its attachments may contain confidential or privileged 
information that may be protected by law;

    they should not be distributed, used or copied without authorisation.

    If you have received this email in error, please notify the sender and 
delete this message and its attachments.

    As emails may be altered, Orange is not liable for messages that have been 
modified, changed or falsified.

    Thank you.





-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#19383): https://lists.onap.org/g/onap-discuss/message/19383
Mute This Topic: https://lists.onap.org/mt/45686190/21656
Group Owner: [email protected]
Unsubscribe: https://lists.onap.org/g/onap-discuss/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to