RSS

Bezpieczna SAMBA

25 Kwi

Samba – nazwa oprogramowania, przeznaczonego dla serwera plików oraz drukarek, współpracującego z platformą Windows, przeznaczonego dla platformy Linux/Unix i rozpowszechnianego na licencji GNU. Protokół transmisji wykorzystywany przez Sambę i systemy Microsoftu to SMB (ang. Server Message Block), przy czym jako protokół transportowy niższej warstwy używany jest TCP/IP. W Windows protokołem transportowym może być również NetBEUI i IPX, ale w nowszych wersjach TCP/IP jest domyślną opcją.

Źródło http://pl.wikipedia.org/wiki/Samba_(program)

Podstawy
Instalacja :
# apt-get update
# apt-get install samba

Start/stop Samby
# /etc/init.d/./samba start|stop|restart

Demony Samby
smbd
Demon umożliwiający współdzielenie plików i drukarek w sieci SMB i zapewniający uwierzytelnianie klientów SMB.
winbind
Demon pozwalający na łączenie się z udziałami samby innym środowiskom niż *NIX. Unifikuje proces logowanie się dla różnych środowisk.
nmbd
Demon świadczący usługi Windows Internet Name Service (WINS) i wspomagający przeglądanie zasobów sieci.

Porty
Port 135/TCP – używany przez smbd
Port 137/UDP – używany przez nmbd
Port 138/UDP – używany przez nmbd
Port 139/TCP – używany przez smbd
Port 445/TCP – używany przez smbd

Właściwa część, czyli zabezpieczamy sambę
1. Samba tylko dla wybranych hostów. W configu samby dodajemy dany wpis. Jeżeli umieścimy te wpisy w sekcji GLOBAL to będą się one odnosiły do wszystkich udziałów.
hosts allow = 127.0.0.1 192.168.2.0/24 192.168.3.0/24 192.168.0.4.5
hosts deny = 0.0.0.0/0

ten wpis zezwoli dostęp do serwera localhostowi, komputerom z puli adresów 192.168.2.0/24 192.168.3.0/24 oraz jednemu komputerowi o adresie 192.168.0.4.5

Innym sposobem jest ograniczanie tylko pojedynczych udziałów.
[kadry]
comment = Kadry
path = /home/kadry
public = yes
writable = yes
guest ok = yes
public = yes
printable = no
oplocks = False
force user = nobody
level2 oplocks = False
veto oplock files = /*.DBF/*.dbf/
create mode = 0777
directory mode = 0777
hosts allow = 192.168.0.5

2. Ograniczanie Samby do działania tylko na wybranych interfejsach. Standardowo samba nasłuchuje na każdym interfejsie, żeby to ograniczyć musimy dodać ten wpis w sekcji GLOBAL
interfaces = eth1 lo
bind interfaces only = yes

3. Wielu ludzi używa firewalla do blokowania portów aplikacji których nie chcą żeby były widoczne z zewnątrz, żeby to zrobić z sambą trzeba zablokować te porty :
Port 135/TCP
Port 137/UDP
Port 138/UDP
Port 139/TCP
Port 445/TCP
Lepiej jest jednak użyć metody z punktu 2.

4. Blokowanie udziałów IPC$
Udziały IPC$ pozwalają anonimowo listować udostępnione udziały na serwerze. Może być to użyte podczas zbierania informacji przed atakiem na system. Aby tego uniknąć w sekcji GLOBAL musimy wpisać to :
[IPC$]
hosts allow = 10.0.0. 127.0.0.1
hosts deny = 0.0.0.0/0


5. Zabezpieczanie przed wirusami z pendrivów

PENDRIVY to obecnie jedna z najbardziej rozpowszechnionych metod przenoszenia danych a co za tym idzie i różnego rodzaju świństw. Większość wirusów/itp z penów tworzy pliki autorun.inf oraz desktop.dll na napędach. Żeby zabezpieczyć udziału musimy dodać taką linijkę do configa :
veto files = /autorun.inf/desktop.dll/

6. Używanie autentykacji użytkowników.
W sekcji GLOBAL dodajemy wpis :
security = user
Jeżeli sieć jest zaufana lub bardzo mała można użyć opcji
security = share
ale nie jest to zalecane.

7. Jeżeli użyjemy opcji security = user możemy także zablokować dostęp do udziałów dla niektórych użytkowników, np rootowi :
invalid users = root bin daemon nobody named sys tty disk mem kmem @wheel

8. Wprowadzenie minimalnej długości haseł oraz blokowanie pustych haseł
min password length = 8
null passwords = no
encrypt passwords = yes
directory security mask = 0700

encrypt passwords – powoduje że samba przesyła hasła zaszyfrowane zamiast zwykłego tekstu

9. Uaktualniaj Sambę zawszę do najnowszej wersji

Zdaję sobie sprawę, że ten wpis nie wyczerpuje w pełni tematu. Zostaje jeszcze kwestia podstawowa, tzn żeby pilnować co udostępniamy i komu. Źle ustawiona samba może udostępnić katalog główny / dla każdego więc pilnować testować i pilnować co jest udostępniane. Inną kwestia jest udostępnianie katalogów użytkowników których też trzeba pilnować.

Linki które były mi pomocne podczas robienia tego wpisu :

http://pl.wikipedia.org/wiki/Samba_(program)
http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/securing-samba.html
http://www.cyberciti.biz/faq/samba-restrict-access-to-ipc-share/
http://www.gentoo.org/doc/pl/security/security-handbook.xml?part=1&chap=10
https://help.ubuntu.com/community/SettingUpSamba
http://www.faqs.org/docs/securing/chap29sec284.html
http://74.125.77.132/search?q=cache:JcKz_snnXH4J:www.unixy.pl/forum/art/pdf/abc_samby.pdf+zabezpieczanie+samby&cd=1&hl=pl&ct=clnk&gl=pl
http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch12_:_Samba_Security_and_Troubleshooting

 
Dodaj komentarz

Opublikował/a w dniu Kwiecień 25, 2009 w Linux, ubuntu

 

Tagi:

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

 
%d bloggers like this: