📌 Шпаргалка по настройке Postfix
▪️1. Установка Postfix
Ubuntu/Debian:
CentOS/RHEL:
После установки выбрать "Internet Site" и ввести доменное имя сервера.
▪️2. Основные конфигурационные файлы
📂 /etc/postfix/main.cf – главный конфиг
📂 /etc/postfix/master.cf – управление службами
📂 /etc/postfix/virtual – виртуальные почтовые ящики
📂 /etc/aliases – почтовые алиасы
Перезапуск после изменений:
▪️3. Основные параметры в
▪️4. Разрешение отправки почты
Добавить в
▪️5. Настройка SASL (Аутентификация)
Установить SASL:
Настроить
Добавить в
Перезапустить службы:
▪️6. Настройка DKIM (Подпись почты)
Установить OpenDKIM:
Настроить Postfix (
Сгенерировать ключ DKIM:
Добавить в DNS TXT-запись для
▪️7. Настройка SPF (Защита от подмены)
Добавить в DNS TXT-запись:
Проверка SPF:
▪️8. Настройка DMARC (Доп. защита)
Добавить в DNS TXT-запись:
▪️9. Очередь почты в Postfix
Просмотр очереди:
Удалить все письма:
Перезапустить доставку писем:
▪️10. Логирование и отладка
Проверить логи почты:
Проверить конфигурацию Postfix:
▪️1. Установка Postfix
Ubuntu/Debian:
sudo apt update && sudo apt install postfix -y
CentOS/RHEL:
sudo yum install postfix -y
После установки выбрать "Internet Site" и ввести доменное имя сервера.
▪️2. Основные конфигурационные файлы
📂 /etc/postfix/main.cf – главный конфиг
📂 /etc/postfix/master.cf – управление службами
📂 /etc/postfix/virtual – виртуальные почтовые ящики
📂 /etc/aliases – почтовые алиасы
Перезапуск после изменений:
sudo systemctl restart postfix
▪️3. Основные параметры в
main.cf
myhostname = mail.example.com # Имя почтового сервера
mydomain = example.com # Доменное имя
myorigin = $mydomain # Отправитель по умолчанию
inet_interfaces = all # Разрешить работу на всех интерфейсах
inet_protocols = ipv4 # Только IPv4 (по умолчанию IPv6 тоже включен)
mydestination = $myhostname, localhost.$mydomain, localhost
relayhost = # Ретрансляция отключена
▪️4. Разрешение отправки почты
Добавить в
main.cf
:
mynetworks = 127.0.0.0/8, 192.168.1.0/24 # Разрешенные сети
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination
▪️5. Настройка SASL (Аутентификация)
Установить SASL:
sudo apt install sasl2-bin -y
Настроить
/etc/default/saslauthd
:
START=yes
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
Добавить в
main.cf
:
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain = $mydomain
Перезапустить службы:
sudo systemctl restart saslauthd postfix
▪️6. Настройка DKIM (Подпись почты)
Установить OpenDKIM:
sudo apt install opendkim opendkim-tools -y
Настроить Postfix (
main.cf
):
milter_protocol = 2
milter_default_action = accept
smtpd_milters = unix:/run/opendkim/opendkim.sock
non_smtpd_milters = unix:/run/opendkim/opendkim.sock
Сгенерировать ключ DKIM:
sudo opendkim-genkey -b 2048 -d example.com -D /etc/opendkim/keys -s default -v
Добавить в DNS TXT-запись для
default._domainkey.example.com
.▪️7. Настройка SPF (Защита от подмены)
Добавить в DNS TXT-запись:
example.com TXT "v=spf1 mx ~all"
Проверка SPF:
nslookup -type=txt example.com
▪️8. Настройка DMARC (Доп. защита)
Добавить в DNS TXT-запись:
_dmarc.example.com TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"
▪️9. Очередь почты в Postfix
Просмотр очереди:
mailq
Удалить все письма:
postsuper -d ALL
Перезапустить доставку писем:
postqueue -f
▪️10. Логирование и отладка
Проверить логи почты:
sudo tail -f /var/log/mail.log
Проверить конфигурацию Postfix:
postconf -n
❤2
Как найти количество открытых файлов в Linux
Чтобы узнать количество открытых файлов в Linux, можно воспользоваться следующими командами:
1. Использовать
Эта команда покажет общее количество открытых файлов в системе, где
2. Использовать `/proc/sys/fs/file-nr` для просмотра счетчика открытых файлов:
Этот файл содержит три числа, разделенные табуляцией:
- Первое число — текущее количество открытых файлов.
- Второе число — количество файлов, которые находятся в ожидании.
- Третье число — максимальное количество файлов, которое система может открыть.
3. Подсчитать открытые файлы для определенного процесса:
Если нужно узнать количество открытых файлов конкретного процесса, можно использовать:
Замените
4. Использовать
Замените
Чтобы узнать количество открытых файлов в Linux, можно воспользоваться следующими командами:
1. Использовать
lsof
(List Open Files) для подсчета открытых файлов в системе:
lsof | wc -l
Эта команда покажет общее количество открытых файлов в системе, где
wc -l
подсчитывает количество строк, то есть количество открытых файлов.2. Использовать `/proc/sys/fs/file-nr` для просмотра счетчика открытых файлов:
cat /proc/sys/fs/file-nr
Этот файл содержит три числа, разделенные табуляцией:
- Первое число — текущее количество открытых файлов.
- Второе число — количество файлов, которые находятся в ожидании.
- Третье число — максимальное количество файлов, которое система может открыть.
3. Подсчитать открытые файлы для определенного процесса:
Если нужно узнать количество открытых файлов конкретного процесса, можно использовать:
lsof -p PID | wc -l
Замените
PID
на идентификатор процесса, который вас интересует.4. Использовать
lsof
для подсчета открытых файлов конкретным пользователем:
lsof -u username | wc -l
Замените
username
на имя пользователя, чтобы увидеть количество открытых файлов этим пользователем.❤1
Наглядное руководство по туннелированию SSH и переадресации портов
Если говорить коротко, то я жалею, что не знал о пробросе портов и туннелировании раньше. В этой статье я пытаюсь лучше понять это и поделиться с вами некоторым опытом и советами.
Темы: сценарии использования, конфигурация, SSH jumphosts, локальная/удаленная/динамическая переадресация портов и ограничения
https://ittavern.com/visual-guide-to-ssh-tunneling-and-port-forwarding/
Если говорить коротко, то я жалею, что не знал о пробросе портов и туннелировании раньше. В этой статье я пытаюсь лучше понять это и поделиться с вами некоторым опытом и советами.
Темы: сценарии использования, конфигурация, SSH jumphosts, локальная/удаленная/динамическая переадресация портов и ограничения
https://ittavern.com/visual-guide-to-ssh-tunneling-and-port-forwarding/
❤2
Хорошая статья, описывающая различные методы усиления защиты машины с Linux. (
Linux не является безопасной операционной системой. Однако есть шаги, которые можно предпринять для ее улучшения. Цель этого руководства - объяснить, как максимально усилить Linux для обеспечения безопасности и конфиденциальности. Руководство не зависит от дистрибутива и не привязано к какому-либо конкретному.
https://madaidans-insecurities.github.io/guides/linux-hardening.html
Eng ver
)Linux не является безопасной операционной системой. Однако есть шаги, которые можно предпринять для ее улучшения. Цель этого руководства - объяснить, как максимально усилить Linux для обеспечения безопасности и конфиденциальности. Руководство не зависит от дистрибутива и не привязано к какому-либо конкретному.
https://madaidans-insecurities.github.io/guides/linux-hardening.html
❤1
📌 Проверка доступности портов: nmap, netcat, telnet, nc
Иногда нужно быстро проверить, доступен ли нужный порт на удалённой машине. Вот шпаргалка по самым популярным способам:
▪️TCP-порты
Netcat:
NC (аналог Netcat):
Telnet:
Nmap:
▪️UDP-порты
Netcat:
NC:
Nmap:
Иногда нужно быстро проверить, доступен ли нужный порт на удалённой машине. Вот шпаргалка по самым популярным способам:
▪️TCP-порты
Netcat:
# Проверка конкретного порта
netcat domain.com 80
# Сканирование диапазона портов
netcat -z -v domain.com 1-1000
# Слушать порт 4444 на хосте
netcat -l 4444
# Проверка подключения к удалённому netcat
netcat domain.com 4444
NC (аналог Netcat):
nc -vt <ip> <port>
Telnet:
telnet <ip> <port>
Nmap:
# Проверка TCP-порта 25
nmap -p25 11.11.11.11
▪️UDP-порты
Netcat:
netcat -u <host> <port>
NC:
nc -vu <ip> <port>
Nmap:
# Проверка UDP-порта 53
nmap -sU -p U:53 11.1.11.12
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Как работают протоколы в модели TCP IP?
❤1👍1
Команда nslookup, получение информации от DNS
Команда nslookup — инструмент сетевого администрирования для запросов в доменной системе имен (DNS) с целью получения доменного имени, IP-адреса или другой информации из записей DNS.
Кроме того, эта команда используется для поиска и устранения проблем с DNS. В данном руководстве мы рассмотрим наиболее типичные примеры ее применения.
Команда nslookup может работать в интерактивном и неинтерактивном режимах. Интерактивный режим позволяет пользователю в режиме диалога отправлять DNS-серверу запросы о различных узлах и доменах. Неинтерактивный режим позволяет отправить один запрос об одном узле или домене.
https://telegra.ph/Komanda-nslookup-poluchenie-informacii-ot-DNS-09-26
Команда nslookup — инструмент сетевого администрирования для запросов в доменной системе имен (DNS) с целью получения доменного имени, IP-адреса или другой информации из записей DNS.
Кроме того, эта команда используется для поиска и устранения проблем с DNS. В данном руководстве мы рассмотрим наиболее типичные примеры ее применения.
Команда nslookup может работать в интерактивном и неинтерактивном режимах. Интерактивный режим позволяет пользователю в режиме диалога отправлять DNS-серверу запросы о различных узлах и доменах. Неинтерактивный режим позволяет отправить один запрос об одном узле или домене.
https://telegra.ph/Komanda-nslookup-poluchenie-informacii-ot-DNS-09-26
❤1
Веб-интерфейс для управления Nginx
Возможности :
▪️ Онлайн-статистика по серверным метрикам: загрузка CPU, использование памяти, средняя нагрузка, использование диска.
▪️ Автоматическое резервное копирование конфигураций после изменений с возможностью сравнения версий и восстановления.
▪️ Управление кластером с поддержкой зеркалирования операций на несколько узлов — упрощает работу в многосерверной среде.
▪️ Экспорт зашифрованных конфигураций Nginx/NginxUI для быстрой миграции и восстановления в новых окружениях.
▪️ Улучшенный онлайн-помощник ChatGPT с поддержкой нескольких моделей, включая отображение логики рассуждений Deepseek-R1 для лучшего понимания и оптимизации конфигураций.
▪️ Установка и автоматическое продление сертификатов Let's Encrypt в один клик.
▪️ Онлайн-редактирование конфигураций сайтов с помощью нашего собственного NgxConfigEditor — удобного блочного редактора конфигураций nginx, или Ace Code Editor с подсветкой синтаксиса nginx.
▪️ Онлайн-просмотр логов Nginx.
▪️ Написано на Go и Vue, дистрибутив — один исполняемый бинарник.
▪️ Автоматическая проверка конфигурационного файла и перезапуск nginx после сохранения.
▪️ Веб-терминал.
▪️ Тёмная тема.
▪️ Адаптивный веб-дизайн.
Быстрый старт с помощью Docker :
Убедитесь, что путь к конфигурационным файлам Nginx указан верно, особенно при использовании Docker.
https://github.com/0xJacky/nginx-ui
Возможности :
▪️ Онлайн-статистика по серверным метрикам: загрузка CPU, использование памяти, средняя нагрузка, использование диска.
▪️ Автоматическое резервное копирование конфигураций после изменений с возможностью сравнения версий и восстановления.
▪️ Управление кластером с поддержкой зеркалирования операций на несколько узлов — упрощает работу в многосерверной среде.
▪️ Экспорт зашифрованных конфигураций Nginx/NginxUI для быстрой миграции и восстановления в новых окружениях.
▪️ Улучшенный онлайн-помощник ChatGPT с поддержкой нескольких моделей, включая отображение логики рассуждений Deepseek-R1 для лучшего понимания и оптимизации конфигураций.
▪️ Установка и автоматическое продление сертификатов Let's Encrypt в один клик.
▪️ Онлайн-редактирование конфигураций сайтов с помощью нашего собственного NgxConfigEditor — удобного блочного редактора конфигураций nginx, или Ace Code Editor с подсветкой синтаксиса nginx.
▪️ Онлайн-просмотр логов Nginx.
▪️ Написано на Go и Vue, дистрибутив — один исполняемый бинарник.
▪️ Автоматическая проверка конфигурационного файла и перезапуск nginx после сохранения.
▪️ Веб-терминал.
▪️ Тёмная тема.
▪️ Адаптивный веб-дизайн.
Быстрый старт с помощью Docker :
docker run -d \
--name nginx-ui \
-p 8080:8080 \
-v /etc/nginx:/etc/nginx \
-v /var/run/nginx.pid:/var/run/nginx.pid \
0xjacky/nginx-ui
Убедитесь, что путь к конфигурационным файлам Nginx указан верно, особенно при использовании Docker.
https://github.com/0xJacky/nginx-ui
❤3
Полезные команды Powershell для Active Directory
Получить всех пользователей AD в домене
Модуль импорта Active Directory
Получить все компьютеры из домена
Отключить пользователя AD по имени учетной записи SAM
Экспорт данных в формат CSV
Получить имя учетной записи AD Groups SAM
Выбрать конкретный атрибут пользователя
Получить информацию о домене
Установите роль Active Directory
Получить список контроллеров домена
Получить всех пользователей AD в домене
Get-aduser -properties * -filter *
Модуль импорта Active Directory
Import-module activedirectory
Получить все компьютеры из домена
Get-adcomputer -properties * -filter *
Отключить пользователя AD по имени учетной записи SAM
Disable-ADaccount -identity "Name"
Экспорт данных в формат CSV
Get-adcomputer -properties * -filter * |export-csv "give path"
Получить имя учетной записи AD Groups SAM
Get-ADgroup -identity "provide group name"
Выбрать конкретный атрибут пользователя
Get-aduser -properties * -filter *
Получить информацию о домене
Get-ADdomain
Установите роль Active Directory
Install-windowsfeature AD-Domain-Services
Получить список контроллеров домена
Get-ADDomainController
❤1
Замена дисков меньшего объёма на диски большего объёма в Linux
В данной статье будет рассмотрены 2 случая замены дисков и переноса информации на новые диски большего объёма с дальнейшим расширением массива и файловой системы. Первый случай будет касаться замены дисков c одноименной разметкой MBR/MBR либо GPT/GPT, второй случай касается замены дисков с разметкой MBR на диски объёмом более 2 TB, на которые потребуется ставить разметку GPT с разделом biosboot.
В данной статье будет рассмотрены 2 случая замены дисков и переноса информации на новые диски большего объёма с дальнейшим расширением массива и файловой системы. Первый случай будет касаться замены дисков c одноименной разметкой MBR/MBR либо GPT/GPT, второй случай касается замены дисков с разметкой MBR на диски объёмом более 2 TB, на которые потребуется ставить разметку GPT с разделом biosboot.
❤3
Руководство по SSH-туннелям
В этой статье описаны случаи использования и примеры туннелей SSH с наглядным представлением потоков трафика. Например, здесь представлен обратный туннель, который позволяет только пользователям с IP-адреса 1.2.3.4 получить доступ к порту 80 на SSH-клиенте через SSH-сервер.
https://robotmoon.com/ssh-tunnels/
В этой статье описаны случаи использования и примеры туннелей SSH с наглядным представлением потоков трафика. Например, здесь представлен обратный туннель, который позволяет только пользователям с IP-адреса 1.2.3.4 получить доступ к порту 80 на SSH-клиенте через SSH-сервер.
https://robotmoon.com/ssh-tunnels/
❤1
Объединение файлов командой cat
Команду cat в большинстве случаев используют только для просмотра файлов. На самом деле одно из ее предназначений это конкатенация (объединение) файлов. А название команды происходит от слова catenate (сцепить), то есть присоединение одного после другого.
Под объединением файлов понимается их соединение. Например, если мы имеем два текстовых файла и в одном из них записана строка:
А в другом:
То после объединения мы получим файл с двумя строками:
То есть происходит простое соединение файлов. К содержимому одного добавляется содержимое другого. Это касается не только текстовых файлов, но и всех остальных (бинарных, например).
Чтобы объединить два файла командой cat нужно просто указать в качестве аргументов названия этих файлов и направить результат выполнения в новый файл. Например, мы хотим объединить два файла file1 и file2, а результат записать в новый файл file12. Тогда мы должны выполнить следующую команду:
Вы можете объединить неограниченное количество файлов. Например, чтобы объединить четыре файла и записать результат в файл myfile, выполните команду:
Команду cat в большинстве случаев используют только для просмотра файлов. На самом деле одно из ее предназначений это конкатенация (объединение) файлов. А название команды происходит от слова catenate (сцепить), то есть присоединение одного после другого.
Под объединением файлов понимается их соединение. Например, если мы имеем два текстовых файла и в одном из них записана строка:
My text file 1
А в другом:
My text file 2
То после объединения мы получим файл с двумя строками:
My text file 1
My text file 2
То есть происходит простое соединение файлов. К содержимому одного добавляется содержимое другого. Это касается не только текстовых файлов, но и всех остальных (бинарных, например).
Чтобы объединить два файла командой cat нужно просто указать в качестве аргументов названия этих файлов и направить результат выполнения в новый файл. Например, мы хотим объединить два файла file1 и file2, а результат записать в новый файл file12. Тогда мы должны выполнить следующую команду:
cat file1 file2 > file12
Вы можете объединить неограниченное количество файлов. Например, чтобы объединить четыре файла и записать результат в файл myfile, выполните команду:
cat file1 file2 file3 file4 > myfile
❤1