Installieren von Apache Guacamole

In diesem Beitrag sehen wir uns die Installation von Apache Guacamole an, Ein interessantes Tool, das auf freier Software basiert und es uns ermöglicht, uns auf sichere Weise mit Computern zu verbinden, Dank HTML5 und HTTPS werden wir in der Lage sein, auf Computer mit RDP zuzugreifen, VNC (VNC), SSH oder TELNET.

Was ich gesagt habe, In diesem Beitrag werden wir sehen, was die Installation von Apache Guacamole ist, Das dank seiner Weboberfläche den Benutzern den Zugriff auf ihre Computer ermöglicht. Die Idee ist, Guacamole als Gateway zu nutzen, da er nur durch die Veröffentlichung des HTTPS-Dienstes in der Lage sein wird, die oben genannten Protokolle zu kapseln, Benutzer werden in der Lage sein, auf die gleiche Weise über HTML5 zu arbeiten, indem sie ihren Remote-Computer in den Browser integrieren. Am Ende des Beitrags werden wir sehen, wie man die Umgebung mit einem Reverse-Proxy etwas mehr absichern kann. Es ist wahr, dass mit Apache Guacamole nicht nur die Verbindung zu Desktops möglich ist, Wir können Anwendungen veröffentlichen, sowie Integration der Windows-Authentifizierung oder Einführung von 2FA (Zwei-Faktor-Authentifizierung).

In diesem Beitrag arbeite ich mit einem Ubuntu 20.04, Wir beginnen also mit der Installation auf einem aktualisierten Rechner und können loslegen! Wie gewöhnlich, Wir beginnen mit den Abhängigkeiten, Wir fordern sie zuerst auf:

sudo apt-get install libcairo2-dev libjpeg-turbo8-dev libjpeg-dev libpng-dev libtool-bin libossp-uuid-dev make maven -y sudo apt-get install libavcodec-dev libavformat-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libvncserver-dev libwebsockets-dev libpulse-dev -y

Wir müssen Tomcat installieren:

sudo apt install tomcat9 tomcat9-admin tomcat9-common tomcat9-user -y

Es ist Zeit, Guacamole herunterzuladen, Wir beginnen mit der Server-Komponente, Siehe Welche Version ist die aktuellste?, Wir laden es herunter, Wir kompilieren und installieren es:

tar -xzf guacamole-server-1.2.0.tar.gz cd guacamole-server-1.2.0/ ./configure --with-init-dir=/etc/init.d make sudo make install

Wir führen ldconfig aus, um Links und Cache zu erstellen, Zusätzlich zum Öffnen des Ports 8080TCP in der Firewall:

sudo LDCONFIG sudo UFW 8080/TCP zulassen

Dann installieren wir den Guacamole-Client, den wir von derselben Website herunterladen, sowie die WAR-Datei. Wir entpacken sie und fahren mit der Installation fort:

CD ..
tar -xzf guacamole-client-1.2.0.tar.gz cd guacamole-client-1.2.0/ mvn Paket sudo mkdir /etc/guacamole sudo cp guacamole-1.2.0.war /etc/guacamole sudo ln -s /etc/guacamole/guacamole.war /var/lib/tomcat9/webapps/

Beginnen wir nun mit der Konfiguration, Wir haben das Verzeichnis für Guacamole-Erweiterungen und -Bibliotheken erstellt, und fügen Sie die folgende Umgebungsvariable hinzu:

sudo mkdir /etc/guacamole/{Erweiterungen,Befreien}
Schweiß-Echo "GUACAMOLE_HOME=/etc/guacamole" >> /usw./default/tomcat9

Wir erstellen die Guacamole-Konfigurationsdatei (/etc/guacamole/guacamole.properties) Um eine Verbindung mit Guacd herzustellen, fügen wir:

guacd-hostname: localhost guacd-port:     4822
Benutzer-Mapping:   /etc/guacamole/user-mapping.xml auth-provider:  net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider

Wir verknüpfen das Guacamole-Konfigurationsverzeichnis mit dem Tomcat-Servlet:

sudo ln -s /etc/guacamole /usr/share/tomcat9/.guacamole

Bevor Sie fortfahren, Wir müssen den MD5-Hash für das Passwort generieren, das wir verwenden möchten, Wir werden es leicht herausbekommen, indem wir:

echo -n PASSWORT | OpenSSL MD5
    (Stinken)= d287200e83ee04f67294de90dd72f9c6

Wir werden nun in der Lage sein, die Datei zu bearbeiten, in der wir die Zugriffe auf Apache Guacamole definieren werden, Das ist, Wenn wir lokale Benutzer verwenden, können wir diese hier ebenso definieren wie die Ressourcen, die wir ihnen präsentieren, Beispiel für '/etc/guacamole/user-mapping.xml’ die wir entwickeln müssen:

<Benutzer-Mapping>
    <!-- Authentifizierung pro Benutzer und Konfigurationsinformationen -->
    <!-- Ein Benutzer, der md5 verwendet, um das Kennwort guacadmin-Benutzer zu hashen, und sein unten gehashtes MD5-Kennwort wird verwendet, um sich bei der Guacamole-Web-Benutzeroberfläche anzumelden.>
    <autorisieren Benutzername="guacadmin"
            password="d287200e83ee04f67294de90dd72f9c6"
            kodierung="MD5">
        <!-- Erste autorisierte Remote-Verbindung -->
        <Name der Verbindung="Servidor Centos">
            <Protokoll>SSH (Englisch)</Protokoll>
            <param name="Hostname">192.168.1.46</Param>
            <param name="Hafen">22</Param>
        </Verbindung>
        <!-- Zweite autorisierte Remote-Verbindung -->
        <Name der Verbindung="Fenster 2019">
            <Protokoll>rdp</Protokoll>
            <param name="Hostname">192.168.1.100</Param>
            <param name="Hafen">3389</Param>
            <param name="Nutzername">Administrador</Param>
            <param name="ignore-cert">STIMMT</Param>
        </Verbindung>
    </autorisieren>
</Benutzer-Mapping>

Und, Por cierto, Que tras hacer toda la instalación y cambios de configuración será fundamental reiniciar los servicios, Así como habilitarlos para que inicien de manera automática con el sistema:

sudo systemctl restart tomcat9 sudo systemctl enable tomcat9 sudo systemctl restart guacd sudo systemctl enable guacd

Und es ist an der Zeit, es auszuprobieren! Nein?

Wir greifen über einen Webbrowser darauf zu, Verweisen auf HTTP://DIRECCION_IP_GUACAMOLE:8080/guacamole und gemäß dem Benutzernamen und dem Passwort, die in der vorherigen Datei definiert wurden.

Dies sollte die Benutzeroberfläche sein, als wir sie zum ersten Mal sahen, wo wir die Ressourcen haben werden, die uns veröffentlicht wurden. Und wenn wir uns kürzlich mit einem Computer verbunden haben, haben wir es auf einen Blick ganz oben.

Und wenn Sie auf eine beliebige Verbindung klicken, öffnet sich die RDP-Verbindung integriert in den Browser, oder VNC, o SSH, o Telnet… Ich hinterlasse Ihnen diesen Link mit dem gesamten Handbuch und der offiziellen Anleitung, um es nach Ihren Bedürfnissen konfigurieren zu können, Eine App, Authentifizierung mit LDAP, OTP/Token…

Ein Riesenspaß, Nein? Das Schlechte im Moment ist die Sicherheit, da es sich um HTTP handelt, Zumindest müssen wir also einen Reverse-Proxy einbauen, und auch, dass es über SSL geht…

Aktivieren des Reverse-Proxys mit Apache

Brunnen, Nun, wenn wir ihm eine zusätzliche Sicherheitsebene verleihen wollen, Wir müssen Apache auf einem anderen Rechner installieren (oder im selben…) um als Reverse-Proxy zu fungieren:

sudo apt-get install apache2

Wir ermöglichen die folgenden Apache-Module:

sudo A2ensite Default-SSL sudo A2Enmod SSL sudo A2Enmod proxy sudo A2Enmod proxy_http sudo A2Enmod proxy_balancer sudo A2Enmod lbmethod_byrequests sudo SystemCTL Apache2 neu starten

Und wir bearbeiten die Standard-SSL-Datei (/etc/apache2/sites-available/default-ssl.conf), zu denen wir unsere Zertifikate der Website angeben müssen, sowie die URL unserer Guacamole, Hinterlassen Sie so etwas wie:

<IfModule mod_ssl.c>
        <VirtualHost _Standard_:443>
                ServerAdmin webmaster@localhost DocumentRoot /var/www/html Fehlerprotokoll ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log kombinierte SSLEngine on SSLCertificateFile /etc/apache2/ssl/bujarra.crt SSLCertificateKeyFile /etc/apache2/ssl/bujarra.key SSLProxyEngine on SSLProxyVerify none SSLProxyCheckPeerCN off SSLProxyCheckPeerName off SSLProxyCheckPeerExpire off
                <Standort /guacamole/>
                    Bestellen erlauben,deny Zulassen von allen ProxyPass http://DIRECCION_IP_GUACAMOLE:8080/guacamole/ flushpackets=auf ProxyPassReverse http://DIRECCION_IP_GUACAMOLE:8080/Guacamole/
                </Ort>
                SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
                <DateienMatch "\.(CGI|shtml|Phtml (Englisch)|PHP (Englisch))$">
                                SSLOptions +StdEnvVars
                </DateienMatch>
                <Verzeichnis /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Verzeichnis>
        </Virtueller Gastgeber>
</If-Modul>

Wir starten Apache neu und weisen ihn an, jedes Mal zu starten, wenn ich den Rechner mit:

sudo systemctl apache2 neu starten sudo systemctl apache2 aktivieren

Und es bleibt nichts anderes übrig, als es zu versuchen! Wir öffnen einen Browser gegen: https://DIRECCION_IP_PROXY/Guacamole/ und unser Einsatz sollte ein wenig sicherer sein.

Wie immer in der Hoffnung, dass Sie sie interessant finden, Aber diese Art von Lösungen sind sehr gut für kleine Unternehmen, Kleinst-KMU, sie daran hindern, RDP direkt im Internet zu veröffentlichen. Mit dieser Art von Lösung öffnen wir einen einzigen Port zum Internet, Der 443TCP, Der Rest geschlossen. Einfach und schnell, Irgendwann haben wir ein Tool, um Telearbeit in Unternehmen ohne Ressourcen zu ermöglichen, Studienzentren, kollegien…

Eine Umarmung!

Empfohlene Beiträge

Verfasser

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Zögern Sie nicht, mich zu kontaktieren, Ich werde versuchen, dir zu helfen, wann immer ich kann, Teilen ist Leben ;) . Genießen Sie Dokumente!!!