Top Banner
ElevenPaths [email protected] elevenpaths.com Latch 1.1 plugin installation and user guide for Mac Version 7.1 – November 2016 ElevenPaths, radical and disruptive innovation in security solutions
15
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Latch Mac OS X english

ElevenPaths [email protected] elevenpaths.com

Latch 1.1 plugin installation and user guide

for Mac

Version 7.1 – November 2016

ElevenPaths, radical and disruptive innovation in security solutions

Page 2: Latch Mac OS X english

Latch 1.1 plugin installation and user guide for Mac

V.7.1 – November 2016

Page 2 of 15 2016 © Telefónica Digital España, S.L.U. All rights reserved.

TABLE OF CONTENT

1 Obtaining the Latch plugin .......................................................................................... 3

1.1 Prerequisites ............................................................................................................................. 3

1.2 Obtaining application ID ........................................................................................................... 3

1.3 Downloading the plugin............................................................................................................ 6

2 Installing the plugin..................................................................................................... 7

2.1 Installation by versions ............................................................................................................. 7

2.1.1 Installation in versions preceding MacOS X “El Capitan” ........................................................... 7

2.1.2 Installation in the MacOS X "El Capitan" version ....................................................................... 7

2.2 Changing the PAM setup of the service requiring protection .................................................. 7

2.2.1 Changes in versions preceding MacOS X “El Capitan”................................................................ 7

2.2.2 Changes in the MacOS X “El Capitan” version ............................................................................ 9

2.3 Setting up SSH to use the plugin............................................................................................... 9

2.3.1 Public/private key protection ..................................................................................................... 9

2.4 Uninstalling the plugin ............................................................................................................ 10

3 Use of the Latch plugin by end users........................................................................... 11

3.1 Pairing a user .......................................................................................................................... 11

3.2 Unpairing a user ...................................................................................................................... 13

4 Resources .................................................................................................................. 14

Page 3: Latch Mac OS X english

Latch 1.1 plugin installation and user guide for Mac

V.7.1 – November 2016

Page 3 of 15 2016 © Telefónica Digital España, S.L.U. All rights reserved.

1 Obtaining the Latch plugin

1.1 Prerequisites

Using a Mac OS X operating system.

Have a C compiler (XCode already has one).

libpam, libcurl, openssl-dev libraries installed.

1.2 Obtaining application ID

To obtain the "Application ID" and the "Secret", which are essential to integrate Latch into a service,

it’s necessary to register a developer account in Latch's website: https://latch.elevenpaths.com. On

the upper right side, click on “Developer area”.

Figure 01: “Developer area” in Latch webpage.

In the next screen, tap the button “Register as a developer” and select “Create a new developer account”, a form will appear where you can fill up the required data. Mandatory fields are name, e-mail and password.

Figure 02: Sign in form for developers.

Page 4: Latch Mac OS X english

Latch 1.1 plugin installation and user guide for Mac

V.7.1 – November 2016

Page 4 of 15 2016 © Telefónica Digital España, S.L.U. All rights reserved.

Once completed, an email will be sent, with an activation code to activate the brand new account.

Figure 03: Form to fill up with activation code.

When the account is activated, the user will be able to create applications with Latch and access to developer documentation, including existing SDKs and plugins.

To do so the developer must log on to the Latch website and then access the "Developer area" section (https://latch.elevenpaths.com/www/developerArea), where you can view your applications through the "My applications" section on the side menu.

Figure 04: “My applications” section with user's configured applications.

From the "Add a new application" button, the developer will create a new application, with the specified name, which you want to appear in the end users' mobile application.

Page 5: Latch Mac OS X english

Latch 1.1 plugin installation and user guide for Mac

V.7.1 – November 2016

Page 5 of 15 2016 © Telefónica Digital España, S.L.U. All rights reserved.

Figure 05: Creating an application. The name will be shown on the mobile app.

Information about the application is displayed when it is created and part of this data is editable. The basic data that the developer should use when installing the plugin are the "Application ID" and "Secret". In addition the following additional parameters are in place, which the developer may change at any time, that set the characteristics of your application:

Name: This corresponds to the name of the application that end users see on their devices when they pair the service. They can customize it themselves on their own device if they so wish.

Image: This corresponds to the application icon that will appear in the end-user's device; its size should not exceed 1MB. It is recommended to be in 24-bit png format without alpha channel, and its proportions are 1: 1.

2nd OTP factor (One-time password): This is only available to developers with a subscription model other than "Community". It enables the service to also be protected by a password, which is sent to the end user at the time he/she wants to access the service. The OTP setup can be:

1. Disabled: The option will not appear on the end user's mobile device.

2. Opt in: The end user may choose to use this option to protect the service.

3. Mandatory: The end user will receive a password every time he/she wants to access the service.

Lock latches after request: This is only available to developers with a subscription model other than "Community". This enables the service to be locked automatically once it has been accessed. The “Lock latches after request” setup can be:

1. Disabled: The option will not appear on the end user's mobile device.

2. Opt in: The end user may choose to use this option to protect the service.

3. Mandatory: The service will be locked automatically once it has been accessed. In the latter case, the "Scheduled locking" option would disappear from the service details view.

Contact email and Contact phone: These details will be displayed in the notifications that users will receive when there is a fraudulent attempt to access the service or any of its operations.

Operations: This corresponds to each of the actions included in the service but independent of each other, and that the developer wants to protect with Latch. The number of operations that can be included depending on the model of subscription chosen. In each of the operations, a

Page 6: Latch Mac OS X english

Latch 1.1 plugin installation and user guide for Mac

V.7.1 – November 2016

Page 6 of 15 2016 © Telefónica Digital España, S.L.U. All rights reserved.

"2nd OTP factor" and a "Lock latches after request" can be used. It is not compulsory to create operations and this will depend on the nature of the service to be protected.

In this plugin in particular, at least one operation needs to be created. Two operations have been added in this example (figure 5), which correspond to the actions to be

protected (“login” and “su”). To protect another action, for example, access using SSH, you should add another operation.

Once the setup is complete and the changes have been saved, the new application will appear on the list of the developer's applications. This can be edited whenever you want.

Figure 06: Created application. It may be edited again at any moment.

1.3 Downloading the plugin

From the side menu in developers area, the developer can access the “Documentation & SDKs” section. Inside it, there is a “Plugins and SDKs” menu. Links to different SDKs in different programming languages and plugins developed so far, are shown.

Figure 07: Examples of SDKs and plugins available.

The developer must tap the “DOWNLOAD” button for this plugin to access its source code from the

“Standard Plugins” section. A manual on the installation and use of the plugin can also be

downloaded.

Page 7: Latch Mac OS X english

Latch 1.1 plugin installation and user guide for Mac

V.7.1 – November 2016

Page 7 of 15 2016 © Telefónica Digital España, S.L.U. All rights reserved.

2 Installing the plugin

2.1 Installation by versions

2.1.1 Installation in versions preceding MacOS X “El Capitan” The administrator has to open a console and place it on the root directory of the downloaded packet. From here you need to execute the commands “./configure prefix=/usr sysconfdir=/etc && make && sudo make install”. You need to have “root“ permissions.

Figure 08: Plugin setup.

After compiling the plugin source package, the "pam_latch.so" latch PAM module will be installed in the "/usr/lib" directory.

The next step is to place this library in the PAM directory of the operating system. The location of this directory is in “/usr/lib/pam”.

You need to carry out these two steps (compile the source package and locate the library) before modifying the PAM setup as detailed in the next point. Otherwise the PAM services

that you wish to protect may become compromised.

2.1.2 Installation in the Mac OS X "El Capitan" version In the “El Capitan” version of Mac OS X, OpenSSL needs to be compiled manually. Internally, there have also been changes in some permissions in this version, so the administrator must follow some preliminary steps for the installation to be successful:

1. He needs to download the openssl source code https://www.openssl.org/source/,.

2. Unzip the “.tar” file downloaded in the “Downloads” folder of “MacOS X El Capitan”.

3. Compile the source code for x64.

4. Install the openssl package or library in “MacOS X El Capitan”.

5. Then the administrator must unzip the Latch plugin and open a console in the root directory of the downloaded package. He will run the command from here: "sudo ./configure CFLASGS="-I/usr/local/ssl/include" LSFLAGS="-L/usr/local/ssl/lib" prefix=/usr/ local sysconfdir=/etc && make && sudo make install".

2.2 Changing the PAM setup of the service requiring protection

2.2.1 Changes in versions preceding MacOS X “El Capitan” One of the essential steps is to set up the services that need protection. To do this, go to the folder containing the PAM setup files (/etc/pam.d/) and edit the file or files of these services. Normally, all you need to do is to add the line below to the file. This will add Latch to the service you want to protect.

Page 8: Latch Mac OS X english

Latch 1.1 plugin installation and user guide for Mac

V.7.1 – November 2016

Page 8 of 15 2016 © Telefónica Digital España, S.L.U. All rights reserved.

auth required pam_latch.so config=/etc/latch/latch.conf

accounts=/etc/latch/latch.accounts operation=<alias of the operation> otp=yes|no

<alias of the operation> is the operation name (“login” and “su” in this example) that will be used later to set up the plugin. This is the name that will be used to inform the plugin of the "operation ID" of the operation to be protected. This id is obtained when an operation is created (in this example the operations are “login” and “su”, as seen in image 05).

otp=yes|no refers to whether the operation will use the previously mentioned 2nd OTP authentication factor, and you must indicate yes or no as it cannot be left blank.

The downloaded plugin includes the "examples/OSX" directory, which contains examples of how to setup the PAM file of various services.

Figure 09: PAM setup example for the Mac login.

After completing the plugin installation steps, all you need is to set up the plugin correctly. Open the “latch.conf” file in the “/etc/latch/” directory and add the data that was generated when the application was created, (see Image 5).

Figure 10: Inclusión del ID de Aplicación, del Secreto y de las operaciones.

Page 9: Latch Mac OS X english

Latch 1.1 plugin installation and user guide for Mac

V.7.1 – November 2016

Page 9 of 15 2016 © Telefónica Digital España, S.L.U. All rights reserved.

The following section show how to set up the SSH service to use the plugin. This section is only useful if you want to protect this service.

2.2.2 Changes in the MacOS X “El Capitan” version If you do not have permissions on the “/usr/lib/pam” folder, which is where you must save the pam_latch.so file, you can include the full path of the file in the line you will add to the services to be paired, for example in the “login”.

Finally the file reads as follows:

/etc /pam.d /authorization

# authorization: auth account

auth optional pam_krb5.so use_first_pass use_kcminit

auth optional pam_ntlm.so use_first_pass

auth required pam_opendirectory.so use_first_pass nullok

auth required /usr/local/lib/pam_latch.so config=/etc/latch/latch.conf

accounts=/etc/latch/latch.accounts operation=login otp=no

account required pam_opendirectory.so

2.3 Setting up SSH to use the plugin

The PAM SSH service has to be set up previously (see Section Changing the PAM setup of the service requiring protection).

To use the Latch plugin in SSH once it is installed in the operating system, you will have to edit the “sshd_config” file, which is normally located in the “/etc” directory, and add the following lines or edit their contents:

UsePAM yes

ChallengeResponseAuthentication yes

PasswordAuthentication no

To use the Latch plugin with SSH, the developer needs to create an operation to protect access using SSH (in the same way as “login” and “su” were added in image 05). The developer will use the generated operation id to set up the plugin.

2.3.1 Public/private key protection If you wish to protect the public/private keys with Latch, in addition to the above, you need to modify each one of the keys you wish to protect. This involves adding an instruction to allow Latch to be used before carrying out the authentication. These keys are found in the authorized keys file (~/.ssh/authorized_keys):

command="latch-ssh-cmd -o <alias sshd-keys>" + key.

The end result should be:

command="latch-ssh-cmd -o sshd-keys" ssh-rsa AAA...HP5 someone@host

Where <alias sshd-keys> is the name used to indicate the operation, as mentioned above, (see Section Changing the PAM setup of the service requiring protection).

Page 10: Latch Mac OS X english

Latch 1.1 plugin installation and user guide for Mac

V.7.1 – November 2016

Page 10 of 15 2016 © Telefónica Digital España, S.L.U. All rights reserved.

2.4 Uninstalling the plugin

Users can uninstall Latch by inverting the installation steps:

Step 1: Changing the PAM setup of the service requiring protection (see Changing the PAM setup

of the service requiring protection).

This step must be performed before uninstalling the plug-in. Otherwise the PAM services

protected with Latch may become compromised.

Step 2: Opening a console and place it on the root directory of the downloaded packet. From

here you need to execute the commands “./configure prefix=/usr sysconfdir=/etc && make &&

sudo make uninstall”. You need to have “root“ permissions.

Uninstalling the plugin does not mean that users will no longer have the pairing service of the Latch app (see figures in step 4). This will only happen when users carry out the unpairing or

when the administrator removes the service from the Latch web (see Figure 06).

Page 11: Latch Mac OS X english

Latch 1.1 plugin installation and user guide for Mac

V.7.1 – November 2016

Page 11 of 15 2016 © Telefónica Digital España, S.L.U. All rights reserved.

3 Use of the Latch plugin by end users

Latch does not affect in any case or in any way the usual operations with a service. It just allows or denies actions over it, acting as an independent extra layer of security that, once removed or without effect, will have no effect over the service, which will remain with their original state.

3.1 Pairing a user

When the plugin is configured, users may use it. They need the Latch application installed on their mobile devices, and follow these steps:

Step 1: Simply open the control panel and run the comand “latch –p + TOKEN_GENERATED_BY_

LATCH”.

Figure 11: The user should introduce the pairing code generated by Latch here.

Step 2: From the Latch app on the mobile device, the user has to generate the pairing code,

pressing on “Add a new service" at the bottom of the application, and pressing "Pair with Latch"

and then "Generate new code" will take the user to a new screen where the pairing code will be

displayed.

Step 3: Next the same characters displayed on the mobile device must be entered (before they

expire) on the site created by the administrator for pairing with Latch and then tap the button to

confirm the pairing (see image 11). A notification will be received on the mobile device,

announcing that the service is already paired.

Page 12: Latch Mac OS X english

Latch 1.1 plugin installation and user guide for Mac

V.7.1 – November 2016

Page 12 of 15 2016 © Telefónica Digital España, S.L.U. All rights reserved.

Figure 12: Button that accesses the pairing code.

Figure 13: Generated pairing code. Figure 14: Notification after successful pairing.

Step 4: After pairing, the user will be able to access the accounts list paired with Latch. Users can

check that the pairing was recently added. From this point users can lock and unlock access to

these services simply by tapping the button beside each service name.

Figure 15: Unlocked service. Figure 16: Locked service.

To test Latch, the user needs to lock the service from Latch app, and try to access again introducing the right credentials.

If the configuration is correct, the user will not be able to access in even if the correct credentials were introduced. Additionally, a notification on the mobile device will be received, warning about

Page 13: Latch Mac OS X english

Latch 1.1 plugin installation and user guide for Mac

V.7.1 – November 2016

Page 13 of 15 2016 © Telefónica Digital España, S.L.U. All rights reserved.

somebody trying to access the service. The notification includes the email and the phone that the developer stated at when created (Figure 5).

Figure 17: A user accessing. Figure 18: Notification of an unauthorized access attempt.

After unlocking the service from Latch app and introducing the right credentials again, the user will be able to access.

3.2 Unpairing a user

Simply open the control panel and run the command. “latch –u”. Finally, an alert indicating that the service has been unpaired will be displayed

Figure 19: Unpairing Latch. Figure 20: Alert displaying the service has been unpaired.

Page 14: Latch Mac OS X english

Latch 1.1 plugin installation and user guide for Mac

V.7.1 – November 2016

Page 14 of 15 2016 © Telefónica Digital España, S.L.U. All rights reserved.

4 Resources

For more information about how to use Latch and testing more free features, please refer to the user guide in Spanish and English:

1. Guía del usuario de Latch con Nevele Bank. 2. Latch user´s guide for Nevele Bank.

You can also access the following constantly expanded documentation:

Manuals in Spanish and English for integrating and using Latch with the available plugins, at the Latch website and via the ElevenPaths Slideshare channel.

Videos with subtitles in Spanish and English for integrating and using Latch with the available plugins on ElevenPaths' YouTube and Vimeo channels.

Manuals for integrating and using Latch in the organizations that have already implemented it (Movistar, Tuenti, UNIR, USAL, etc.), at the Latch website and via the ElevenPaths Slideshare channel.

Information about Latch API at the Latch website.

Page 15: Latch Mac OS X english

Latch 1.1 plugin installation and user guide for Mac

V.7.1 – November 2016

Page 15 of 15 2016 © Telefónica Digital España, S.L.U. All rights reserved.

The information disclosed in this document is the property of Telefónica Digital España, S.L.U. (“TDE”) and/or any other entity within Telefónica Group and/or its licensors. TDE and/or any Telefonica Group entity or TDE’S licensors reserve all patent, copyright and other proprietary rights to this document, including all design, manufacturing, reproduction, use and sales rights thereto, except to the extent said rights are expressly granted to others. The information in this document is subject to change at any time, without notice.

Neither the whole nor any part of the information contained herein may be copied, distributed, adapted or reproduced in any material form except with the prior written consent of TDE.

This document is intended only to assist the reader in the use of the product or service described in the document. In consideration of receipt of this document, the recipient agrees to use such information for its own use and not for other use.

TDE shall not be liable for any loss or damage arising out from the use of the any information in this document or any error or omission in such information or any incorrect use of the product or service. The use of the product or service described in this document are regulated in accordance with the terms and conditions accepted by the reader.

TDE and its trademarks (or any other trademarks owned by Telefonica Group) are registered service marks.

PUBLICATION:

November 2016

elevenpaths.com Blog.elevenpaths.com @ElevenPaths Facebook.com/ElevenPaths YouTube.com/ElevenPaths

At ElevenPaths we have our own way of thinking when we talk about security. Led by Chema Alonso, we are a team of experts who are passionate about their work, who are eager to redefine the industry and have great experience and knowledge about the security sector.

Security threats in technology evolve at an increasingly quicker and relentless pace. Thus, since June 2013, we have become a startup company within Telefónica aimed at working in an agile and dynamic way, transforming the concept of security and, consequently, staying a step ahead of our attackers.

Our head office is in Spain, but we can also be found in the UK, the USA, Brazil, Argentina and Colombia.

If you wish to know more about us, please contact us at: