|
You last visited: Today at 09:59
Advertisement
Messenger auf Linux Server
Discussion on Messenger auf Linux Server within the Unix/Linux forum part of the Technical Support category.
11/30/2015, 13:58
|
#1
|
elite*gold: 1640
Join Date: Jun 2012
Posts: 18,887
Received Thanks: 9,335
|
Messenger auf Linux Server
Guten Mittag,
ich versuche mich gerade an der Idee, einen verschlüsselten Messenger für Smartphone & PC auf einem Linux Server zu installieren. Das heißt praktisch eine Messenger App alá WhatsApp, Signal, Threema & Co. + einen Client für PC oder über eine Website. Da die Konversationen mit beiden Clients sichtbar sein sollten, wird es wohl auf eine Client-Server-Verschlüsselung hinauslaufen (wenn das möglich sein sollte). Mein erster Ansatz war XMPP, da es offenbar bereits Clients für beide gibt. Geht das in die richtige Richtung bzw. ist so etwas überhaupt möglich?
Edit: Alternativ wären natürlich auch irgendwelche Fertiglösungen möglich, allerdings hat Signal afaik noch kein Desktop Client.
|
|
|
11/30/2015, 14:32
|
#2
|
elite*gold: 400
Join Date: Nov 2008
Posts: 67,905
Received Thanks: 19,505
|
Man kann seinen  , dadurch schafft man schon mal eine sichere TLS Verbindung zum Server
Zusätzlich kann man die Verbindung zwischen einander  Ein XMPP cmd client der das unterstützt wäre z.B.
Eine Liste an XMPP Clients (inklusive Browser Clients), findest du hier:
|
|
|
12/01/2015, 13:03
|
#3
|
elite*gold: 30
Join Date: Nov 2010
Posts: 4,806
Received Thanks: 3,483
|
das meiste hat zwar Eddy schon gesagt, ich empfehle dir aber Pidgin als Client. Dieser bietet dir z.B. auch  als Plugin an.
|
|
|
12/01/2015, 16:01
|
#4
|
elite*gold: 57
Join Date: Jun 2011
Posts: 2,220
Received Thanks: 865
|
Du brauchst  und eine vernünftige Config.
Die hier nutze ich aktiv auf meinen Server. Ich nutze keinen Datentransfer darüber, deshalb müsstest du dir das entsprechende Modul und den Dienst dazu selber einstellen, wenn du es nutzen möchtest.
Code:
admins = { " " }
plugin_paths = { "/usr/lib/prosody/modules/prosody-modules" }
modules_enabled = {
"roster";
"saslauth";
"tls";
"dialback";
"disco";
"posix";
"private";
"vcard";
"uptime";
"time";
"ping";
"pep";
"register";
"admin_adhoc";
"posix";
"require_otr";
"strict_https";
"compression";
};
modules_disabled = {
"";
};
compression_level = 5
hsts_header = "max-age=31556952"
allow_registration = false;
daemonize = true;
pidfile = "/var/run/prosody/prosody.pid";
ssl = {
key = "/etc/prosody/certs/cacert/privkey.key";
certificate = "/etc/prosody/certs/cacert/cert.crt";
}
tls_policy = "FS"
tls_policy = {
c2s = {
encryption = "AES";
-- protocol = "TLSv1.2";
bits = 128;
};
s2s = {
cipher = "AESGCM";
-- protocol = "TLSv1.[12]";
authentication = "RSA";
};
}
c2s_require_encryption = true
s2s_require_encryption = true
s2s_secure_auth = true
s2s_insecure_domains = { "gmail.com" }
s2s_secure_domains = { "domain.tld" }
authentication = "internal_hashed"
log = {
debug = "/var/log/prosody/prosody.log";
error = "/var/log/prosody/prosody.err";
{ levels = { "error" }; to = "syslog"; };
}
VirtualHost "domain.tld"
ssl = {
key = "/etc/prosody/certs/cacert/privkey.key";
certificate = "/etc/prosody/certs/cacert/cert.crt";
protocol = "tlsv1_2";
options = { "no_sslv2", "no_sslv3", "no_ticket", "no_compression", "cipher_server_preference", "single_dh_use", "single_ecdh_use" };
ciphers = "HIGH+kEDH:HIGH+kEECDH:HIGH:!CAMELLIA:!PSK:!SRP:!3DES:!aNULL";
dhparam = "/etc/prosody/certs/dh_2048.pem";
}
Module:
Clients:
Ich kann persönlich ChatSecure unter iOS/Android und Pidgin unter Windows/Linux empfehlen. Wenn du es webbasiert haben möchtest, dann kann ich dir  und  empfehlen. Ich habe beide nur "kurz" angetestet, nutze allerdings keine webbasierte Platform mehr.
|
|
|
12/03/2015, 10:47
|
#5
|
elite*gold: 1640
Join Date: Jun 2012
Posts: 18,887
Received Thanks: 9,335
|
Ist das besser als Openfire?
|
|
|
12/03/2015, 13:02
|
#6
|
elite*gold: 57
Join Date: Jun 2011
Posts: 2,220
Received Thanks: 865
|
Openfire = Java
Prosody = Lua
Ich bin ein Fan von leichtgewichtigen Systemen, deshalb ist Openfire für mich persönlich keine Option. Wenn du eine Alternative suchst, dann kannst du dir noch ejabberd anschauen.
Hier kannst du sehen, dass Openfire kaum genutzt wird:
|
|
|
12/03/2015, 21:24
|
#7
|
elite*gold: 1640
Join Date: Jun 2012
Posts: 18,887
Received Thanks: 9,335
|
Hab Prosody jetzt mal installiert, aber immer noch ein paar Fragen:
- Was bewirkt daemonize = true bei posix? Hab's mir durchgelesen, aber nicht ganz verstanden. (Du hast übrigens 2x posix).
- Bezüglich authentication stand in der Doku: "Once hashed, there is no way to go back to plain storage without resetting all users' passwords". Für mich hört sich das jetzt so an, als müsste man alle Passwörter resetten, wenn einer sein Passwort vergisst oder ist das dann wirklich nur bei einem?
- Muss man c2s_ports oder s2s_ports angeben oder nutzt er die default Ports? Benutzt default Ports
- Laut dieser schlauen Wikipedia-Tabelle ist Conversations etwas besser als ChatSecure Gerade gesehen, dass das was kostet
|
|
|
12/04/2015, 00:23
|
#8
|
elite*gold: 57
Join Date: Jun 2011
Posts: 2,220
Received Thanks: 865
|
Quote:
Originally Posted by Ares
- Was bewirkt daemonize = true bei posix? Hab's mir durchgelesen, aber nicht ganz verstanden. (Du hast übrigens 2x posix).
|
daemonize=true bewirkt, dass Prosody im RC-Skript in den Hintergrund rutscht und als Daemon agiert.
Quote:
Originally Posted by Ares
- Bezüglich authentication stand in der Doku: "Once hashed, there is no way to go back to plain storage without resetting all users' passwords". Für mich hört sich das jetzt so an, als müsste man alle Passwörter resetten, wenn einer sein Passwort vergisst oder ist das dann wirklich nur bei einem?
|
Du kannst das Passwort eines einzelnen Users ändern.
Code:
prosodyctl passwd JID
|
|
|
12/04/2015, 17:01
|
#9
|
elite*gold: 1640
Join Date: Jun 2012
Posts: 18,887
Received Thanks: 9,335
|
Ich kann leider keine verschlüsselte Verbindung mehr aufbauen. Gestern Abend ging es komischerweise noch und ich habe nichts geändert.
Meine Config:
Code:
admins = { " " }
plugin_paths = { "/usr/lib/prosody/modules/prosody-modules" }
modules_enabled = {
-- Generally required
"roster"; -- Allow users to have a roster. Recommended
"saslauth"; -- Authentication for clients and servers. Recommended if you want to log in.
"tls"; -- Add support for secure TLS on c2s/s2s connections
"dialback"; -- s2s dialback support
"disco"; -- Service discovery
"posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
-- Not essential, but recommended
"private"; -- Private XML storage (for room bookmarks, etc.)
"vcard"; -- Allow users to set vCards
-- These are commented by default as they have a performance impact
--"privacy"; -- Support privacy lists
--"compression"; -- Stream compression (requires the lua-zlib package installed)
-- Nice to have
--"version"; -- Replies to server version requests
"uptime"; -- Report how long server has been running
"time"; -- Let others know the time here on this server
"ping"; -- Replies to XMPP pings with pongs
"pep"; -- Enables users to publish their mood, activity, playing music and more
"register"; -- Allow users to register on this server using a client and change passwords
-- Admin interfaces
"admin_adhoc"; -- Allows administration via an XMPP client that supports ad-hoc commands
--"admin_telnet"; -- Opens telnet console interface on localhost port 5582
-- HTTP modules
--"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP"
--"http_files"; -- Serve static files from a directory over HTTP
-- Other specific functionality
--"groups"; -- Shared roster support
--"announce"; -- Send announcement to all online users
--"welcome"; -- Welcome users who register accounts
--"watchregistrations"; -- Alert admins of registrations
"motd"; -- Send a message to users when they log in
"legacyauth"; -- Legacy authentication. Only used by some old clients and bots.
"require_otr";
"strict_https";
};
hsts_header = "max-age=31556952"
daemonize = true;
pidfile = "/var/run/prosody/prosody.pid";
c2s_require_encryption = true;
legacy_ssl_ports = { 5223 }
motd_text = [[Text!
Text.]]
allow_registration = false;
ssl = {
key = "/etc/prosody/certs/keyfile.key";
certificate = "/etc/prosody/certs/certfile.crt";
}
tls_policy = "FS" -- allow only ciphers that enable forward secrecy
tls_policy = {
c2s = {
encryption = "AES"; -- Require AES (or AESGCM) encryption
protocol = "TLSv1.2"; -- and TLSv1.2
bits = 128; -- and at least 128 bits (FIXME: remember what this meant)
};
s2s = {
cipher = "AESGCM"; -- Require AESGCM ciphers
protocol = "TLSv1.[12]"; -- and TLSv1.1 or 1.2
authentication = "RSA"; -- with RSA authentication
};
}
c2s_require_encryption = true
s2s_require_encryption = true
s2s_secure_auth = true
s2s_insecure_domains = { "gmail.com" }
pidfile = "/var/run/prosody/prosody.pid"
authentication = "internal_hashed"
log = {
info = "/var/log/prosody/prosody.log"; -- Change 'info' to 'debug' for verbose logging
error = "/var/log/prosody/prosody.err";
"*syslog";
}
VirtualHost "domain.com"
-- Assign this host a certificate for TLS, otherwise it would use the one
-- set in the global section (if any).
-- Note that old-style SSL on port 5223 only supports one certificate, and will always
-- use the global one.
ssl = {
key = "/etc/prosody/certs/keyfile.key";
certificate = "/etc/prosody/certs/certfile.crt";
options = { "no_sslv2", "no_sslv3", "no_ticket", "no_compression", "cipher_server_preference", "single_dh_use", "single_ecdh_use" };
ciphers = "HIGH+kEDH:HIGH+kEECDH:HIGH:!CAMELLIA:!PSK:!SRP:!3DES:!aNULL";
dhparam = "/etc/prosody/certs/dh-2048.pem";
}
Hab's ohne und mit Legacyauth und Legacy SSL Port probiert.
Auszug prosody.log:
Teilweise steht auch da "Client connected" und in der selben Sekunde "Client disconnected".
Wenn ich in ChatSecure die verschlüsselte Verbindung aktivieren will, lädt der Balken einfach nur unendlich lange und nichts passiert. Und unverschlüsselt kann ich es ja eh nicht nutzen.
Edit:
// Freundschaftsanfragen kommen an
Noch mal dem Verständnis halber: Müssen beide Clients online sein, um verschlüsselt zu schreiben (auch wenn man vorher schon mal verschlüsselt geschrieben hat)? Also muss die Verschlüsselung praktisch immer neu aufgebaut werden?
|
|
|
12/05/2015, 11:34
|
#10
|
elite*gold: 0
Join Date: Jun 2010
Posts: 13,410
Received Thanks: 2,856
|
Ich weiß, dass es bei Otr in Pidgin so ist. Dort wird glaube ich auch mit dem Session key encrypted.
|
|
|
12/06/2015, 00:16
|
#11
|
elite*gold: 57
Join Date: Jun 2011
Posts: 2,220
Received Thanks: 865
|
Prosody unterstützt von sich aus Offlinenachrichten, es sei denn du deaktivierst das.
Wenn du die Schlüssel bereits ausgetauscht hast und beide Seite diese bestätigt haben, kannst du auch Nachrichten versenden, wenn ein Teilnehmer offline ist. Wenn der andere Teilnehmer wieder online kommt, wird die Nachricht von dem Server vermittelt. Wenn sich der Schlüssel nicht geändert hat, dann wird die Nachricht entschlüsselt und ist somit lesbar. Wenn nicht, sieht es so aus:
Code:
?OTR:AAIDAAAAAAEAAAACAAAAwCJkRqcjQvr/AgxOtKmpoMSAo8/zmlgYKpmVRhxFEQVCTs/m14r+dld9RHOtFX+YUfuGQjomGYrgNXbHSf7zPrRnQsoU12He0CzwRNpf1BqbqjSLXszdxtlvA2vfqaaKuJTV4WTCHuBi9YdllQ2dghgagdPCyZwjGTi2cu+soN2n6zfgVlkN5b5GUOY1/zmKRQmmLTCxf1jmCWsqK7vskmpJoxIc1b3So7V9iSAixOfgsO2cqRF/TayU6Y45FEhADgAAAAAAAAACAAAAAuyeaeTKM6pI6hM6PFD+H5FmzdxifMwAAAAA.
|
|
|
 |
Similar Threads
|
Linux Server Auf Wunsch mit Ganz vielen Linux Betriebssystemen
11/09/2014 - Trading - 0 Replies
Hallo Liebe com
Ich vermiete einen RootServer mit Einer guten Hardware und Viel GB Ram und 4 000GB HDD
Technische Einzelheiten:
Komponenten
|
Warrock auf Linux ? (Kennt ihr auch andere Games für Linux)
09/11/2011 - WarRock - 7 Replies
Hallo,
kann man Warrock auf Linux spielen ?
Wenn nein kennt ihr Spiele genau wie Warrock die auch auf Linux gehen?
|
Linux (Debian) als Linux-Server?
05/13/2011 - Unix/Linux - 2 Replies
Hi!
Bevor ihr fragt: Ich habe in Google gesucht...
So ok, jetzt aber zu meiner Frage:
Ich weis das man den Apache auf Debian(Linux) per Kommandozentrale installieren kann. So da dacht ich mir: Warum mach ich nicht einen Computer der IMMER läuft und mach den zusätzlich als Server.
Naja, lange Rede kurzer Sinn: Ich will fragen ob man mit dem Apachen eine Website laufen lassen kann, wie das ist mit Php und mysql (also ob und wie man das installieren kann), und welches dann der...
|
Metin2 auf Linux wer sich gut mit Linux auskennt sollte draufklicken^^
03/19/2011 - Metin2 - 1 Replies
Hallo
Ich benützte zur zeit Linux da ich gehört habe dass Mann mit paar Programme zb. wine Windows spiele auf Linux spielen kann.
Aber bei metin2 wenn ich das mit Wine starte tritt ein fehler auf weil Linux nicht unbekanntes downloadet.
Habs mit Bypass versucht auf mein Windows7 ging es super mit bypass aber auf linux tritt Hackschield auf und lässt es nicht durch.
so nun hab ich sehr lange gesucht und wollte wissen wie das gehen soll
ich habe bei Metin2wiki die erklärung gefunden da ich...
|
All times are GMT +1. The time now is 10:00.
|
|