--- title: Практическая работа 3 tags: pt-start, linux basics --- ## Работа с crontab Для настройки crontab требуется ввести команду crontab -e. ![](https://i.imgur.com/5EA7z9q.png) Стоит отметить, что по умолчанию крон есть только у рута. ![](https://i.imgur.com/k8hLWlk.png) Можно также проверить его статус при помощи service cron status, либо systemctl status cron. ![](https://i.imgur.com/By3aWC6.png) Создаем файл, который будет выполняться в кроне в дальнейшем ``` #!/bin/bash - указывает, что это скрипт # This is a comment - любой комментарий cat /dev/null > /var/log/cron.log - удаление текста в cron.log cat /dev/null > /var/log/cron.txt - удаление текста в cron.txt pwd && whoami >> /var/log/cron.log - последовательное выполнение pwd и whoami с последующей записью в cron.log w >> /var/log/cron.log - выполнение команды w с последующей записью в cron.log ping -c3 ya.ru >> /var/log/cron.txt - выполнение ping -c3 ya.ru с последующей записью в cron.txt ping -c4 77.88.8.8 >> /var/log/cron.log - выполнение ping -c4 77.88.8.8 с последующей записью в cron.txt ``` ![](https://i.imgur.com/6ME9wjC.png) Проверяем работу скрипта ![](https://i.imgur.com/9ILZvTD.png) ### Выполнение задания. По заданию скрипты должены быть запущены кадые 15 минут, каждый день, в 15 часов каждую среду, в 20 часов каждое воскресенье. #### Создаем скрипты для работы Первый скрипт будет архивировать всю активность самбы вместе с датой архивации. Так как точное время я не добавлял, то этот скрипт можно добавить в фрагмент с запуском каждый день. ![](https://i.imgur.com/iXrFDjY.png) Второй скрипт содержит в себе логи проверки на руткиты в системе. Не думаю, что это нужно делать часто, запускать можно, скорее всего каждую среду ![](https://i.imgur.com/R58uqam.png) Третий скрипт позволяет получить данные о системе. Работает быстро, поэтому его можно активировать раз в 15 минут, чтобы обнаружить аномалии в работе сервера. ![](https://i.imgur.com/VTCKNgp.png) Четвертый скрипт просто проверяет доступ к сети. ![](https://i.imgur.com/kQsOF6b.png) Результат в crontab ![](https://i.imgur.com/l82YLxZ.png) ## Установка openssh-server Для наачла скачиваем openssh-server, который мы скачивали работу назад. ![](https://i.imgur.com/OUzjhgK.png) Включаем sftp сервер подобной настройкой в /etc/ssh/sshd_config ![](https://i.imgur.com/6aBjzr1.png) Добавляем группу sftp ![](https://i.imgur.com/2srT6fW.png) Добавляем пользователю группу sftp. ![](https://i.imgur.com/h1cVqaC.png) Проверяем результат ![](https://i.imgur.com/mshStbe.png) Выполняем подключение по sftp ![](https://i.imgur.com/JQBDvRc.png) Также можно отследить пакеты sftp в сети, однако они будут зашифрованы. > [name=despersy] > При настройке у меня возник вопрос. Если мы настраиваем ftp сервер, к которому все равно надо подключаться через уже установленное ssh соединение, то почему нельзя просто сделать ftp на localhost, которое потом туннелировать по ssh? Таким образом трафик все равно будет шифроваться, просто метод настройки немного другой. Еще есть вариант настройки ftp-ssl, который шифрует соединение по ключу. ![](https://i.imgur.com/ceV5udc.png) ## Сервисы и службы Так как service у меня не работает, что отображено на скрине, я отображу список всех утилит через systemctl ![](https://i.imgur.com/g9l63cA.png) ### Apache2 Так как сервис apache2 у меня был предустановлен(я ожидал, что это потребуется, поэтому еще на моменте установки системы все выбрал его, чтобы в дальнейшем сэкономить время) я просто проверяю его готовность. Команда для установки простая - apt install apache2 ![](https://i.imgur.com/Z0pzhZk.png) Чтобы проверить страницу через браузер вспоминаем, что мы все еще пользуемся системой только через консоль, поэтому качаем консольный браузер - links2. ![](https://i.imgur.com/OLuSY7T.png) Теперь подключаемся по своему адресу и видим такой результат. Это доказывает, что сервер работает. ![](https://i.imgur.com/nyLYv8r.png) ![](https://i.imgur.com/HiEcDu2.png) Если сервис выключить командой systemctl stop apache2, что результат будет такой. ![](https://i.imgur.com/Iz9PNLj.png) ### Telnet Скачиваем клиент для telnet командой apt install telnet. ![](https://i.imgur.com/5joDaqT.png) > [name=despersy] > Уж не знаю как через telnet кто-то умудрился получить результат, у меня просто выдает положительный сигнал при подключении и все. Но успешное подключение тоже значит работу сервиса на 80 порту, так что думаю, что результат удовлетворительный. ![](https://i.imgur.com/Y61KQan.png) Установка telnetd сервера. Для этого используем команду apt install telnetd. > [name=despersy] > И вот тут начинаются основные проблемы: сервис не хочет открывать порт ни при каких обстоятельствах. При этом ufw в системе отсутстует, следовательно, никакого фаерволла нет. Поэтому сейчас в это комментарии буду показывать свой путь до включения сервера. > 1. Скачиваю openbsd-inted, ибо на форумах предлагали это. Однако не помогло > ![](https://i.imgur.com/cire7O6.png) > 2. Скачиваю net-tools и xinetd в замену openbsd-inetd. Тоже не сработало, но net-tools нужен больше для netstat для проверки портов. Причем на kali linux я встретился с этой же проблемой. > 3. Скачиваю другой пакет telnet telnet-ssl в замену telnetd, что на удивление сработало. Результат можно увидеть в выводе команды netstat > ![](https://i.imgur.com/NkpGmKE.png) ![](https://i.imgur.com/PS8r0Av.png) Подключение к серверу ![](https://i.imgur.com/fwjOE7M.png) ### vsftpd Скачиваем пакет vsftpd. Это легковесный ftp сервер. Как аналог ftp-ssl. ![](https://i.imgur.com/U1vP2ai.png) Добавляем сервис в автозапуск. Делается это командой systemctl enable vsftpd. ![](https://i.imgur.com/rHSXKGE.png) Подключаемся по ftp к серверу ![](https://i.imgur.com/wDVpKwz.png) Перехватываем пакет ftp ![](https://i.imgur.com/mbERtfd.png) ### samba Скачиваем samba командой apt install samba ![](https://i.imgur.com/iNwICDa.png) Выполняем базовую настройку сервера и шарим папку shared. ![](https://i.imgur.com/orIMg3U.png) тестируем ее перед запуском. ![](https://i.imgur.com/Cfm4AGP.png) Теперь подключаемся к системе сервера с хост системы. Я вроде делаю это через dolphin. Тут мы видим три моих диска, и сети. В этом разделе есть debian(наш сервер) и despersy(моя хост система на которой тоже настроена samba, поэтому отображается в списке). ![](https://i.imgur.com/iZiiywR.png) После выбора debian видим список расшаренный папок ![](https://i.imgur.com/J7hAzAP.png) Перед подключением добавляем пользователя при помощи команды ``` smbpasswd -a <username> ``` ![](https://i.imgur.com/WqSbicK.png) Подключаемся при помощи созданного пользователя ![](https://i.imgur.com/EYM1XpM.png) И видим все папки, которые находятся в домашней директории ![](https://i.imgur.com/kC4kmWv.png) Создаем файл в папке documents с названием 222.txt. Путь у меня указан сверху. ![](https://i.imgur.com/3H71vfL.png) Редактируем его ![](https://i.imgur.com/0QNsi86.png) И проверяем по этому пути с сервер системы, чтобы удостовериться, что файл был изменен ![](https://i.imgur.com/VxVE5XS.png)