Prosody IM dan pengguna lokal - PYMES Jaringan

Indeks umum seri: Jaringan Komputer untuk UKM: Pendahuluan

Artikel ini merupakan lanjutan dari:

Halo teman dan teman!

Kami terus menambahkan layanan jaringan berdasarkan otentikasi pengguna lokal ke server grup kecil. Penggemar Perangkat Lunak Gratis, khususnya CentOS.

Kondisi kerja kelompok berubah menjadi lebih baik. Mereka sekarang memiliki markas besar rumah berlantai tiga dengan ruang bawah tanah dan perlu menerapkan server pesan instan dan transfer file antar workstation, untuk mengurangi kesulitan naik turun tangga atau banyak berjalan. ;-). Untuk ini mereka mengusulkan untuk menggunakan program tersebut Prosodi.

Mereka bertekad untuk menerbitkan layanan Obrolan Internet hanya untuk Penggemar, dan mereka berencana untuk menautkan server pesan instan mereka dengan server XMPP lain yang kompatibel yang terletak di Jaringan Jaringan. Untuk ini mereka membeli nama domain desdelinux.penggemar dan hingga saat ini alamat IP yang terkait dengan nama tersebut dikelola oleh penyedia akses Internet Anda.

Layanan Obrolan melalui Prosody akan memungkinkan mereka untuk bertukar pesan instan, mentransfer file, membuat konferensi suara dan video, dan banyak lagi.

Apa itu Prosody Instant Messenger?

Prosodi ini adalah server komunikasi modern berdasarkan protokol XMPP. Ini dirancang untuk instalasi dan konfigurasi yang mudah, dan manajemen sumber daya sistem yang efisien. Prosody adalah Open Source - program Open Source yang dibuat di bawah lisensi permisif MIT / X11.

XMPP ini adalah alternatif non-komersial untuk menyediakan layanan pesan instan. Ini dapat diterapkan dalam lingkungan bisnis produksi, dalam jaringan keluarga, jaringan pribadi tetangga, dan sebagainya. Ini mendukung berbagai perangkat lunak klien untuk platform desktop dan seluler. Melalui XMPP layanan ini dapat diberikan ke perangkat apapun.

Selain itu, mereka bisa tautan beberapa instalasi Prosody dan layanan lain yang kompatibel dengan protokol XMPP, dan membentuk jaringan perpesanan di mana kami akan memiliki kendali penuh atas lalu lintas pesan dan file yang akan terjadi dengan cara yang sepenuhnya aman.

Prosodi dan otentikasi terhadap pengguna lokal

Dalam Peta Situs Prosody IM kami menemukan link ke halaman tersebut Penyedia Otentikasi, yang menyatakan bahwa mulai versi 0.8 dari Prosody, berbagai penyedia otentikasi didukung melalui plugin. Anda dapat menggunakan driver perangkat lunak bawaan, atau dapat diintegrasikan dengan otentikasi eksternal dan penyedia penyimpanan menggunakan mereka Lebah.

Penyedia otentikasi yang mungkin kami pekerjakan

Deskripsi Nama -------------- ---------------------------------- -----------------------
internal_polos   Otentikasi default. Kata sandi teks biasa disimpan menggunakan penyimpanan internal.

internal_hash  Kata sandi yang dikodekan oleh algoritme internal disimpan menggunakan penyimpanan bawaan.

cyrus       Integrasi dengan Cyrus SASL (LDAP, PAM, ...)

anonim    Mekanisme otentikasi menggunakan SASL 'ANONYMOUS' dengan username acak yang tidak memerlukan kredensial otentikasi.

XMPP menggunakan protokol Secure Layer Simple Authentication standar untuk otentikasi - Simple Authentication dan Saman LKemarin (SASL), untuk memvalidasi kredensial klien. Prosodi menggabungkan perpustakaan SASL yang secara default memvalidasi kredensial terhadap akun yang ada di penyimpanan bawaannya.

Sejak versi 0.7 dari Prosody, penyedia eksternal didukung Cyrus SAL yang dapat memvalidasi kredensial yang diberikan oleh pengguna eksternal terhadap sumber lain seperti: PAM, LDAP, SQL, dan lainnya. Ini juga memungkinkan penggunaan GSSAPI untuk Layanan Sistem Masuk Tunggal - Layanan Sistem Masuk Tunggal.

Dalam artikel di Prosody ini, untuk mencapai otentikasi terhadap pengguna lokal melalui PAM, kami akan menggunakan penyedia otentikasi «cyrus»Disediakan oleh paket«cyrus sasl»Dan itu bekerja terintegrasi dengan daemon saslauthd.

cyrus-sasl dan saslauthd

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

Daemon saslauthd sudah diinstal

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

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

[root @ linuxbox ~] # status systemctl saslauthd
● saslauthd.service - Daemon otentikasi SASL. Dimuat: dimuat (/usr/lib/systemd/system/saslauthd.service; dinonaktifkan; preset vendor: dinonaktifkan) Aktif: tidak aktif (mati)

[root @ linuxbox ~] # systemctl aktifkan saslauthd
Membuat symlink dari /etc/systemd/system/multi-user.target.wants/saslauthd.service ke /usr/lib/systemd/system/saslauthd.service.

[root @ linuxbox ~] # systemctl mulai saslauthd
[root @ linuxbox ~] # status systemctl saslauthd
● saslauthd.service - Daemon otentikasi SASL. Dimuat: dimuat (/usr/lib/systemd/system/saslauthd.service; diaktifkan; preset vendor: dinonaktifkan) Aktif: aktif (berjalan) sejak Sabtu 2017-04-29 10:31:20 EDT; 2 detik lalu Proses: 1678 ExecStart = / usr / sbin / saslauthd -m $ SOCKETDIR -a $ MECH $ FLAGS (kode = keluar, status = 0 / SUKSES) PID Utama: 1679 (saslauthd) CGroup: /system.slice/saslauthd. layanan ├─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

Prosodi dan lua-cyrussasl

[root @ linuxbox ~] # yum install prosodi
---- Dependensi teratasi ========================================== ==================================== Ukuran Repositori Versi Arsitektur Paket ========= ================================================ ===================== Menginstal: prosody x86_64 0.9.12-1.el7 Epel-Repo 249 k Menginstal dependensi: 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-detik x86_64 0.5-4.el7 Epel-Repo 31 k lua-socket x86_64 3.0-0.10.rc1.el7 Epel -Repo 176k Ringkasan Transaksi ======================================== ====================================== Pasang 1 Paket (+4 Paket Tergantung) --- -

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

[root @ linuxbox ~] # systemctl mengaktifkan prosodi
Membuat symlink dari /etc/systemd/system/multi-user.target.wants/prosody.service ke /usr/lib/systemd/system/prosody.service. [root @ linuxbox ~] # systemctl status prosody ● prosody.service - Server Prosody XMPP (Jabber) Dimuat: dimuat (/usr/lib/systemd/system/prosody.service; diaktifkan; preset vendor: dinonaktifkan) Aktif: tidak aktif (mati )

[root @ linuxbox ~] # systemctl mulai prosodi
[root @ linuxbox ~] # prosodi status systemctl
● prosody.service - Server Prosody XMPP (Jabber) Dimuat: dimuat (/usr/lib/systemd/system/prosody.service; diaktifkan; preset vendor: nonaktif) Aktif: aktif (berjalan) sejak Sabtu 2017-04-29 10:35:07 EDT; 2 detik yang lalu Proses: 1753 ExecStart = / usr / bin / prosodyctl start (code = exited, status = 0 / SUCCESS) PID Utama: 1756 (lua) CGroup: /system.slice/prosody.service └─1756 lua / usr / lib64 /prosody/../../bin/prosody

[root @ linuxbox ~] # tail /var/log/prosody/prosody.log
29 Apr 10:35:06 info umum Halo dan selamat datang di Prosody versi 0.9.12 29 Apr 10:35:06 info umum Prosody menggunakan backend pilihan untuk menangani koneksi 29 Apr 10:35:06 info portmanager Layanan yang diaktifkan 's2s' pada [::]: 5269, [*]: 5269 29 Apr 10:35:06 info portmanager Mengaktifkan layanan 'c2s' pada [::]: 5222, [*]: 5222 29 Apr 10:35:06 info portmanager Diaktifkan layanan 'legacy_ssl' tanpa port 29 Apr 10:35:06 info mod_posix Prosody akan segera lepas dari konsol, menonaktifkan keluaran konsol lebih lanjut 29 Apr 10:35:06 info mod_posix Berhasil melakukan daemonisasi ke PID 1756

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

Kami membuat host virtual «obrolan.desdelinux.fan" dari "example.com" yang dipasang 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
- Bagian untuk obrolan VirtualHost

VirtualHost "obrolan.desdelinux.penggemar"

- Tetapkan host ini sertifikat untuk TLS, jika tidak maka akan menggunakan satu - set di bagian global (jika ada). - Perhatikan bahwa SSL gaya lama pada port 5223 hanya mendukung satu sertifikat, - dan akan selalu menggunakan sertifikat global.
        sl = {
                 key = "/etc/pki/prosody/chat.key";
                sertifikat = "/etc/pki/prosody/chat.crt";
        }

------ Komponen ------ -- Anda dapat menentukan komponen untuk menambahkan host yang menyediakan layanan khusus, -- seperti konferensi multi-pengguna, dan transportasi. -- Untuk informasi lebih lanjut tentang komponen, lihat http://prosody.im/doc/components --- Siapkan server ruang MUC (obrolan multi-pengguna) di conference.chat.desdelinux.penggemar:
Komponen "konferensi.obrolan.desdelinux.fan" "muc"
name = "Enthusiasts" - ADALAH NAMA RUANG KONFERENSI YANG HARUS DITERAPKAN - KAPAN ANDA AKAN BERGABUNG DENGAN RUANG
batasi_room_creation = true

- Siapkan proxy bytestream SOCKS5 untuk transfer file yang di-proxy-kan oleh server: --Komponen "proxy.chat" "proxy65" --- Siapkan komponen eksternal (port komponen default adalah 5347) - - Komponen eksternal memungkinkan penambahan berbagai layanan, seperti sebagai gateway / - dipindahkan ke jaringan lain seperti ICQ, MSN dan Yahoo. Untuk info lebih lanjut - lihat: http://prosody.im/doc/components#adding_an_external_component - --Component "gateway.chat" - component_secret = "password"

otentikasi = "cyrus"
cyrus_service_name = "xmpp"
cyrus_require_provisioning = salah
cyrus_application_name = "prosody"
cyrus_server_fqdn = "obrolan.desdelinux.penggemar"

Kita sesuaikan grup pemilik file /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 akar akar 1361 29 April 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 prosodi 1361 29 Apr 10:45 /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua

Kami memeriksa konfigurasi

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

Sertifikat SSL untuk koneksi aman

Untuk terhubung ke server Prosody -baik dari jaringan lokal maupun dari Internet- dan memastikan bahwa kredensial berjalan dienkripsi dengan aman, kita harus membuat sertifikat SSL - Lapisan Soket Keamanan dideklarasikan dalam file konfigurasi virtual host /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua:

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

[sertifikat root @ linuxbox] # openssl req -new -x509 -days 365 -nodes \
-out "chat.crt" -newkey rsa: 2048 -keyout "chat.key"
Menghasilkan kunci pribadi RSA 2048 bit .....+++ ..........+++ menulis kunci pribadi baru ke 'chat.key' ----- Anda akan diminta untuk masukkan informasi yang akan dimasukkan ke dalam permintaan sertifikat Anda. Yang akan Anda masukkan itulah yang disebut dengan Nama Terhormat atau DN. Terdapat beberapa kolom namun Anda dapat mengosongkan sebagian. Untuk beberapa kolom akan ada nilai default, Jika Anda memasukkan '.', kolom tersebut akan dikosongkan. ----- Nama Negara (kode 2 huruf) [XX]:Nama Negara Bagian atau Provinsi CU (nama lengkap) []:Nama Lokalitas Kuba (misalnya, kota) [Kota Default]:Nama Organisasi Havana (misalnya, perusahaan) [ Perusahaan Default Ltd]:DesdeLinux.Nama Unit Organisasi Penggemar (misalnya, bagian) []:Nama Umum Penggemar (misalnya, nama Anda atau nama host server Anda) []:obrolan.desdelinuxAlamat Email .fan []:buzz@desdelinux.penggemar

Kami mengubah opsi konfigurasi global

Solamente kami akan mengedit opsi berikut di file /etc/prosody/prosody.cfg.lua:

[sertifikat root @ linuxbox] # cp /etc/prosody/prosody.cfg.lua \ /etc/prosody/prosody.cfg.lua.original [root @ linuxbox ~] # nano /etc/prosody/prosody.cfg.lua
- File Konfigurasi Contoh Prosody - - Informasi tentang konfigurasi Prosody dapat ditemukan di - situs web kami di http://prosody.im/doc/configure - - Tip: Anda dapat memeriksa apakah sintaks file ini sudah benar - setelah Anda selesai dengan menjalankan: luac -p prosody.cfg.lua - Jika ada kesalahan, itu akan memberi tahu Anda apa dan di mana - mereka, jika tidak maka akan tetap diam. - - Satu-satunya hal yang harus dilakukan adalah mengganti nama file ini untuk menghapus akhiran .dist, dan mengisi - kosong. Semoga beruntung, dan selamat Jabbering! ---------- Pengaturan seluruh server ---------- - Pengaturan di bagian ini berlaku untuk seluruh server dan merupakan pengaturan default - untuk semua host virtual - Ini adalah (oleh default, kosong) daftar akun yang menjadi admin - untuk server. Perhatikan bahwa Anda harus membuat akun secara terpisah - (lihat http://prosody.im/doc/creating_accounts untuk info) - Contoh: admins = {"user1@example.com", "user2@example.net"}
admin = { "buzz@obrolan.desdelinux.fan", "trancos@obrolan.desdelinux.penggemar" }

- Aktifkan penggunaan libevent untuk kinerja yang lebih baik di bawah beban tinggi - Untuk informasi lebih lanjut lihat: http://prosody.im/doc/libevent --use_libevent = true; - Ini adalah daftar modul yang akan dimuat oleh Prosody saat startup. - Ia mencari mod_modulename.lua di folder plugins, jadi pastikan itu ada juga. - Dokumentasi tentang modul dapat ditemukan di: http://prosody.im/doc/modules modules_enabled = {- Biasanya diperlukan "daftar"; - Izinkan pengguna untuk memiliki daftar. Direkomendasikan;) "saslauth"; - Otentikasi untuk klien dan server. Disarankan jika Anda ingin masuk. "tls"; - Tambahkan dukungan untuk TLS aman pada koneksi c2s / s2s "dialback"; - s2s dialback mendukung "disk"; - Penemuan layanan - Tidak penting, tetapi direkomendasikan "pribadi"; - Penyimpanan XML pribadi (untuk penanda ruangan, dll.) "Vcard"; - Izinkan pengguna untuk menyetel vCard - Ini dikomentari secara default karena berdampak pada kinerja - "privasi"; - Mendukung daftar privasi - "kompresi"; - Kompresi aliran (Catatan: Membutuhkan paket RPM lua-zlib yang terinstal) - Senang memiliki "versi"; - Balasan untuk permintaan versi server "uptime"; - Laporkan berapa lama server telah menjalankan "waktu"; - Beri tahu orang lain waktu "ping" di server ini; - Balasan ke ping XMPP dengan pong "pep"; - Memungkinkan pengguna untuk mempublikasikan suasana hati, aktivitas, memutar musik, dan lainnya "mendaftar"; - Izinkan pengguna untuk mendaftar di server ini menggunakan klien dan mengubah kata sandi - Antarmuka Admin "admin_adhoc"; - Mengizinkan administrasi melalui klien XMPP yang mendukung perintah ad-hoc - "admin_telnet"; - Membuka antarmuka konsol telnet pada port localhost 5582 - modul HTTP
        "omong kosong"; - Aktifkan klien BOSH, alias "Jabber over HTTP"
        - "http_files"; - Melayani file statis dari direktori melalui HTTP - Fungsi khusus lainnya "posix"; - Fungsionalitas POSIX, mengirim server ke latar belakang, mengaktifkan syslog, dll. - "grup"; - Dukungan daftar nama bersama - "umumkan"; - Kirim pengumuman ke semua pengguna online - "selamat datang"; - Selamat datang pengguna yang mendaftar akun - "watchregistrations"; - Waspada admin pendaftaran - "motd"; - Mengirim pesan ke pengguna saat mereka masuk - "legacyauth"; - Otentikasi warisan. Hanya digunakan oleh beberapa klien dan bot lama. };

bosh_ports = {{port = 5280; path = "http-bind"; antarmuka = ​​"127.0.0.1"; }}

bosh_max_inaktivitas = 60
- Gunakan jika proxy HTTPS-> HTTP di sisi server
pertimbangkan_bosh_secure = true
- Izinkan akses dari skrip di situs mana pun tanpa proxy (memerlukan browser modern)
cross_domain_bosh = benar

- Modul ini dimuat otomatis, tetapi jika Anda ingin - untuk menonaktifkannya maka hapus komentar di sini: modules_disabled = {- "offline"; - Simpan pesan offline - "c2s"; - Menangani koneksi klien - "s2s"; - Menangani koneksi server-ke-server}; - Nonaktifkan pembuatan akun secara default, untuk keamanan - Untuk informasi lebih lanjut lihat http://prosody.im/doc/creating_accounts allow_registration = false; - Ini adalah pengaturan terkait SSL / TLS. Jika Anda tidak ingin - menggunakan SSL / TLS, Anda dapat mengomentari atau menghapus ssl = {key = "/etc/pki/prosody/localhost.key" ini; sertifikat = "/etc/pki/prosody/localhost.crt"; } - Paksa klien untuk menggunakan koneksi terenkripsi? Opsi ini akan - mencegah klien mengautentikasi kecuali mereka menggunakan enkripsi.

c2s_require_encryption = benar

- Paksa otentikasi sertifikat untuk koneksi server-ke-server? - Ini memberikan keamanan yang ideal, tetapi memerlukan server yang Anda hubungi - untuk mendukung enkripsi DAN memberikan sertifikat yang valid dan tepercaya. - CATATAN: Versi LuaSec Anda harus mendukung verifikasi sertifikat! - Untuk informasi lebih lanjut, lihat http://prosody.im/doc/s2s#security s2s_secure_auth = false - Banyak server tidak mendukung enkripsi atau memiliki sertifikat yang tidak valid atau ditandatangani sendiri. Anda dapat membuat daftar domain di sini yang tidak perlu - diautentikasi menggunakan sertifikat. Mereka akan diautentikasi menggunakan DNS. --s2s_insecure_domains = {"gmail.com"} - Meskipun Anda membiarkan s2s_secure_auth dinonaktifkan, Anda masih dapat meminta sertifikat yang valid untuk beberapa domain dengan menentukan daftar di sini. --s2s_secure_domains = {"jabber.org"} - Pilih backend otentikasi yang akan digunakan. Penyedia 'internal' - gunakan penyimpanan data yang dikonfigurasi Prosody untuk menyimpan data otentikasi. - Untuk mengizinkan Prosody menawarkan mekanisme otentikasi yang aman kepada klien, penyedia - default menyimpan sandi dalam teks biasa. Jika Anda tidak mempercayai - server Anda, silakan lihat http://prosody.im/doc/modules/mod_auth_internal_hashed - untuk informasi tentang menggunakan backend berciri.

- otentikasi = "internal_plain"
otentikasi = "cyrus"
cyrus_service_name = "xmpp"
cyrus_require_provisioning = salah

- Pilih backend penyimpanan yang akan digunakan. Secara default, Prosody menggunakan file datar - dalam direktori data yang dikonfigurasi, tetapi juga mendukung lebih banyak backend - melalui modul. Backend "sql" disertakan secara default, tetapi membutuhkan - ketergantungan tambahan. Lihat http://prosody.im/doc/storage untuk info lebih lanjut. --storage = "sql" - Default-nya adalah "internal" (Catatan: "sql" memerlukan penginstalan - paket RPM lua-dbi) - Untuk backend "sql", Anda dapat menghapus komentar * satu * di bawah ini untuk mengkonfigurasi: - sql = {driver = "SQLite3", database = "prosody.sqlite"} - Default. 'database' adalah nama file. --sql = {driver = "MySQL", database = "prosody", username = "prosody", password = "secret", host = "localhost"} --sql = {driver = "PostgreSQL", database = "prosody ", username =" prosody ", password =" secret ", host =" localhost "} - Konfigurasi pencatatan - Untuk pencatatan lanjutan lihat http://prosody.im/doc/logging log = {- Catat semua yang ada di level" info " dan lebih tinggi (yaitu, semua kecuali pesan "debug") - ke /var/log/prosody/prosody.log dan kesalahan juga ke /var/log/prosody/prosody.err
    debug = "/var/log/prosody/prosody.log"; - Ubah 'info' menjadi 'debug' untuk logging panjang
    error = "/var/log/prosody/prosody.err"; - Log kesalahan juga ke file - error = "* syslog"; - Log kesalahan juga ke syslog - log = "* console"; - Masuk ke konsol, berguna untuk debugging dengan daemonize = false} - Konfigurasi POSIX, lihat juga http://prosody.im/doc/modules/mod_posix pidfile = "/run/prosody/prosody.pid"; --daemonize = false - Default-nya adalah "true" ------ File konfigurasi tambahan ------ - Untuk tujuan organisasi, Anda mungkin lebih suka menambahkan VirtualHost dan - definisi Komponen di file konfigurasinya sendiri. Baris ini mencakup - semua file konfigurasi di /etc/prosody/conf.d/ Sertakan "conf.d / *. Cfg.lua"

Modifikasi pada konfigurasi Dnsmasq di linuxbox

/Etc/dnsmasq.conf

Tambahkan saja nilainya cname=obrolan.desdelinux.fan,linuxbox.desdelinux.penggemar:

[root @ linuxbox ~] # nano /etc/dnsmasq.conf
----- # ----------------------------- ----------------------- #RECORDSCNAMEMXTXT # ------------------------ ------------------------------------------- # Jenis pendaftaran ini memerlukan entri # di file /etc/hosts # misal: 192.168.10.5 linuxbox.desdelinux.fan linuxbox # cname=ALIAS,REAL_NAME cname=mail.desdelinux.fan,linuxbox.desdelinux.penggemar
cname=obrolan.desdelinux.fan,linuxbox.desdelinux.penggemar
----

[root @ linuxbox ~] # layanan dnsmasq restart
[root @ linuxbox ~] # status layanan dnsmasq [root @ linuxbox ~] # host chat
obrolan.desdelinux.fan adalah alias untuk linuxbox.desdelinux.penggemar. linuxbox.desdelinux.fan memiliki alamat linuxbox 192.168.10.5.desdelinux.fan mail ditangani oleh 1 email.desdelinux.penggemar.

/Etc/resolv.conf

[root @ linuxbox ~] # nano /etc/resolv.conf 
Cari desdelinux.fan nameserver 127.0.0.1 # Untuk kueri DNS eksternal atau # non-domain desdelinux.penggemar # lokal=/desdelinux.fan/ server nama 172.16.10.30

Modifikasi pada DNS eksternal di ISP

Kami mendedikasikan seluruh artikel «Server DNS Otoriter NSD + Shorewall - Jaringan UKM»Untuk masalah bagaimana mendeklarasikan catatan SRV yang terkait dengan XMPP sehingga layanan Pesan Instan bisa keluar ke Internet, dan bahkan agar server Prosody dapat melakukan federasi dengan server XMPP kompatibel lainnya yang ada di Web.

Kami memulai kembali Prosody

[root @ linuxbox ~] # restart prosodi layanan
Mengalihkan ke / bin / systemctl restart prosody.service
[root @ linuxbox ~] # status prosodi layanan
Mengalihkan ke / bin / systemctl status prosody.service ● prosody.service - Server Prosody XMPP (Jabber) Dimuat: dimuat (/usr/lib/systemd/system/prosody.service; diaktifkan; preset vendor: dinonaktifkan) Aktif: aktif (berjalan) sejak Sun 2017-05-07 12:07:54 EDT; 8 detik yang lalu Proses: 1388 ExecStop = / usr / bin / prosodyctl stop (kode = keluar, status = 0 / SUKSES) Proses: 1390 ExecStart = / usr / bin / prosodyctl start (kode = keluar, status = 0 / SUKSES) PID Utama : 1393 (lua) CGroup: /system.slice/prosody.service └─1393 lua /usr/lib64/prosody/../../bin/prosody

[root @ linuxbox ~] # tail -f /var/log/prosody/prosody.log
  • Sangatlah sehat untuk membuka konsol baru dengan perintah sebelumnya berjalan, dan melihat output dari debug Prosody saat layanan dimulai ulang.

Kami mengkonfigurasi Cyrus SASL

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

[root @ linuxbox ~] # layanan saslauthd restart
Mengalihkan ke / bin / systemctl restart saslauthd.service
[root @ linuxbox ~] # status layanan saslauthd

- Jika ...
[root @ linuxbox ~] # restart prosodi layanan

Konfigurasi PAM

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

Pemeriksaan otentikasi PAM

  • Untuk memeriksanya, kita harus menjalankan perintah berikut PERSIS seperti yang ditunjukkan di bawah ini, karena ini tentang menjalankan perintah sebagai pengguna "prosodi" dan bukan sebagai pengguna "root":
[root @ linuxbox ~] # sudo -u tes prosodiaslauthd -s xmpp -u langkah -p langkah
0: OK "Sukses."

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

[root @ linuxbox ~] # sudo -u prosody testsaslauthd -s xmpp -u legolas -p Lengolas
0: TIDAK ADA "otentikasi gagal"

Proses otentikasi terhadap pengguna lokal bekerja dengan benar.

Kami memodifikasi FirewallD

Menggunakan utilitas grafis «Firewall«, Untuk area«publik»Kami mengaktifkan layanan:

  • xmpp-bosch
  • xmpp-klien
  • xmpp-server
  • xmpp-lokal

Demikian pula untuk area «luar»Kami mengaktifkan layanan:

  • xmpp-klien
  • xmpp-server

Dan kami membuka port tcp 5222 dan 5269

Akhirnya, kami membuat perubahan Waktu eksekusi a Permanen y muat ulang FirewallD.

Klien XMPP Psi

Untuk terhubung ke server Prosody Instant Messaging yang baru diinstal, kita dapat memilih di antara berbagai klien yang ada:

  • empati
  • Gajim
  • kadu
  • Psi
  • psi plus
  • Pidgin
  • Telepati
  • obrolan singkat

Daftarnya terus berlanjut. Kami memilih Psi +. Untuk menginstalnya, kami menggunakan perintah yang disukai untuk itu atau kami melakukannya melalui alat grafis yang tersedia untuk tugas itu. Setelah terinstal, kami jalankan, dan di akhir artikel kami memberikan rangkaian gambar yang kami harap dapat bermanfaat bagi Anda.

ringkasan

  • Kami dapat menginstal layanan Pesan Instan berdasarkan Prosody untuk pengguna lokal sistem, dan membuang pembuatan pengguna Prosody internal atau jenis penyimpanan kredensial otentikasi lainnya.
  • Kredensial otentikasi akan berjalan dienkripsi dari klien ke server, dan tanggapan terakhir ke klien juga.
  • Kami dapat menginstal lebih dari satu layanan berdasarkan otentikasi lokal melalui PAM di satu server.
  • Sejauh ini, server linuxbox.desdelinux.penggemar menyediakan layanan berikut ke Jaringan UKM:
    • Resolusi Nama Domain atau DNS.
    • Alokasi dinamis alamat IP atau DCHP
    • Layanan Waktu Jaringan atau NTP
    • Backup melalui SSH dari klien UNIX / Linux, atau melalui WinSCP untuk klien Microsoft Windows.
    • Layanan Pesan Instan - Obrolan. Juga tersedia dari Internet.
    • Layanan file sharing melalui Chat itu sendiri. Juga tersedia dari Internet
    • Layanan telekonferensi yang dapat Anda konfigurasikan di Prosody.

Dan semua layanan sebelumnya dengan beberapa alat grafis untuk konfigurasi Firewall - FirewallD, dan untuk Pengguna dan Manajemen Grup dari sistem yang sangat mudah digunakan jika kita memiliki pengetahuan dasar tentang apa yang ingin kita lakukan.

Penting

Pastikan untuk mengunjungi URL berikut untuk mendapatkan informasi lengkap pada Prosodi: http: //prosody.im.

Sampai angsuran berikutnya!


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   Guillermo dijo

    Betapa menarik semua kontribusi Anda, terima kasih banyak untuk semuanya.

  2.   IWO dijo

    Selamat, Federico untuk artikel hebat lainnya.
    Di sini penulis memberi kami ("memberi") "cara mengetahui" tentang cara mengimplementasikan layanan Obrolan melalui Prosody yang menggunakan protokol XMPP dalam jaringan untuk bertukar pesan instan, mentransfer file, membuat konferensi suara dan video, mengautentikasi pengguna lokal melalui koneksi aman.
    Selain itu, seperti biasa di seluruh seri PYMES, penulis memfasilitasi integrasi layanan yang akan dikonfigurasi dengan layanan dan / atau parameter lainnya yang sudah beroperasi dalam jaringan:
    1- Modifikasi yang harus kita lakukan pada layanan DNS untuk memasukkan layanan Obrolan dan semuanya bekerja dengan benar.
    2- Konfigurasi (dan pemeriksaan) PAM untuk mengotentikasi layanan Obrolan secara lokal.
    3- Apa yang harus kita lakukan di Firewall untuk jaringan lokal dan "Jaringan Jaringan" untuk memungkinkan layanan Obrolan, dan ini dengan tingkat keamanan yang memadai.
    4- Dan terakhir verifikasi Obrolan dari klien XMPP.
    Tidak ada yang bisa menyimpan posting dalam direktori TIPS ketika layanan ini harus diimplementasikan.

  3.   Federico dijo

    Saya harap mereka berguna bagi Anda dalam beberapa hal. Terima kasih atas komentarnya

  4.   Federico dijo

    Teman IWO, Anda mendapatkan inti sebenarnya dari artikel tersebut. Tambahkan saja bahwa kami mengimplementasikan layanan untuk jaringan UNIX / Linux, meskipun semua kliennya adalah Microsoft Windows. Banyak pembaca mungkin belum memperhatikan detail kecil itu. 😉

  5.   Zodiak Carburus dijo

    Fico, teman kontribusi yang sangat baik. Anda tahu bahwa saya telah mengikuti semua artikel Anda dan dalam 4 artikel terakhir ini saya telah mempelajari banyak pertanyaan yang tidak saya ketahui karena terselubung Direktori Aktif dan Pengontrol Domain yang dipasang di wajah saya. Saya praktis lahir dengan NT 4 dan PDC dan BDC-nya. Saya tidak menyadari bahwa saya dapat menyederhanakan otentikasi melalui jaringan ke satu mesin yang menjalankan Centos atau Linux lainnya. Sekarang saya mempelajari filosofi baru yang menurut saya setua asal mula sejarah jaringan. Meskipun Anda memberi tahu saya sedikit tentang apa yang akan Anda terbitkan 😉 Saya pikir Anda akan melanjutkan dengan LDAP dan kemudian Active Directory berdasarkan Samba 4?. Terima kasih atas dedikasi Anda pada tujuan perangkat lunak gratis. Saya tunggu artikel Anda selanjutnya, Fico.

  6.   Edward Claus dijo

    Tiger, artikel bagus !!!!!

    Rekan, ada detail kecil, di bagian DNS, Anda menunjukkan seluruh domain desdelinux.fan ke IP 172.16.10.10, Anda telah mengimplementasikan server ini di Debian (yang DNS), sekarang, server obrolan ini ada di CentOS, jadi secara logis ia memiliki alamat IP yang berbeda, yang Anda perlukan untuk mengarahkan semua lalu lintas di firewall untuk IP ini tempat layanan pesan instan akan ditempatkan, karena saat ini ia menunjuk ke server DNS yang sama dan tidak memiliki layanan pesan tersebut.

    Kalau tidak, semuanya indah, pelukan erat.

  7.   Federico dijo

    Terima kasih Eduardo telah berkomentar. Anda membaca paragraf dengan baik:

    Dengan cara yang sama, untuk area "eksternal", kami mengaktifkan layanan:

    xmpp-client
    xmpp-server

    Dan kami membuka port tcp 5222 dan 5269.

    Saya mengizinkan output dari protokol XMPP melalui antarmuka ens34. Ingat postingan di bawah ini, bahkan dari artikel Squid. 😉

  8.   Federico dijo

    Teman Zodiak: Anda membuat saya menyatakan kejutan saya sebelumnya. Tidak, LDAP tidak berjalan sekarang. Ini adalah inti dari server email yang didasarkan pada Postfix, Dovecot, Squirrelmail, dan dengan otentikasi PAM, yang akan menjadi yang terakhir dari seri mini ini. Lebih na. ;-). Kemudian jika sisanya datang sampai kita sampai di Samba 4 AD-DC. Bye !.

  9.   Edward Claus dijo

    Ya teman saya, jika saya membacanya, tetapi saya tidak melihat PREROUTING di mana pun ke server lain, lihat.

  10.   Federico dijo

    Eduardo: Lakukan instalasi. Hubungkan Laptop dengan subnet IP 172.16.10.0/24. Instal klien Obrolan di atasnya dan sambungkan ke Prosody. Jadi saya melakukannya dan berhasil seperti itu. 😉
    FirewallD adalah salah satu CentOS yang akan MEMPREROUT dengan caranya sendiri.