пїЅпїЅпїЅпїЅ-пїЅпїЅпїЅпїЅпїЅпїЅпїЅ
По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
OpenSSH позволяет выполнять удаленное подключение к серверу, производить манипуляции с файлами и управлять системой. Сегодня хотим рассказать про лучшие методы, которые позволят увеличить безопасность системы на базе OpenSSH.
Конфигурационные файлы
/etc/ssh/sshd_config - файл конфигурации сервера OpenSSH;
/etc/ssh/ssh_config - файл конфигурации клиентской части OpenSSH;
~/.ssh/ - директория, в которой хранятся пользовательские SSH настройки;
~/.ssh/authorized_keys или ~/.ssh/authorized_keys - список ключей (RSA или DSA), которые используются для подключения к пользовательским аккаунтам;
/etc/nologin - если данный файл существует в системе, то sshd запретит подключаться всем пользователям кроме root в систему;
/etc/hosts.allow и /etc/hosts.deny - система запрета (часть безопасности). Работает по аналогии с ACL;
SSH порт по умолчанию - 22
Не нужен - выключай
Если вашему серверу не требуется удаленное подключение по SSH, то обязательно отключите его. В таких системах как CentOS/RHEL делается это так:
chkconfig sshd off
yum erase openssh-server
Используйте SSH второй версии
Протокол SSH первой версии имеет проблемы с безопасностью, которые закрыты во второй версии. Поэтому, используйте вторую версию. Убедитесь, что в файле /etc/ssh/sshd_config указана опция Protocol 2.
Ограничивайте SSH доступ
По умолчанию, все системные пользователи имеют возможность подключаться к системе по SSH. Рекомендуем ограничить SSH доступ в целях безопасности. Например, разрешить SSH для пользователей root, merion и networks:
AllowUsers root merion networks
С другой стороны, вы можете разрешить доступ всем пользователям, кроме указанных:
DenyUsers root merion networks
Время неактивности
Важно указывать время, в течение которого, неактивная сессия будет терминирована (завершена). Это можно сделать следующими опциями:
ClientAliveInterval 300
ClientAliveCountMax 0
В данной настройке мы указали время бездействия равным 300 секунд (5 минут).
Про файлы .rhosts
Дело в том, что данный файл содержит список хостов и пользователей. Если в данном файле содержится комбинация хоста и юзера, то данный пользователь сможет подключиться к системе по SSH без запроса пароля. Рекомендуем отключить эту «замечательную» фичу:
IgnoreRhosts yes
Никакой аутентификации на базе хоста!
Так называемая Host-Based Authentication позволяет пользователю с определенного хоста подключаться к серверу. Отключаем:
HostbasedAuthentication no
Прямое подключение через root
Не нужно открывать root. Максимум, советуем использовать прямое root подключение на время проведения работ. Затем отключать. Лучше давать su (sudo) доступ для некоторых категория пользователей. Закрыть можно вот так:
PermitRootLogin no
Сделайте баннер
Для каждого подключающегося сделайте баннер, в котором можно угрожать злоумышленникам, которые пытаются совершить несанкционированный доступ. За настройку баннера отвечает параметр Banner.
22 порт только изнутри!
Сделайте доступ к 22 порту системы только через цепочку фаервол правил. Лучше всего, оставить доступ только изнутри LAN. Например, в Iptables можно дать доступ для 192.168.11.0/24:
-A RH-Firewall-1-INPUT -s 192.168.11.0/24 -m state --state NEW -p tcp --dport 22 -j ACCEPT
Где слушать
По умолчанию SSH слушает подключения на всех доступных интерфейсах. Мы рекомендуем сменить порт по умолчанию и указать IP – адрес, на котором необходимо ожидать подключения. Например, мы укажем порт 962 и IP – адрес 192.168.11.24
Port 962
ListenAddress 192.168.11.24
Криптостойкие пароли
Используйте устойчивые к защите пароли. В сети множество инструментов, которые сгенерируют криптостойкий пароль онлайн, бесплатно и без смс :)
Запретить пустые пароли
Бывают пользователи без паролей. Их доступ к SSH так же необходимо запретить с помощью опции:
Port 962
PermitEmptyPasswords no
Анализируйте логи
Установите логирование событий в режим INFO или DEBUG – это позволит иметь расширенный контроль над системой:
LogLevel INFO
Совсем недавно команда OpenAI
представила
GPT-4o, усовершенствованную версию своей флагманской модели. И это не все новости от компании: ожидается, что GPT-5 появится уже этим летом. OpenAI продемонстрировала эту модель избранным инсайдерам, и отзывы были очень положительными. На данный момент GPT-5 проходит обучение и тестирование. Вслед за OpenAI Google выпустила несколько новых и усовершенствованных моделей ИИ: например, Gemini 1.5. Новая нейросеть может обрабатывать данные практически молниеносно и без задержек, что открывает широкие возможности для анализа и обработки больших объемов данных?. В этой гонке не отстает Microsoft — компания собирается
запустить
в продажу первый в мире компьютер с ИИ. У каждого ПК будет персонализированный ассистент, доступный через специальную клавишу.
Масштаб распространения нейронных сетей может привлекать и пугать одновременно. Соответственно для такого стремительного темпа нужны отдельные специалисты, которые будут обучать AI. Предлагаем вам познакомиться с новой и уже очень востребованной профессией — AI-тренер.
Кто такой AI-тренер
Такой специалист помогает обучать искусственный интеллект. Профессия считается относительно новой на рынке труда: она сформировалась в начале 2022 года, после того как компании, занимающиеся разработкой искусственного интеллекта, например OpenAI, выпустили продвинутые языковые модели. В России вакансия AI-тренер впервые появилась в конце 2022 года, когда «Яндекс» начал активно набирать специалистов для работы над собственными проектами в области искусственного интеллекта. С тех пор спрос на AI-тренеров продолжает расти, и эта профессия открывает новые возможности для специалистов, работающих с текстами и данными.
Ключевые навыки для AI-тренера
К профессиональным навыкам (хард скилз) относятся:
Навыки письма. Здесь все просто — AI-тренеру важно грамотно уметь писать и редактировать тексты, знать русский язык, включая орфографию, пунктуацию, стилистику и логично структурировать материал. Большим плюсом является опыт работы в качестве журналиста, редактора, копирайтера, контент-менеджера, переводчика, преподавателя или в любой другой сфере, связанной с написанием текстов.
Фактчекинг. AI-тренер должен уметь проверять достоверность информации, отличать факты от выдумок и оценивать надежность источников.
Быстрое освоение новых тем. В своей работе такой специалист сталкивается с запросами из разных областей, поэтому ему необходимо быстро разбираться в новых тематиках.
Обоснование своих решений. В ситуациях, когда идеального ответа нет, AI-тренер должен уметь аргументировать свой выбор, чтобы его решение было понятно аналитикам.
Понимание работы нейросетей. Для AI-тренера не будет лишним на базовом уровне разбираться в IT и знать об устройстве современных нейросетей.
Гибкие навыки или софт скилз:
Аналитическое мышление. Здесь можно выделить способность анализировать данные, понимать сложные системы и выявлять закономерности.
Терпение и внимание к деталям. Необходимость в тщательной проверке и корректировке данных требует терпения и внимания к мелочам.
Командная работа. Важный навык для любого специалиста — способность эффективно работать в команде, взаимодействуя с разработчиками, инженерами данных и другими участниками проекта.
Критическое мышление. Способность критически оценивать информацию, идеи и подходы, в том числе собственные, для повышения качества обучения AI.
Как обучали GPT-4
Ради интереса мы обратились к чату GPT-4 и спросили, как проходило его обучение. И вот какой результат мы получили. Обучение таких моделей включает несколько этапов:
1. Сбор и обработка данных
Первый шаг — это сбор огромного количества текстовых данных из различных источников. Например, из книг, статей, веб-сайтов и форумов. Эти данные используются для предварительного обучения модели. Перед тем как использовать эти данные, они проходят этап очистки и обработки. Это включает удаление дубликатов, исправление ошибок, приведение текста в адекватный формат и чистку ненужной информации.
2. Предварительное обучение (Pre-training)
Нейросеть обучается на собранных данных с использованием задачи предсказания следующего слова в предложении. Этот процесс позволяет модели понять структуру языка, грамматику, контекст и множество различных тем. Обучение повторяется миллионы раз с различными фрагментами текста, чтобы постепенно улучшать предсказания.
3. Файн-тюнинг (Fine-tuning) или процесс дополнительного обучения
После предварительного обучения нейронка проходит дополнительное обучение на специализированных данных. Это нужно для того, чтобы улучшить её производительность в конкретных задачах. Весь процесс можно разделить на несколько этапов:
3.1. Для дополнительного обучения создаются специальные наборы данных, которые соответствуют целям использования языковой модели. Например, если нейросеть должна отвечать на вопросы, собираются вопросы и корректные ответы.
3.2. Работа AI-тренеров: на этом этапе они вручную ранжируют, отмечают и корректируют ответы модели, чтобы создать самые точные примеры правильных ответов. После ИИ-тренеры пишут подробные инструкции, объясняя нейросети, как отвечать на различные типы вопросов. Далее они оценивают ответы и вносят корректировки, чтобы улучшить их точность и качество.
3.3. Использование обратной связи (Reinforcement Learning from Human Feedback, RLHF). Нейросеть может дополнительно обучаться на основе обратной связи от людей, чтобы лучше соответствовать ожиданиям и требованиям пользователей.
4. Тестирование и валидация
Перед выпуском в мир модель проходит обширное тестирование и валидацию. На этом этапе может использоваться как автоматическое тестирование, так и тестирование с участием людей. Реальные пользователи оценивают удобство и полезность ответов нейросети.
5. Непрерывное обучение
После запуска нейросети в эксплуатацию процесс обучения продолжается. Постоянный сбор новых данных и обратной связи от пользователей помогает улучшать модель и адаптироваться ее к новым условиям.
Где еще могут работать AI-тренеры
В первую очередь ИИ-тренеры востребованы в компаниях, которые занимаются разработкой и внедрением нейросетей. Если взять во внимание иностранные компании, там потребность распространяется далеко за пределы IT-отрасли. Такие специалисты нужны в образовательных институтах для преподавания курсов по машинному обучению, в финансовом секторе и сфере электронной коммерции. К примеру, Amazon и eBay привлекают AI-тренеров для совершенствования систем поиска и рекомендаций.
Что происходит на российском рынке труда
Несмотря на то, что профессия совсем новая, на Хэдхантере уже появляются вакансии с достойной оплатой. По запросу «AI-тренер (обучение искусственного интеллекта)» на май 2024 года в поисковике можно найти около 80 вакансий. В основном это крупные компании, которые внедряют ИИ в собственные IT-отделы. Устроиться AI-тренером можно в МТС, «Яндекс», «Тинькофф» или «Сбер».
«Яндекс» предлагает заработную плату от 75 000 ? в месяц. При этом окончательная сумма зависит от количества часов. «Тинькофф» в своих вакансиях указывает в среднем 80 000 ? в месяц при оказании услуг от 20 часов в неделю. Руководитель AI-тренеров может рассчитывать на вознаграждение от 110 000 ? в месяц.
Перспективы профессии
Профессия ИИ-тренера обещает быть востребованной и значимой в ближайшие годы, учитывая рост и развитие технологий искусственного интеллекта. Как можно отметить, все больше компаний внедряют машинное обучение в свои процессы. Это создает высокий спрос на специалистов, которые могут работать с ИИ. А еще новые методы и технологии делают работу AI-тренера интересной и динамичной.
Цель данной статьи, чтобы разобраться с тем как поправить незначительные ошибки, возникающие в файловых системах. Файловых систем много, поэтому много различных инструментов для работы с ними. Поэтому будет рассказано об основных инструментах к основным стандартным системам Linux. И рассмотрим несколько инструментов к рекомендованным LPIC файловым системам. Рассмотрим, так же журналируемые файловые системы и посмотрим индексные дескрипторы.
Проверка целостности файловой системы;
Проверка свободного пространства и индексных дескрипторов в файловой системе;
Исправление проблем файловой системы.
Список утилит:
df, du, fsck, debugfs – общие утилиты для всех Linux систем
mke2fs, e2fsck, dumpe2fs, tune2fs – утилиты для файловой системы ext
xfs_check, xfs_repair, xfs_info, xfs_metadump – утилиты для файловой системы xfs
Совершенно понятно, что для других файловых систем есть свои утилиты для работы с данными файловыми сиcтемами.
Первая утилита df:
man df
Данная утилита показывает использование дискового пространства. У данной утилиты достаточно много ключей. Её особенностью является то, что она показывает дисковое пространство в 1 кбайт блоках.
Данные цифры не очень понятны и удобны, для того чтобы было удобно можно использовать ключ –h и тогда вид станет удобно читаемым. В выводе команды мы сразу видим размер, сколько использовано, процент использование и точка монтирования. Как мы видим на новом перемонтированном разделе /dev/sdc1 занят 1% дискового пространства. Если посмотреть в папку монтирования раздела, то мы увидим там папку lost+found. Данная папка пуста, но занимает 37 МБ. Есть такое понятие индексные дескрипторы в журналируемых файловых системах inode. Inode – это метка идентификатора файла или по другому индексный дескриптор. В этих индексных дескрипторах хранится информация о владельце, типе файла, уровне доступа к нему. И нужно понимать, что для каждого файла создается свой отдельный inode. Команда df –I может показать нам inode.
Число, например, inode напротив /dev/sda2 показывает сколько inode всего может быть на устройстве, далее сколько используется и сколько свободно. Обычно под inode отдается примерно 1% жесткого диска. И получается, что больше чем число inode на устройстве файлов и папок быть не может. Количество inode зависит от типа файловой системы. Далее мы рассмотрим, как пользоваться inode.
Следующая команда du
man du
Данная команда показывает, что и сколько занимает у нас места на жестком диске, а именно размер папок в текущей директории. Если посмотреть вывод данной команды без ключей, то мы увидим список папок в текущей директории и количество блоков, с которым очень неудобно работать. Чтобы перевести данные блоки в человеческий вид, то необходимо дать ключ –h.
А для еще большего удобства, можно установить замечательную утилиту ncdu простой командой.
sudo apt install ncdu –y
После установки нужно запустить ncdu. И мы увидим очень красивую картинку.
Но вернемся к стандартной утилите du. С помощью данной утилиты мы можем указать в какой папке необходим просмотр папок и вывод их размера.
du –h /home
К сожалению данная утилита умеет взвешивать вес только каталогов и не показывает размер файлов. Для того, чтобы посмотреть размер файлов, мы конечно же можем воспользоваться командой ls –l. А также если мы запустим данную команду с ключем –i мы увидим номера inode файлов.
Как вы видите у каждой папки и у каждого файла есть свой индексный дескриптор.
Далее команды, которые нам позволят проверить целостность файловой системы.
Команда fsck
man fsck
Как написано в описании утилиты она позволяет проверять и чинить Linux файловую систему.
Мы можем видеть, например, в oперационной системе Windows, что в случае некорректного завершения работы операционной системы, операционная система запускает утилиту проверки целостности checkdisk. В случае необходимости данная утилита исправляет найденные ошибки в файловой системе. Следовательно, в Linux данные операции выполняет утилита fsck, причем может работать с различными файловыми системами Linux операционных систем. Мы можем попробовать воспользоваться утилитой fsck /dev/sdc1. В ответ от операционной системы мы получим следующее:
Как мы видим операционная система вернула в ответ на команду для работы с данным разделом, что данный раздел с монтирован и операция прервана. Аналогичную ситуацию мы будем наблюдать в операционной системе Windows, если мы будем пытаться рабочий раздел проверить на ошибки. Т.е возникнет следующая ситуация. Если мы будем проверять дополнительный логический диск, где не установлена операционная система Windows, то данный раздел на время проведения тестов будет отключен и будут идти проверки. А если мы попытаемся проверить основной раздел, куда установлена операционная система Windows, то операционная система не сможет запустить данную утилиту и попросит перезагрузиться для запуска данной утилиты. В нашем случае придется делать точно так же. Поэтому, чтобы проверить необходимо отключить (от монтировать раздел) и после уже этого запускать утилиту.
Из вывода можно заметить утилита пыталась запустить другую утилиту e2fsck, которая в данном случае отвечает за проверку файловых систем extext2ext3ext4. О чем достаточно подробно написано в описании данной утилиты. По сути fsck запускает утилиту ту, которая идет в пакете утилит для конкретной файловой системы. Бывает такое, что fsck не может определить тип файловой системы.
Для того, чтобы утилита все-таки проверила файловую систему, необходимо отмонтировать логический раздел. Воспользуемся командой umount /mnt.
И запускаем непосредственно саму проверку fsck –t ext4 /dev/sdc1
Проходит проверка моментально. Команда fsck запустилась и запустила необходимую утилиту для файловой системы. По результатам проверки файловая система чистая, найдено 11 файлов и 66753 блока. При обнаружении проблем, утилита предложила нам исправить.
Для того, чтобы посмотреть на проверку другой файловой системы, необходимо переформатировать раздел.
mkfs –t xfs –f /dev/sdc1
При попытке запуска проверки без указания типа файловой системы fsck /dev/sdc1
Как мы видим, утилита fsck отказалась проверять или вызывать утилиту, а явно указала на ту которую необходимо использовать в данном случае. Для проверки используем xfs_ncheck /dev/sdc1. А для починки файловой системы xfs_repair /dev/sdc1.
Перемонтируем обратно наш раздел mount /dev/sdc1 /mnt
Теперь можно получить информацию по разделу xfs_info /dev/sdc1
Или сделать дамп файловой системы xfs_metadump /dev/sdc1 dump.db
Переформатируем файловую систему ext4 на разделе обратно /dev/sdc1. Перемонтируем в папку mnt. Создадим текстовый файл с текстом на данном разделе nano /mnt/test.txt
Далее мы можем посмотреть следующую утилиту man debugfs. Данная утилита умеет очень многое: очень много ключей и различных опций. Чистит, удаляет, чинит, работает с inodes.
Зайти в данную утилиту можно debugfs –w /dev/sdc1. Набираем help и видим кучу опций.
Можно попросить данную утилиту вывести содержимое нашего тома.
ls
В результате данной команды мы увидим 2 объекта с номерами их inode. Теперь мы можем сказать rm test.txt и файл будет удален, точнее не сам файл а его индексный дескриптор., если посмотреть опять с помощью команды ls. То будет видно, что количество объектов не изменилось. Следовательно, мы этот файл в журналируемых файловых системах можем восстановить, восстановив его индексный дескриптор. Но только до тех пор, пока на место удаленного файла не был записан другой. Именно поэтому если требуется восстановление информации на диске, рекомендуется немедленно отключить ПК и после этого отдельно подключать носитель информации для процедуры восстановления. Так же на данном принципе основано сокрытие информации в Информационной безопасности, когда на носитель информации в 2 или 3 прохода записываются псевдослучайные данные. Для восстановления данных мы можем использовать команду lsdel. Данная команда показывает удаленные файлы.
В принципе на данном debugfs и основаны многие программы для восстановления данных.
На скриншоте хорошо видно, что был удален 1 inode с номером 12 дата и время, другие параметры. Для выхода используем q. Для восcтановления используем undel test.txt, команда, номер индексного дескриптора и имя файла с которым оно восстановится. Убедиться, что файл на месте можно с помощью команды ls.
Утилита debagfs помогает восстанавливать файлы и вообще работать с файловой системой на низком уровне. Конечно восстанавливать по 1 файлу, это очень трудозатратно. Поэтому вот эти низкоуровневые утилиты используют более современные программы.
Еще одна утилита dumpe2fs. Можно вызвать справку по данной утилите man dumpe2fs
Данная команда делает дамп информации, которая хранится на данных томах. Выполним данную команду для /dev/sdc1
Мы получим следующий вывод информации.
Данный вывод был сделан на стандартный вывод – т.е экран. Сделаем вывод в файл, например:
dumpe2fs /dev/sdc1 > /tmp/output.txt
Мы можем просмотреть информацию в выведенную в файл поэкранно с помощью less /tmp/output.txt
В выводе мы сможем увидеть основные опции данной файловой системы.
Переделаем файловую систему, текущую ext4 в ext2. Это можно сделать 3-мя способами с помощью утилит: mkfs, mke2fs, mkfs.ext2. Перед переформатирование необходимо отмонтировать файловую систему. После форматирования и перемонтируем. Опять снимаем дамп и передаем по конвееру на команду grep чтобы посмотреть features. Получаем следующее:
dumpe2fs /dev/sdc1 | grep features
И видим, что файловые системы отличаются, более новая файловая система имеет фишку журналирования has_jounal. Данная опция так же присутствует в ext3. Т.е в данных файловых системах имеются журналы с помощью которых удобно восстанавливать.
Есть интересная утилита tune2fs – настраивать файловую систему.
man tune2fs
Данная утилита, как следует из описания настраивает настраиваемые параметры файловых систем. Например, у нас есть не журналируемая файловая система ext2. Мы даем команду tune2fs –O has_journal /dev/sdc1. Данная утилита добавляет опцию ведения журнала к файловой системе ext2. Или можем наоборот сказать удалить опцию поставив значок ^.
