Инструменты пользователя

Инструменты сайта


nas_linux

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
Следующая версияСледующая версия справа и слева
nas_linux [2017/05/09 15:14] – [Антивирус] kuldnas_linux [2017/11/19 18:08] – [Выбор оборудования] kuld
Строка 7: Строка 7:
 <note warning>Только не используйте один и тот же сервер для установки информационной базы и хранения ее резервных копий.</note> <note warning>Только не используйте один и тот же сервер для установки информационной базы и хранения ее резервных копий.</note>
  
-Почему Linux? Во-первых это бесплатно и при этом совершенно легально. Во-вторых Linux потребляет гораздо меньше аппаратных ресурсов, и даже старая, списанная в утиль техника отлично справится с задачей файлового хранилища.+Почему Linux? Во-первых это бесплатно и при этом совершенно легально. Во-вторых Linux потребляет гораздо меньше аппаратных ресурсов, и даже старая, списанная в утиль техника отлично справится с задачей файлового хранилища. В-третьих, хорошо настроенный Linux практически не нуждается во вмешательстве системного администратора, эксплуатируются по принципу "настроил и забыл".
  
 И так, начнем... И так, начнем...
Строка 21: Строка 21:
 <note important>За неимением лучшего, можно использовать любой старый компьютер, но помните, что Вы это делаете на свой страх и риск. Самое уязвимое место файлового сервера - дисковая подсистема. Если она у Вас будет состоять из одного единственного старого диска, Вы очень сильно рискуете.</note> <note important>За неимением лучшего, можно использовать любой старый компьютер, но помните, что Вы это делаете на свой страх и риск. Самое уязвимое место файлового сервера - дисковая подсистема. Если она у Вас будет состоять из одного единственного старого диска, Вы очень сильно рискуете.</note>
  
-<note tip>Если не удалось найти RAID-контроллер, можно попробовать настроить [[ubnt>программный_raid|программный RAID]] средствами операционной системы. Учтите, что это повысит требования к процессору и оперативной памяти.</note>+<note tip>Если не удалось найти RAID-контроллер, можно настроить [[ubnt>программный_raid|программный RAID]] средствами операционной системы. Учтите, что это повысит требования к процессору и оперативной памяти, зато Вам буден не страшен выход из строя контроллера.</note>
 ===== Установка операционной системы ===== ===== Установка операционной системы =====
  
Строка 105: Строка 105:
  
 Для дистанционного управления сервером с рабочей станции Windows мы будем использовать [[http://www.putty.org/|PuTTy]]. Скачайте, установите и подключайтесь. Адрес сервера в нашем примере указывается так ''user@192.168.1.9'', где ''user'' - имя суперпользователя, порт по умолчанию ''22''. Для дистанционного управления сервером с рабочей станции Windows мы будем использовать [[http://www.putty.org/|PuTTy]]. Скачайте, установите и подключайтесь. Адрес сервера в нашем примере указывается так ''user@192.168.1.9'', где ''user'' - имя суперпользователя, порт по умолчанию ''22''.
 +
 +{{  :putty.png  }}
  
 Мы не будем использовать анонимный доступ к нашему файловому серверу, для того, что бы что-то записать или прочитать с сервера потребуется указать логин и пароль. И нам потребуется создать пользователя на сервере, от имени которого будут производиться все соответствующие файловые операции в хранилище. Мы не будем использовать анонимный доступ к нашему файловому серверу, для того, что бы что-то записать или прочитать с сервера потребуется указать логин и пароль. И нам потребуется создать пользователя на сервере, от имени которого будут производиться все соответствующие файловые операции в хранилище.
Строка 121: Строка 123:
  
 Добавим пользователя в Samba Добавим пользователя в Samba
 +
 <code> <code>
-smbpasswd -a storageuser+$ sudo smbpasswd -a storageuser
 </code> </code>
 +
 - тут нужно указать пароль пользователя Samba, и включим пользователя - тут нужно указать пароль пользователя Samba, и включим пользователя
 +
 <code> <code>
-smbpasswd -e storageuser+$ sudo smbpasswd -e storageuser
 </code> </code>
- 
  
 Сделаем на всякий случай копию файла настроек и приступим к настройкам файлового сервера Samba. Сделаем на всякий случай копию файла настроек и приступим к настройкам файлового сервера Samba.
Строка 141: Строка 145:
 <code> <code>
 [global] [global]
- workgroup = WORKGROUP # Здесь укажите имя рабочей группы одноранговой сети +    workgroup = WORKGROUP        # Здесь укажите имя рабочей группы одноранговой сети 
- server string = %h server (Samba, Ubuntu)+    server string = %h server (Samba, Ubuntu)
         name resolve order = wins lmhosts hosts bcast         name resolve order = wins lmhosts hosts bcast
- dns proxy = no+    dns proxy = no
  
         wins support = yes              # только если в сети нет Wins сервера (он может быть, например, в роутере)         wins support = yes              # только если в сети нет Wins сервера (он может быть, например, в роутере)
         ;wins server = 192.168.1.1      # только если wins support = no и по указанному адресу действительно есть Wins сервер         ;wins server = 192.168.1.1      # только если wins support = no и по указанному адресу действительно есть Wins сервер
  
- log file = /var/log/samba/log.%m +    log file = /var/log/samba/log.%m 
- max log size = 1000 +    max log size = 1000 
- syslog = 0 +    syslog = 0 
- panic action = /usr/share/samba/panic-action %d+    panic action = /usr/share/samba/panic-action %d
  
- server role = standalone server +    server role = standalone server 
- passdb backend = tdbsam +    passdb backend = tdbsam 
- obey pam restrictions = yes+    obey pam restrictions = yes
  
- unix password sync = yes+    unix password sync = yes
  
- passwd program = /usr/bin/passwd %u +    passwd program = /usr/bin/passwd %u 
- passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .+    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
  
- pam password change = yes+    pam password change = yes
  
- security = user +    security = user 
- username map = /etc/samba/smbusers+    username map = /etc/samba/smbusers
  
- map to guest = bad user +    map to guest = bad user
- +
- usershare allow guests = yes+
  
 +    usershare allow guests = yes
  
 [storage] [storage]
- comment = nas storage +    comment = nas storage 
- writable = yes +    writable = yes 
- browseable = yes +    browseable = yes 
- public = yes +    public = yes 
- path = /home/storageuser/nas +    path = /home/storageuser/nas 
- guest ok = no +    guest ok = no 
- directory mask = 755 +    directory mask = 755 
- create mask = 644 +    create mask = 644 
- valid users = @storageuser+    valid users = @storageuser
 </code> </code>
  
 Перезапустим службу Перезапустим службу
 +
 <code> <code>
 $ sudo service smbd restart $ sudo service smbd restart
Строка 192: Строка 196:
 Пробуем зайти с какой-либо рабочей станции Windows, указав в проводнике путь ''\\192.168.1.9''. Пробуем зайти с какой-либо рабочей станции Windows, указав в проводнике путь ''\\192.168.1.9''.
  
-<note> +<note> В сетевом окружении сервер появится через какое-то время, когда служба Wins обновит свои данные. </note>
-В сетевом окружении сервер появится через какое-то время, когда служба Wins обновит свои данные. +
-</note>+
  
 Windows сначала попробует открыть папку под своей локальной учетной записью, у нее это не получится и она запросит логин и пароль для доступа к сетевому ресурсу - это как раз тот пользователь, которого мы создали специально для доступа к сетевому хранилищу. Windows сначала попробует открыть папку под своей локальной учетной записью, у нее это не получится и она запросит логин и пароль для доступа к сетевому ресурсу - это как раз тот пользователь, которого мы создали специально для доступа к сетевому хранилищу.
  
-{{ :winlogon.png |}}+{{  :winlogon.png  }}
  
 Готово! Готово!
  
 При необходимости можно добавить новых пользователей и новые разделы. Разграничение доступа к разделам производится через опцию ''valid users'' в соответствующем блоке конфигурационного файла Samba. При необходимости можно добавить новых пользователей и новые разделы. Разграничение доступа к разделам производится через опцию ''valid users'' в соответствующем блоке конфигурационного файла Samba.
 +
  
 ===== Антивирус ===== ===== Антивирус =====
  
-Операционные системы на базе Linux практически не подвержены риску заражения компьютерными вирусами, от части потому, что вирусов способных им навредить крайне мало, а в основном потому, что без получения доступа root эти вирусы ничем не могут навредить операционной системе.+Операционные системы на базе Linux практически не подвержены риску заражения компьютерными вирусами, от части потому, что вирусов способных им навредить крайне мало, а в основном потому, что без получения привилегий суперпользователя эти вирусы ничем не могут навредить операционной системе.
  
-Но эти вирусы могут использовать файловый сервер Samba для распространения от одной рабочей станции под управлением Windows, на другие. Что бы поддерживать наше файловое хранилище в чистоте, мы установим антивирус и настроем автоматическое сканирование.+Но эти вирусы могут использовать файловый сервер Samba для распространения от одной Windows системы на другие. Что бы поддерживать наше файловое хранилище в чистоте, мы установим антивирус и настроим автоматическое сканирование.
  
-Установим антивирус ClamAV.+Установим антивирус ClamAV
  
 <code> <code>
Строка 218: Строка 221:
 Сразу же после установки в фоновом режиме запуститься обновление сигнатур, в дальнейшем мы настроим автоматическое обновление сигнатур по расписанию. Сразу же после установки в фоновом режиме запуститься обновление сигнатур, в дальнейшем мы настроим автоматическое обновление сигнатур по расписанию.
  
-Удалять подозрительные файлы мы сразу не будем, мы их будем перемещать в карантин, где они никому не навредят. Если среди этих файлов было что-то важное администратор сможет найти их в карантине и что-то сделать. Создадим папку карантина и ограничим доступ к ней+Удалять подозрительные файлы мы сразу не будем, мы их будем перемещать в карантин, где они никому не навредят. Если среди этих файлов было что-то важноеадминистратор сможет найти их в карантине и что-то сделать. Создадим папку карантина и ограничим доступ к ней
  
 <code> <code>
 $ sudo mkdir /quarantine $ sudo mkdir /quarantine
-$ sudo chmode 600 /quarantine+$ sudo chmod 600 /quarantine
 </code> </code>
  
Строка 253: Строка 256:
 </code> </code>
  
-<note>Для обновления сигнатур и сканирования нам потребуются привилегии суперпользователя, поэтому crontab запускается через sudo, сами команды в файле расписания нужно указывать без sudo.</note>+<note important>Для обновления сигнатур и сканирования нам потребуются привилегии суперпользователя, поэтому crontab запускается через sudo, сами команды в файле расписания нужно указывать без sudo.</note>
  
 Добавьте две строчки Добавьте две строчки
 +
 <code> <code>
 0 1 * * * freshclam 0 1 * * * freshclam
Строка 262: Строка 266:
  
 Каждый день в 1:00 ночи будет автоматически запускаться обновление сигнатур, а в 2:00 ночи будет запущено сканирование всех домашних папок пользователей, инфицированные файлы будут перемещены в папку карантина. Каждый день в 1:00 ночи будет автоматически запускаться обновление сигнатур, а в 2:00 ночи будет запущено сканирование всех домашних папок пользователей, инфицированные файлы будут перемещены в папку карантина.
 +
 +
 +===== Мониторинг =====
 +
 +==== Регулярность резервного копирования ====
 +
 +Если Вы пользуетесь мессенджером Telergam, у нас для Вас есть утилита мониторинга резервного копирования. Она умеет сканировать папки сетевого хранилища и сообщать о наличии или отсутствии новых файлов. Например, если резервное копирование запланировано на ночь, а утром в сетевом хранилище нет новых файлов, значит что-то пошло не так и нужно с этим разобраться.
 +
 +Утилита написана на Python, сам Python в Ubuntu установлен по-умолчанию, нужно установить дополнительный модуль.
 +
 +<code>
 +$ sudo apt install python-pip
 +$ sudo pip install --upgrade pip
 +$ sudo pip install python-telegram-bot
 +</code>
 +
 +Сама утилита устанавливается из репозитория GitHib
 +
 +<code>
 +$ cd ~
 +$ git clone https://github.com/kuleshovdv/backtracker.wiki.git
 +$ cd backtracker
 +</code>
 +
 +Создайте для себя нового Telegram бота. Подробная инструкция как это сделать приведена [[https://core.telegram.org/bots|тут]] (англ).
 +
 +Свяжитесь с [[https://telegram.me/ForbesBot|Отцом Ботов]], отправьте ему сначала команду ''/start'', затем ''/newbot''. Далее отвечайте на вопросы Отца Ботов, в итоге Вы получите от него токен и ссылку на Вашего бота.
 +
 +Открываем конфигурационный файл
 +<code>
 +$ nano backtracker.conf
 +</code>
 +
 +и настраиваем
 +
 +<code>
 +[Telegram]
 +token = # Тут нужно указать токен telegram-бота, полученный от Отца Ботов
 +failonly = # False если хотите получать сообщения о наличии новых файлов или True если только об их отсутствии
 +
 +[Scan]
 +path = # Укажите путь к сканируемым папкам
 +hours = # Укажите "свежесть" файлов в часах, например 8
 +</code>
 +
 +Запускайте утилиту
 +
 +<code>
 +$ ./backtracker.ry
 +</code>
 +
 +Первый запуск нужен для того, что бы автоматически определить ID абонента Telegram, который будет получать сообщения (это не номер его телефона). Подключайтесь к своему боту по ссылке, которую Вам дал Отец Ботов и отправляйте ему команду ''/start''. В ответ Вы получите сообщение, что Ваш ID определен, а утилита самонастроится и закроется. Запустите ее повторно для выполнения сканирования.
 +
 +После настройки и проверки работы утилиты, добавьте ее в расписание демона cron
 +
 +<code>
 +$ crontab -e
 +</code>
 +
 +Добавьте строчку
 +<code>
 +0 8 * * * ~/backtracker/backtracker.py
 +</code>
 +
 +Проверка будет запускаться каждый день в 8 утра. Если ночью что-то пошло не так, Вы узнаете об этом.
 +
 +==== Системные ресурсы ====
 +
 +Мониторить ресурсы сервера можно консольной утилитой ''top'' или ее более красочной версией ''htop''. Установим и запустим ее
 +<code>
 +$ sudo apt install htop
 +$ htop
 +</code>
 +
 +{{  :htop.png?600  }}
 +
 +Периодически контролируйте использование оперативной памяти. Если часто наблюдается загруженность около 100%, настройте файл подкачки.
 +
 +<code>
 +$ sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
 +$ sudo chmod 600 /swapfile && sudo mkswap /swapfile
 +$ sudo swapoff -a
 +$ sudo swapon /swapfile
 +$ echo "/swapfile swap swap defaults 0 0"| sudo tee -a /etc/fstab
 +</code>
 +
 +Здесь ''count=1024'' - размер файла подкачки в мегабайтах.
 +
 +==== Дисковое пространство ====
 +
 +Для мониторинга файловой системы удобно пользоваться файловым менеджером Midnight Commander. Если Вы застали времена MS DOS и Notron Commander, то объяснять ничего не нужно.
 +
 +Устанавливаем и запускаем
 +
 +<code>
 +$ sudo apt install mc
 +$ mc
 +</code>
 +
 +{{  :mc.png?600  }}
 +
 +Так удобно наблюдать за файловым хранилищем, карантином, свободным дисковым пространством.
  
 <note tip>Есть вопросы, нужна консультация или помощь в настройке - [[https://lineris.bitrix24.ru/pub/form/4_obratnaya_svyaz/c4960i/|обращайтесь]], будем рады помочь.</note> <note tip>Есть вопросы, нужна консультация или помощь в настройке - [[https://lineris.bitrix24.ru/pub/form/4_obratnaya_svyaz/c4960i/|обращайтесь]], будем рады помочь.</note>
  
 ~~socialite~~ ~~socialite~~
 +
 +
nas_linux.txt · Последнее изменение: 2022/12/02 09:41 — kuld

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki