Системный администратор - Сетевые технологии - Компьютерная помощь
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

📜 journalctl – просмотр логов systemd
🔹 journalctl -f — следить за логами в реальном времени
🔹 journalctl -u nginx — логи конкретного сервиса
🔹 journalctl --since "1 hour ago" — логи за последний час
🔹 journalctl -b -1 — логи предыдущей загрузки

💡 Фильтрация:
🔹 journalctl -p err — только ошибки
🔹 journalctl -k — только сообщения ядра



🔄 logrotate – ротация логов
Файл конфигурации: /etc/logrotate.conf

Пример настройки ротации:
/var/log/nginx/*.log {
weekly
rotate 4
compress
missingok
notifempty
}

🔹 logrotate -d /etc/logrotate.conf — тест без изменений
🔹 logrotate -f /etc/logrotate.conf — принудительная ротация



📡 syslog (rsyslog, syslog-ng) – логирование в файлы и удаленно
🔹 Конфиг: /etc/rsyslog.conf
🔹 /var/log/syslog — общий системный лог
🔹 /var/log/auth.log — авторизации
🔹 /var/log/kern.log — логи ядра

💡 Пример отправки логов на удалённый сервер (rsyslog):
Добавить в /etc/rsyslog.conf:

*.* @192.168.1.100:514

🔹 Перезапуск: systemctl restart rsyslog



⚙️ dmesg – логи ядра
🔹 dmesg | grep -i error — ошибки ядра
🔹 dmesg -T — отображение времени в читаемом формате

🛠 Полезные команды:
🔹 dmesg -H — цветная и структурированная выдача
🔹 dmesg --level=err,warn — фильтр по уровню



📊 Мониторинг логов
🔹 tail -f /var/log/syslog — следить за логами
🔹 grep -i "error" /var/log/syslog — поиск ошибок
🔹 awk '{print $5}' /var/log/syslog | sort | uniq -c | sort -nr — топ источников логов

💡 Автоматизация: используйте fail2ban, logwatch и Grafana+Loki для анализа логов 🔥

Сохрани, чтобы не потерять! 🚀

@sysadmin1
👍4🎉2🏆21🔥1
🔐 ТРЕБУЕТСЯ СПЕЦИАЛИСТ ПО CYBERSECURITY

IT-компания приглашает опытного специалиста по информационной безопасности.

📌 Обязанности:
• Обеспечение безопасности корпоративной почты
• Настройка безопасности Windows Server AD и GPO
• Ведение logging и систем мониторинга
• Выявление и предотвращение уязвимостей
• Обеспечение безопасности сети и SQL
• Проведение тренингов по безопасности для сотрудников
• Внедрение и контроль политик безопасности

📌 Требования:
• Практический опыт в сфере Cybersecurity
• Понимание сетевой безопасности и firewall
• Опыт работы с SIEM / системами мониторинга
• Знание принципов Incident Response
• Умение работать в команде
• Знание русского и английского языков

⭐️ Будет преимуществом:
• Сертификаты CEH, Security+, CISSP
• Опыт в Linux или Cloud security

📍 г. Ташкент
👤 Возраст: 20–30
💰 Зарплата: 1000$ + KPI

📩 Отправляйте резюме: @it_manager7

@sysadmin1
👍32🔥2🎉1
📦 Резервное копирование и восстановление


🧰 Основные инструменты:
- tar — архивирование файлов
- rsync — синхронизация каталогов
- cron — автоматизация по расписанию
- BorgBackup — инкрементные зашифрованные бэкапы



📁 tar — Архивация

📦 Создание архива:
tar -czvf backup.tar.gz /путь/к/каталогу


🔍 Проверка содержимого:
tar -tzf backup.tar.gz


♻️ Восстановление:
tar -xzvf backup.tar.gz -C /куда/восстановить


📝 Полезно:
- -c — создать архив
- -x — извлечь
- -z — сжать gzip
- -v — вывод списка
- -f — указать имя файла



🔁 rsync — Синхронизация и инкрементные копии

📤 Бэкап локальной папки:
rsync -avh /источник/ /backup/каталог/


🌍 На удалённый сервер по SSH:
rsync -avz -e ssh /data/ user@host:/backup/


🛡️ С флагами:
- -a — архивный режим (всё сохраняет)
- -v — подробный вывод
- -z — сжатие
- --delete — удаляет на стороне назначения лишние файлы

📅 Пример: копирование с датой
rsync -av --progress /data/ /backup/$(date +%F)/




cron — Автоматизация задач

🛠️ Открыть crontab:
crontab -e


🕒 Пример задания: ежедневный бэкап в 2:00
0 2 * * * /usr/bin/rsync -a /data/ /backup/


📌 Формат:

мин ч д_мес мес д_нед команда


👀 Просмотр логов:
grep CRON /var/log/syslog




🧠 BorgBackup — Продвинутый бэкап с дедупликацией и шифрованием

📦 Создание репозитория:
borg init --encryption=repokey /backup/borg-repo


🧱 Резервное копирование:
borg create /backup/borg-repo::ИмяАрхива-$(date +%F) /data


🔍 Проверка архива:
borg list /backup/borg-repo


🛠️ Восстановление:
borg extract /backup/borg-repo::ИмяАрхива


🧹 Удаление старых архивов:
borg prune -v --keep-daily=7 --keep-weekly=4 --keep-monthly=6 /backup/borg-repo


🔐 Преимущества Borg:
- Шифрование по умолчанию
- Сжатие и дедупликация
- Поддержка удалённого хранения (через SSH)



Best Practices

🔁 Храните несколько копий в разных местах
🔒 Используйте шифрование для чувствительных данных
📋 Регулярно тестируйте восстановление
📆 Автоматизируйте с помощью cron, логируйте результаты
☁️ Подумайте о облачном бэкапе (rclone, borg + SSH, rsync + VPS)

@sysadmin1
👍2🎉21🔥1💯1
📌Fail2Ban — это утилита для защиты серверов от брутфорс-атак и других видов несанкционированного доступа путем временной блокировки IP-адресов.

1. Установка Fail2Ban
Debian/Ubuntu:
sudo apt update && sudo apt install fail2ban -y

CentOS/RHEL:
sudo yum install epel-release -y
sudo yum install fail2ban -y

Arch Linux:
sudo pacman -S fail2ban




2. Управление сервисом
Запуск и включение Fail2Ban
sudo systemctl start fail2ban
sudo systemctl enable fail2ban

Перезапуск и проверка статуса
sudo systemctl restart fail2ban
sudo systemctl status fail2ban




3. Конфигурация Fail2Ban
Файл конфигурации по умолчанию:
/etc/fail2ban/jail.conf

Рекомендуется создать локальную копию:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Редактировать:
sudo nano /etc/fail2ban/jail.local


Основные параметры
[DEFAULT]
bantime = 10m # Время бана (10 минут)
findtime = 10m # Временной промежуток для поиска нарушений
maxretry = 5 # Количество неудачных попыток до блокировки
ignoreip = 127.0.0.1/8 # IP-адреса, которые не будут заблокированы




4. Настройка фильтров
Фильтры хранятся в /etc/fail2ban/filter.d/.
Пример фильтра sshd.conf (/etc/fail2ban/filter.d/sshd.conf):
[Definition]
failregex = ^%(__prefix_line)sFailed password for .* from <HOST> port \d+ ssh2
ignoreregex =




5. Настройка jail для SSH
Файл /etc/fail2ban/jail.local:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log # Для Debian/Ubuntu
# logpath = /var/log/secure # Для CentOS/RHEL
maxretry = 3
bantime = 1h




6. Перезапуск и проверка работы
sudo systemctl restart fail2ban
sudo fail2ban-client status


Проверить конкретный jail:
sudo fail2ban-client status sshd




7. Разблокировка IP
Список заблокированных IP:
sudo fail2ban-client status sshd

Разблокировать IP:
sudo fail2ban-client set sshd unbanip 192.168.1.100




8. Логирование и отладка
Просмотр журнала Fail2Ban:
sudo journalctl -u fail2ban --no-pager

Лог-файл:
sudo tail -f /var/log/fail2ban.log




9. Полезные команды
Блокировка IP вручную
sudo fail2ban-client set sshd banip 192.168.1.200

Добавление в белый список (whitelist)
Добавьте IP в ignoreip в /etc/fail2ban/jail.local:
ignoreip = 127.0.0.1/8 192.168.1.100

Удаление бана с IP
sudo fail2ban-client set sshd unbanip 192.168.1.100

Удаление всех банов
sudo fail2ban-client set sshd unban --all




10. Автозапуск после перезагрузки
sudo systemctl enable fail2ban




11. Интеграция с UFW (Ubuntu)
Если используется UFW:
sudo nano /etc/fail2ban/jail.local

Добавьте:
[sshd]
enabled = true
backend = auto
port = ssh
filter = sshd
banaction = ufw

Перезапустите Fail2Ban:
sudo systemctl restart fail2ban


Эта шпаргалка содержит основные команды и конфигурации для защиты сервера от атак с помощью Fail2Ban. 🚀

@sysadmin1
🎉3🏆3🔥21👍1
📌 Автоматизация задач (cron, systemd timers, Ansible)

Всем доброй ночи!
Автоматизация — ключевой элемент эффективного администрирования серверов. В данном руководстве рассмотрены три основных инструмента автоматизации:
- cron — классический планировщик задач в UNIX-подобных системах.
- systemd timers — альтернатива cron, интегрированная в systemd.
- Ansible — инструмент управления конфигурацией и автоматизации.


1. Использование cron
cron позволяет запускать команды и скрипты по расписанию.

1.1. Основные файлы cron
- /etc/crontab — системный crontab.
- /etc/cron.d/ — каталог для пользовательских crontab-файлов.
- /var/spool/cron/crontabs/ — файлы crontab для отдельных пользователей.

1.2. Формат записи crontab

* * * * * /путь/к/команде аргументы
| | | | |
| | | | +---- День недели (0 - вс, 6 - сб)
| | | +------ Месяц (1-12)
| | +-------- День месяца (1-31)
| +---------- Часы (0-23)
+------------ Минуты (0-59)


Пример: запуск скрипта каждый день в 3:30 утра:

30 3 * * * /usr/local/bin/myscript.sh


1.3. Управление cron
- Просмотр текущего crontab:


crontab -l

- Редактирование crontab:


crontab -e

- Удаление crontab:


crontab -r

- Логи cron хранятся в /var/log/syslog (Ubuntu/Debian) или /var/log/cron (CentOS/RHEL).


2. Использование systemd timers
Systemd timers — альтернатива cron, предоставляющая больше возможностей, включая логирование и гибкость настроек.

2.1. Создание таймера
1. Создайте unit-файл для сервиса (/etc/systemd/system/myscript.service):

   [Unit]
Description=Запуск скрипта
[Service]
ExecStart=/usr/local/bin/myscript.sh

2. Создайте unit-файл для таймера (/etc/systemd/system/myscript.timer):

   [Unit]
Description=Таймер для myscript.service
[Timer]
OnCalendar=*-*-* 03:30:00
Persistent=true
[Install]
WantedBy=timers.target


2.2. Управление таймерами
- Включение таймера:

  systemctl enable --now myscript.timer

- Проверка состояния таймера:

  systemctl list-timers

- Просмотр логов:

  journalctl -u myscript.service --no-pager



3. Автоматизация с Ansible
Ansible позволяет управлять серверами без установки агентов.

3.1. Установка Ansible
Для Debian/Ubuntu:
sudo apt update && sudo apt install -y ansible

Для CentOS/RHEL:
sudo yum install -y epel-release
sudo yum install -y ansible


3.2. Базовая структура Ansible
inventory/hosts  # Список серверов
playbooks/
install_apache.yml # Пример Playbook
roles/
common/ # Роли Ansible


3.3. Пример Playbook
Файл install_apache.yml:
- hosts: webservers
become: yes
tasks:
- name: Установить Apache
apt:
name: apache2
state: present

Запуск:
ansible-playbook -i inventory/hosts playbooks/install_apache.yml


Заключение
- Используйте cron для простых задач.
- Применяйте systemd timers, если важны логи и интеграция с systemd.
- Автоматизируйте масштабные задачи с Ansible.

@sysadmin1
1👍1🔥1🤩1
🧰 Установка и управление пакетами в Linux

🗂 Основные менеджеры пакетов:
- apt — Debian/Ubuntu
- yum, dnf — CentOS, RHEL, Fedora
- pacman — Arch Linux
- snap, flatpak — кроссплатформенные



🟦 apt (Debian/Ubuntu)

apt update                   # Обновить список пакетов
apt upgrade # Обновить установленные пакеты
apt install <пакет> # Установить пакет
apt remove <пакет> # Удалить пакет (оставив конфиги)
apt purge <пакет> # Удалить с конфигами
apt autoremove # Удалить неиспользуемые зависимости
apt search <имя> # Найти пакет
apt show <пакет> # Информация о пакете




🟨 yum (CentOS 7 и старше)

yum check-update             # Проверить обновления
yum update # Обновить всё
yum install <пакет> # Установить
yum remove <пакет> # Удалить
yum info <пакет> # Информация о пакете
yum list installed # Все установленные пакеты
yum search <ключевое_слово> # Поиск




🟥 dnf (Fedora, CentOS 8+)

dnf check-update             # Проверить обновления
dnf upgrade # Обновить всё
dnf install <пакет> # Установить
dnf remove <пакет> # Удалить
dnf info <пакет> # Инфо о пакете
dnf search <имя> # Поиск
dnf list installed # Установленные пакеты




🟩 pacman (Arch Linux и производные)

pacman -Syu                  # Обновить систему
pacman -S <пакет> # Установить пакет
pacman -R <пакет> # Удалить
pacman -Rs <пакет> # Удалить с зависимостями
pacman -Ss <поиск> # Поиск в репозиториях
pacman -Qi <пакет> # Информация о пакете
pacman -Qdt # Найти осиротевшие пакеты




🌀 snap (Canonical, sandboxed)

snap find <пакет>            # Найти
snap install <пакет> # Установить
snap list # Установленные пакеты
snap refresh # Обновить всё
snap remove <пакет> # Удалить




🔵 flatpak (Sandboxed, альтернатива snap)

flatpak search <имя>        # Поиск
flatpak install <репо> <имя> # Установить (обычно `flathub`)
flatpak run <идентификатор> # Запустить
flatpak list # Список установленных
flatpak update # Обновить всё
flatpak uninstall <имя> # Удалить




📌 Примечание:
- snap и flatpak — изолированные окружения, не конфликтуют с системными пакетами.
- Используйте apt, dnf и др. для системных компонентов, а snap/flatpak — для десктопных/изолированных приложений.

@sysadmin1
1👍1🔥1🤩1