Админские угодья
1.47K subscribers
462 photos
40 videos
223 links
Всё для системного администратора

По всем вопросам : @Sofiia_artamonova
Download Telegram
Большая база заметок о командах PowerShell на русском языке

Help, Object, Regex, DataType, Bit, Files, Credential, WinEvent, Firewall, Defender, WindowsUpdate, DISM, Scheduled, Network, Shutdown, LocalAccounts, SMB, ActiveDirectory, repadmin, dcdiag, ntdsutil, GPO, ServerManager, DNS, DHCP, DFS, StorageReplica, Package-Manager, PS2EXE, NSSM, Jobs, SMTP, Hyper-V, VMWare/PowerCLI, Exchange/EMShell, TrueNAS, Veeam, REST API, Telegram, Pode, Selenium, IE, COM, dotNET, Console API, Drawing, ObjectEvent, Sockets, Excel, CSV, XML, JSON, YAML, HTML, SQLite, MySQL, MSSQL, InfluxDB, Telegraf, Elasticsearch, CData, ODBC, PostgreSQL, WMI, Regedit, Performance, SNMP, Zabbix, pki, OpenSSL, OpenVPN, Route, NAT, WireGuard, VpnClient, Proxy, OpenSSH, WinRM, DSC, Git, Ansible.

https://github.com/Lifailon/PS-Commands
👍3
Структура каталогов в Linux

Структура каталогов Linux похожа на дерево. Первый каталог в файловой системе метко назван корневым каталогом «/», или можно сказать, что основание иерархии файловой системы начинается с корня. Корневой каталог содержит множество папок и файлов, в которых можно хранить еще больше папок, файлов и т.д. Вот пример того, как выглядит дерево каталогов.

https://bookflow.ru/struktura-katalogov-v-linux/
👍2🔥1
Как защитить сервер 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
👍3
Примеры полезного использования команды netsh в Windows

Команда netsh (от англ. «сетевая оболочка» или network shell) — программа, включенная в линейку продуктов операционных систем Microsoft Windows NT начиная с Windows 2000. Она позволяет осуществлять локальное или удаленное конфигурирование сетевых параметров.

https://bookflow.ru/primery-poleznogo-ispolzovaniya-komandy-netsh-v-windows/
👍2
Наглядное руководство по SSH-туннелям

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

Туннели SSH — это зашифрованные TCP-соединения между клиентами и серверами SSH. Трафик входит с одной стороны туннеля и прозрачно выходит с другой. Изначально этот термин относился к туннелям на виртуальных сетевых интерфейсах TUN/TAP, однако сейчас так обычно называют проброс портов SSH.

https://habr.com/ru/companies/flant/articles/691388/

original https://robotmoon.com/ssh-tunnels/
👍3
Карта ядра ОС Linux (Linux kernel map)

https://makelinux.github.io/kernel/map/
👍32
Скрипт Bash для для проверки производительности системы в реальном времени, а также для сбора статистики использования за определенное время.

#!/bin/bash
# This script monitors CPU and memory usage

while :
do
# Get the current usage of CPU and memory
cpuUsage=$(top -bn1 | awk '/Cpu/ { print $2}')
memUsage=$(free -m | awk '/Mem/{print $3}')

# Print the usage
echo "CPU Usage: $cpuUsage%"
echo "Memory Usage: $memUsage MB"

# Sleep for 1 second
sleep 1
done
👍41
Шпаргалка: Деление сети на подсети
👍4
Шпаргалка по поиску узких мест в Linux с помощью различных инструментов
👍1
Шпаргалка по iptables

IPTables - это служба брандмауэра, которая доступна во многих дистрибутивах Linux. Хотя его модификация может показаться сложной поначалу, эта шпаргалка должна показать вам, насколько он прост в использовании и как быстро вы сможете приступить к работе с вашим брандмауэром.

https://gist.github.com/davydany/0ad377f6de3c70056d2bd0f1549e1017
Iptables - Официальная документация

Iptables — утилита командной строки, является стандартным интерфейсом управления работой межсетевого экрана (брандмауэра) Netfilter для ядер Linux, начиная с версии 2.4. С её помощью администраторы создают и изменяют правила, управляющие фильтрацией и перенаправлением пакетов. Для работы с семейством протоколов IPv6 существует отдельная версия утилиты — Ip6tables. Для использования утилиты Iptables требуются привилегии суперпользователя (root).

https://help.ubuntu.ru/wiki/iptables
👍31
Права доступа в Linux
3👍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
2
OSI Model Vs TCP/IP Model
👍2
Защита от брутфорса и эксплоитов OpenSSH

В последних версиях OpenSSH появилась защита от брутфорса (перебора) паролей, а также от попыток эксплоита. Это очень ценные настройки, которыми разработчики рекомендуют воспользоваться всем.

Нужно отметить, что новая функция OpenSSH фундаментально отличается от fail2ban, sshguard и подобных инструментов, поскольку она не парсит логи и не изменяет правила файрвола, а применяет опции только внутри одной программы, не обращаясь никуда через ядро, что делает её гораздо безопаснее вышеупомянутых утилит.

В июньском коммите один из разработчиков OpenSSH Дэмиен Миллер (Damien Miller) представил новые опции конфигурации sshd(8): PerSourcePenalties и PerSourcePenaltyExemptList. Как написано в коммите, изменения вводят «штраф за нежелательное поведение». В реальности они добавляют привычную опцию для многих веб-приложений — задержку после ввода неправильного пароля (первый патч). А также защиту от введения такой задержки для некоторых клиентов (второй патч).

https://habr.com/ru/companies/globalsign/articles/835316/
3
Совет по Linux 💡🐧

Если вы хотите определить, сколько времени займет выполнение определенной команды или скрипта, используйте команду time.

Вот синтаксис:

$ time <команда>.

Пример:
$ time find / -perm -u=s -type f &>/dev/null

Он также показывает использование системных ресурсов процесса, что делает его полезным инструментом для оценки эффективности конкретной команды.
Структура файловой системы в Linux

🔵/bin: Содержит исполняемые бинарные файлы различных служб, доступные для запуска всем пользователям сервера. Включает базовые команды, такие как echo, cat, cd, pwd, ls и другие.
🔵/boot: Содержит файлы загрузчика и ядра операционной системы. Без этих файлов система не сможет запуститься.
🔵/dev: Содержит файлы устройств, подключенных к серверу, такие как терминалы (tty*) и специальные устройства, такие как null, random, zero, а также диски и их разделы (vda*).
🔵/etc: Хранит конфигурационные файлы служб по умолчанию. Здесь можно настроить параметры работы различных служб.
🔵/home: Предназначена для домашних каталогов пользователей. Здесь создаются домашние директории для локальных пользователей.
🔵/lib и /lib64: Содержат библиотеки, необходимые для работы системных служб и файлы для загрузки системы и модуля ядра. /lib также является символьной ссылкой на /usr/lib.
🔵/media: Автоматически монтирует внешние устройства, такие как USB и CD-ROM.
🔵/mnt: Используется для временного монтирования внешних устройств, чаще всего вручную.
🔵/opt: Предназначена для установки пользовательского программного обеспечения.
🔵/proc: Хранит информацию о процессах и системную информацию в виде «виртуальной файловой системы».
🔵/root: Домашняя папка для корневого пользователя root.
🔵/run: Включает данные, обрабатываемые и хранимые в оперативной памяти, такие как PID процессов и информация о ходе их выполнения.
🔵/sbin: Содержит исполняемые бинарные файлы системных служб, запуск которых возможен только с правами администратора. Является символьной ссылкой на /usr/sbin.
🔵/srv: Предназначена для общедоступных данных службы, таких как веб-сервер или FTP-сервер. По умолчанию не содержит данных.
🔵/sys: Содержит виртуальную файловую систему, в которую экспортируются данные ядра операционной системы и его модулей.
🔵/tmp: Используется для хранения временных файлов операционной системой и службами.
🔵/usr: Хранит исполняемые файлы, библиотеки и файлы документации для внутренних служб, а также данные программ, установленных пользователями. /bin, /sbin, /lib и /lib64 являются символьными ссылками на соответствующие каталоги внутри /usr.
🔵/var: Содержит часто изменяемые данные, такие как кэши, логи, очереди. Тут хранятся данные сайтов, баз данных, почтового сервера и др.
Эта файловая структура помогает упорядочить данные и облегчает навигацию и управление операционной системой.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31
alias — команда, позволяющая создавать более краткие или более привычные псевдонимы для часто используемых команд

Команда alias позволяет всего лишь связать псевдоним с произвольной командой. Механизм псевдонимов позволяет устанавливать более короткие или привычные имена для часто используемых команд. Еще одним преимуществом данного механизма является возможность использования в составе псевдонимов аргументов команд. Впервые данный механизм был реализован в рамках командной оболочки csh, после чего он был перенесен в такие командные оболочки, как bash и другие.

Синтаксис команды для установки псевдонима зависит от используемой командной оболочки. В случае командных оболочек, основанных на Bourne shell (ksh, bash, и других, но не sh), синтаксис является следующим:

$ alias <псевдоним>=<команда>

В том случае, если при вызове команды должна осуществляться передача аргументов, следует использовать одинарные или двойные кавычки:

$ alias <псевдоним>="<команда> <аргумент> ..."

В случае же командных оболочек, основанных на csh (csh, tcsh и других), кавычки не требуются:

$ alias <псевдоним> <команда> [аргументы …]

Несложно заметить, что главное отличие в данном случае заключается в использовании знака равенства и необходимости использования кавычек. При вызове команды alias без аргументов будет выведен список объявленных в текущее время псевдонимов.

После установки псевдоним будет работать лишь в рамках текущей сессии командной оболочки. Для того, чтобы активировать этот псевдоним на постоянной основе, вам придется добавить его в один из файлов конфигурации используемой в текущее время командной оболочки. В случае командной оболочки bash псевдонимы для отдельных пользователей чаще всего размещаются в файле конфигурации ~/.bashrc, а общесистемные псевдонимы — в файле конфигурации /etc/profile. В случае командной оболочки tcsh аналогичными файлами конфигурации являются файлы ~/.tcshrc и /etc/login соответственно.

Примеры
Простой псевдоним для пользователей операционной системы DOS:

$ alias dir="ls -l"

А это пример более сложного псевдонима:

$ alias topcom='sort ~/.bash_history | uniq -ci | sort -r | less'

Данный псевдоним упрощает обращение к списку наиболее часто используемых команд и может стать шаблоном для новых псевдонимов.

А это еще один пример псевдонима для ознакомления со списком смонтированных дисковых разделов:

$ alias mnt='mount | grep -i /dev/[h]d[a..g] | sort'

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

Например, даже такая простая функция, как

$ bak () { cp -a $1 $1.bak }

не может быть преобразована в псевдоним из-за использования переменной "$1".

Установка псевдонима на постоянной основе
Для установки псевдонима на постоянной основе для всех пользователей, всех командных оболочек (ksh, bash, …) и всех типов командных оболочек (использующихся и не использующихся для входа в систему) вам придется:

- модифицировать файл конфигурации /etc/profile для командных оболочек, использующихся для входа в систему
- модифицировать файл конфигурации /etc/bash_bashrc для командных оболочек, не использующихся для входа в систему

Деактивация псевдонима
Используйте команду unalias.
This media is not supported in your browser
VIEW IN TELEGRAM
Как работают протоколы в модели TCP IP?
2