Настройка на сигурността за Samba сървъри на Ubuntu linux - Инструкции

Режими на защита на Samba
samba

Има две налични нива на защита за мрежовия протокол CIFS (Internet Shared File System): ниво на потребител и ниво на споделяне. Внедряването на режима на защита на Samba осигурява повече гъвкавост, като предоставя четири реализации на ниво потребител и една реализация на ниво споделяне:

сигурност = потребител : Изисква клиентът да предостави потребителско име и парола за свързване към ресурса. Потребителските акаунти на Samba са отделни от системните акаунти, но пакетътlibpam-smbpass поддържа системните потребители и пароли в синхрон с потребителската база на Samba.

сигурност = домейн : Този режим позволява на сървъра Samba да се представя на Windows клиенти като основен контролер на домейн (PDC), резервен контролер на домейн (BDC) или членски сървър на домейн (DMS). Вижте Samba като домейн контролер за повече информация.

сигурност = ADS : Позволява на Samba сървъра да се присъедини към домейна на Active Directory като собствен домейн. Вижте Интегриране на Samba с Active Directory за подробности.

сигурност = сървър : Този режим е останал от дните, когато Samba не можеше да стане член на домейн и поради някои причини за сигурност не можеше да се използва. Вижте секцията Защита на сървъра на ръководството на Samba за подробности.

сигурност = споделяне : Позволява на клиентите да се свързват към споделен ресурс, без да предоставят потребителско име и парола.

Избраният от вас режим на защита ще зависи от вашата среда и това, което искате от Samba сървъра.

Сигурност = потребител

В тази секцияНаучете как да преконфигурирате Samba файловите и печатните сървъри, конфигурирани в разделите Samba File Server и Samba Print Server, за да изискват удостоверяване.

Първо инсталирайте пакетаlibpam-smbpass, който ще синхронизира системните потребители с потребителската база на Samba:

Редактирайте /etc/samba/smb.conf и променете в секцията [share]:

Накрая рестартирайте Samba, така че новата конфигурация да поеме:

Сега, когато се свържете към споделени директории или принтери, ще бъдете подканени да въведете потребителско име и парола.

Сигурност на споделените ресурси

Има няколко опции за укрепване на сигурността на база споделена директория. Използвайки[споделяне] като пример, този раздел обхваща най-често срещаните опции.

Групите дефинират колекции от компютри или потребители, които имат общо ниво на достъп до определени мрежови ресурси и осигуряват ниво на модулност при контролиране на достъпа до тези ресурси. Например, ако е дефинирана групаqa, която съдържа потребителитеfreda,danika иrob, и друга групаsupport ​​​​която съдържа потребителитеdanika,jeremy иvincent, тогава някакъв мрежов ресурс, конфигуриран за достъп до групаqa съответно ще предостави достъп доfreda,danika иrob, но не иjeremy илиvincent. Тъй като потребителятdanika принадлежи към двете групиqa иsupport, тя ще има достъп до ресурси, конфигурирани за достъп до всяка от тези групи, докато всички останали ще имат достъп само до ресурси, конфигурирани към конкретни групи, към които принадлежат.

По подразбиране Samba търси локални системни групи, декларирани в /etc/group,за да определят кои потребители принадлежат към тях. За повече информация относно добавянето и премахването на потребители в групи вижте Добавяне и премахване на потребители.

Когато се дефинират групи в конфигурационния файл на Samba /etc/samba/smb.conf, се използва синтаксисът за разпознаване, предшестван от знака "@". Например, ако ще дефинирате група с имеsysadmin в определен раздел на файла /etc/samba/smb.conf, можете да го направите, като посочите името на групата като@sysadmin.

Разрешения за файлове

Правата за достъп определят изричните права на компютър или потребител до определена директория, файл или набор от файлове. Такъв достъп може да бъде определен чрез редактиране на файла /etc/samba/smb.conf и даване на изрични разрешения за конкретния споделен файл.

Например, ако сте дефинирали споделяне на Samba с имеshare и ще дадете разрешения само за четене на група потребители, известни катоqa, но искате да предоставите достъп за запис на групата с имеsysadmin и потребителvincent, тогава можете да редактирате файла /etc/samba/smb.conf, за да добавите следните записи към секцията[share] :

Например, ако искате да дадете на потребителяmelissa административен достъп до споделянетоshare в нашия пример, ще трябва да редактирате файла /etc/samba/smb.conf и да добавите следния ред към секцията[share] :

След като промените /etc/samba/smb.conf, рестартирайте Samba, за да приложите промените:

След като Samba е конфигуриран да ограничава кои групи имат достъп до споделената директория, трябва да актуализираме разрешенията за файловата система.

След това монтирайте отново дяла:

За да съпоставите горната конфигурация на Samba с групатаsysadmin трябва да получи разрешения за четене, писане и изпълнение за директорията /srv/samba/share, групатаqa трябва да има разрешения за четене и изпълнение и файловете трябва да бъдат собственост на потребителmelissa. За да направите това, въведете следното в терминал:

Сега от клиента на Windows можете да забележите, че новите разрешения за файлове се прилагат. Вижте ръководствата наman заacl иsetfacl за повече информация относно POSIX ACL.

AppArmor профил за Samba

Ubuntu се доставя сAppArmor модул за сигурност, който осигурява контрол на достъпа, базиран на разрешения. Оригиналният профил на AppArmor ще трябва да бъде модифициран, за да съответства на вашата конфигурация. За по-подробно описание на AppArmor вижте раздела AppArmor.

Има родни AppArmor профили за /usr/sbin/smbd и /usr/sbin/nmbd, сервизните програми Samba, като част от пакета apparmor-profiles. За да инсталирате пакета, въведете в терминалния ред:

По подразбиране профилите за smbd и nmbd са в режим нажалба (мониторинг), което позволява на Samba да работи без промяна на профила и само коригиране на грешки. За да поставите smbd профила в режимналагане (ограничения) и Samba да работи правилно, профилът трябва да бъде променен, за да отразява всички споделени директории.

Редактирайте /etc/apparmor.d/usr.sbin.smbd, за да добавите информация за[share] от примера на файловия сървър:

Сега нека поставим профила в ограничен режим и го презаредим: