Prosody IM i lokalni użytkownicy - Sieci PYMES

Indeks ogólny serii: Sieci komputerowe dla MŚP: wprowadzenie

Ten artykuł jest kontynuacją:

Witajcie przyjaciele i przyjaciele!

Nadal dodajemy usługi sieciowe oparte na uwierzytelnianiu lokalnych użytkowników na małym serwerze grupy Entuzjaści Darmowe oprogramowanie, w szczególności CentOS.

Warunki pracy grupy zmieniły się na lepsze. Obecnie ich kwatera główna obejmuje trzypiętrowy dom z piwnicą i muszą wdrożyć serwer wiadomości błyskawicznych oraz transfer plików między stacjami roboczymi, aby ułatwić wchodzenie i schodzenie po schodach lub dużo chodzenia. ;-). W tym celu proponują użycie programu Prozodia.

Są zdeterminowani, aby publikować usługę czatu internetowego tylko dla entuzjastów i planują połączyć swój serwer wiadomości błyskawicznych z innymi kompatybilnymi serwerami XMPP zlokalizowanymi w sieci sieci. W tym celu kupili nazwę domeny desdelinux.wentylator a do tej pory adres IP powiązany z tą nazwą jest zarządzany przez dostawcę usług internetowych.

Usługa Czat przez Prosody pozwoli im na wymianę wiadomości błyskawicznych, przesyłanie plików, prowadzenie konferencji głosowych i wideo i nie tylko.

Co to jest Prosody Instant Messenger?

Prozodia jest to nowoczesny serwer komunikacyjny oparty na protokole XMPP. Został zaprojektowany z myślą o łatwej instalacji i konfiguracji oraz efektywnym zarządzaniu zasobami systemu. Prosody to program typu Open Source - Open Source stworzony na licencji zezwalającej MIT / X11.

XMPP jest to niekomercyjna alternatywa świadczenia usług komunikatorów internetowych. Można go wdrożyć w produkcyjnym środowisku biznesowym, w sieci rodzinnej, prywatnej sieci sąsiedzkiej i tak dalej. Obsługuje szeroką gamę oprogramowania klienckiego na platformy stacjonarne i mobilne. Dzięki XMPP ta usługa może być świadczona na dowolnym urządzeniu.

Dodatkowo mogą połączyć kilka instalacji Prosody i innych usług, które są kompatybilne z protokołem XMPP i tworzą sieć komunikacyjną, w której będziemy mieć całkowitą kontrolę nad ruchem wiadomości i plików, który będzie odbywał się w całkowicie bezpieczny sposób.

Prosody i uwierzytelnianie przeciwko lokalnym użytkownikom

W Mapa witryny Prosody IM znaleźliśmy link do strony Dostawcy uwierzytelniania, który stwierdza, że ​​od wersji 0.8 Prosody obsługiwani są różni dostawcy uwierzytelniania wtyczki. Możesz użyć sterowniki wbudowane oprogramowanie lub można je zintegrować z zewnętrznymi dostawcami uwierzytelniania i pamięci masowej przy użyciu ich Pszczoła.

Dostawcy uwierzytelniania, których możemy zatrudnić

Nazwa Opis -------------- ---------------------------------- -----------------------
wewnętrzny_zwykły   Uwierzytelnianie domyślne. Hasła w postaci zwykłego tekstu są przechowywane we wbudowanej pamięci.

Internal_hashed  Hasła zakodowane przez wewnętrzny algorytm są przechowywane we wbudowanej pamięci.

cyrus       Integracja z Cyrus SASL (LDAP, WFP, ...)

anonimowy    Mechanizm uwierzytelniania przy użyciu SASL „ANONYMOUS” z losową nazwą użytkownika, która nie wymaga poświadczeń uwierzytelniających.

XMPP używa standardowego protokołu Secure Layer Simple Authentication do uwierzytelniania - Swdrożyć Auwierzytelnianie i Secure LWczoraj (SASL), aby zweryfikować poświadczenia klientów. Prosody włącza bibliotekę SASL który domyślnie sprawdza poświadczenia w odniesieniu do istniejących kont we wbudowanej pamięci.

Od wersji 0.7 Prosody obsługiwany jest dostawca zewnętrzny Cyrus SALS które mogą sprawdzać poświadczenia podane przez użytkowników zewnętrznych z innymi źródłami, takimi jak: WFP, LDAP, SQL i inne. Umożliwia również korzystanie z GSSAPI dla usług jednokrotnego logowania - Usługi jednokrotnego logowania.

W tym artykule na temat Prosody, aby uzyskać uwierzytelnienie wobec lokalnych użytkowników za pośrednictwem PAM, użyjemy dostawcy uwierzytelniania «cyrus»Dostarczane w pakiecie«cyrus sasl»I to działa zintegrowane z demonem saslauthd.

cyrus-sasl i saslauthd

[root @ linuxbox ~] # yum install cyrus-sasl

Demon saslauthd jest już zainstalowany

[root @ linuxbox ~] # getsebool -a | grep saslauthd
saslauthd_read_shadow -> off

[root @ linuxbox ~] # setsebool saslauthd_read_shadow on
[root @ linuxbox ~] # getsebool -a | grep saslauthd
saslauthd_read_shadow -> on

[root @ linuxbox ~] # systemctl status saslauthd
● saslauthd.service - demon uwierzytelniania SASL. Załadowano: załadowano (/usr/lib/systemd/system/saslauthd.service; wyłączone; ustawienie dostawcy: wyłączone) Aktywne: nieaktywne (nieaktywne)

[root @ linuxbox ~] # systemctl włącz saslauthd
Utworzono dowiązanie symboliczne z /etc/systemd/system/multi-user.target.wants/saslauthd.service do /usr/lib/systemd/system/saslauthd.service.

[root @ linuxbox ~] # systemctl start saslauthd
[root @ linuxbox ~] # systemctl status saslauthd
● saslauthd.service - demon uwierzytelniania SASL. Załadowano: załadowano (/usr/lib/systemd/system/saslauthd.service; włączone; ustawienie dostawcy: wyłączone) Aktywne: aktywny (bieg) od soboty 2017-04-29 10:31:20 EDT; 2 s temu Proces: 1678 ExecStart = / usr / sbin / saslauthd -m $ SOCKETDIR -a $ MECH $ FLAGS (kod = wyjście, stan = 0 / SUCCESS) Główny PID: 1679 (saslauthd) CGroup: /system.slice/saslauthd. service ├─1679 / usr / sbin / saslauthd -m / run / saslauthd -a pam ├─1680 / usr / sbin / saslauthd -m / run / saslauthd -a pam ├─1681 / usr / sbin / saslauthd -m / run / saslauthd -a pam ├─1682 / usr / sbin / saslauthd -m / run / saslauthd -a pam └─1683 / usr / sbin / saslauthd -m / run / saslauthd -a pam

Prosody i lua-cyrussasl

[root @ linuxbox ~] # yum install prosody
---- Zależności rozwiązane ========================================== == ================================== Rozmiar repozytorium wersji architektury pakietu ========= == ============================================== ==== ================= Instalowanie: prosody x86_64 0.9.12-1.el7 Epel-Repo 249 k Instalowanie dla zależności: lua-expat x86_64 1.3.0-4 .el7 Epel- Repo 32 k lua-filesystem x86_64 1.6.2-2.el7 Epel-Repo 28 k lua-sec x86_64 0.5-4.el7 Epel-Repo 31 k lua-socket x86_64 3.0-0.10.rc1.el7 Epel -Repo 176k Podsumowanie transakcji ========================================= ========= ============================= Zainstaluj 1 pakiet (+4 zależne pakiety) --- -

[root @ linuxbox ~] # getsebool -a | grep prosody
prosody_bind_http_port -> off
[root @ linuxbox ~] # setsebool prosody_bind_http_port on
[root @ linuxbox ~] # getsebool -a | grep prosody
prosody_bind_http_port -> on

[root @ linuxbox ~] # systemctl włącz prozodię
Utworzono dowiązanie symboliczne z /etc/systemd/system/multi-user.target.wants/prosody.service do /usr/lib/systemd/system/prosody.service. [root @ linuxbox ~] # systemctl status prosody ● prosody.service - Prosody Serwer XMPP (Jabber) Załadowano: załadowano (/usr/lib/systemd/system/prosody.service; włączone; ustawienie dostawcy: wyłączone) Aktywne: nieaktywne (nieaktywne) )

[root @ linuxbox ~] # systemctl start prosody
[root @ linuxbox ~] # systemctl status prosody
● prosody.service - Serwer Prosody XMPP (Jabber) Załadowano: załadowano (/usr/lib/systemd/system/prosody.service; włączone; ustawienie dostawcy: wyłączone) Aktywne: aktywny (bieg) od soboty 2017-04-29 10:35:07 EDT; 2 s temu Proces: 1753 ExecStart = / usr / bin / prosodyctl start (kod = wyjście, stan = 0 / SUKCES) Główny PID: 1756 (lua) CGroup: /system.slice/prosody.service └─1756 lua / usr / lib64 /prosody/../../bin/prosody

[root @ linuxbox ~] # tail /var/log/prosody/prosody.log
29 kwietnia 10:35:06 informacje ogólne Witam i witamy w Prosody w wersji 0.9.12 29 kwietnia 10:35:06 informacje ogólne Prosody używa backendu wyboru do obsługi połączeń 29 kwietnia 10:35:06 informacje o portmanager Aktywowana usługa 's2s' on [::]: 5269, [*]: 5269 29 kwietnia 10:35:06 informacje o portmanager Aktywowana usługa „c2s” na [::]: 5222, [*]: 5222 29 kwietnia 10:35:06 informacja o portmanager Aktywowana service 'legacy_ssl' na żadnych portach 29 kwietnia 10:35:06 mod_posix info Prosody ma zamiar odłączyć się od konsoli, wyłączając dalsze wyjście konsoli 29 kwietnia 10:35:06 mod_posix info Pomyślnie demonizowano na PID 1756

[root @ linuxbox ~] # yum install lua-cyrussasl

Tworzymy wirtualny host «czat.desdelinux.fan” z „example.com”, który instaluje Prosody

[root @ linuxbox ~] # cp /etc/prosody/conf.d/example.com.cfg.lua \
/etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua

[root @ linuxbox ~] # nano /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua
- Sekcja czatu VirtualHost

Wirtualny Host „czat.desdelinux.wentylator"

- Przypisz temu hostowi certyfikat dla TLS, w przeciwnym razie użyłby tego - ustawionego w sekcji globalnej (jeśli istnieje). - Należy pamiętać, że stary protokół SSL na porcie 5223 obsługuje tylko jeden certyfikat, - i zawsze będzie używał certyfikatu globalnego.
        ssl = {
                 key = "/etc/pki/prosody/chat.key";
                certyfikat = "/etc/pki/prosody/chat.crt";
        }

------ Komponenty ------ -- Możesz określić komponenty, aby dodać hosty świadczące usługi specjalne, -- takie jak konferencje dla wielu użytkowników i transport. -- Więcej informacji na temat komponentów można znaleźć pod adresem http://prosody.im/doc/components --- Skonfiguruj serwer pokojowy MUC (czat dla wielu użytkowników) na stronie Conference.chat.desdelinux.wentylator:
Komponent „konferencja.chat.desdelinux.fan" "muc"
name = "Entuzjaści" - TO NAZWA SALI KONFERENCYJNEJ DO ZADEKLAROWANIA - KIEDY DOŁĄCZESZ DO SALI
limited_room_creation = true

- Skonfiguruj serwer proxy strumienia bajtowego SOCKS5 do przesyłania plików przez serwer proxy: - Komponent "proxy.chat" "proxy65" --- Skonfiguruj komponent zewnętrzny (domyślny port komponentu to 5347) - - Komponenty zewnętrzne umożliwiają dodawanie różnych usług, takich jak jako bramy / - transportuje do innych sieci, takich jak ICQ, MSN i Yahoo. Aby uzyskać więcej informacji - zobacz: http://prosody.im/doc/components#adding_an_external_component - --Component "gateway.chat" - component_secret = "hasło"

authentication = "cyrus"
cyrus_service_name = "xmpp"
cyrus_require_provisioning = fałsz
cyrus_application_name = "prozodia"
cyrus_server_fqdn = "czat.desdelinux.wentylator"

Dopasowujemy grupę posiadającą plik /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua

[root @ linuxbox ~] # ls -l /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua 
-rw-r -----. 1 korzeń root 1361 29 kwietnia 10:45 /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua

[root @ linuxbox ~] # chown root: prosody /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua 
[root @ linuxbox ~] # ls -l /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua 
-rw-r-----. 1 root prozodia 1361 29 kwietnia 10:45 /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua

Sprawdzamy konfigurację

[root @ linuxbox ~] # luac -p /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua
[root @ linuxbox ~] #

Certyfikaty SSL dla bezpiecznych połączeń

Aby połączyć się z serwerem Prosody - zarówno z sieci lokalnej, jak iz Internetu - i zapewnić bezpieczne przesyłanie danych uwierzytelniających w postaci zaszyfrowanej, musimy wygenerować certyfikaty SSL - Warstwa gniazda zabezpieczeń zadeklarowane w pliku konfiguracyjnym hosta wirtualnego /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua:

[root @ linuxbox ~] # cd / etc / prosody / certs /

[root @ linuxbox certs] # ​​openssl req -new -x509 -days 365 -nodes \
-out "chat.crt" -newkey rsa: 2048 -keyout "chat.key"
Generowanie 2048-bitowego klucza prywatnego RSA ......++++ ..........+++ zapisywanie nowego klucza prywatnego do „chat.key” ----- Zaraz zostaniesz poproszony o wprowadź informacje, które zostaną uwzględnione w Twoim żądaniu certyfikatu. To, co zamierzasz wprowadzić, to tak zwana nazwa wyróżniająca lub nazwa wyróżniająca. Jest sporo pól, ale możesz zostawić niektóre puste. W przypadku niektórych pól będzie to wartość domyślna. Jeśli wpiszesz „.”, pole pozostanie puste. ----- Nazwa kraju (2-literowy kod) [XX]:CU Nazwa stanu lub prowincji (pełna nazwa) []:Kuba Nazwa miejscowości (np. miasto) [Domyślne miasto]:Hawana Nazwa organizacji (np. firma) [ Domyślna firma Ltd]:DesdeLinux.Fan Nazwa jednostki organizacyjnej (np. sekcja) []:Enthusiasts Nazwa zwyczajowa (np. Twoje imię i nazwisko lub nazwa hosta Twojego serwera) []:chat.desdelinux.fan Adres e-mail []:buzz@desdelinux.wentylator

Modyfikujemy globalne opcje konfiguracyjne

Tylko będziemy edytować następujące opcje w pliku /etc/prosody/prosody.cfg.lua:

[root @ linuxbox certs] # ​​cp /etc/prosody/prosody.cfg.lua \ /etc/prosody/prosody.cfg.lua.original [root @ linuxbox ~] # nano /etc/prosody/prosody.cfg. lua
- Przykładowy plik konfiguracyjny Prosody - - Informacje na temat konfiguracji Prosody można znaleźć na naszej - stronie internetowej http://prosody.im/doc/configure - - Wskazówka: Możesz sprawdzić, czy składnia tego pliku jest poprawna - po zakończeniu uruchamiając: luac -p prosody.cfg.lua - Jeśli pojawią się jakieś błędy, poinformuje Cię co i gdzie - w przeciwnym razie będzie cicho. - - Jedyną rzeczą do zrobienia jest zmiana nazwy tego pliku, aby usunąć zakończenie .dist, i wypełnienie - spacjami. Powodzenia i szczęśliwego Jabberingu! ---------- Ustawienia na poziomie serwera ---------- - Ustawienia w tej sekcji dotyczą całego serwera i są ustawieniami domyślnymi - dla dowolnych wirtualnych hostów - To jest (przez domyślna, pusta) lista kont będących administratorami - dla serwera. Pamiętaj, że musisz utworzyć konta osobno - (zobacz http://prosody.im/doc/creating_accounts, aby uzyskać informacje) - Przykład: admins = {"użytkownik1@example.com", "użytkownik2@example.net"}
admins = { "buzz@czat.desdelinux.fan", "trancos@czat.desdelinux.wentylator" }

- Włącz użycie libevent, aby uzyskać lepszą wydajność przy dużym obciążeniu. - Więcej informacji: http://prosody.im/doc/libevent --use_libevent = true; - To jest lista modułów, które Prosody załaduje podczas uruchamiania. - Szuka mod_modulename.lua w folderze wtyczek, więc upewnij się, że też istnieje. - Dokumentację dotyczącą modułów można znaleźć pod adresem: http://prosody.im/doc/modules modules_enabled = {- Ogólnie wymagany "roster"; - Pozwól użytkownikom mieć listę. Zalecane;) "saslauth"; - Uwierzytelnianie klientów i serwerów. Zalecane, jeśli chcesz się zalogować. "tls"; - Dodano obsługę bezpiecznego TLS na połączeniach c2s / s2s „dialback”; - obsługa dialback s2s "dysk"; - Wykrywanie usług - nie jest konieczne, ale zalecane jest „prywatne”; - Prywatna pamięć XML (na zakładki do pomieszczeń itp.) „Vcard”; - Zezwalaj użytkownikom na ustawianie wizytówek vCard - są one domyślnie komentowane, ponieważ mają wpływ na wydajność - „prywatność”; - Obsługa list prywatności - „kompresja”; - Kompresja strumienia (Uwaga: wymaga zainstalowanego pakietu RPM lua-zlib) - Dobrze mieć „wersję”; - Odpowiedzi na żądania wersji serwera „uptime”; - Raport, jak długo serwer działa "czas"; - Daj innym znać czas na tym serwerze „ping”; - Odpowiedzi na pingi XMPP z pongami „pep”; - Umożliwia użytkownikom publikowanie ich nastroju, aktywności, odtwarzania muzyki i więcej „rejestrowania”; - Zezwól użytkownikom na rejestrację na tym serwerze przy użyciu klienta i zmianę haseł - Interfejsy administratora "admin_adhoc"; - Umożliwia administrację za pośrednictwem klienta XMPP obsługującego polecenia ad-hoc - „admin_telnet”; - Otwiera interfejs konsoli telnet na porcie localhost 5582 - Moduły HTTP
        "brednie"; - Włącz klientów BOSH, czyli „Jabber przez HTTP”
        - „http_files”; - Dostarczaj statyczne pliki z katalogu przez HTTP - Inne specyficzne funkcje "posix"; - Funkcjonalność POSIX, przenosi serwer w tło, włącza syslog itp. - „grupy”; - Współużytkowane składy - "ogłaszaj"; - Wyślij ogłoszenie do wszystkich użytkowników online - „witamy”; - Witamy użytkowników rejestrujących konta - „obserwuj rejestracje”; - Alert administratorów rejestracji - "motd"; - Wyślij wiadomość do użytkowników, gdy się logują - "legacyauth"; - Starsze uwierzytelnianie. Używane tylko przez niektórych starych klientów i boty. };

bosh_ports = {{port = 5280; ścieżka = "wiązanie http"; interfejs = „127.0.0.1”; }}

bosh_max_nieaktywność = 60
- Użyj, jeśli proxy HTTPS-> HTTP po stronie serwera
think_bosh_secure = true
- Zezwalaj na dostęp ze skryptów w dowolnej witrynie bez serwera proxy (wymaga nowoczesnej przeglądarki)
cross_domain_bosh = prawda

- Te moduły są ładowane automatycznie, ale jeśli chcesz - aby je wyłączyć, odkomentuj je tutaj: modules_disabled = {- "offline"; - Przechowuj wiadomości offline - „c2s”; - Obsługa połączeń klientów - "s2s"; - Obsługa połączeń serwer-serwer}; - Wyłącz domyślnie tworzenie kont ze względów bezpieczeństwa - Więcej informacji można znaleźć pod adresem http://prosody.im/doc/creating_accounts allow_registration = false; - To są ustawienia związane z SSL / TLS. Jeśli nie chcesz - aby używać SSL / TLS, możesz skomentować lub usunąć to ssl = {key = "/etc/pki/prosody/localhost.key"; certyfikat = "/etc/pki/prosody/localhost.crt"; } - Czy zmusić klientów do używania połączeń szyfrowanych? Ta opcja - zapobiega uwierzytelnianiu klientów, chyba że używają szyfrowania.

c2s_require_encryption = prawda

- Wymusić uwierzytelnianie za pomocą certyfikatu dla połączeń serwer-serwer? - Zapewnia to idealne bezpieczeństwo, ale wymaga serwerów, z którymi się komunikujesz - do obsługi szyfrowania ORAZ przedstawienia ważnych, zaufanych certyfikatów. - UWAGA: Twoja wersja LuaSec musi obsługiwać weryfikację certyfikatu! - Aby uzyskać więcej informacji, zobacz http://prosody.im/doc/s2s#security s2s_secure_auth = false - Wiele serwerów nie obsługuje szyfrowania lub ma nieprawidłowe lub samopodpisane - certyfikaty. Możesz tu wymienić domeny, które nie będą musiały - uwierzytelniać się przy użyciu certyfikatów. Zostaną uwierzytelnieni za pomocą DNS. --s2s_insecure_domains = {"gmail.com"} - Nawet jeśli wyłączysz s2s_secure_auth, nadal możesz wymagać ważnych - certyfikatów dla niektórych domen, określając listę tutaj. --s2s_secure_domains = {"jabber.org"} - Wybierz zaplecze uwierzytelniania do użycia. Dostawcy „wewnętrzni” - używają skonfigurowanego magazynu danych Prosody do przechowywania danych uwierzytelniających. - Aby umożliwić Prosody oferowanie klientom bezpiecznych mechanizmów uwierzytelniania, - domyślny dostawca przechowuje hasła w postaci zwykłego tekstu. Jeśli nie ufasz swojemu - serwerowi, odwiedź http://prosody.im/doc/modules/mod_auth_internal_hashed - aby uzyskać informacje o używaniu haszowanego zaplecza.

- authentication = "internal_plain"
authentication = "cyrus"
cyrus_service_name = "xmpp"
cyrus_require_provisioning = fałsz

- Wybierz zaplecze pamięci do użycia. Domyślnie Prosody używa plików płaskich - w swoim skonfigurowanym katalogu danych, ale obsługuje też więcej backendów - poprzez moduły. Backend "sql" jest dołączony domyślnie, ale wymaga - dodatkowych zależności. Więcej informacji można znaleźć pod adresem http://prosody.im/doc/storage. --storage = "sql" - Wartość domyślna to "wewnętrzna" (Uwaga: "sql" wymaga zainstalowania - pakiet RPM lua-dbi) - W przypadku zaplecza "sql" możesz odkomentować * jedną * z poniższych, aby skonfigurować: - sql = {driver = "SQLite3", database = "prosody.sqlite"} - wartość domyślna. „baza danych” to nazwa pliku. --sql = {driver = "MySQL", database = "prosody", username = "prosody", password = "secret", host = "localhost"} --sql = {driver = "PostgreSQL", database = "prosody ", username =" prosody ", password =" secret ", host =" localhost "} - Konfiguracja logowania - Aby uzyskać zaawansowane logowanie, zobacz http://prosody.im/doc/logging log = {- Loguj wszystko z poziomu„ info ” i wyżej (czyli wszystkie oprócz komunikatów „debug”) - do /var/log/prosody/prosody.log, a błędy także do /var/log/prosody/prosody.err
    debug = "/var/log/prosody/prosody.log"; - Zmień „info” na „debug”, aby uzyskać szczegółowe rejestrowanie
    error = "/var/log/prosody/prosody.err"; - Zapisuj błędy również do pliku - error = "* syslog"; - Loguj błędy również do syslog - log = "* console"; - Zaloguj się do konsoli, przydatne do debugowania z daemonize = false} - Konfiguracja POSIX, zobacz także http://prosody.im/doc/modules/mod_posix pidfile = "/run/prosody/prosody.pid"; --daemonize = false - Domyślnie jest to „true” ------ Dodatkowe pliki konfiguracyjne ------ - Ze względów organizacyjnych możesz chcieć dodać VirtualHost i - definicje komponentów w ich własnych plikach konfiguracyjnych. Ta linia zawiera - wszystkie pliki konfiguracyjne w /etc/prosody/conf.d/ Include "conf.d / *. Cfg.lua"

Modyfikacje w konfiguracji Dnsmasq w linuxboksie

Plik /Etc/dnsmasq.conf

Po prostu dodaj wartość cname=czat.desdelinux.fan, linuxbox.desdelinux.wentylator:

[root @ linuxbox ~] # nano /etc/dnsmasq.conf
---------- # ------------------------------------------------------ --------- # NAZWA NAZWYMXTXT # ------------------------ ------------------------------------------- # Ten typ rejestracji wymaga wpis # w pliku /etc/hosts # np.: 192.168.10.5 linuxbox.desdelinux.fan linuxbox # cname=ALIAS, PRAWDZIWA_NAZWA cname=poczta.desdelinux.fan, linuxbox.desdelinux.wentylator
cname=czat.desdelinux.fan, linuxbox.desdelinux.wentylator
----

[root @ linuxbox ~] # usługa dnsmasq restart
[root @ linuxbox ~] # service dnsmasq status [root @ linuxbox ~] # host chat
czat.desdelinux.fan jest aliasem dla Linuxboksa.desdelinux.wentylator. Linuxbox.desdelinux.fan ma adres 192.168.10.5 Linuxbox.desdelinuxPoczta .fan jest obsługiwana przez 1 pocztę.desdelinux.wentylator.

Plik /Etc/resolv.conf

[root @ linuxbox ~] # nano /etc/resolv.conf 
szukanie desdelinux.fan nameserver 127.0.0.1 # Dla zewnętrznych lub # zapytań DNS spoza domeny desdelinux.fan # lokalny=/desdelinux.fan/serwer nazw 172.16.10.30

Modyfikacje w zewnętrznym DNS u dostawcy usług internetowych

Poświęcamy cały artykuł «NSD Autorytarny serwer DNS + Shorewall - sieci SME»Do kwestii, w jaki sposób zadeklarować rekordy SRV związane z XMPP, aby usługa Instant Messaging mogła przejść do Internetu, a nawet aby serwer Prosody mógł się sfederować z pozostałymi kompatybilnymi serwerami XMPP istniejącymi w sieci.

Ponownie uruchamiamy Prosody

[root @ linuxbox ~] # restart usługi prosody
Przekierowywanie do / bin / systemctl restart prosody.service
[root @ linuxbox ~] # status prozodii usługi
Przekierowanie do / bin / systemctl status prosody.service ● prosody.service - serwer Prosody XMPP (Jabber) Załadowano: załadowano (/usr/lib/systemd/system/prosody.service; włączone; ustawienie dostawcy: wyłączone) Aktywne: aktywny (bieg) od niedziela 2017-05-07 12:07:54 EDT; 8 s temu Proces: 1388 ExecStop = / usr / bin / prosodyctl stop (kod = wyjście, status = 0 / SUCCESS) Proces: 1390 ExecStart = / usr / bin / prosodyctl start (kod = wyjście, status = 0 / SUCCESS) Główny PID : 1393 (lua) CGroup: /system.slice/prosody.service └─1393 lua /usr/lib64/prosody/../../bin/prosody

[root @ linuxbox ~] # tail -f /var/log/prosody/prosody.log
  • Otwarcie nowej konsoli z uruchomionym wcześniej poleceniem i obserwowanie wyników debugowania Prosody podczas ponownego uruchamiania usługi jest bardzo zdrowe..

Konfigurujemy Cyrus SASL

[root @ linuxbox ~] # nano /etc/sasl2/prosody.conf
pwcheck_method: saslauthd mech_list: PLAIN

[root @ linuxbox ~] # usługa saslauthd restart
Przekierowywanie do / bin / systemctl restart saslauthd.service
[root @ linuxbox ~] # status usługi saslauthd

-- Gdyby...
[root @ linuxbox ~] # restart usługi prosody

Konfiguracja PAM

[root @ linuxbox ~] # nano /etc/pam.d/xmpp
auth include password-auth konto include password-auth

Sprawdzanie uwierzytelnienia PAM

  • Aby to sprawdzić, musimy wykonać następujące polecenie DOKŁADNIE, jak wskazano poniżej, ponieważ chodzi o wykonanie polecenia jako użytkownik „prosody”, a nie jako użytkownik „root”:
[root @ linuxbox ~] # sudo -u prosody testsaslauthd -s xmpp -u strides -p strides
0: OK „Sukces”.

[root @ linuxbox ~] # sudo -u prosody testsaslauthd -s xmpp -u legolas -p legolas
0: OK „Sukces”.

[root @ linuxbox ~] # sudo -u prosody testsaslauthd -s xmpp -u legolas -p Lengole
0: NIE "uwierzytelnianie nie powiodło się"

Proces uwierzytelniania względem lokalnych użytkowników działa poprawnie.

Modyfikujemy FirewallD

Korzystanie z narzędzia graficznego «Zapora ogniowa«, Dla obszaru«publiczny»Aktywujemy usługi:

  • xmpp-bosch
  • xmpp-klient
  • serwer xmppserv
  • xmpp-lokalny

Podobnie dla obszaru «zewnętrzny»Aktywujemy usługi:

  • xmpp-klient
  • serwer xmppserv

I otwieramy porty tcp 5222 i 5269.

Wreszcie, wprowadzamy zmiany w Czas egzekucji a Stały y przeładuj FirewallD.

Klient XMPP Psi

Aby połączyć się z nowo zainstalowanym serwerem Prosody Instant Messaging, możemy wybierać spośród różnych istniejących klientów:

  • Empatia
  • Gadżim
  • kadu
  • Psi
  • Psi plus
  • Pidgin
  • Telepatia
  • Wechat

I tak dalej. Wybraliśmy Psi +. Aby go zainstalować, używamy preferowanego polecenia lub robimy to za pomocą narzędzi graficznych dostępnych do tego zadania. Po zainstalowaniu wykonujemy go, a na końcu artykułu podajemy serię obrazów, które, mamy nadzieję, będą dla Ciebie przydatne.

streszczenie

  • Możemy zainstalować usługę Instant Messaging opartą na Prosody dla lokalnych użytkowników systemu i zrezygnować z tworzenia wewnętrznych użytkowników Prosody lub innego rodzaju magazynu danych uwierzytelniających.
  • Poświadczenia uwierzytelniające będą przesyłane w postaci zaszyfrowanej z klienta na serwer, a ten ostatni będzie również odpowiadał klientowi.
  • Na jednym serwerze możemy zainstalować więcej niż jedną usługę opartą na uwierzytelnianiu lokalnym przez PAM.
  • Do tej pory serwer Linuxbox.desdelinux.wentylator świadczy następujące usługi na rzecz sieci MŚP:
    • Rozpoznawanie nazw domen lub DNS.
    • Dynamiczne przydzielanie adresów IP lub DCHP
    • Usługa czasu sieciowego lub NTP
    • Kopie zapasowe przez SSH z klientów UNIX / Linux lub przez WinSCP dla klientów Microsoft Windows.
    • Usługa wiadomości błyskawicznych - czat. Dostępne również w Internecie.
    • Usługa udostępniania plików za pośrednictwem samego czatu. Dostępne również w Internecie
    • Usługa telekonferencji, którą możesz skonfigurować w Prosody.

I wszystkie poprzednie usługi z kilkoma graficznymi narzędziami do konfiguracji Firewall - FirewallD oraz do zarządzania użytkownikami i grupami systemu, które są naprawdę łatwe w użyciu, jeśli mamy podstawową wiedzę o tym, co chcemy robić.

Ważny

Koniecznie odwiedź następujący adres URL, aby uzyskać pełne informacje na Próżodia: http: //prosody.im.

Do następnej raty!


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Guillermo powiedział

    Jakże interesujący jest cały wasz wkład, bardzo za nie dziękuję.

  2.   IWO powiedział

    Tysiąc gratulacji Federico za kolejny świetny artykuł.
    Tutaj autor daje nam („daje”) „jak wiedzieć”, jak wdrożyć usługę Chat poprzez Prosody, która wykorzystuje protokół XMPP w sieci do wymiany wiadomości błyskawicznych, przesyłania plików, prowadzenia konferencji głosowych i wideo, uwierzytelniania przed lokalnymi użytkownikami przez bezpieczne połączenia.
    Ponadto, jak zwykle w całej serii SME, autor ułatwia integrację usługi do skonfigurowania z pozostałymi usługami i / lub parametrami, które już działają w sieci:
    1- Modyfikacje, które musimy wprowadzić w usłudze DNS, aby zawierała usługę czatu i wszystko działa poprawnie.
    2- Konfiguracja (i sprawdzenie) PAM w celu lokalnego uwierzytelnienia usługi czatu.
    3 - Co musimy zrobić w zaporze sieciowej dla sieci lokalnej i „sieci sieci”, aby umożliwić usługę czatu, i to z odpowiednim poziomem bezpieczeństwa.
    4- I wreszcie weryfikacja czatu z klienta XMPP.
    Nie ma nic do zapisania posta w katalogu TIPS na wypadek konieczności zaimplementowania tej usługi.

  3.   Federico powiedział

    Mam nadzieję, że są dla ciebie przydatne w jakiś sposób. Dzięki za komentarz

  4.   Federico powiedział

    Przyjacielu IWO, znasz prawdziwą treść artykułu. Dodaj tylko, że wdrażamy usługi dla sieci UNIX / Linux, nawet jeśli wszyscy jej klienci to Microsoft Windows. Wielu czytelników mogło jeszcze nie zauważyć tego małego szczegółu. 😉

  5.   Zodiak Carburus powiedział

    Bardzo dobry wkład przyjaciel Fico. Wiesz, że śledziłem wszystkie twoje artykuły i podczas tych ostatnich 4 nauczyłem się wielu pytań, których nie znałem z powodu zasłony Active Directory i kontrolera domeny na samej twarzy. Praktycznie urodziłem się z NT 4 i jego PDC i BDC. Nie wiedziałem, że mogę uprościć uwierzytelnianie w sieci na pojedynczym komputerze z Centosem lub innym Linuksem. Teraz uczę się nowej filozofii, która jest tak stara, jak pochodzenie historii sieci. Chociaż niewiele mi mówisz o tym, co zamierzasz opublikować 😉 Myślę, że będziesz kontynuować z LDAP, a następnie Active Directory opartym na Sambie 4? Dziękuję za poświęcenie się sprawie wolnego oprogramowania. Poczekam na twoje następne artykuły, Fico.

  6.   Edward Mikołaj powiedział

    Tiger, świetny artykuł !!!!!

    Kolego, jest mały szczegół, w części DNS wskazujesz całą domenę desdelinux.fan na IP 172.16.10.10, zaimplementowałeś ten serwer w Debianie (ten DNS), teraz ten serwer czatu jest w CentOS, więc logicznie rzecz biorąc ma inny adres IP, dla którego musiałeś przekierować cały ruch w zaporze ten adres IP, pod którym będzie zlokalizowana usługa przesyłania wiadomości błyskawicznych, ponieważ w tym momencie wskazuje on na ten sam serwer DNS i nie obsługuje usługi przesyłania wiadomości.

    Poza tym wszystko wspaniale, duży uścisk.

  7.   Federico powiedział

    Dzięki Eduardo za komentarz. Dobrze przeczytałeś akapit:

    Podobnie dla obszaru „zewnętrznego” aktywujemy usługi:

    xmpp-client
    xmpp-server

    Otwieramy porty TCP 5222 i 5269.

    Pozwalam na wyjście protokołu XMPP przez interfejs ens34. Zapamiętaj poniższy post, nawet z artykułu Squid. 😉

  8.   Federico powiedział

    Przyjaciel zodiaku: sprawiasz, że z góry deklaruję moje niespodzianki. Nie, LDAP teraz nie będzie. Istnieje rdzeń serwera pocztowego opartego na Postfix, Dovecot, Squirrelmail i uwierzytelnianiu PAM, który byłby ostatnim z tej mini serii. Więcej na. ;-). A jeśli reszta dojdzie do Samby 4 AD-DC. PA!.

  9.   Edward Mikołaj powiedział

    Tak, przyjacielu, jeśli to czytam, ale nie widzę PREROUTINGU nigdzie na innym serwerze, spójrz.

  10.   Federico powiedział

    Eduardo: Wykonaj instalację. Połącz laptopa z podsiecią IP 172.16.10.0/24. Zainstaluj na nim klienta Chat i połącz się z Prosody. Zrobiłem to i tak to zadziałało. 😉
    FirewallD to CentOS, który będzie PREROUTING na swój własny sposób.