Admin Future
239 subscribers
50 photos
1 video
4 files
87 links
Превращаем эникейщиков в System Architects.
🚀 Твой навигатор в мире IT-инфраструктуры:

▪️ Hard Skills: Linux, Windows, Network, Security
▪️ Tools: Лучший софт и скрытые фишки
▪️ Mindset: Как думать, чтобы платили много


Админ - @maksimshap
Download Telegram
Ops (Повседневное): Мгновенная проверка SSL без браузера

Боль: Мониторинг "закричал", что сертификат на my-app.com протух. Вам нужно быстро проверить реальную дату окончания с консоли сервера, чтобы понять, обновился он или нет.

Реакция админа: Идти в браузер, нажимать на замочек, смотреть детали. (Долго и не всегда возможно из закрытого контура).

Решение: Однострочник на openssl

Эта команда стучится на сервер, забирает сертификат и выводит только дату его окончания.

Команда (запомните или запишите в алиас):


echo | openssl s_client -servername google.com -connect google.com:443 2>/dev/null | openssl x509 -noout -enddate

Замените google.com на свой домен.

Результат: notAfter=Nov 17 08:22:09 2025 GMT

Взгляд админа: Это база. Никаких сторонних сайтов-чекеров. Чистый, быстрый способ проверить SSL/TLS прямо из терминала, который легко встраивается в скрипты или используется для быстрой диагностики при авариях.

#linux #ssl #security #openssl #cli #sysadmin #troubleshooting #oneliner
🤖 Python-скрипт: Проверяем сроки действия SSL-сертификатов

Забыть продлить SSL — классический факап, после которого "лежит" прод. Давайте автоматизируем проверку.

Этот скрипт проверяет список доменов и пишет в Telegram, если сертификат истекает меньше чем через 7 дней.

Код (ssl_checker.py):

import ssl
import socket
import datetime
import requests

# Настройки
DOMAINS = ['google.com', 'yoursite.ru']
TG_TOKEN = 'ВАШ_ТОКЕН_БОТА'
CHAT_ID = 'ВАШ_CHAT_ID'
DAYS_ALERT = 7

def send_tg(message):
url = f"https://api.telegram.org/bot{TG_TOKEN}/sendMessage"
requests.post(url, data={"chat_id": CHAT_ID, "text": message})

def check_ssl(domain):
context = ssl.create_default_context()
conn = context.wrap_socket(socket.socket(socket.AF_INET), server_hostname=domain)
conn.connect((domain, 443))
cert = conn.getpeercert()

expire_date = datetime.datetime.strptime(cert['notAfter'], r"%b %d %H:%M:%S %Y %Z")
days_left = (expire_date - datetime.datetime.now()).days

if days_left < DAYS_ALERT:
return f"⚠️ {domain}: осталось {days_left} дн!"
return None

report = []
for d in DOMAINS:
try:
res = check_ssl(d)
if res: report.append(res)
except Exception as e:
report.append(f" Ошибка {d}: {str(e)}")

if report:
send_tg("\n".join(report))

Как запустить:
* Получите токен у @BotFather.
* Вставьте свои домены.
* Добавьте в Systemd Timer (как мы учили в прошлом посте 😉) или в Cron на ежедневный запуск.

Теперь вы узнаете о просроченном сертификате раньше, чем ваши пользователи.

#python #ssl #automation #scripting #ai4admin
🥴2
📅 OpenSSL: Не дай сертификату протухнуть 1 января

Самый частый факап начала года — истекший SSL-сертификат, про который забыли, потому что админ был в отпуске.
Браузер показывает только "зеленый замочек", но не дату смерти.

Проверьте дату истечения прямо из консоли (особенно для внутренних сервисов без автообновления).

Команда:


echo | openssl s_client -servername google.com -connect google.com:443 2>/dev/null | openssl x509 -noout -dates

Что смотреть в выводе:


notBefore=Dec 10 08:00:00 2025 GMT
notAfter=Mar 4 08:00:00 2026 GMT <-- Ваша дата X

Если видите дату начала января — ставьте задачу на замену сегодня.

#network #security #ssl #openssl #cert #troubleshooting
🐧 Bash: Проверка SSL-сертификатов до того, как они «протухнут»

Пятница — идеальный день, чтобы проверить, не отвалится ли какой-нибудь домен в субботу утром. 📉 Вместо того чтобы заходить на сайты руками, напишем скрипт, который массово проверяет даты истечения через openssl.

Полезный скрипт для списка доменов:

#!/bin/bash
# Список доменов для проверки
DOMAINS=("google.com" "github.com" "my-company.ru")

echo " Проверка сертификатов..."
for domain in "${DOMAINS[@]}"; do
expiration_date=$(echo | openssl s_client -servername "$domain" -connect "$domain":443 2>/dev/null | openssl x509 -noout -enddate | cut -d= -f2)

# Переводим в формат timestamp для сравнения
exp_epoch=$(date -d "$expiration_date" +%s)
now_epoch=$(date +%s)
days_left=$(( ($exp_epoch - $now_epoch) / 86400 ))

if [ $days_left -lt 7 ]; then
echo "🚨 $domain: ОСТАЛОСЬ ВСЕГО $days_left ДНЕЙ!"
else
echo " $domain: еще $days_left дней"
fi
done

Почему это маст-хэв: Этот скрипт можно легко обернуть в телеграм-бота, чтобы получать алерты, если до истечения осталось меньше 10 дней. Безопасность — это когда всё работает тихо. 🤫

#linux #bash #ssl #security #automation #sysadmin #devops 🔐