Получение SSL-сертификата от Let's Encrypt

С декабря 2015 года появилась возможность получать сертификаты бесплатно и в автоматическом режиме. Для этого сначала переходим на сайт certbot и устанавливаем бота как указано в инструкции для вашей платформы.

Попытка получить сертификаты через плагин для nginx не увенчалась успехом, так что я воспользовался другим вариантом - webroot. Для него необходимо разрешить доступ к статическим файлам в директории .well-known.
В nginx это можно сделать, к примеру, так:

location ^~ /.well-known {
    try_files $uri =404;
}

После чего запускаем команду на получение. К примеру, для доменов alhames.ru и www.alhames.ru, ссылающихся на директорию /var/www/alhames.ru/public, она будет выглядеть так:

certbot certonly --webroot -w /var/www/alhames.ru/public -d alhames.ru -d www.alhames.ru

По результату выполнения команды будут написаны пути для публичного fullchain.pem и приватного privkey.pem ключей, которые необходимо добавить в конфигурацию веб-сервера.

Создание бекапов MySQL

Команда для создания бекапов должна выглядеть примерно так:

mysqldump -u $backup_user -p $backup_pwd --all-databases | gzip > "$backup_dir/db-$backup_date.sql.gz"

Где:

  • $backup_user - имя пользователя mysql, от имени которого будут делаться бекапы.
  • $backup_pwd - пароль пользователя mysql.
  • $backup_dir - папка, в которую будут сохраняться бекапы.
  • $backup_date - дата создания бекапа. Генерируется из date +%Y-%m-%d.
Настройка cron

Для запуска скриптов по расписанию необходимо отредактировать файл /etc/crontab.
Параметры задачи разделяются пробелом и имеют следующую последовательность:

  • Минута (0 - 59)
  • Час (0 - 23)
  • День месяца (1 - 31)
  • Месяц (1 - 12 или jan,feb,mar,apr...)
  • День недели (0 - 6, где воскрксенье = 0, или sun,mon,tue,wed,thu,fri,sat)
  • Имя пользователя
  • Команда

( Читать дальше... )

Как изменить ssh-порт

Открываем на редактирование файл /etc/ssh/sshd_config:

nano /etc/ssh/sshd_config

Находим строку #port 22, убираем # и заменяем 22 на любой свободный порт. Лучше всего использовать диапазон от 2000 до 7000.
Список свободных портов можно посмотреть на wikipedia.org.
А еще 2222 тоже лучше не использовать. :)

Также список открытых портов можно посмотреть следующей командой:

netstat -tupln | grep LISTEN

После чего перезапускаем ssh и конектимся по новому порту:

systemctl restart sshd

Особо это не защитит, но зато избавит от сообщения аля

There were 181693 failed login attempts since the last successful login.