Системный Администратор
2.14K subscribers
209 photos
505 videos
8 files
220 links
Канал для системных администраторов. Полезный контент по Windows, Linux и т.д.

По всем вопросам @evgenycarter
Download Telegram
Права доступа в Линукс
Расширенные права доступа - SUID, SGID, Sticky bit
Работа с ACL

👉 @sys_adminos
👍43
MAC адрес

1бит 1бит 22 бита 24 бита
------------------------------
|I/G |U/L | OUI | OUA |
------------------------------
<-- 46 бит UAA -->


MAC - адрес уникальная комбинация цифр и букв длиной 48 символов. Фактически, это аппаратный номер оборудования, который, присваивается сетевой карте устройства в момент производства.

I/G - (Individual - 0 / Group - 1) тип адреса. Пакеты с групповым адресом получат все имеющие этот групповой адрес сетевые адаптеры.

U/L - (Universal - 0 / Local - 1) - определяет, как был присвоен адрес. Обычно - 0, Единица означает, что адрес задан не производителем, а админом локальной сети (перепрошит или назначен через драйвер устройства)

OUI - (Organizationally Unique Identifier) Идентификатор производителя. Назначается организацией IEEE.

OUA - (Organizationally Unique Address) Уникальный адрес карты для данного производителя.

UAA - Универсально управляемый адрес.

👉 @sys_adminos
👍31
Как быстро узнать, какие порты открыты на вашем сервере? 🧐

Для этого есть команда ss. Она позволяет получить подробную информацию о сетевых соединениях, сокетах и портах, которые слушает система. Всё это — без установки дополнительных пакетов! 🔥

Пример использования:

ss -tuln

Здесь:
- -t — показывает TCP соединения.
- -u — для UDP.
- -l — отображает только прослушиваемые порты.
- -n — выводит адреса в числовом формате (без попытки их разрешения в доменные имена).

С помощью этой команды можно быстро проверить, какие порты открыты на вашем сервере и какие службы их используют. Отличный инструмент для диагностики и обеспечения безопасности!

Не забывайте проверять открытые порты и защищать их фаерволом! 💪

👉 @sys_adminos
👍31
Проверяем доступность портов с использованием nmap/netcat/telnet/nc

Доступность tcp-порта
netcat
netcat [options] host port
сканер портов:
netcat -z -v domain.com 1-1000

запустить netcat на хосте и слушать на tcp порте 4444:
netcat -l 4444

а на другой машине проверить подключение к netcat, запущенному на другом хосте:
netcat domain.com 4444

nc
nc -vt <ip> <port>

telnet
telnet <ip> <port>

nmap
порт 25 tcp: nmap -p25 11.11.11.11

Доступность udp-порта
netcat
netcat -u host port

nc
nc -vu <ip> <port>

nmap
доступность порта udp 53: nmap -sU -p U:53 11.1.11.12

👉 @sys_adminos
👍3
Как защитить сервер Linux

Ограничьте, кто может использовать sudo


Почему
sudo позволяет учетным записям выполнять команды от имени других учетных записей, включая root. Мы хотим убедиться, что только нужные нам учетные записи могут использовать sudo.

Цели
привилегии sudo ограничены теми, кто входит в указанную нами группу.

Примечания
Возможно, ваша сборка уже сделала это, или у вас уже есть специальная группа, предназначенная для этой цели, поэтому сначала проверьте.
Debian создаёт группу sudo. Чтобы просмотреть пользователей, которые входят в эту группу (таким образом, имеют привилегии sudo):

cat /etc/group | grep "sudo"


Шаги

1 - Создайте группу:
sudo groupadd sudousers

2 - Добавьте учетную запись(и) в группу:
sudo usermod -a -G sudousers user1
sudo usermod -a -G sudousers user2
sudo usermod -a -G sudousers ...


Вам нужно будет сделать это для каждой учетной записи на вашем сервере, которой нужны привилегии sudo.

3 - Создайте резервную копию файла конфигурации sudo /etc/sudoers:
sudo cp --archive /etc/sudoers /etc/sudoers-COPY-$(date +"%Y%m%d%H%M%S")

4 - Отредактируйте файл конфигурации sudo /etc/sudoers:
sudo visudo

5 - Скажите sudo, чтобы только пользователи из группы sudousers могли использовать sudo, добавив эту строку, если ее еще нет:
%sudousers ALL=(ALL:ALL) ALL

👉 @sys_adminos
👍31
Media is too big
VIEW IN TELEGRAM
Что такое systemd? Управление демонами linux c помощью systemctl

В этом видео я расскажу что такое systemd, обзор небольшой. Управление сервисами и демонами.
В видео вы узнаете:
где хранится systemd unit
какие бывают юниты
как посмотреть статус сервиса
как добавить сервис в автозагрузку
как запустить/остановить сервис
как запретить запускать сервис

А также мини man systemctl:
systemctl is-enabled
systemctl list-units -t тип --all
systemctl status
systemctl start
systemctl stop
systemctl restart
systemctl reload
systemctl enable
systemctl disable
systemctl mask
systemctl unmask

источник

👉 @sys_adminos
👍41
🔥 Оптимизация загрузки Linux: systemd-analyze в деле! 🔥


Что это за инструмент?
systemd-analyze — утилита, которая показывает, сколько времени занимает загрузка системы, а также анализирует, какие сервисы тормозят процесс.

🚀 Как посмотреть общее время загрузки?

systemd-analyze

Вы получите данные о времени выполнения загрузчика (firmware), загрузчика ОС (kernel) и инициализации userspace (systemd).

📊 Хотите детальный разбор?
Используйте команду:

systemd-analyze blame

Она покажет список сервисов и сколько времени каждый из них загружался. Длинные процессы — ваши кандидаты на оптимизацию!

🔍 Графическая визуализация?

systemd-analyze plot > bootchart.svg

Открываем bootchart.svg и видим диаграмму загрузки.

💡 Оптимизация загрузки
1️⃣ Отключите ненужные сервисы
Проверяем активные:

systemctl list-unit-files --state=enabled

Отключаем ненужные:

systemctl disable <service>


2️⃣ Используйте systemd presets
Автоматическая настройка сервисов:

systemctl preset-all


3️⃣ Настройте параллельный запуск
Добавьте в /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.log_level=info systemd.default_timeout_start_sec=10"

Примените изменения:

sudo update-grub && reboot


👉 @sys_adminos
👍21
Есть приверженцы 😀

👉 @sys_adminos
🔥11👍3
🚀 Как настроить автоматическую очистку логов в Linux?

🔄 Что такое logrotate?
Это утилита, которая автоматически управляет лог-файлами:
Архивирует старые логи
Удаляет устаревшие файлы
Поддерживает ротацию по размеру или времени

📌 Базовая настройка logrotate
Файл конфигурации находится в /etc/logrotate.conf, а для отдельных сервисов — в /etc/logrotate.d/.

Пример настройки для /var/log/syslog:

/var/log/syslog {
daily # Ротация каждый день
rotate 7 # Храним 7 архивов
compress # Сжимаем старые логи
missingok # Не ругаемся, если файла нет
notifempty # Не трогаем пустые файлы
}

Такой конфиг сохранит последние 7 дней логов и удалит более старые.

🛠️ Ротация логов по размеру
Если логи растут слишком быстро, можно задать лимит по размеру:

/var/log/nginx/*.log {
size 100M # Ротация при достижении 100МБ
rotate 5
compress
missingok
notifempty
}

Это предотвратит переполнение диска, если сервис генерирует много логов.

Запуск logrotate вручную
Проверить, как отработает текущая конфигурация, можно так:

logrotate -d /etc/logrotate.conf

А запустить ротацию вручную:

logrotate -f /etc/logrotate.conf


👉 @sys_adminos
👍4
Media is too big
VIEW IN TELEGRAM
Защита от брутфорса на MikroTik

Если у вас есть маршрутизатор MikroTik с белым IP-адресом и открытым стандартным портом SSH, вероятно, вы заметили, что журнал заполнен неудачными попытками входа в систему. В большинстве случаев это происходит из-за неумолимых попыток брутфорса SSH со стороны злоумышленников. Сегодня я расскажу вам, как можно защитить себя от подобных атак на устройствах MikroTik. Мы создадим что-то аналогичное fail2ban.

источник

👉 @sys_adminos
👍41
Шпаргалка по управлению пользователями и группами в Linux

1. Добавление пользователя (useradd):
- Создание нового пользователя:

sudo useradd username

- Создание пользователя с домашним каталогом:

sudo useradd -m username


2. Установка и изменение пароля (passwd):
- Установка пароля для пользователя:

sudo passwd username

- Смена пароля текущего пользователя:

passwd


3. Управление привилегиями (sudo):
- Добавление пользователя в sudoers для получения привилегий администратора:

sudo usermod -aG sudo username

- Открытие файла конфигурации sudoers для редактирования:

sudo visudo


4. Управление группами (groups):
- Создание новой группы:

sudo groupadd groupname

- Добавление пользователя в группу:

sudo usermod -aG groupname username

- Удаление пользователя из группы:

sudo gpasswd -d username groupname

- Список групп, к которым принадлежит пользователь:

groups username


👉 @sys_adminos
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Именно так выглядит утечка данных 😁

👉 @sys_adminos
😁7🐳3🔥1🆒1
Облачные базы данных: Шпаргалка

В современном мире, основанном на данных, выбор правильной базы данных имеет решающее значение и в то же время сложен. Сейчас облако предлагает больше возможностей для структурированных, полуструктурированных и неструктурированных баз данных, чем когда-либо. Эта шпаргалка поможет выбрать наиболее подходящую для ваших нужд.

Структурированные базы данных📌

Структурированные базы данных организуют данные в предопределенные схемы и модели.

Реляционные базы данных, такие как MySQL и PostgreSQL, хранят данные в таблицах со строками и столбцами.

Колоночные базы данных, такие как Amazon Redshift и Google BigQuery, также имеют структурированную модель данных, но хранят их по-другому, оптимизируя для аналитических запросов.

Преимущества:
- Эффективные SQL-запросы
- Возможность применения ограничений и валидации
- Последовательность там, где это необходимо

Примеры использования: CRM-системы, управление запасами, бухгалтерский учет, аналитика


Полуструктурированные базы данных📌

Полуструктурированные базы данных обеспечивают гибкость, храня данные без соблюдения формальной схемы. Данные часто хранятся в виде JSON или других гибких форматов.

Примеры включают в себя документ-базы данных, такие как MongoDB, графовые базы данных, наподобие Neptune, широкие колоночные хранилища, такие как ScyllaDB, и хранилища ключ-значение, такие как DynamoDB.

Преимущества:
- Гибкость для изменяющихся данных
- Масштабируемость на разных серверах

Примеры использования: Электронная коммерция, ленты социальных сетей, данные IoT


Неструктурированные базы данных📌

Неструктурированные базы данных оптимизированы для хранения и обработки огромных объемов разнородных данных, таких как документы, изображения, видео. Примеры: AWS S3, Azure Blob Storage.

Преимущества:
- Хранение огромных объемов данных
- Высокая масштабируемость

Примеры использования: Медиарепозитории, управление контентом, океаны данных, журнальные данные, резервное копирование.

👉 @sys_adminos
👍3
Убираем зомби процессы

Знакомство с семейством операционных систем Linux сопряжено пониманием особенностей управления процессами в этой системе. Процесс — это программа, которая, по сути, выполняется постоянно.

Программа, которая не выполняется, не считается процессом, поскольку она находится в пассивном состоянии. Состояние выполнения делает его активным объектом, следовательно, процессом. Также стоит отметить, что выполнение одной программы может быть связано с несколькими процессами.

Давайте определим два типа процессов:

Интерактивные процессы. За инициализацией и выполнением этих процессов стоит пользователь или программист. Системные службы не несут ответственности за их работу. Эти процессы возвращают выходные данные из ввода пользователя. Если процесс уже запущен, невозможно напрямую инициировать новый из того же терминала.

Фоновые процессы или неинтерактивные процессы. За их инициирование и выполнение несут ответственность системные службы или пользователи. Пользователи системы также могут управлять ими. Каждому из этих процессов присваивается уникальный идентификатор процесса (PID).

Состояние процесса.
В таблице процессов можно найти несколько состояний процессов.

Running (R) — это запущенные и активные процессы в данный момент.
Waiting (W) — это процессы, которые ожидают освобождение ресурсов или каких-либо событий. Такое ожидание может быть либо непрерывным спящим режимом (D), либо прерываемым (S)
Stopped (T) — запущенный процесс остановлен соответствующим сигналом.
Zombie(Z) — Это процессы, которые еще существуют в таблице процессов, несмотря на то, что они уже выполнили назначенные им задачи.

https://telegra.ph/Ubiraem-zombi-processy-03-09

👉 @sys_adminos
👍7🔥2💯2
Настройка Iptables для чайников

Операционные системы Linux, на которых чаще всего и функционируют серверы (виртуальные машины), имеют встроенный инструмент защиты – программный фильтр Iptables. Все сетевые пакеты идут через ядро приложения и проходят проверку на безопасность для компьютера. Сценария всего два – или данные передаются дальше на обработку, или полностью блокируются.

https://bookflow.ru/nastrojka-iptables-dlya-chajnikov/

👉 @sys_adminos
👍71
Media is too big
VIEW IN TELEGRAM
Настройка фаервола в Ubuntu с помощью утилиты UFW

UFW (Uncomplicated Firewall) — удобный интерфейс для управления политиками безопасности межсетевого экрана. Наши серверы постоянно подвергаются различным атакам или сканируются в поиске уязвимостей. Как только эти уязвимости находятся, мы рискуем стать частью ботнета, раскрыть конфиденциальные данные или потерять деньги из-за сбоев в работе веб-приложений. Одной из первых мер по снижению рисков безопасности является грамотная настройка правил межсетевого экрана. В нашем руководстве мы рассмотрим основные команды и правила работы с утилитой UFW.

https://telegra.ph/Nastrojka-faervola-v-Ubuntu-s-pomoshchyu-utility-UFW-03-13

👉 @sys_adminos
👍5
Terminus (Tabby) – Кросс-платформенный терминал с возможностью тонкой конфигурации.

Данный терминал имеет интегрированный ssh-клиент - что делает его превосходной заменой стандартного PowerShell или PuTTY на Windows.

https://github.com/Eugeny/tabby

👉 @sys_adminos
👍4