Ustawienia firewall przy serwerze XMPP / EJABBERD

W poniższym wpisie kilka słów na temat konfiguracji firewalla dla protokołu XMPP. Aby umożliwić serwerowi komunikację wówczas, gdy nasza polityka w IPTABLES ustawiona jest na DROP, należy odblokować następujące porty:

 iptables -A INPUT -p tcp --dport 5222 -j ACCEPT
 iptables -A INPUT -p tcp --dport 5269 -j ACCEPT
 iptables -A INPUT -p tcp -s 10.1.1.1/24 --dport 5280 -j ACCEPT #Jabber strona do definiowania użytków
 iptables -A INPUT -p tcp -s 127.0.0.1 --dport 4369 -j ACCEPT

Dodatkowo należy odblokować porty, które zostały skonfigurowane w pliku:

nano /etc/ejabberd/ejabberd.cfg

 

Port OPIS
5222 Standardowy port Jabber/XMPP dla klientów podłączonych, używający logowania czystym tekstem lub STARTTLS.
5223 Standardowy port Jabbera dla klientów używających starej metody SSL.
5269 Standardowy port Jabbera/XMPP dla serwera. Ze względów bezpieczeństwa może być zablokowana komunikacja na zewnątrz.
5280 Strona ejabberd do zarządzania hostami i użytkownikami.
4369 PMD port języka Erlang.
port range Indywidualna konfiguracja portów dla węzłów języka Erlang (sprawdź epmd).

Pamiętajmy, że port 5280 jest wykorzystywany w sieci lokalnej do definowania użytkowników – w moim przypadku jest to podsieć 10.1.1.1 z maską 24-bitową.

Na stronę możemy się zalogować, wpisując:

http://localhost:5280/admin/

Przydatnymi poleceniami mogą być podczas konfiguracji:

/etc/init.d/ejabberd live

fuser -n tcp -k 5222  # zwalniamy port 5222

killall epmd # zabijamy wszystkie instancje epmd

 

Źródło:

http://docs.ejabberd.im/admin/guide/security/

Brak log-ów /var/log/syslog

Jeżeli masz problem z logami

apt-get install --reinstall rsyslogd
apt-get install inetutils-syslogd

Pamiętaj o uprawnieniach pliku:

sudo chown syslog:adm /var/log
sudo chmod 0775 /var/log

Prawdopodobnych błędów można szukać w pliku:

/etc/rsyslog.conf

i plikach

/etc/rsyslog.d/50-default.conf

można uruchomić również usługę w trybie debugowania:

/etc/init.d/rsyslog stop
rsyslogd -n -i /var/run/syslogs.pid

Jak stworzyć serwer DHCP na Linuxie?

Poniżej przykładowa konfiguracja:

cat /etc/dhcp/dhcpd.conf

default-lease-time 86400; #czas w sekundach okresu dzierżawy ip max-lease-time 86400; # maksymalny czas w sekundach okresu dzierżawy ip option subnet-mask 255.255.255.0; option domain-name-servers 127.0.0.1;#,8.8.8.8; #domyślne adresy domenowe dla naszego hosta; lepiej użyć dns-a, który daje nam dostawca lub dns google 8.8.8.8 lub 8.8.4.4 option domain-name "artmetic.pl"; # opcjonalna nazwa domeny ddns-update-style none; server-name artmetic; # nazwa serwera subnet 192.168.2.0 netmask 255.255.255.0 { interface "eth0"; # interfejs sieciowy, którego będzie dotyczyć rozdawanie adresów ip option subnet-mask 255.255.255.0; option routers 192.168.1.1; next-server 192.168.1.1; option domain-name-servers 8.8.8.8, 8.8.4.4; pool { # allow members of "DRBL-Client"; range 192.168.1.2 192.168.1.3; // zakres adresów ip, które mogą zostać przydzielone } } subnet 10.1.1.0 netmask 255.255.255.0 { interface "eth1"; # interfejs sieciowy, którego będzie dotyczyć rozdawanie adresów ip option subnet-mask 255.255.255.0; range 10.1.1.5 10.1.1.60; # zakres adresów ip, który może zostać przydzielony option domain-name "artmetic.pl"; option domain-name-servers 89.78.78.230,8.8.8.8, 8.8.4.4; # tutaj podajemy adresy dns, które zamieniają adresy nazwy domen na adresy ip option routers 10.1.1.1; # domyślna droga, przez którą się łączą hosty do dhcp-a option broadcast-address 10.1.1.255; # adres rozgłoszeniowy (broadcast) default-lease-time 3600; #okres dzierżawy w sekundach max-lease-time 28800; # maksymalny okres dzierżawy deny unknown-clients; # niespodzianka dla nieznanych hostów, czyli nikt niepowołany się nie połączy } Poniżej definicja pierwszego urządzenia/hosta: host laptop { hardware ethernet E6:B9:C5:1D:FA:97; # adres MAC fixed-address 10.1.1.5; # użyłem pierwszego możliwego adresu z zakresu od 10.1.1.5 10.1.1.60 # option domain-name "artmetic.pl"; # option domain-name-servers 8.8.8.8; } host komorka-android { hardware ethernet 01:70:4c:c5:1e:32; fixed-address 10.1.1.6; option domain-name-servers 8.8.8.8, 8.8.4.4; # domyślne adresy dns dla naszego hosta } host VirtulaBox { hardware ethernet 08:01:27:32:68:00; fixed-address 10.1.1.10; } host telewizor { hardware ethernet c8:44:10:64:49:e1; fixed-address 10.1.1.15; }

Następnie restartujemy usługę poleceniem:

sudo /etc/init.d/isc-dhcp-server restart