Internship "System administration and web application development"

Presentation and environment of the internship

This internship offer is part of a partnership between the Grenoble Alpes Cybersecurity Institute and the CYBIS project.

The Cybersecurity Institute aims to undertake innovative interdisciplinary research to address the challenges of cybersecurity and privacy. The main areas are low-cost secure elements, secure critical infrastructures and their lifecycle management, vulnerability research and global challenges in terms of risk analysis and validation of major systems, including practical resilience in industry and society. The approach is holistic, encompassing technical, legal, economic, social, diplomatic, military and intelligence aspects with strong private sector partnerships, and privileged national and international cooperation with leading institutions in France and abroad.

The CYBIS (Cyber & International Security) project aims to make available to the general public and researchers indicators and tools to analyse recent and current conflicts (in a broad sense including cybersecurity), in order to facilitate the understanding and analysis of cyber attacks, terrorism and armed conflicts. In the long term, the project will closely combine various types of media, such as databases, an interactive website, software, training, conferences and seminars, articles, reports and folders in publications. This site should provide a clearer vision of cybersecurity and possible responses to cyberthreats, as well as, more broadly, an enhanced vision of certain conflicts, including cartographic analysis, and dynamic visualization (interactive graphics showing spatio-temporal, quantitative and qualitative data). In addition to databases and online mapping, this multilingual site will provide a summary presentation of the various national cybersecurity laws and a summary indicator in this field. Its ambition is to become an international reference on contemporary armed conflicts, crises and cybersecurity.

Trainee supervision: Mayeul Kauffmann, principal researcher and webmaster of the Cybis project.

Location: Saint Martin d'Hères Campus (University of Grenoble Alpes), France.

Duration: 2 to 6 months

Start of the internship: April, May or June 2020.

Indemnity: Gratification according to current regulations (about 600€ per month). Possibility of partial payment of transport costs.

Missions: The missions mentioned below are indicative. They may vary, depending in particular on the trainee's skills and the duration of the internship.

Application process
By e-mail to the e-mail address indicated at the bottom of the page: http://cybis.univ-grenoble-alpes.fr/index.php/en/node/2

Please check the CYBIS website before applying (possible update of this offer). Indicate imperatively as the subject of the email "Cyber@Alps CYBIS internship application - (your first and last name)".

Provide as attachments in PDF format a CV (file entitled "name_givenName_CV.pdf") and a letter of application (file entitled "name_givenName_LC.pdf"). In the letter, provide the following information in particular:

- Potential start date of the internship (at the earliest):

- Potential end date of the internship (at the latest):

- Starting date of the internship that would suit you best:

- Minimum duration of the internship:

- Maximum duration of the internship:

- Duration you would prefer:

- Is this internship mandatory in your current training program?

Mission 1: Secure management of collaborative workflows

Description: Implement an open source web software solution of a Business Process Management (BPM) suite allowing the secure management of collaborative workflows involving several users (online form completed, in each case, by at least 3 people). This could be Bonita BPM, but Joget Workflow, jBPM and others are also considered. Ensure implementation, testing, production deployment and maintenance. Ensure the security of access controls and confidentiality of information (if necessary by designing and implementing a specific procedure for the most sensitive information).

Skills required: Docker, GNU/Linux system, Apache, MySQL or PostgreSQL. Potentially: Java concepts; BPM platforms.

Links :

https://documentation.bonitasoft.com

https://www.joget.org/

https://www.jbpm.org/

Mission 2: Web server administration

Description: Improvement of the configuration of a web server. On a VM, currently hosting in particular: 1 Drupal, 1 Shiny (Docker), 1 VM (Ubuntu), 1 TeamPass (Docker).
Improve the architecture (Apache 2 configuration in particular) to allow the addition of new services. The current server manages the reverse proxy of websockets (a2enmod proxy_wstunnel).
Configure the HTTPS.
Adaptation of the staging server configuration, in particular to be able to test the configuration changes of reverse proxies (Apache 2 currently).
Workflow improvement for the deployment of new applications (development machines, staging server, production server), features or server settings (reverse proxy in particular). Supervision and monitoring of services.

Required skills: Debian, Docker, network protocols, Apache 2.

Links: https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html
https://hub.docker.com/r/teampass/teampass/
https://hub.docker.com/r/rocker/shiny/

Mission 3: Integration of visualization and data repository applications

Description: Produce a library (javascript or R/Shiny/plotly) allowing the display of interactive historical maps, respecting the evolution of country borders, similar to PeacePRISM. PeacePRISM is a FLOSS (GNU Affero GPL) application for visualizing spatio-temporal data built in Ruby On Rails and Javascript, which allows such features. The objective of this mission is to make these javascript functionalities (already existing) reusable in other platforms (notably R/Shiny/Plotly - management of the interaction between elements by crosstalk; Rcmdr; and CKAN), in collaboration with interested project partners to integrate such a tool on their website. The Rcmdr component (for example) would allow the creation of an application with a standalone GUI (desktop).

Required skills: JavaScript, JavaScript libraries (D3, Plotly), HTML5, CSS, possibly MVC framework, possibly R (Shiny, plotly, Rcmdr). If possible, sensitivity to visualization in the social sciences.

Links: http://cybis.univ-grenoble-alpes.fr/fr/PeacePRISM
http://cybis.univ-grenoble-alpes.fr/fr/NMC
https://plot.ly/d3-js-for-r-and-shiny-charts/

Mission 4: Improvement of a CMS under Drupal

Description: Improvement of the theme

Improved front-end interactivity (e. g. drop-down menus...)

Improvement of multilingual management (including management of the absence of translation in some languages)

Adding features (last articles of a section, etc.)

Configuration of the email server (contact page)

Better backup management

Ensure updates of the system and its components

Required skills: Drupal, PHP, javascript, CSS, GNU/Linux system.

Link: https://www.drupal.org/documentation

Mission 5: Installation, configuration and administration of a CKAN server (open data repository web platform)

Description: Create a common and open platform for data storage and visualization. Use existing components wherever possible (including CKAN, such as for the HDX - Humanitarian Data Exchange platform)

This platform is intended to host the data used by the main datasets used in research projects on peace, cybersecurity and international statistics.

Required skills: Debian, Docker, Apache2, PostgreSQL. (Ideally: CKAN; otherwise, knowledge of some of the underlying technologies and motivation to learn this infrastructure.)

Links: https://docs.ckan.org/en/latest/contents.html
https://docs.ckan.org/en/latest/maintaining/installing/install-from-docker-compose.html
https://data.humdata.org/