Szukaj

Bezpieczeństwo Asteriska – uruchomienie centrali jako inny użytkownik niż root

Bezpieczeństwo Asteriska – uruchomienie centrali jako inny użytkownik niż root

Uruchomienie centrali na innym użytkowniku niż root sprawi, że polecenia CLI, które wykonują skrypty linuksowe, nie zostaną wykonane bez koniecznych uprawnień. Poprawi to bezpieczeństwo centrali. Możesz też dodać dostęp np. do SSH tylko dla konkretnego użytkownika, który będzie mógł zarządzać centralą, ale nic nie namiesza w systemie.

Spis treści

Całość poniższego kodu możemy wykonać za pomocą naszego gotowego skryptu do zmiany użytkownika.

 
SKRYPT ZMIANY UŻYTKOWNIKA

1) Dodanie użytkownika i grupy

To od czego chcielibyśmy zacząć to dodać użytkownika innego niż ‘root’.  W naszym przykładzie wykorzystamy użytkownika ‘asterisk’. Żeby dodać użytkownika i grupę wykonaj:

				
					useradd asterisk
groupadd asterisk
				
			

Jeśli planujesz osobne logowanie na tego użytkownika dodaj też hasło:

				
					passwd asterisk
				
			
Podpowiedź

W większości przypadków założenie użytkownika np. ‘asterisk’, jednocześnie utworzy grupę o tej samej nazwie. Podczas tworzenia grupy, może się więc pojawić ostrzeżenie, że grupa już istnieje.

				
					 groupadd: group 'asterisk' already exists
				
			

2) Zmiana uprawnień

Kolejnym krokiem będzie zmiana uprawnień do poszczególnych plików i katalogów.

Jeśli centrala zainstalowana jest w jakimś niestandardowym katalogu lub potrzebujesz znaleźć pliki lub katalogi, które mogą wymagać zmiany uprawnień możesz wykonać:

				
					find / -name 'asterisk'
				
			

Pora na zmianę uprawnień:

				
					chown -R asterisk:asterisk /var/{lib,log,run,spool}/asterisk
chown -R asterisk:asterisk /etc/asterisk
chown asterisk:asterisk /usr/sbin/asterisk

# for 32-bit system
chown -R asterisk:asterisk /usr/lib/asterisk

# for 64-bit system
chown -R asterisk:asterisk /usr/lib64/asterisk
				
			

Polecenie ‘ls -l’ powinno pokazać, że nasz nowy użytkownik jest właścicielem katalogu.

WAŻNE Pamiętaj, że jeśli będzie tworzył nowe pliki jako inny użytkownik, centrala może nie mieć do nich dostępu, może wyrzucać błędy lub funkcjonalność Asteriska może być ograniczona

Na koniec musimy jeszcze powiedzieć naszej centrali, że powinna działać jako inny użytkownik. Możemy to zrobić w pliku asterisk.conf. Zazwyczaj znajduje się on w katalogu /etc/asterisk/.

W środku znajdziemy zmienne ‘runuser‘ oraz ‘rungroup‘. Plik wygenerowany przez make basic-pbx zawiera te zmienne zakomentowane. Wystarczy je odkomentować.

Zmiany powinny być automatycznie widoczne po wejściu do konsoli, nawet bez przeładowania.

				
					asterisk -r
				
			
Podpowiedź
 Możesz też podmienić domyślny kod za pomocą sed.
				
					sed -i "s/^;runuser = asterisk.*$/runuser = asterisk     ; The user to run as./" /etc/asterisk/asterisk.conf
sed -i "s/^;rungroup = asterisk.*$/rungroup = asterisk    ; The group to run as./" /etc/asterisk/asterisk.conf
				
			

And that’s all! From now on, our Asterisk will be launched as ‘asterisk’, i.e. according to the assumption: user other than ‘root’.

Podpowiedź
Warto pamiętać, że zmieniając użytkownika, może być konieczna zmiana pozostałych usług lub urządzeń. Dla przykładu, żeby podłączyc modem USB jako użytkownik i grupa ‘asterisk’, dodaj w pliku /etc/udev/rules.d/92-dongle.rules (CentOS) następującą linijkę:
				
					KERNEL=="ttyUSB*", MODE="0666", OWNER="asterisk", GROUP="asterisk"
				
			

W efekcie, każde nowe urządzenie ttyUSB będzie miało nowego użytkownika i grupę.

Czy wiesz co tak na prawdę dzieje się na Twojej centrali? Wypróbuj nasze autorskie oprogramowanie VOIPERO.

 

System niedawno wystartował i teraz jest udostępniany całkowicie za darmo.  Instalacja i konfiguracja zajmuje kilka minut.

 

Dowiedz się jakie możliwości ma system VOIPERO jeżeli chodzi o raportowanie i monitorowanie na żywo systemów VoIP bazujących na asterisku.

Share this post

Masz pytania lub potrzebujesz oferty?

Skontaktuj się z naszym doradcą.

Popularne wpisy

Powiązane posty

Projekt wystartował!

Monitorowanie i raportowanie Twojego serwera VoIP