Протоколы транспортного уровня UDP, TCP И SCTP: достоинства и недостатки
На скринах рассматриваются три основных протокола транспортного уровня: UDP, TCP и SCTP, их преи- мущества и недостатки. Анализируется логика работы протоколов и ситуации, при которых предпо- чтительно использовать тот или иной протокол. Также приведено соответствие стека TCP/IP модели OSI и примеры приложений, использующих данные протоколы.
@sysadmin1
На скринах рассматриваются три основных протокола транспортного уровня: UDP, TCP и SCTP, их преи- мущества и недостатки. Анализируется логика работы протоколов и ситуации, при которых предпо- чтительно использовать тот или иной протокол. Также приведено соответствие стека TCP/IP модели OSI и примеры приложений, использующих данные протоколы.
@sysadmin1
👍5🔥2🎉2👌2🏆2
Offensive Linux Security Tools
🔍 Reconnaissance (Разведка)
- Recon-ng
- theHarvester
- Nmap
- Zenmap
- DNSRecon
- Mitaka
- Maltego
- Fierce
- SpiderFoot
- Masscan
- ZMap
🛠 Vulnerability Scanning (Сканирование уязвимостей)
- OpenVAS
- w3af
- Nikto
- Vuls
- Nessus 💲
🌐 Network-based Attacks (Сетевые атаки)
- Wireshark
- Ettercap
- ArpSpoof
- NetCat
- dSniff
- Scapy
- hping3
- Yersinia
🔑 Password & Brute Force Attacks (Атаки на пароли и перебор)
- John the Ripper
- Hashcat
- Crunch
- Hydra
- Medusa
- Rainbowcrack
- CeWL
- Patator
- Ophcrack
- pydictor
- Kraken
📱 Mobile Security (Безопасность мобильных устройств)
- Drozer
- Androguard
- Frida
- MobSF
- MAST
- NetHunter
- Android Tamer
- Apktool
- Quark Engine
- bettercap
🔄 Reverse Engineering (Реверс-инжиниринг)
- Radare2
- Ghidra
- Angr
🎯 Exploitation (Эксплуатация уязвимостей)
- Metasploit
- Exploit Pack
- SQL Ninja
- PTF
- jSQL Injection
- sqlmap
- Armitage
- BeEF
- RouterSploit
- ShellNoob
- ysoserial
- Ropper
- Commix
- Exploit-DB
- Pwntools
- SearchSploit
- XSSer
🏴☠️ Post-Exploitation (Действия после атаки)
- Empire
- Pupy
- Bloodhound
- Mimikatz
- DnsCat2
- Koadic
- Meterpreter
- BeRoot
- Pwncat
📶 Wireless Attacks (Атаки на беспроводные сети)
- Kismet
- PixieWPS
- Wifite
- Reaver
- Aircrack-ng
- airgeddon
- Wifi Pumpkin
🎭 Social Engineer & Phishing (Социальная инженерия и фишинг)
- SET
- Gophish
- King Phisher
- PhishX
🖥 Web App Pen Testing (Тестирование веб-приложений)
- Burp Suite 💲
- OWASP ZAP
- Arachni
- Wfuzz
- Skipfish
📋 Reporting & Documentation (Отчёты и документация)
- Dradis
- Faraday
- Serpico
- DefectDojo
- MagicTree
- Lair-framework
@sysadmin1
🔍 Reconnaissance (Разведка)
- Recon-ng
- theHarvester
- Nmap
- Zenmap
- DNSRecon
- Mitaka
- Maltego
- Fierce
- SpiderFoot
- Masscan
- ZMap
🛠 Vulnerability Scanning (Сканирование уязвимостей)
- OpenVAS
- w3af
- Nikto
- Vuls
- Nessus 💲
🌐 Network-based Attacks (Сетевые атаки)
- Wireshark
- Ettercap
- ArpSpoof
- NetCat
- dSniff
- Scapy
- hping3
- Yersinia
🔑 Password & Brute Force Attacks (Атаки на пароли и перебор)
- John the Ripper
- Hashcat
- Crunch
- Hydra
- Medusa
- Rainbowcrack
- CeWL
- Patator
- Ophcrack
- pydictor
- Kraken
📱 Mobile Security (Безопасность мобильных устройств)
- Drozer
- Androguard
- Frida
- MobSF
- MAST
- NetHunter
- Android Tamer
- Apktool
- Quark Engine
- bettercap
🔄 Reverse Engineering (Реверс-инжиниринг)
- Radare2
- Ghidra
- Angr
🎯 Exploitation (Эксплуатация уязвимостей)
- Metasploit
- Exploit Pack
- SQL Ninja
- PTF
- jSQL Injection
- sqlmap
- Armitage
- BeEF
- RouterSploit
- ShellNoob
- ysoserial
- Ropper
- Commix
- Exploit-DB
- Pwntools
- SearchSploit
- XSSer
🏴☠️ Post-Exploitation (Действия после атаки)
- Empire
- Pupy
- Bloodhound
- Mimikatz
- DnsCat2
- Koadic
- Meterpreter
- BeRoot
- Pwncat
📶 Wireless Attacks (Атаки на беспроводные сети)
- Kismet
- PixieWPS
- Wifite
- Reaver
- Aircrack-ng
- airgeddon
- Wifi Pumpkin
🎭 Social Engineer & Phishing (Социальная инженерия и фишинг)
- SET
- Gophish
- King Phisher
- PhishX
🖥 Web App Pen Testing (Тестирование веб-приложений)
- Burp Suite 💲
- OWASP ZAP
- Arachni
- Wfuzz
- Skipfish
📋 Reporting & Documentation (Отчёты и документация)
- Dradis
- Faraday
- Serpico
- DefectDojo
- MagicTree
- Lair-framework
@sysadmin1
🔥5🏆4⚡2👍2❤1
Как заставить пользователя изменить пароль при следующем входе в систему
Существует несколько способов.
Использование команды passwd
Использование команды chage
Срок действия паролей
Будет выведена следующая информация:
Когда пароль был последний раз изменен;
Дата окончания действия пароля;
Сколько дней осталось до окончания действия пароля;
Когда учетная запись пользователя будет закончена (можно, пожалуйста, далее мы будем говорить «заэкспайрится»?)
Минимальное количество дней между итерацией смены пароля;
Максимальное количество дней между итерацией смены пароля;
Заставляем пользователя менять пароль каждые 90 дней
Задаем срок жизни учетной записи (до 12 июня 2023)
Сколько времени на смену пароля?
В примере даем Борису 10 дней на смену пароля с момента как пароль заэкспайрился
Уведомление о смене пароля заранее
Через 25 дней истекает срок годности пароля Бориса
Защищаемся от частой смены паролей пользователя
Минимальное количество дней между сменой паролей
Удалить ограничение в днях
@sysadmin1
Существует несколько способов.
Использование команды passwd
sudo passwd --expire [username]Использование команды chage
sudo chage --lastday 0 [username]Срок действия паролей
chage -lБудет выведена следующая информация:
Когда пароль был последний раз изменен;
Дата окончания действия пароля;
Сколько дней осталось до окончания действия пароля;
Когда учетная запись пользователя будет закончена (можно, пожалуйста, далее мы будем говорить «заэкспайрится»?)
Минимальное количество дней между итерацией смены пароля;
Максимальное количество дней между итерацией смены пароля;
Заставляем пользователя менять пароль каждые 90 дней
sudo chage -M 90Задаем срок жизни учетной записи (до 12 июня 2023)
sudo chage -E 2023-06-12 serg
sudo chage -E 2023-06-12 olegСколько времени на смену пароля?
В примере даем Борису 10 дней на смену пароля с момента как пароль заэкспайрился
sudo chage -I 10 borisУведомление о смене пароля заранее
Через 25 дней истекает срок годности пароля Бориса
sudo chage -W 25 borisЗащищаемся от частой смены паролей пользователя
Минимальное количество дней между сменой паролей
sudo chage -m 25 borisУдалить ограничение в днях
sudo chage -m 0 sergey@sysadmin1
🔥4👍3❤2🎉2🏆1
Зарезервированные переменные Bash
Переменная Значение
@sysadmin1
Переменная Значение
$DIRSTACK Содержимое вершины стека каталогов.$EDITOR Текстовый редактор по-умолчанию.$EUID Эффективный UID. Если вы использовали программу su для выполнения команд от другого пользователя, то эта переменная содержит UID этого пользователя.$UID Содержит реальный идентификатор, который устанавливается только при логине.$FUNCNAME Имя текущей функции в скрипте.$GROUPS Массив групп к которым принадлежит текущий пользователь.$HOME Домашний каталог пользователя.$HOSTNAME hostname машины.$HOSTTYPE Архитектура машины.$LC_CTYPE Внутренняя переменная, которая определяет кодировку символов.$OLDPWD Прежний рабочий каталог.$OSTYPE Тип ОС.$PATH Путь поиска программ.$PPID Идентификатор родительского процесса.$SECONDS Время работы скрипта (в сек.)$# Общее количество параметров переданных скрипту$* Все аргументы переданыне скрипту(выводятся в строку).$@ Тоже самое, что и предыдущий, но параметры выводятся в столбик.$! PID последнего запущенного в фоне процесса.$$ PID самого скрипта.$? Содержит код завершения последней команды.@sysadmin1
🔥3👍2🎉2❤1🏆1
Основные команды Linux: Сеть (DNS)
@sysadmin1
ipcalc – калькулятор сетиethtool interface – отобразить физическую статистику интерфейса interface;ping host – пропинговать host и вывести результатwhois domain – получить информацию whois для domaintraceroute host – трассировка маршрута до определенного хостаifconfig eth0 – отображение/настройка параметров сетевого интерфейса etho (либо другого, если без указания интерфейса – отобразит конфигурацию всех интерфейсов)inet ip.add.re.s – задание ip адреса интерфейса (TCP/IP)mask xxx.xxx.xxx.xxx – задание маски подсети интерфейсаbroadkast xxx.xxx.xxx.xxx – задание широковещательного адреса интерфейсаup – запустить интерфейсdown – остановить интерфейс-a – отображение всех железных интерфейсов (в том числе и не поднятых и поднятых)route – отображение таблицу маршрутизации-n – не резолвить имена в адресаadd destination gw gateway metric metric – добавить маршрут (add) для destination (адрес назначения), IP адрес шлюза (gw) – gateway, с метрикой metricadd -net -указание добавить маршрут для сетиadd – host -указание добавить маршрут для хостаdel destination – удалить маршрут с назначением destinationmtr host – отображение статистики трассировки до хоста host (красивее чем трасероут 🙂 )netcat host port – просмотр, кто слушает портnc – TCP/IP швейцарсий нож 🙂-h – отобразить помощь-l port – прослушивать локальный порт port для входящих соединений.netstat -отображение статистики сети-r – таблица маршрутизации-n – без разрешения IP адресов в имена и сетевых портов в названия-a – состояние всех (во всех состояниях) соединений на локальной машине-t – статистика по протоколу TCP-u – статистика по протоколу UDP-i – отобразить статистику сетевых интерфейсов-l – просмотр сокетов, слушающих (LISTEN) соединения (ожидающих соединения)-p – отобразить имя программы и PID (process ID), с которой взаимодействует сокет@sysadmin1
👍4❤2🔥2🎉2💯2
📌Шпаргалка по отладке IP-пакетов (debug ip packet) в Cisco IOS
1. Включение отладки IP-пакетов
- Включает отладку всех IP-пакетов, проходящих через устройство.
- Будьте осторожны, так как это может создать высокую нагрузку на устройство, особенно в busy сетях.
2. Ограничение отладки
Чтобы уменьшить нагрузку, можно использовать Access Control List (ACL) для фильтрации пакетов:
-
-
3. Отключение отладки
или
``
- Отключает все отладочные команды или конкретно отладку IP-пакетов.
4. Интерпретация вывода
Вывод команды
- Source IP — IP-адрес отправителя.
- Destination IP — IP-адрес получателя.
- Protocol — используемый протокол (например, TCP, UDP, ICMP).
- Packet action — действие с пакетом (например, "forwarded", "dropped").
- Interface — интерфейс, через который проходит пакет.
Пример вывода:
- Пакет от 192.168.1.1 к 192.168.2.1 был переслан с интерфейса FastEthernet0/0 на FastEthernet0/1.
5. Полезные советы
- Используйте
- Для снижения нагрузки используйте фильтры (ACL).
- Включите логирование на консоль или буфер для анализа:
- Для остановки вывода на экран используйте:
6. Альтернативные команды
- Проверка маршрутизации:
- Проверка ARP-таблицы:
- Трассировка маршрута:
@sysadmin1
1. Включение отладки IP-пакетов
debug ip packet
- Включает отладку всех IP-пакетов, проходящих через устройство.
- Будьте осторожны, так как это может создать высокую нагрузку на устройство, особенно в busy сетях.
2. Ограничение отладки
Чтобы уменьшить нагрузку, можно использовать Access Control List (ACL) для фильтрации пакетов:
access-list 100 permit ip host <source-ip> host <destination-ip>
debug ip packet detail 100
-
access-list 100 — ACL, который фильтрует пакеты по source и destination IP.-
detail — показывает детализированную информацию о пакетах.3. Отключение отладки
undebug all
или
``
bash
no debug ip packet
``- Отключает все отладочные команды или конкретно отладку IP-пакетов.
4. Интерпретация вывода
Вывод команды
debug ip packet включает:- Source IP — IP-адрес отправителя.
- Destination IP — IP-адрес получателя.
- Protocol — используемый протокол (например, TCP, UDP, ICMP).
- Packet action — действие с пакетом (например, "forwarded", "dropped").
- Interface — интерфейс, через который проходит пакет.
Пример вывода:
IP: s=192.168.1.1 (FastEthernet0/0), d=192.168.2.1 (FastEthernet0/1), len 100, forward
- Пакет от 192.168.1.1 к 192.168.2.1 был переслан с интерфейса FastEthernet0/0 на FastEthernet0/1.
5. Полезные советы
- Используйте
debug только при необходимости и на короткое время.- Для снижения нагрузки используйте фильтры (ACL).
- Включите логирование на консоль или буфер для анализа:
logging console
logging buffered 10000
- Для остановки вывода на экран используйте:
no logging console
6. Альтернативные команды
- Проверка маршрутизации:
show ip route
- Проверка ARP-таблицы:
show ip arp
- Трассировка маршрута:
traceroute <destination-ip>
@sysadmin1
❤3👍3🔥3🎉2💯2
This media is not supported in your browser
VIEW IN TELEGRAM
Что происходит, когда вы вводите в браузер URL-адрес?
Давайте рассмотрим этот процесс пошагово.
Шаг 1. Пользователь вводит в браузер URL и нажимает Enter. Первое, что нам нужно сделать, это преобразовать URL в IP-адрес. Сопоставление обычно хранится в кэше, поэтому браузер ищет IP-адрес в нескольких уровнях кэша: кэше браузера, кэше ОС, локальном кэше и кэше провайдера. Если браузер не смог найти сопоставление в кэше, он обращается к DNS (Domain Name System) resolver для его разрешения.
Шаг 2. Если IP-адрес не удается найти ни в одном из кэшей, браузер обращается к DNS-серверам для выполнения рекурсивного DNS-поиска, пока IP-адрес не будет найден.
Шаг 3. Теперь, когда у нас есть IP-адрес сервера, браузер посылает на него HTTP-запрос. Для безопасного доступа к ресурсам сервера всегда следует использовать протокол HTTPS. Сначала браузер устанавливает TCP-соединение с сервером с помощью трехстороннего рукопожатия TCP. Затем он посылает открытый ключ клиенту. Клиент использует открытый ключ для шифрования сеансового ключа и отправляет его серверу. Сервер использует закрытый ключ для расшифровки сеансового ключа. Теперь клиент и сервер могут обмениваться зашифрованными данными с использованием сеансового ключа.
Шаг 4. Сервер обрабатывает запрос и отправляет ответ. Для успешного ответа код состояния равен 200. Ответ состоит из трех частей: HTML, CSS и Javascript. Браузер анализирует HTML и формирует дерево DOM. Он также анализирует CSS и генерирует дерево CSSOM. Затем он объединяет дерево DOM и дерево CSSOM в дерево рендеринга. Браузер отображает содержимое и показывает его пользователю.
@sysadmin1
Давайте рассмотрим этот процесс пошагово.
Шаг 1. Пользователь вводит в браузер URL и нажимает Enter. Первое, что нам нужно сделать, это преобразовать URL в IP-адрес. Сопоставление обычно хранится в кэше, поэтому браузер ищет IP-адрес в нескольких уровнях кэша: кэше браузера, кэше ОС, локальном кэше и кэше провайдера. Если браузер не смог найти сопоставление в кэше, он обращается к DNS (Domain Name System) resolver для его разрешения.
Шаг 2. Если IP-адрес не удается найти ни в одном из кэшей, браузер обращается к DNS-серверам для выполнения рекурсивного DNS-поиска, пока IP-адрес не будет найден.
Шаг 3. Теперь, когда у нас есть IP-адрес сервера, браузер посылает на него HTTP-запрос. Для безопасного доступа к ресурсам сервера всегда следует использовать протокол HTTPS. Сначала браузер устанавливает TCP-соединение с сервером с помощью трехстороннего рукопожатия TCP. Затем он посылает открытый ключ клиенту. Клиент использует открытый ключ для шифрования сеансового ключа и отправляет его серверу. Сервер использует закрытый ключ для расшифровки сеансового ключа. Теперь клиент и сервер могут обмениваться зашифрованными данными с использованием сеансового ключа.
Шаг 4. Сервер обрабатывает запрос и отправляет ответ. Для успешного ответа код состояния равен 200. Ответ состоит из трех частей: HTML, CSS и Javascript. Браузер анализирует HTML и формирует дерево DOM. Он также анализирует CSS и генерирует дерево CSSOM. Затем он объединяет дерево DOM и дерево CSSOM в дерево рендеринга. Браузер отображает содержимое и показывает его пользователю.
@sysadmin1
🔥5❤3👍3🎉2💯2
🚀 Шпаргалка по управлению логами с помощью Logrotate
Logrotate — это мощный инструмент для управления лог-файлами в Linux. Он помогает автоматизировать ротацию, сжатие, удаление и отправку логов, чтобы они не занимали всё свободное место на диске.
Основные команды Logrotate
1. Запуск вручную:
Можно указать конкретный конфиг:
2. Принудительная ротация:
3. Тестирование конфигурации:
(ключ
Структура конфигурационного файла
Конфигурация Logrotate обычно находится в
Пример конфига для ротации логов приложения:
Ключевые директивы
- daily/weekly/monthly/yearly: Частота ротации.
- rotate N: Хранить N архивов.
- compress: Сжимать логи (по умолчанию gzip).
- delaycompress: Сжимать не сразу, а на следующий цикл.
- missingok: Пропустить, если файл отсутствует.
- notifempty: Не ротировать пустые файлы.
- size: Ротация по размеру (например,
- create MODE USER GROUP: Создать новый файл с указанными правами.
- postrotate/endscript: Выполнить команды после ротации.
- prerotate/endscript: Выполнить команды перед ротацией.
- sharedscripts: Запускать скрипты один раз для всех логов.
- dateext: Добавлять дату к имени архива (вместо номера).
- olddir DIR: Перемещать архивы в указанную директорию.
Примеры использования
1. Ротация по размеру:
2. Ротация с отправкой логов на удалённый сервер:
3. Ротация с удалением старых логов:
Полезные советы
- Проверяйте конфигурацию перед применением с помощью
- Используйте
- Не забывайте про
@sysadmin1
Logrotate — это мощный инструмент для управления лог-файлами в Linux. Он помогает автоматизировать ротацию, сжатие, удаление и отправку логов, чтобы они не занимали всё свободное место на диске.
Основные команды Logrotate
1. Запуск вручную:
logrotate /etc/logrotate.conf
Можно указать конкретный конфиг:
logrotate /etc/logrotate.d/myapp
2. Принудительная ротация:
logrotate -f /etc/logrotate.conf
3. Тестирование конфигурации:
logrotate -d /etc/logrotate.conf
(ключ
-d включает режим отладки, изменения не применяются). Структура конфигурационного файла
Конфигурация Logrotate обычно находится в
/etc/logrotate.conf или в отдельных файлах в /etc/logrotate.d/. Пример конфига для ротации логов приложения:
/var/log/myapp/*.log {
daily # Ротация ежедневно
missingok # Пропустить, если файл отсутствует
rotate 7 # Хранить 7 архивов
compress # Сжимать архивы (gzip)
delaycompress # Сжимать не сразу, а на следующий цикл
notifempty # Не ротировать пустые файлы
create 0644 root root # Создать новый файл с указанными правами
sharedscripts # Запускать скрипты один раз для всех логов
postrotate
/usr/bin/systemctl restart myapp > /dev/null
endscript
}Ключевые директивы
- daily/weekly/monthly/yearly: Частота ротации.
- rotate N: Хранить N архивов.
- compress: Сжимать логи (по умолчанию gzip).
- delaycompress: Сжимать не сразу, а на следующий цикл.
- missingok: Пропустить, если файл отсутствует.
- notifempty: Не ротировать пустые файлы.
- size: Ротация по размеру (например,
size 100M или size 1G). - create MODE USER GROUP: Создать новый файл с указанными правами.
- postrotate/endscript: Выполнить команды после ротации.
- prerotate/endscript: Выполнить команды перед ротацией.
- sharedscripts: Запускать скрипты один раз для всех логов.
- dateext: Добавлять дату к имени архива (вместо номера).
- olddir DIR: Перемещать архивы в указанную директорию.
Примеры использования
1. Ротация по размеру:
/var/log/nginx/*.log {
size 100M
rotate 5
compress
missingok
notifempty
create 0644 www-data www-data
}
2. Ротация с отправкой логов на удалённый сервер:
/var/log/myapp/*.log {
daily
rotate 7
compress
postrotate
scp /var/log/myapp/*.gz user@remote:/backup/logs/
endscript
}
3. Ротация с удалением старых логов:
/var/log/oldlogs/*.log {
weekly
rotate 2
compress
missingok
notifempty
olddir /var/log/archived
}
Полезные советы
- Проверяйте конфигурацию перед применением с помощью
logrotate -d. - Используйте
cron для автоматизации запуска Logrotate. - Не забывайте про
postrotate, если нужно перезапускать сервисы после ротации. @sysadmin1
👍5❤3🔥2🎉2🏆2
🛠 Шпаргалка по настройке RAID-массивов
📌 Основные типы RAID
- RAID 0 (Striping) – максимальная скорость, нет отказоустойчивости.
- RAID 1 (Mirroring) – дублирование данных, отказ одного диска не влияет.
- RAID 5 (Striping с чексуммами) – минимум 3 диска, отказ 1 диска.
- RAID 6 (Striping с двойными чексуммами) – минимум 4 диска, отказ 2 дисков.
- RAID 10 (RAID 1+0) – минимум 4 диска, скорость и отказоустойчивость.
🏗 Настройка RAID в Linux (mdadm)
1️⃣ Установка
2️⃣ Создание RAID
- RAID 0:
- RAID 1:
- RAID 5:
- RAID 6:
- RAID 10:
3️⃣ Проверка статуса RAID
4️⃣ Форматирование RAID и монтирование
Добавить в
🔄 Управление RAID
🔹 Добавление нового диска
🔹 Удаление неисправного диска
🔹 Восстановление массива
🔹 Удаление RAID
📝 Сохранение конфигурации
📍 Дополнительно
- Проверка состояния дисков:
- Мониторинг RAID:
@sysadmin1
📌 Основные типы RAID
- RAID 0 (Striping) – максимальная скорость, нет отказоустойчивости.
- RAID 1 (Mirroring) – дублирование данных, отказ одного диска не влияет.
- RAID 5 (Striping с чексуммами) – минимум 3 диска, отказ 1 диска.
- RAID 6 (Striping с двойными чексуммами) – минимум 4 диска, отказ 2 дисков.
- RAID 10 (RAID 1+0) – минимум 4 диска, скорость и отказоустойчивость.
🏗 Настройка RAID в Linux (mdadm)
1️⃣ Установка
mdadm sudo apt install mdadm # Для Debian/Ubuntu
sudo yum install mdadm # Для CentOS/RHEL
2️⃣ Создание RAID
- RAID 0:
sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sd[b-c]
- RAID 1:
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sd[b-c]
- RAID 5:
sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sd[b-d]
- RAID 6:
sudo mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sd[b-e]
- RAID 10:
sudo mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sd[b-e]
3️⃣ Проверка статуса RAID
cat /proc/mdstat
sudo mdadm --detail /dev/md0
4️⃣ Форматирование RAID и монтирование
sudo mkfs.ext4 /dev/md0
sudo mkdir /mnt/raid
sudo mount /dev/md0 /mnt/raid
Добавить в
fstab для автоматического монтирования: echo "/dev/md0 /mnt/raid ext4 defaults,nofail,discard 0 2" | sudo tee -a /etc/fstab
🔄 Управление RAID
🔹 Добавление нового диска
sudo mdadm --add /dev/md0 /dev/sdX
🔹 Удаление неисправного диска
sudo mdadm --fail /dev/md0 /dev/sdX
sudo mdadm --remove /dev/md0 /dev/sdX
🔹 Восстановление массива
sudo mdadm --add /dev/md0 /dev/sdX
🔹 Удаление RAID
sudo umount /mnt/raid
sudo mdadm --stop /dev/md0
sudo mdadm --remove /dev/md0
sudo mdadm --zero-superblock /dev/sd[b-e]
📝 Сохранение конфигурации
sudo mdadm --detail --scan >> /etc/mdadm/mdadm.conf
sudo update-initramfs -u # Для Debian/Ubuntu
📍 Дополнительно
- Проверка состояния дисков:
sudo smartctl -a /dev/sdX
- Мониторинг RAID:
sudo mdadm --monitor --scan --daemonize
@sysadmin1
🎉2💯2👍1🔥1🏆1
🛠 Шпаргалка: Диагностика и замена компонентов серверов
🔎 1. Базовая диагностика сервера
✅ Проверка аппаратного состояния
- IPMI / iLO / iDRAC / BMC – удалённый мониторинг железа
- BIOS/UEFI – проверка ошибок железа
- POST (Power-On Self-Test) – отслеживание ошибок при загрузке
- Лог сервера (DMESG, Syslog, Event Log)
📌 Команды диагностики в Linux
- Просмотр оборудования:
- Информация о процессоре:
- Информация о памяти:
- Проверка SMART-дисков:
- Загрузка и температура компонентов:
- Проверка ошибок оперативной памяти:
- Проверка RAID-массива:
- Мониторинг сетевых интерфейсов:
🛠 2. Замена компонентов
🔹 Замена процессора (CPU)
1. Выключите сервер и отключите питание
2. Снимите систему охлаждения (радиатор, вентилятор)
3. Аккуратно замените процессор (проверить контакты)
4. Нанесите термопасту, установите охлаждение
5. Включите сервер и проверьте BIOS
🔹 Замена оперативной памяти (RAM)
1. Отключите сервер
2. Извлеките старые модули, установите новые
3. Проверьте в BIOS (должна определиться)
4. Протестируйте память:
🔹 Замена дисков (HDD / SSD)
- Для обычного диска:
1. Выключите сервер
2. Извлеките неисправный диск, вставьте новый
3. Проверьте BIOS / RAID
4. Инициализируйте диск в ОС:
- Для RAID:
1. Проверить статус RAID:
2. Отметить диск как неисправный и удалить:
3. Добавить новый диск:
🔹 Замена блока питания (PSU)
1. Полностью обесточьте сервер
2. Снимите старый блок питания
3. Установите новый (проверить разъемы)
4. Включите сервер, проверьте питание
🔹 Замена вентиляторов и системы охлаждения
1. Очистите пыль
2. Проверьте работу вентиляторов:
3. При необходимости замените, учитывая направление воздушного потока
🚀 3. После замены
🔄 Проверка работоспособности
- Просмотр логов:
- Тестирование нагрузки:
- Мониторинг температуры:
🔧 Создание отчёта о системе
@sysadmin1
🔎 1. Базовая диагностика сервера
✅ Проверка аппаратного состояния
- IPMI / iLO / iDRAC / BMC – удалённый мониторинг железа
- BIOS/UEFI – проверка ошибок железа
- POST (Power-On Self-Test) – отслеживание ошибок при загрузке
- Лог сервера (DMESG, Syslog, Event Log)
📌 Команды диагностики в Linux
- Просмотр оборудования:
lshw -short
- Информация о процессоре:
lscpu
- Информация о памяти:
free -m
dmidecode -t memory
- Проверка SMART-дисков:
smartctl -a /dev/sdX
- Загрузка и температура компонентов:
sensors
htop
- Проверка ошибок оперативной памяти:
journalctl -k | grep -i "memory"
- Проверка RAID-массива:
cat /proc/mdstat
sudo mdadm --detail /dev/md0
- Мониторинг сетевых интерфейсов:
ethtool eth0
ip -s link show eth0
🛠 2. Замена компонентов
🔹 Замена процессора (CPU)
1. Выключите сервер и отключите питание
2. Снимите систему охлаждения (радиатор, вентилятор)
3. Аккуратно замените процессор (проверить контакты)
4. Нанесите термопасту, установите охлаждение
5. Включите сервер и проверьте BIOS
🔹 Замена оперативной памяти (RAM)
1. Отключите сервер
2. Извлеките старые модули, установите новые
3. Проверьте в BIOS (должна определиться)
4. Протестируйте память:
memtester 512M 5
🔹 Замена дисков (HDD / SSD)
- Для обычного диска:
1. Выключите сервер
2. Извлеките неисправный диск, вставьте новый
3. Проверьте BIOS / RAID
4. Инициализируйте диск в ОС:
lsblk
fdisk /dev/sdX
- Для RAID:
1. Проверить статус RAID:
cat /proc/mdstat
2. Отметить диск как неисправный и удалить:
mdadm --fail /dev/md0 /dev/sdX
mdadm --remove /dev/md0 /dev/sdX
3. Добавить новый диск:
mdadm --add /dev/md0 /dev/sdX
🔹 Замена блока питания (PSU)
1. Полностью обесточьте сервер
2. Снимите старый блок питания
3. Установите новый (проверить разъемы)
4. Включите сервер, проверьте питание
🔹 Замена вентиляторов и системы охлаждения
1. Очистите пыль
2. Проверьте работу вентиляторов:
ipmitool sdr list | grep FAN
3. При необходимости замените, учитывая направление воздушного потока
🚀 3. После замены
🔄 Проверка работоспособности
- Просмотр логов:
dmesg | tail -50
journalctl -xe
- Тестирование нагрузки:
stress-ng --cpu 4 --timeout 60s
- Мониторинг температуры:
sensors
watch -n 2 sensors
🔧 Создание отчёта о системе
lshw > hardware_report.txt
dmidecode > bios_info.txt
journalctl -b > boot_log.txt
@sysadmin1
❤4👍3🔥3✍2⚡2
🛠Шпаргалка по настройке DKIM, SPF, DMARC
1. SPF (Sender Policy Framework)
SPF помогает получающим серверам проверять, разрешено ли отправителю рассылать письма от имени домена.
Настройка:
1. Добавьте TXT-запись в DNS-зону домена.
2. Пример SPF-записи:
-
-
-
Проверка SPF:
- Используйте https://mxtoolbox.com/SuperTool.aspx
2. DKIM (DomainKeys Identified Mail)
DKIM – цифровая подпись писем, которая подтверждает их подлинность и целостность.
Настройка:
1. Включите DKIM в панели управления почтового сервиса (например, Gmail, Microsoft 365).
2. Добавьте в DNS TXT-запись с публичным ключом.
3. Пример DKIM-записи:
-
-
-
Проверка DKIM:
- Используйте https://dkimcore.org/tools/keycheck.html
3. DMARC (Domain-based Message Authentication, Reporting, and Conformance)
DMARC определяет, что делать с письмами, если они не проходят SPF и DKIM.
Настройка:
1. Добавьте TXT-запись в DNS-зону домена.
2. Пример DMARC-записи:
-
-
-
-
Проверка DMARC:
- Используйте https://mxtoolbox.com/dmarc.aspx
💡 Рекомендации:
- Начинайте с
- Регулярно проверяйте DMARC-отчёты.
- Убедитесь, что все ваши сервисы добавлены в SPF.
- Обновляйте DKIM-ключи каждые 6-12 месяцев.
🔹 Сохраните эту шпаргалку, чтобы не потерять! 🔹
@sysadmin1
1. SPF (Sender Policy Framework)
SPF помогает получающим серверам проверять, разрешено ли отправителю рассылать письма от имени домена.
Настройка:
1. Добавьте TXT-запись в DNS-зону домена.
2. Пример SPF-записи:
v=spf1 include:_spf.google.com ~all
-
v=spf1 – версия SPF-
include:_spf.google.com – разрешаем Google отправлять письма от имени домена-
~all – мягкий отказ (можно заменить на -all для жёсткого отказа)Проверка SPF:
- Используйте https://mxtoolbox.com/SuperTool.aspx
2. DKIM (DomainKeys Identified Mail)
DKIM – цифровая подпись писем, которая подтверждает их подлинность и целостность.
Настройка:
1. Включите DKIM в панели управления почтового сервиса (например, Gmail, Microsoft 365).
2. Добавьте в DNS TXT-запись с публичным ключом.
3. Пример DKIM-записи:
v=DKIM1; k=rsa; p=MIIBIjANBgkqh...
-
v=DKIM1 – версия DKIM-
k=rsa – алгоритм шифрования-
p=MIIBIjANBgkqh... – публичный ключПроверка DKIM:
- Используйте https://dkimcore.org/tools/keycheck.html
3. DMARC (Domain-based Message Authentication, Reporting, and Conformance)
DMARC определяет, что делать с письмами, если они не проходят SPF и DKIM.
Настройка:
1. Добавьте TXT-запись в DNS-зону домена.
2. Пример DMARC-записи:
v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.com; pct=100
-
v=DMARC1 – версия DMARC-
p=quarantine – политика (можно none, quarantine, reject)-
rua=mailto:dmarc-reports@example.com – email для отчётов-
pct=100 – процент писем, к которым применяется политикаПроверка DMARC:
- Используйте https://mxtoolbox.com/dmarc.aspx
💡 Рекомендации:
- Начинайте с
p=none, затем переходите на quarantine, потом reject.- Регулярно проверяйте DMARC-отчёты.
- Убедитесь, что все ваши сервисы добавлены в SPF.
- Обновляйте DKIM-ключи каждые 6-12 месяцев.
🔹 Сохраните эту шпаргалку, чтобы не потерять! 🔹
@sysadmin1
👍5❤2✍2🔥2🎉2
Управление сервисами systemd через
1. Основные команды для управления сервисами
Используем команду
Запуск, остановка и перезапуск сервиса
Включение и отключение автозапуска
Проверка состояния сервиса
Проверка запущенных сервисов
2. Работа с юнитами systemd
Каждый сервис в
Перезапуск systemd и перечитывание конфигурации
Редактирование юнитов сервисов
Удаление override-конфигурации
3. Дополнительные команды
Маскировка и размаскировка сервиса
Выключение и перезагрузка системы через systemd
4. Примеры работы
Запуск и настройка сервиса Nginx
Остановка и отключение сервиса Apache
5. Полезные флаги systemctl
Флаг Описание
@sysadmin1
systemctl1. Основные команды для управления сервисами
Используем команду
systemctl для управления сервисами (демонами) в systemd.Запуск, остановка и перезапуск сервиса
sudo systemctl start <service> # Запуск сервиса
sudo systemctl stop <service> # Остановка сервиса
sudo systemctl restart <service> # Перезапуск сервиса
sudo systemctl reload <service> # Перезагрузка конфигурации (без остановки)
Включение и отключение автозапуска
sudo systemctl enable <service> # Включить автозапуск сервиса
sudo systemctl disable <service> # Отключить автозапуск сервиса
sudo systemctl is-enabled <service> # Проверить статус автозапуска
Проверка состояния сервиса
systemctl status <service> # Проверить текущее состояние сервиса
journalctl -u <service> # Просмотреть логи сервиса
Проверка запущенных сервисов
systemctl list-units --type=service --state=running # Вывести запущенные сервисы
systemctl list-units --type=service # Все загруженные сервисы
2. Работа с юнитами systemd
Каждый сервис в
systemd представлен в виде юнита (.service).Перезапуск systemd и перечитывание конфигурации
sudo systemctl daemon-reexec # Перезапуск systemd без перезапуска сервисов
sudo systemctl daemon-reload # Обновить конфигурацию systemd после изменения юнитов
Редактирование юнитов сервисов
sudo systemctl edit <service> # Изменить конфигурацию юнита (создает override)
sudo systemctl cat <service> # Просмотреть конфигурацию юнита
Удаление override-конфигурации
sudo systemctl revert <service>
3. Дополнительные команды
Маскировка и размаскировка сервиса
sudo systemctl mask <service> # Полностью отключить сервис (даже если включен)
sudo systemctl unmask <service> # Разрешить сервис (после mask)
Выключение и перезагрузка системы через systemd
sudo systemctl reboot # Перезагрузка системы
sudo systemctl poweroff # Выключение системы
sudo systemctl suspend # Усыпление системы
sudo systemctl halt # Остановка системы без выключения питания
4. Примеры работы
Запуск и настройка сервиса Nginx
sudo systemctl start nginx # Запускаем сервис
sudo systemctl enable nginx # Включаем автозапуск
systemctl status nginx # Проверяем статус
journalctl -u nginx --no-pager # Просматриваем логи
Остановка и отключение сервиса Apache
sudo systemctl stop apache2 # Остановка сервиса
sudo systemctl disable apache2 # Отключение автозапуска
sudo systemctl mask apache2 # Полностью блокируем его запуск
5. Полезные флаги systemctl
Флаг Описание
--no-pager Вывод без постраничного просмотра--failed Показывает только сбойные юниты--type=service Фильтр по типу "service"--all Показывает все юниты, включая неактивные@sysadmin1
🔥5👍3⚡2❤2🎉2
Порты и протоколы 📡💻
🔹 Общие сетевые протоколы
- ARP – Протокол разрешения адресов (сопоставляет IP с MAC-адресом).
- TCP – Протокол управления передачей (соединение с контролем передачи).
- UDP – Протокол дейтаграмм пользователя (бесконтактная передача данных).
🔹 Протоколы управления сетью
- DHCP (udp/67, udp/68) – Протокол динамической конфигурации узла (автоматическая выдача IP).
- DNS (udp/53, tcp/53) – Система доменных имен (преобразует доменные имена в IP).
- ICMP – Протокол управляющих сообщений (используется для диагностики сети).
- SNMP (udp/161) – Простой протокол управления сетью (сбор данных и управление устройствами).
- Telnet (tcp/23) – Доступ к удалённому устройству через консоль.
- SSH (tcp/22) – Безопасный удалённый доступ к устройству (зашифрованный вход в консоль).
- RDP (tcp/3389) – Протокол удалённого рабочего стола (графический интерфейс удалённого управления).
🔹 Приложенческие протоколы
- FTP (tcp/20, tcp/21) – Протокол передачи файлов (отправка и получение файлов между устройствами).
- TFTP (udp/69) – Упрощённая версия FTP (простой способ передачи файлов).
- SMB (tcp/445) – Протокол обмена файлами в Windows (сетевой доступ к файлам и принтерам).
- SMTP (tcp/25) – Простой протокол передачи почты (отправка email).
- POP3 (tcp/110) – Протокол почты версии 3 (получение email в клиенте).
- IMAP4 (tcp/143) – Улучшенная версия почтового протокола (удобное управление email).
- HTTP (tcp/80) – Протокол передачи гипертекста (основа веб-коммуникации).
- HTTPS (tcp/443) – Безопасный HTTP (шифрованное соединение в интернете).
- TLS/SSL (tcp/443) – Протоколы безопасного соединения (защита веб-трафика).
- NetBIOS (udp/137, udp/138, tcp/139) – Протоколы для взаимодействия устройств в локальной сети.
🔹 Протоколы VoIP (голосовая связь по IP)
- SIP (tcp/5060-5061) – Протокол установления соединений (VoIP-сигнализация).
- RTP (динамический порт) – Протокол передачи реального времени (VoIP-аудио/видео поток).
- MGCP (udp/2427, udp/2727) – Протокол управления медиашлюзами.
- H.323 (tcp/1720) – Протокол голосовой связи по IP.
@sysadmin1
🔹 Общие сетевые протоколы
- ARP – Протокол разрешения адресов (сопоставляет IP с MAC-адресом).
- TCP – Протокол управления передачей (соединение с контролем передачи).
- UDP – Протокол дейтаграмм пользователя (бесконтактная передача данных).
🔹 Протоколы управления сетью
- DHCP (udp/67, udp/68) – Протокол динамической конфигурации узла (автоматическая выдача IP).
- DNS (udp/53, tcp/53) – Система доменных имен (преобразует доменные имена в IP).
- ICMP – Протокол управляющих сообщений (используется для диагностики сети).
- SNMP (udp/161) – Простой протокол управления сетью (сбор данных и управление устройствами).
- Telnet (tcp/23) – Доступ к удалённому устройству через консоль.
- SSH (tcp/22) – Безопасный удалённый доступ к устройству (зашифрованный вход в консоль).
- RDP (tcp/3389) – Протокол удалённого рабочего стола (графический интерфейс удалённого управления).
🔹 Приложенческие протоколы
- FTP (tcp/20, tcp/21) – Протокол передачи файлов (отправка и получение файлов между устройствами).
- TFTP (udp/69) – Упрощённая версия FTP (простой способ передачи файлов).
- SMB (tcp/445) – Протокол обмена файлами в Windows (сетевой доступ к файлам и принтерам).
- SMTP (tcp/25) – Простой протокол передачи почты (отправка email).
- POP3 (tcp/110) – Протокол почты версии 3 (получение email в клиенте).
- IMAP4 (tcp/143) – Улучшенная версия почтового протокола (удобное управление email).
- HTTP (tcp/80) – Протокол передачи гипертекста (основа веб-коммуникации).
- HTTPS (tcp/443) – Безопасный HTTP (шифрованное соединение в интернете).
- TLS/SSL (tcp/443) – Протоколы безопасного соединения (защита веб-трафика).
- NetBIOS (udp/137, udp/138, tcp/139) – Протоколы для взаимодействия устройств в локальной сети.
🔹 Протоколы VoIP (голосовая связь по IP)
- SIP (tcp/5060-5061) – Протокол установления соединений (VoIP-сигнализация).
- RTP (динамический порт) – Протокол передачи реального времени (VoIP-аудио/видео поток).
- MGCP (udp/2427, udp/2727) – Протокол управления медиашлюзами.
- H.323 (tcp/1720) – Протокол голосовой связи по IP.
@sysadmin1
👍4🔥3❤2✍2💯2