Push 163 file(s) from Obsidian
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
#linux #ssh
|
||||
Port Knocking — это метод скрытой защиты, при котором все критически важные порты (например, 22) блокируются файрволлом и открываются только после получения специальной последовательности запросов (knocks) на заранее заданные закрытые порты. Пока атакующий не знает правильного порядка и тайминга, его порт-сканер увидит лишь, что порт 22 просто закрыт.
|
||||
|
||||
Как дополнительный фактор защиты, port knocking может снизить обнаружение сервиса, а не пытаться бороться с последствиями (брутфорс, эксплуатация уязвимости).
|
||||
|
||||
⚙️ **Как настроить knockd на Linux**
|
||||
|
||||
Самый популярный инструмент — демон `knockd`. В большинстве дистрибутивов он ставится стандартным способом.
|
||||
|
||||
**1. Установка:**
|
||||
```bash
|
||||
apt update && apt install knockd iptables-persistent -y
|
||||
```
|
||||
|
||||
**2. Настройка автозапуска:**
|
||||
Редактируем `/etc/default/knockd`. Меняем `START_KNOCKD=0` на `START_KNOCKD=1`.
|
||||
|
||||
**3. Конфигурация knockd в `/etc/knockd.conf`:**
|
||||
|
||||
```ini
|
||||
[options]
|
||||
Interface = eth0
|
||||
logfile = /var/log/knockd.log
|
||||
|
||||
[openSSH]
|
||||
sequence = 661,671,681
|
||||
seq_timeout = 5
|
||||
tcpflags = syn
|
||||
start_command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
|
||||
stop_command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
|
||||
cmd_timeout = 30
|
||||
```
|
||||
|
||||
**Описание параметров:**
|
||||
|
||||
> 🟢 Interface — сетевой интерфейс, который будет прослушиваться.
|
||||
> 🟢 logfile — файл логирования knockd (необязательный параметр).
|
||||
> 🟢 sequence — последовательность портов для «стука». Можно также явно задать протокол (например, 661:udp, 671, 681:tcp).
|
||||
> 🟢 seq_timeout — время в секундах, за которое необходимо завершить «стук».
|
||||
> 🟢 tcpflags — флаги tcp, которые должны быть в «открывающей» последовательности. Можно указать несколько флагов или исключить их явно (например -fin,syn,ack), но в стандартной конфигурации используется флаг syn.
|
||||
> 🟢 start_command — команда, выполняемая после успешного «стука».
|
||||
> 🟢 stop_command — команда, выполняемая по истечении cmd_timeout.
|
||||
> 🟢 cmd_timeout — время в секундах, на которое открывается порт.
|
||||
|
||||
**4. Запуск демона:**
|
||||
```bash
|
||||
systemctl enable knockd && systemctl start knockd
|
||||
```
|
||||
|
||||
🔐 **Как открыть порт (клиент):**
|
||||
|
||||
С удаленного узла мы можем предъявить пропуск — простучать указанные порты в правильной последовательности.
|
||||
|
||||
knock -v target.host 661 671 681
|
||||
|
||||
|
||||
В ответ ты увидишь: `hitting tcp target.host:661` → `hitting tcp target.host:671` → `hitting tcp target.host:681`. После этого соединение по SSH станет возможным.
|
||||
|
||||
💀 **Атака через knockknock**
|
||||
|
||||
Если последовательность слишком простая (например, идущие подряд порты), её можно перебрать. Быстрый способ — специальные брутфорс-утилиты, которые за секунды перебирают тысячи комбинаций, дожидаясь открытия порта.
|
||||
+72
@@ -0,0 +1,72 @@
|
||||
**Vim** (_Vi Improved_)— свободный текстовый редактор, созданный на основе более старого vi, разработанного Биллом Джойем в 1991 году. Vim можно использовать как прямо в командной строке (большинство делает именно так), так и через GUI (gVim).
|
||||
|
||||
Vim может работать почти во всех операционных системах (вернее я просто не знаю ОС, в которой он не работает, возможно такой нет). А в современных Линуксах Vim вообще встроен по умолчанию. Скачать его для Windows вы можете [здесь](https://www.vim.org/download.php).
|
||||
|
||||
Про Vim и Vi написано внушительное количество книг внушительных объемов (как для текстового редактора), но в этой статье мы ограничимся лишь краткой инструкцией по режимам работы, основным командам и макросам, которых достаточно для комфортного использования редактора.
|
||||
|
||||
### Режимы работы Vim
|
||||
|
||||
- Режим команд (Command mode) - используется для выполнения команд. При запуске Vim, вы находитесь в этом режиме.
|
||||
|
||||
- Режим вставки (Insert mode) - используется для ввода текста. Для перехода в этот режим, нажмите клавишу "i".
|
||||
|
||||
- Режим замены (Replace mode) - используется для замены существующего текста. Для перехода в этот режим, нажмите клавишу "R".
|
||||
|
||||
- Режим визуального выделения (Visual mode) - используется для выделения текста для копирования, вырезания или изменения. Для перехода в этот режим, нажмите клавишу "v".
|
||||
|
||||
### Навигация
|
||||
|
||||
- h - переместить курсор влево
|
||||
|
||||
- j - переместить курсор вниз
|
||||
|
||||
- k - переместить курсор вверх
|
||||
|
||||
- l - переместить курсор вправо
|
||||
|
||||
- w - переместить курсор на начало следующего слова
|
||||
|
||||
- b - переместить курсор на начало предыдущего слова
|
||||
|
||||
- e - переместить курсор на конец текущего слова
|
||||
|
||||
- 0 - переместить курсор в начало строки
|
||||
|
||||
- $ - переместить курсор в конец строки
|
||||
|
||||
- gg - переместить курсор в начало файла
|
||||
|
||||
- G - переместить курсор в конец файла
|
||||
|
||||
|
||||
### Редактирование текста
|
||||
|
||||
- i - вставить текст перед курсором
|
||||
|
||||
- a - вставить текст после курсора
|
||||
|
||||
- o - вставить новую строку после текущей строки и перейти в режим вставки
|
||||
|
||||
- dd - вырезать текущую строку
|
||||
|
||||
- yy - скопировать текущую строку
|
||||
|
||||
- p - вставить скопированный или вырезанный текст после курсора
|
||||
|
||||
- u - отменить последнее действие
|
||||
|
||||
- Ctrl + r - повторить отмененное действие
|
||||
|
||||
|
||||
### Сохранение и выход из редактора
|
||||
|
||||
- :w - сохранить файл
|
||||
|
||||
- :q - выйти из Vim
|
||||
|
||||
- :wq - сохранить файл и выйти
|
||||
|
||||
|
||||
Всё это была лишь небольшая часть команд Vim, но как я уже писал, этого достаточно для быстрого старта и понимания того, что происходит в программе. Если вы хотите запомнить все эти команды и макросы, то рекомендую сразу проделать всё это в каком ни будь подопытном файле. Я думаю, что пары – тройки повторений каждой команды будет вполне достаточно для запоминания, по крайней мере, мне хватило.
|
||||
|
||||
На этом эта короткая статья подошла к концу, надеюсь, она была вам полезна. PDF с текстом шпаргалки, и другие полезные материалы вы можете скачать его [здесь](https://t.me/+mbTFRIJGjD84NDJi).
|
||||
@@ -0,0 +1,37 @@
|
||||
#linux #logs
|
||||
|
||||
🛑 Ошибка новичков – просто удалить файлы из /var/log/. Да, так освободится место, но службы, использующие логи, могут сломаться.
|
||||
|
||||
✅ Правильные способы очистки:
|
||||
🔹 Используем logrotate
|
||||
Это стандартный инструмент для управления логами в Linux. Настройки хранятся в /etc/logrotate.conf и /etc/logrotate.d/. Можно настроить автоудаление старых логов:
|
||||
```sh
|
||||
sudo nano /etc/logrotate.conf
|
||||
```
|
||||
|
||||
Добавляем:
|
||||
|
||||
/var/log/*.log {
|
||||
daily
|
||||
rotate 7
|
||||
compress
|
||||
missingok
|
||||
notifempty
|
||||
}
|
||||
|
||||
Это означает: чистим ежедневно, храним 7 копий, сжимаем старые файлы.
|
||||
|
||||
🔹 Очистка логов вручную
|
||||
Если нужно срочно освободить место, используем:
|
||||
```sh
|
||||
sudo truncate -s 0 /var/log/syslog
|
||||
sudo truncate -s 0 /var/log/auth.log
|
||||
```
|
||||
|
||||
Эта команда обнуляет файлы, не удаляя их.
|
||||
|
||||
🔹 Удаление старых логов
|
||||
Можно удалить файлы старше 7 дней:
|
||||
```sh
|
||||
sudo find /var/log -type f -name "*.log" -mtime +7 -delete
|
||||
```
|
||||
Reference in New Issue
Block a user