Системный администратор - Сетевые технологии - Компьютерная помощь
6.88K subscribers
3.11K photos
4.46K videos
1.06K files
660 links
Канал для системных администраторов или те кто работает в ИТ сфере.
📚КНИГИ ПО
💠Cisco systems
💠Mikrotik
💠VoIP
💠Linux
💠 Windows server
💠 Сетевые технологии
📽Видеоуроки
🤝Поддержка
Наша группа: @SySAD
Feedback bot: @SySADbot
Download Telegram
Шпаргалка по основным командам Linux 📌

@sysadmin1
👍63🔥2🎉21
Маршруты в Windows

route print - вывести список всех маршрутов, ключ -4 выведет все маршруты только по протоколу ipv4

Добавить маршрут в Windows
Синтаксис добавления маршрута в CMD
route add -p <SUBNET_ID> mask <SUBNET_MASK> <GATEWAY> <METRIC> IF <INTERFACE_ID>

где:
Ключ -p (persistent) добавит статический маршрут, т.е. он сохранится после перезагрузки. Во избежание стрельбы себе в ногу лучше сначала добавить без -p, протестить и потом уже добавить с -p.
SUBNET ID - подсеть которую мы добавляем
SUBNET MASK - маска для нового маршрута
METRIC - вес маршрута от 1 до 9999, чем меньше значение, тем выше приоритет маршрута
GATEWAY - гейтвей для новой подсети, по сути первый hop в который сервер отправит трафик
INTERFACE ID - необязательно, нро лучше указываем интерфейс, иначе может забиндиться на другой NIC и отправить трафик в неверном направлении, прописываем route print и смотрим внутренний номер интерфейса

Добавить маршрут в CMD
route add -p 192.168.0.0 MASK 255.255.255.0 192.168.1.1 metric 7 IF 11
Прочитать можно так: чтобы трафик попал в подсеть 192.168.0.0/24, нужно обратиться к узлу 192.168.1.1 через сетевой интерфейс с айди 11

Добавить маршрут в PowerShell
Тут вместо route print используется Get-NetRoute
Get-NetAdapter используется чтобы узнать Interface Index
New-NetRoute -DestinationPrefix "192.168.0.0/24" -RouteMetric 7 -InterfaceIndex 11 -NextHop 192.168.1.1


Удалить маршрут в Windows
Удалить маршрут в CMD
route delete 192.168.0.0 MASK 255.255.255.0 192.168.1.1 IF 11

Удалить маршрут в PowerShell
Remove-NetRoute -DestinationPrefix "192.168.0.0/24" -RouteMetric 7 -InterfaceIndex 11 -NextHop 192.168.1.1

@sysadmin1
👍64🔥1🎉1
Протоколы транспортного уровня UDP, TCP И SCTP: достоинства и недостатки

На скринах рассматриваются три основных протокола транспортного уровня: 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
🔥5🏆42👍21
Как заставить пользователя изменить пароль при следующем входе в систему

Существует несколько способов.

Использование команды 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👍32🎉2🏆1
Зарезервированные переменные Bash

Переменная Значение
$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🎉21🏆1
Основные команды Linux: Сеть (DNS)

ipcalc – калькулятор сети
ethtool interface – отобразить физическую статистику интерфейса interface;
ping host – пропинговать host и вывести результат
whois domain – получить информацию whois для domain
traceroute 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, с метрикой metric
add -net -указание добавить маршрут для сети
add – host -указание добавить маршрут для хоста
del destination – удалить маршрут с назначением destination
mtr 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
👍42🔥2🎉2💯2
📌Шпаргалка по отладке IP-пакетов (debug ip packet) в Cisco IOS


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
🔥53👍3🎉2💯2
🚀 Шпаргалка по управлению логами с помощью Logrotate

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
👍53🔥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️⃣ Установка 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