Difference between revisions of "Intranet"
|Line 80:||Line 80:|
=== Server certificates ===
=== Server certificates ===
Certificates issued by
Certificates issued by , the owner of the egi.eu DNS domain .
=== Software customization ===
=== Software customization ===
Revision as of 11:43, 8 June 2015
|Main||EGI.eu operations services||Support||Documentation||Tools||Activities||Performance||Technology||Catch-all Services||Resource Allocation||Security|
|Tools menu:||• Main page||• Instructions for developers||• AAI Proxy||• Accounting Portal||• Accounting Repository||• AppDB||• ARGO||• GGUS||• GOCDB|
|• Message brokers||• Licenses||• OTAGs||• Operations Portal||• Perun||• EGI Collaboration tools||• LToS||• EGI Workload Manager|
Core of the services was prepared before the actual start of the EGI-InSPIRE project and they were available from day 1.
This page describes the status of the services as of mid June 2010.
There are two identical servers:
- SuperMicro SuperServer 6016T-NTRF
- 2x Intel Xeon X5560 (QuadCore Nehalem 2.8 GHz)
- 48 GB
- 2x Gbit ethernet
- redundant power supply
Both the machines are connected to the same disk array:
- FlexySTOR 162SS
- 16x 450 GB SAS, 15 krpm disks
- RAID controller, 2 GB cache
- the disks are arranged into 2 RAID-10 partitions, yielding 2x 1.8 TB effective capacity
In normal operation each of the machine works in one of the disk array partition, The actual services are implemented in virtual machines, and they are distributed between the physical machines, in order to optimize load.
In case of failure of any of the physical machines the other one takes over hosting the affected virtual machines. Due to the dual connection of the disk array this can be done without the need of any cable switching. Eventually, an automatic fail-over mechanism can be deployed.
Failure of a single disk in the array is handled transparently by the RAID controller. The disks are hot-swappable, allowing seamless replacement of the failed disk.
The whole system is covered with Next-Business-Day On-Site warranty agreement.
The machines are situated in the computer room of Institute of Computer Science of Masaryk University, Brno, CZ.
The physical hardware hosts several virtual hosts which provide the actual services in turn. We trade off flexibility and the cost of management, yielding the following virtual hosts currently:
- mail server and request tracker: optimized for high email traffic
- web server, including wiki, the document server, blog, SAML identity provider: optimized for the web traffic
- server with Indico, phpBB forum, jabber
- server with LimeSurvey and Radius
- backend server providing database backends to the services
The computer room where the machines are located is in the same building as the Point of Presence of the CESNET network backbone. The LAN segment of the servers is directly attached to the backbone router port.
Besides the redundancy provided by the hot-swappable RAID-10 disk array all the systems are backed up with the CESNET tape systems.
In general, full file systems are backed up (with the exception of large database files where the usual approach of snapshot + transaction logs is used), therefore disaster recovery is limited by the time to restore full backup, no manual configuration recovery should be required.
The services are covered by the monitoring system of NGI CZ based on nagios. The following probes are deployed:
- CPU load and utilization
- memory usage, including kernel memory
- critical system messages
- network interface status
- file system usage
- HTTP/HTTPS request sanity on selected URLs
- pakiti -- up to date status of installed software (missing security fixes in particular)
Operating system and software environment
The hardware servers run Debian 5.0, Xen Dom0. Otherwise there are virtually no services installed.
The virtual servers are run as Xen DomU, running Debian 5.0 as the guest OS as well. Debian was chosen because of stability; among free Linux distributions it has the longest lifetime of stable major releases. We do not expect the need for bleeding edge functionalities in these services therefore stability is prefered.
As a rule of thumb, the EGI services do not depend on any external services outside of this system. Exceptions are DNS and email, relying on the services provided by Masaryk University and CESNET.
Certificates issued by a commercial ecrtificatin authority, because the owner of the egi.eu DNS domain is the EGI.eu foundation based in the Netherlands, and certificates issued from the academic TERENA TCS CA would be far more expensive.
When setting up the services we could have not avoided modifications of the used sofware (adding or customizing functionality, integration with the common AuthN/Z etc.). We keep records of trivial modifications, non-trivial modifications are kept in CVS repository, allowing fairly easy merging on upgrade to new versions of the software.
Service machine (invisible from outside) hosting database backends of the other services. It is a separate Xen host, so that we are able to move it to other hardware for performance tuning.
The goal is having a single username/password for all the services. A technical solution is LDAP backend; most services are prepared for LDAP-based authentication out of box, and adaptation of others is relatively easy. Currently we use direct LDAP-based authentication in all the services apart of Mailman, where the user passwords are synchronized with the LDAP every hour.
All users of the services and all people working on the EGI projects are required to register an account at the EGI SSO system. The users can edit properties of their account, arequest password reset and delete their own account.
Some of the services were modified to accept also an X509 digital certificate - Mailman, wiki, DocDB and RT. A certificate can be registered to a user account in the SSO by logging into https://www.egi.eu/sso/user with a certificate and user/password in the same time.
Security considerations: Anybody with an email address can get an EGI SSO account ! Only the e-mail address is verified, all other information is supplied by the user and thus can be fake. The security of the EGI services is based on group membership, as group membership can be granted only by group owners.
Besides user accounts the LDAP server stores user groups (as
groupOfNames) objects. The attribute
businessCategory is used to distinguish purpose of the group (multiple values can be specified yielding multi-purpose group):
mailman-- members of the group are subscribed to the mailing list of the same name, owners of the group are administrators of the list, the group description is used as list description
RT-- group of the same name and members is created in the Request Tracker and can be used for authorization there
DocDB-- dtto in the Document Database
wiki-- dtto at wiki
forum-- dtto at phpBB forum
- the Indico imports all groups automatically
Group membership is managed at EGI SSO as well. Besides adding and removing users from groups, the group owner can invite external people to create their account and to be subscribed to the group.
Groups can form a hierarchy. A group can be owned by a group, then all members of the owning group can manage the group. A group can also be a subgroup of another group (linked by
seeAlso atribute), then all members of the subgroup are also members of the supergroup.
Group membership on the services is synchronized with the LDAP server on every full hour.
SSO for external services
The SSO user database can be used for external services using SAML Identity Provider (IdP). The external services must deploy a SAML Service Provider (SP) like Shibboleth or SimpleSAMLphp, and establish mutual trust with the EGI IdP.
A prospective SP should do the following steps:
- install the SP software
- add EGI IdP's metadata from https://www.egi.eu/idp/shibboleth to the SP configuration
- generate the metadata of their SP (in Shibboleth, available at https://www.example.org/Shibboleth.sso/Metadata) and send them to email@example.com
- configure EGI IdP in their discovery service or as a single IdP for their SP
The IdP provides the following attributes:
|urn:oid:0.9.2342.19200300.100.1.1||uid||username from EGI SSO|
|urn:oid:0.9.2342.19200300.100.1.3||email address registered in EGI SSO|
|urn:oid:184.108.40.206.4.1.59220.127.116.11.6||eduPersonPrincipalName||username with appended @egi.eu|
|urn:oid:18.104.22.168||cn||full name in English, ASCII characters only|
|urn:oid:2.16.840.1.113722.214.171.124||displayName||full name in original alphabet, can be Greek, Chinese, etc.|
|urn:oid:126.96.36.199||sn||surname, suitable for alphabetical ordering|
|urn:oid:188.8.131.52.4.1.59184.108.40.206.7||eduPersonEntitlement||contains list of groups in the form of URIs like urn:egi.eu:group:somegroup|
|urn:oid:220.127.116.11.4.1.11418.104.22.168.9||userCertificateSubject||distinguished names from X509 certificates in OpenSSL notation|
Removing SSO group procedure
Following steps are taken once request for SSO group removal is received
- Creating a snapshot of members list (members name and email, name of the group and short description of the grou)
- Informing members of the group that it will be removed (if mailing list was created)
- Removing members from list
- DocDB, Wiki (namespace) data ownership is transferred to EGI catch-all SSO group (only if no other group would be assigned for the document/namespace)
- Closing and archiving mailing list with response message that group has been closed
GNU Mailman software is used, in the version (2.1 currently) provided by Debian OS, with modifications integrating it with the EGI SSO.
List subscribers and list administrators can use their EGI SSO passwords for authentication to the Mailman web interface.
With a few exceptions the mailing lists membership is controlled by EGI SSO. The exceptions are:
- the ngi-security-contacts and site-security-contacts lists that have members synchronized with the GODCB
- the announce list that anybody can subscribe and all users from the EGI SSO are added to it
- the eef-members list which is hosted for the European E-infrastructure Forum
Mailing lists are exposed by the canonical names
Apache2, out of the Debian distribution. Its purpose is administrative Mailman interface and access to the mail list archives only. Because most of traffic is expected to be authenticated, port 80 (HTTP default) is redirected to 443 (HTTPS).
The only MX DNS record for mailman.egi.eu points to the Masaryk University mail relay (located in the same building, serving in the same way for several other domains). The relay forwards all mail to mailman.egi.eu via special rule in its config. In this way we gain additional reliability and advanced features of the relay (spam and virus protection).
Using "smart host" relay.muni.cz for all outgoing email. This is agreed with the relay administrator, and the symmetric setup may have benefits in case of paranoid recipients.
Spam and virus protection
relay.muni.cz (our MX) implements Grey listing technique to ban naive spam attacks.
In addition, we plan to add spam detection set up locally on mailman.egi.eu with Spamassassin, using combination of reliable black lists, static rules for well-known spam patterns (Viagra, Nigerian spam, ...), and dynamic Bayes filters tuned with real trafic gradually.
Exact strategy what to do with spam positives has still to be defined, and it may vary among different lists. In general, as long as it's possible with the amount of the traffic, we are in favour of moderating to let false positives pass rather than discarding automatically.
Viruses are detected at relay.muni.cz with Kaspersky Antivirus, and positives are bounced back to the sender.
This is the project web site and a web front-end for all the services. We use Apache2 from Debian distribution.
Content of the web site is managed by OpenCMS. Google Analytics gathering statistics on the access is deployed.
General meeting planner using the CERN Indico software. It allows scheduling meetings in the full range of size from informal meetings of few participants to large conferences. Meeting agenda can be scheduled, and various material attached to the sections and talks.
The latest stable release of Indico 0.96.2 is used. It was modified to use the EGI SSO LDAP as the source of external users.
http://documents.egi.eu (public access)
https://documents.egi.eu/secure (authenticated access)
Storing large document files directly on the web site or wiki is not optimal. Instead we provide a dedicated document server for this purpose. Besides optimizing the storage and access, the document server offers the following capabilities:
- metadata associated with each document
- versioning of the documents
- provision of the documents in multiple formats (Word, PDF, ...)
- fine grained access control based on hierarchy of groups
We use DocDB software with a few local customizations.
General purpose wiki
General purpose wiki for the use in the project, based on MediaWiki software.
Write access is limited to users registered with EGI SSO. Writing to specific areas (namespaces) is further restricted to SSO groups, as is described at EGIWiki:Community Portal.
Due to the open nature of MediaWiki, it is not possible to reliably restrict read access of selected pages and keep other pages open for reading. Thus there is a dedicated wiki at
which is read and write restricted for the members of the EGI-CSIRT-Team group from EGI SSO. Because the whole URL space with https://wiki.egi.eu/csirt/ prefix is closed, it is guaranteed that nobody outside of the group can get any access.
Work on the project involves tracking wide range of issues, starting from resolution of problems with the intranet services, through managing UMD software releases, upto tracking progress of project tasks and formal deliverables.
We use the RT system], version 3.8. All issues are tracked in terms of tickets arranged in various queues. A ticket follows a defined sequence of major states, custom minor states can be added per queue. Similarly, to the default set of fields in a ticket (owner, priority, etc.) a queue can define additional custom fields with defined data types, value constraints etc. Finally, custom actions can be performed on virtually any change of a ticket. This customizability is starting to be used quite extensively in EGI, allowing to adapt the system to specific needs of the various groups.
The system provides both web and email interfaces, as well as web-service programmatic interface (planned to be used for integration with the EGI software repository).
Whereas most of the queues setup in this RT instance are dedicated for internal use in the project and EGI.eu, a special requirements queue was put in place to be the main gateway to store, monitor and resolve requirements and recommendations communicated by user communities and NGIs to EGI. On the other hand, bug report helpdesk is served by the GGUS system.
We provide a jabber (XMPP instant messaging) server attached to the EGI SSO (each user gets an account automatically) in order not to rely on publicly available services (jabber.org etc.).
The server runs jabberd14 software available in Debian, including the multi-user conference extension which provides chat rooms. Any SSO user can create a chat room, however, the rooms are available to users at jabber.egi.eu only.
Integration with the SSO is done by the
xdb_auth_cpile jabberd component.
We host two additional web sites:
- www.eu-emi-eu Website of the EU EMI project.
- www.einfrastructure-forum.eu Informal organization, forum for the discussion of principles and practices to create synergies for distributed Infrastructures.
Both are provided as virtual hosts (in terms of Apache, not Xen) on www.egi.eu and managed in the OpenCMS content management system. The EMI site is inside the OpenCMS enclosed in a separate so-called organizational unit, which allows to show the web site admins only the files and folders that are relevant to them. The OpenCMS extensive permission and user role system is used to restrict the users to their own sites only.
EGI.eu domain websites
|Domain||Contact person||Contact Email||Purpose|
|Portal and mail|
||Authorization service for LTOS based on UNITY|