Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
centos:mail_c7:horde_10 [12.12.2014 14:48. ] – angelegt djangocentos:mail_c7:horde_10 [20.04.2018 07:49. ] – Horde: Absichern des Frameworks, entfernen nicht nötiger CLI's django
Zeile 2: Zeile 2:
 In diesem kurzen Artikel befassen wir uns mit der Absicherung unserer Hordeinstallation, der dem Hinweis des Nutzers [[https://twitter.com/ws_develop|Wolfgang S]] geschuldet ist. :-) In diesem kurzen Artikel befassen wir uns mit der Absicherung unserer Hordeinstallation, der dem Hinweis des Nutzers [[https://twitter.com/ws_develop|Wolfgang S]] geschuldet ist. :-)
  
-<WRAP center round important 100%>+<WRAP center round tip 100%>
 Funktionen, die keiner benötigt, brauchen auch nicht angeboten werden, auch wenn diese nur scheinbar einem kleiner Nutzerkreis vorbehalten sind. Ein kleiner Fehler in der Anwendung und man läuft Gefahr, Funktionen plötzlich für allen und jedermann zur Verfügung zu stellen. Funktionen, die keiner benötigt, brauchen auch nicht angeboten werden, auch wenn diese nur scheinbar einem kleiner Nutzerkreis vorbehalten sind. Ein kleiner Fehler in der Anwendung und man läuft Gefahr, Funktionen plötzlich für allen und jedermann zur Verfügung zu stellen.
 </WRAP> </WRAP>
  
-{{ :centos:mail_ct:horde_admin1.png?direct&200|Bild: Horde Framework - Administrationsmenü}}+{{ :centos:mail_c7:horde_admin1.png?direct&180|Bild: Horde Framework - Administrationsmenü}}
  
 Von Haus aus werden dem oder den Admin(as) mit administrativen Rechten beim Hordeframework drei **CLI**((**C**omannd **L**ine **I**nterfaces))s angeboten: Von Haus aus werden dem oder den Admin(as) mit administrativen Rechten beim Hordeframework drei **CLI**((**C**omannd **L**ine **I**nterfaces))s angeboten:
Zeile 13: Zeile 13:
   * die **Command Shell** oder auch als **Befehlszeile**  bezeichnet.   * die **Command Shell** oder auch als **Befehlszeile**  bezeichnet.
  
-Man findet diese links im Administrationsmenü. +Man findet diese links im Administrationsmenü. Leider existiert aktuell ((Stand: Dezember 2014)) keine Konfigurationsoption, diese Menüpunkte auszublenden, wir müssen als selbst Hand anlegen.
  
-Als erstes setzen wir die hinterlegten Funktionen ausser Gefecht, in dem wir diese umbenennen und somit unerreichbar für die WEB-GUI machen. Wir wechseln dazu in das Verzeichnis +Als erstes setzen wir die hinterlegten Funktionen ausser Gefecht, in dem wir diese umbenennen und somit unerreichbar für die WEB-GUI machen. Wir wechseln dazu in das Verzeichnis //**/usr/share/horde/admin/**//, in dem die betreffenden PHP-Scripte liegen. 
 +   # cd /usr/share/horde/admin/
  
 +Dort befinden siech unter anderem die drei "//verdächtigen//" PHP-Scripte.
 +   # ll *shell.php
 +<code>-rw-r--r--. 1 root root 1242 Dec  3 16:51 cmdshell.php
 +-rw-r--r--. 1 root root 2065 Dec  3 16:51 phpshell.php
 +-rw-r--r--. 1 root root 3245 Dec  3 16:51 sqlshell.php
 +</code>
  
 +Diese drei Scripte benennen wir nun einfach um.
 +   # mv cmdshell.php cmdshell.php.dist
 +
 +   # mv phpshell.php phpshell.php.dist
 +
 +   # mv sqlshell.php sqlshell.php.dist
 +
 +Was jetzt noch fehlt ist die Entfernung der drei links im betreffenden Menü, weleche durch die Datei //**/usr/share/horde/lib/Api.php**// generiert wird. Dort deaktivieren wir die Einträge für die fraglichen drei Menüpunkte, in dem wir diese auskommentieren.
 +   # vim /usr/share/horde/lib/Api.php
 +
 +<code php><?php
 +/**
 + * Copyright 2010-2014 Horde LLC (http://www.horde.org/)
 + *
 + * See the enclosed file COPYING for license information (LGPL-2). If you
 + * did not receive this file, see http://www.horde.org/licenses/lgpl.
 + *
 + * @category  Horde
 + * @copyright 2010-2014 Horde LLC
 + * @license   http://www.horde.org/licenses/lgpl LGPL-2
 + * @package   Horde
 + */
 +
 +/**
 + * Horde external API interface.
 + *
 + * This file defines Horde's external API interface. Other
 + * applications can interact with Horde through this API.
 + *
 + * @category  Horde
 + * @copyright 2010-2014 Horde LLC
 + * @license   http://www.horde.org/licenses/lgpl LGPL-2
 + * @package   Horde
 + */
 +class Horde_Api extends Horde_Registry_Api
 +{
 +    /**
 +     * Returns a list of adminstrative links.
 +     *
 +     * @return array  Keys are link labels, values are array with these keys:
 +       - icon: (string) Graphic for page.
 +       - link: (string) Registry encoded link to page.
 +       - name: (string) Gettext label for page.
 +     */
 +    public function admin_list()
 +    {
 +        $admin = array(
 +            'configuration' => array(
 +                'link' => '%application%/admin/config/',
 +                'name' => _("_Configuration"),
 +                'icon' => 'config'
 +            ),
 +            'users' => array(
 +                'link' => '%application%/admin/user.php',
 +                'name' => _("_Users"),
 +                'icon' => 'user'
 +            ),
 +            'groups' => array(
 +                'link' => '%application%/admin/groups.php',
 +                'name' => _("_Groups"),
 +                'icon' => 'group'
 +            ),
 +            'perms' => array(
 +                'link' => '%application%/admin/perms/',
 +                'name' => _("_Permissions"),
 +                'icon' => 'perms'
 +            ),
 +            'locks' => array(
 +                'link' => '%application%/admin/locks.php',
 +                'name' => _("_Locks"),
 +                'icon' => 'locked'
 +            ),
 +            'alarms' => array(
 +                'link' => '%application%/admin/alarms.php',
 +                'name' => _("_Alarms"),
 +                'icon' => 'alarm'
 +            ),
 +            'sessions' => array(
 +                'link' => '%application%/admin/sessions.php',
 +                'name' => _("Sessions"),
 +                'icon' => 'user'
 +            ),
 +            /* Django : 2014-12-12
 +            aus Sicherheitsgründen die drei CLI-Menüeinträge deaktiviert  
 +            'phpshell' => array(
 +                'link' => '%application%/admin/phpshell.php',
 +                'name' => _("P_HP Shell"),
 +                'icon' => 'php'
 +            ),
 +            'sqlshell' => array(
 +                'link' => '%application%/admin/sqlshell.php',
 +                'name' => _("S_QL Shell"),
 +                'icon' => 'sql'
 +            ),
 +            'cmdshell' => array(
 +                'link' => '%application%/admin/cmdshell.php',
 +                'name' => _("_CLI"),
 +                'icon' => 'shell'
 +            )
 +            */
 +        );
 +
 +        if (!empty($GLOBALS['conf']['activesync']['enabled'])) {
 +            $admin['activesync'] = array(
 +                'link' => '%application%/admin/activesync.php',
 +                'name' => _("ActiveSync Devices"),
 +                'icon' => 'mobile'
 +            );
 +        }
 +
 +        return $admin;
 +    }
 +
 +...
 +
 +</code>
 +
 +Voila, schon sind sowohl die Menüpunkte weg, wie auch die PHP-Scripte nicht mehr erreichbar.
 +
 +{{ :centos:mail_c7:horde_admin.png?direct&180 |Bild: Horde Framework - Administrationsmenü}} <WRAP center round important 100%>
 +Da bei jedem Update des Hordeframeworks, unsere Änderungen überschrieben werden, müssen wir leider dann erneut Hand anlegen und die Änderungen erneut vornehmen. Vielleicht gibt es ja mal in Zukunft einen eleganteren Weg, die CLIs dauerhaft auszublenden und unzugänglich zu machen.
 +</WRAP>
 +
 +====== Links ======
 +  * **⇐ [[centos:mail_c7:horde_2|Zurück zum Kapitel "Basiskonfiguration des Frameworks Horde 5 unter CentOS 7.x"]]**
 +  * **⇒ [[centos:mail_c7:start#horde_5_groupware_-_anwendungen_unter_centos_7x|Weiter zum Kapitel "horde 5 Groupware - Anwendungen unter CentOS 7.x"]]**
 +  * **[[centos:mail_c7:start|Zurück zum Kapitel >>Mailserverinstallation unter CentOS 7<<]]**
 +  * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]**
 +  * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**
 +
 +~~AUTOTWEET:~~
  • centos/mail_c7/horde_10.txt
  • Zuletzt geändert: 22.07.2019 15:09.
  • von 127.0.0.1