User Tools

Site Tools


internal:server_romulus

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
internal:server_romulus [25.02.2016 - 10:33] – [Firewall] tnowakinternal:server_romulus [29.02.2016 - 13:36] (current) – [Access] tnowak
Line 29: Line 29:
 | OMERO.figure         | ''/usr/local/share/omero/OMERO.server/lib/python/omeroweb/figure''| | OMERO.figure         | ''/usr/local/share/omero/OMERO.server/lib/python/omeroweb/figure''|
 | iSCSI Initiator      | /etc/iscsi                                    | | iSCSI Initiator      | /etc/iscsi                                    |
 +
 +===== Access =====
 +
 +SSH access on //romulus// is only allowed for members of the (LDAP) group ''ssh-logins''. Furthermore, access by encrypted transfer of the user password is disabled for security reasons. The preferred way of accessing the server is via public-private-key authentication.
 +
 +When logged in as a specific user, you can generate your own public private-key pair easily with the command ''ssh-keygen -t rsa''. For usage in the Windows program Putty, the private key (usually named ''.ssh/id_rsa'') first has to be converted to a suitable format with ''puttygen''.
 +
  
 ===== Storage ===== ===== Storage =====
Line 40: Line 47:
  
 OpenLDAP is configured largely inside its own directory structure instead of using the traditional configuration files inside ''/etc''. Permissions where chosen as restrictively as possible while still allowing external authentication requests where necessary. Please refer to [[https://help.ubuntu.com/lts/serverguide/openldap-server.html]] for a starter on how to configure OpenLDAP on Ubuntu LTS 14.04.4. OpenLDAP is configured largely inside its own directory structure instead of using the traditional configuration files inside ''/etc''. Permissions where chosen as restrictively as possible while still allowing external authentication requests where necessary. Please refer to [[https://help.ubuntu.com/lts/serverguide/openldap-server.html]] for a starter on how to configure OpenLDAP on Ubuntu LTS 14.04.4.
 +
 +===== GOsa² =====
 +The web frontend GOsa² is provided by //romulus// to conveniently manage central OICE user accounts stored via the OpenLDAP backend. New users can be easily added by using the "oice_user" template in the creation process. Upon adding a new user, the post-creation script ''/usr/local/scripts/oice-userpostcreate'' is called that is assigning a default password if nothing else was assigned (February 2016: FirstnameLastnameSTED). Additionally, this script will trigger a custom implementation of a python API for the PPMS HTTPS API to add the new user to the PPMS booking system's database with external authentication turned on. This will happen only if the LDAP field "department number" contains a valid unique group login, such as group-sclaus. If no such field is present, the user will not be automatically added to the PPMS system and has to be added manually. If there is not yet a valid group for the uses that is to be added, the group has to be added manually to the PPMS **before** the user is added. Groups are, unfortunately, not queried by the PPMS server on our LDAP database. Also, account information cannot be automatically requested, which is why the double account creation is necessary. However, the authentication (via username and password) **is** happening on our LDAP server, the the usernames of users in the PPMS database and int he LDAP server need to be identical. Also, the authentication is happening via LDAP SSL (ldaps) on port 636, since STARTTSL encryption is not supported, so port 636 has to be opened for the appropriate IP addresses (which was the case in February 2016). User information during the authentication process is thus transferred on encrypted channels. Care should be taken that this is not accidentally changed.
 +
  
 ===== Firewall ===== ===== Firewall =====
Line 58: Line 69:
 |Samba                    |  ALLOW      131.188.170.139 | |Samba                    |  ALLOW      131.188.170.139 |
 |636                      |  ALLOW      134.213.137.186 | |636                      |  ALLOW      134.213.137.186 |
-|636                      |  ALLOW     |  54.77.60.|+|636                      |  ALLOW     |  52.31.192.143 |
 |1194/udp                  ALLOW      Anywhere | |1194/udp                  ALLOW      Anywhere |
 |192.168.231.192/27 3389  |  ALLOW      Anywhere | |192.168.231.192/27 3389  |  ALLOW      Anywhere |
Line 72: Line 83:
 ===== Backup ===== ===== Backup =====
  
 +For backup purposes, there is an extra storage server //rheasilvia//, currently on IP 192.168.231.216. It features 29 TiB of HDD space contained on a RAID 6 array consisting of 8 Hewlett Packard 8 TB 7200 rpm disks.
 +
 +Encrypted and compressed backups are currently (February 2016) transferred every night via the application "duplicity" (uses rsync and gpg internally, see [[https://help.ubuntu.com/community/DuplicityBackupHowto]]). Additionally, rsync is used to synchronize a directory with snapshots of various other backups (such as the LDAP directory) contained in ''/srv/backups/settings''.
 +
 +A slightly abbreviated version (without the error messages) of the current (February 2016) backup cronjob is listed as follows:
 +
 +<file>
 +AGES=0,1,2,3,4,5,6,7,14,30,60,182,365,730
 +
 +# *** OMERO database and setting files, ldap directory, system setting files
 +00 3    *    * *   omero    /usr/local/scripts/backuplocal-omero
 +10 3    *    * *   root     /usr/local/scripts/backuplocal-ldap
 +30 3    *    * *   root     /usr/local/scripts/backuplocal-system
 +40 3    *    * *   backup   /usr/local/scripts/thinout-backups $AGES
 +45 3    *    * *   root     /usr/local/scripts/backupremote-settings
 +
 +# *** Users' home directories, the OICE network share, the OMERO data repository and the wiki
 +# Incremental backup most of the time
 +00 4    2-31 * *   root     /usr/local/scripts/backupremote-home
 +20 4    2-31 * *   root     /usr/local/scripts/backupremote-oiceshare
 +40 4    2-31 * *   root     /usr/local/scripts/backupremote-omerodata
 +00 5    2-31 * *   root     /usr/local/scripts/backupremote-wiki
 +
 +# Full back up in regular intervals
 +00 4    1    * *   root     /usr/local/scripts/backupremote-home full
 +20 4    1    * *   root     /usr/local/scripts/backupremote-oiceshare full
 +40 4    1    * *   root     /usr/local/scripts/backupremote-omerodata full
 +00 5    1    * *   root     /usr/local/scripts/backupremote-wiki full
 +</file>
 +
 +This will start the backup process at 3 a.m. every night. All custom scripts, which are internally documented as well, including the ones used for backups are residing in ''/usr/local/scripts''. The purpose of the backup scripts is as follows:
 +
 +^ Script  ^ Purpose ^
 +| ''backuplocal-omero''    | Creates a snapshot of the OMERO PosgreSQL database and the OMERO ''etc'' directory |
 +| ''backuplocal-ldap''     | Creates a snapshot of the LDAP directory (user accounts) |
 +| ''backuplocal-system''   | Creates a snapshot of the servers ''/etc'' and ''/usr/local/scripts'' directories |
 +| ''thinout-backups''      | Used the python script ''purge-files'' to reduce all snapshots to a list that corresponds to ages (in days) as listed in the ''$AGES'' variable |
 +| ''backupremote-setting'' | Synchronizes the thinned out snapshot directory ''/srv/backups/settings'' with its counterpart on //rheasilvia// |
 +| ''backupremote-home''      | Creates a full or incremental duplicity backup of the ''/srv/home'' directory (home directory of all OICE users) on //rheasilvia// |
 +| ''backupremote-oiceshare'' | Creates a full or incremental duplicity backup of the ''/srv/samba/oiceshare'' directory (CIFS network share for OICE staff) on //rheasilvia// |
 +| ''backupremote-omerodata'' | Creates a full or incremental duplicity backup of the ''/srv/omero_data'' directory (image and file repository of omero) on //rheasilvia// |
 +| ''backupremote-wiki''      | Creates a full or incremental duplicity backup of OICE wiki pages on //rheasilvia// |
 +
 +All scripts that run duplicity can receive an additional argument ''full''. If full is present, it will force a full backup even in cases where an incremental backup would have been possible. According to the current (February 2016) backup cronjob, this happens on every first day of the month.
 +
 +The output of all backup operations is logged to ''/srv/backup-logs'' for inspection in case of problems. Currently, the account ''tnowak'' (can be changed in ''/etc/cron.d/backups'' receives an internal mail in case errors occurred.
internal/server_romulus.1456396417.txt.gz · Last modified: 25.02.2016 - 10:33 by tnowak

Donate Powered by PHP Valid HTML5 Valid CSS Run on Debian Driven by DokuWiki