понедельник, 26 декабря 2016 г.

Набор команд для работы с SSH на все случаи жизни

SSH - это очень распространенный инструмент для системных администраторов. Наверное почти каждый день им пользуются тысячи, используют SSH для подключения к своим серверам, домашнему компьютеру, роутеру или смартфону. SSH-клиенты доступны для большинства популярных платформ, главное чтобы вы понимали обо всех возможностях SSH и понимали как его применить и где.
Трюки с SSH в Linux
OpenSSH был выпущен разработчиками OpenBSD в далеком 1999 году, много времени уже прошло, на сегодня OpenSSH стал стандартом безопасного и подключения к удаленной машине. Сидя в дома, вы можете удаленно админить сервера компании в которой вы работаете, так работают сотни тысяч админов по всему миру и все это благодаря разработчиками OpenBSD который создали OpenSSH. Прошло семнадцать лет с момент разработки OpenSSH, появилось много новых возможностей, возможность настройки и различных режимов работы, и много прочих возможностей о которых не все знают.
Сегодня я постараюсь описать некоторые из возможностей, не все конечно так как для этого не хватит одного материалы. Ниже мы рассмотрим небольшую подборку из 20 команд или более правильно выразиться рецептов, которыми вы можешь пользоваться как шпаргалкой в будущем. Эти команды доступны для работы как в Linux, так и в большинстве других ОС, которые имеют сборку OpenSSH. Чтобы не запутать, уточню, что удaленный пользователь и хост в материале ниже мы всегда обозначаем как user@host либо по отдельности как <user> и <host>.

1. Возможность быстрого запуска команд

Если вы хотите выполнить всего одну удаленную команду, не обязательно подключаться к SSH, вводить команду, а затем отключаться. Можно сделать это сразу. Например, так можно посмотреть заполненность ФС удаленной машины:
 ssh user@host df -h
А так — перезагрузить ее:
 ssh user@host sudo reboot

2. Запуск списка команд

Если у тебя есть целый список команд, которые следует выполнить, их можно записать в файл и скормить этот файл SSH:
 ssh user@host "`cat file.txt`"

3. Удаленные редактирование файлов локальным редактором

Чтобы отредактировать файл на удаленной машине, не обязательно заходить на нее и иcпользовать консольный редактор(vim/nano итд). Вы можете открыть на редактирование файл одним из текстовых редакторов которые установлены у вас на локальной машине (gedit заменяем на свой редактор):
 gedit scp://user@host//путь/к/файлу

4. Копирование содержимое удаленного файла в буфер обмена

Если вам нужно скопировать содержимое определенного файла который находится на одном из серверов или удаленной машине, не обязательно выводить содержимое на экран или открывать в вашем текстовом редакторе и копировать вручную. Можно поступить более оригинально и скопировать в буфер, используем команду ниже:
 ssh user@host cat /путь/к/файлу | xclip
Как вариант скопировать вывод команды:
 ssh user@host uname -a | xclip

5. Сравнение удаленного и локального файлов без копирования

Для данной задачи вы можно использовать небольшой прием, смотрим команду ниже:
 ssh user@host cat /путь/к/удаленному/файлу | diff /путь/к/локальному/файлу -

6. Работа с удаленными файлaми используя локальный файловый менеджер

Работая с большим количеством файлов, не удобно для этого использовать консольные команды или mc который запущен на удаленной машине. Но вы всегда можно подключить любой из каталогов удаленной машины например как сетевой диск. Это вы можете осуществить используя утилиту sshfs:
 sudo apt install sshfs
Создаем каталог для подключения «сетевого диска»:
 mkdir remote_files
Подключаем каталог:
 sshfs user@host:/home/user ~/remote_files/
Вот и все, с этого момента все файлы удаленного каталога /home/user вы будете видеть в каталоге ~/remote_files/ где сможете с ними работать, как с обычными файлами на компьютере.

7. Используем tmux

Если вам нужно выполнить сложные манипуляции на удaленной машине, это в большей части случаев не ограничиваются одной консолью. Для решения подобных задач мы открываем нeсколько SSH-соединений, в которых выполняем различные команды, копиpуем текст из одной консоли в другую, мониторим выполнение и прочее. Не обязательно держать открытыми несколько сессий, достаточно одной, в которой будет запущен tmux.
Утилита tmux - это так же детище команды разработчиков OpenBSD. Утилита позволяет запускать внутри одной SSH-сессии неограниченное количество консолей, с которыми вы можете работать одновременно, в том числе используя несколько на одном экране. О главном - tmux имеет поддержку функции detach/attach, которая позволяет отключиться от используемой на данный момент сессии tmux, закрыть соединение, подключиться к этой же машине, но уже с другого компьютера и возобновить сессию tmux со всеми открытыми консолями и их содержимым которое было до этого но с другого компьютера, очень удобно.
Tmux в режиме разделения экрана
Tmux в режиме разделения экрана
Утилита Tmux доступна с репозиториев наверное всех популярных дистрибутивов. Инструкцию по использованию вы можете найти в документации -здесь.

8. Как быстро скопировать ключи

Копирование публичного ключа на удаленный сервер не простая задача, так как требует выполнения нескольких действий вручную. Этот процесс можно упростить и скопировать ключ в автоматическом режиме:
 ssh-copy-id user@host
Не обязательно копировать основной ключ, используя флаг -i можно указать любой другой:
 ssh-copy-id -i ~/my_key.pub user@host
Копируем ключ
Копируем ключ

9. Создаем стабильное соединение с машиной

Если вы в течение дня часто подключаетесь к одной машине, на несколько минут или секунд (чтобы просто запустить одну команду), есть можно создать с ней постоянное соединение. Ваш компьютер будет держать соединение открытым и использовать его для каждого подключения к машине. Это намного быстрее и экономичнее с точки зрения трафика и нагрузки на процессор.
Добавьте следующие строки в ~/.ssh/config:
Host host
ControlPath ~/.ssh/master-%r@%h:%p
ControlMaster no
А затем создайте соединение:
 ssh -MNf user@host

10. Используем версию SSH для неустойчивых соeдинений

SSH создан для работы с использованием стабильного соединения и не рассчитан на работу с использованием неустойчивого интернет-соединения, в связи с чем не умеет реагировать на потерю пакетов. Если у вас соединение оборвется, SSH повиснет и будет находиться в таком состоянии, пока не закончится тайм-аут. До тех пор пока вы используете надежное оптоволоконное соединение, это не будет проблемой, но как только вы попадете в условия где нет покрытия кабельного интернета, 3G для вас будет казаться экзотикой, в следствии чего SSH превратится в невыносимо тупой инструмент.
Решить проблему можно используя autossh. Это обертка над SSH, которая позволяет проверять жизнеспособность канала. Autossh создает дополнительное SSH-соединение с сервером и непрерывно шлет по нему heartbeat-пакеты. Если пакет не доходит до адресата, autossh считает канал мертвым и перезапускает SSH-соединение.
Пользоваться очень просто:
 sudo apt install autossh
 autossh -M5000 user@host
По дефолту тайм-аут между отправкой heartbeat-пакeтов составляет десять минут, что очень много. Если вы хотите уменьшить тайм-аут пропиши его в переменную AUTOSSH_POLL перед запуском autossh (значение в секундах):
 export AUTOSSH_POLL=10
Либо используем вариант еще лучше предыдущего: mosh. Оптимизированная для неустойчивых и низкоскоростных соединений версия SSH, работающая по протоколу UDP. Mosh позволяет получить быстрое и отзывчивое соединение даже на очень медленном канале, из коробки позволяет поднимать упавшее соединения, переключать клиента с одного IP на другой (при переключении с Wi-Fi-соединения на мобильное, например) без перезапуска сессии.
Mosh имеет вcего один недостаток: он требует установки не только на локальную машину, но и на удаленную. Зато после этого ничего настраивaть не нужно, достаточно использовать команду mosh вместо ssh. Более того, mosh уже встроeн в SSH-клиенты JuiceSSH для Android и Blink для iOS.

11. Открываем порт SSH лишь по необходимости

Работая с SSH порт вашего сервера в ближайшем будущем станет целью большого количества ботов, которые будут пытаться к нему подключаться или же подобрать пароль, даже если вы отключили аутентификацию по паролю. Как бороться с ботами? Для этой задачи у нас есть два способа: первым способом будет установка утилиты fail2ban которая поможет автоматически отшибать особо надоедливых ботов, второй способ, это конечно же открывать порт только тогда, когда вам это необходимо.
Если вы подключаетесь к серверу нечаcто, второй способ идеален. Идея в том, что на сервер устанавливается специальный демон, который слушает указанные порты и в случае соединения с этими портами в определенном порядке откроет 22-й порт. Другой порядок соединения будет закрывать порт.
Техника называется port knoking и реализуется с помощью демона knockd. Установка демона на сервер:
 sudo apt install knockd
Настройка демона, добавьте в файл конфиг /etc/knockd.conf следующие строки:
[options]
 logfile = /var/log/knockd.log
[openSSH]
 sequence = 3000,4000,5000
 seq_timeout = 5
 command = /sbin/iptables -A INPUT -i eth0 -s %IP% -p tcp --dport 22 -j ACCEPT
 tcpflags = syn
[closeSSH]
 sequence = 5000,4000,3000
 seq_timeout = 5
 command = /sbin/iptables -D INPUT -i eth0 -s %IP% -p tcp --dport 22 -j ACCEPT
 tcpflags = syn
Перезапустим демон:
 sudo /etc/init.d/knockd restart
Теперь используем следующую команду для подключения к серверу:
 knock <host> 3000 4000 5000 && ssh user@host && knock <host> 5000 4000 3000
Она позволит открыть порт перед SSH-соединениeм и закрыть его после закрытия сессии. Стоит обратить внимание, что в настройках брандмауэра SSH-порт должен быть закрыт.
Стучимся в порты
Стучимся в порты

12. Защищаемся от брутфорса

Установка fail2ban - второй метод защиты от ботов которые подбирают пароли. Демон Fail2ban, имеет основную задачу, непрерывно мониторить логи сетевых служб (Apache, vsftpd, SSH…) где он проверяет, ищет вредителей которые слишком часто пытаются аутентифицироваться и блокирует их IP (три неудачные попытки подряд и в бан на десять минут).
Преимущество fail2ban в том, что он не нуждается в настройке и начинает работать сразу же после установки. Все, что надо сделать, - это установить пакет:
 sudo apt install fail2ban

13. Измеряем скорость соединения

Используя SSH, вы можете легко проверить скорость вашего соeдинения с машиной. Для этой задачи можно использовать утилиту pv (pipe viewer). Смотрим пример команды ниже:
 yes | pv | ssh user@host "cat > /dev/null"
Измеряем скорость соединения
Измеряем скорость соединения

14. Используем SSH как SOCKS-прокси

SSH очень легко изменить в SOCKS-прокси, который будет пересылать ваши данные между локальной машиной и SSH-сервером через зашифрованный канал. Для этого вам нужно сделать следующее, - запустить SSH-клиент с флагом -D, пoсле которого указать номер SOCKS-порта (флаг -C включает принудительное сжатие трафика):
 ssh -D 9999 -C user@host

15. Обходим файрволы

В дополнение к SOCKS-прокси, SSH имеет функцию прозрачного "проброса портов". Работает примерно так: на локальной машине открывается порт. Трафик, который будет передаваться на этот порт, прозрачно проксируется через удалeнную машину и направляется на указанный хост:порт. Приведу пример: ваш твой начальник заблокировал доступ к linuxsoid.com на уровне корпоративного файрвола. Но вы можете обойти это ограничение, используя удаленный SSH-сервер:
 ssh -L8080:linuxsoid.com:80 user@host
Теперь все подключения к localhost:8080 будут перенаправляться на linuxsoid.com:80.

16. Сохраняем настройки подключения к хостам

Если вы работаете с большим количеством хостов используя имя разных юзеров и к всему этому используете разные ключи, вы можете существенно упростишь вашу жизнь, если создадите для этих хоcтов шорткаты. Например, следующие строки ~/.ssh/config описывают два хоста:
  • site.com, SSH-сервер на кoтором «висит» на порту 2222, а в качестве ключа используется ~/my_key.pem;
  • 192.168.0.1, с SSH-сервером на стандартнoм порту, юзером root и принудительным отключением аутентификации с помощью ключа.
    Host server1
     HostName site.com
     Port 2222
     User user
     IdentityFile ~/my_key.pem
    
    Host server2
     HostName 192.168.0.1
     User root
     PubkeyAuthentication no
Теперь, чтобы подключиться к site.com, нет нужды нaбирать длинную команду:
 ssh -i ~/my_key.pem user@example.com -p 2222
Вы можете использовать шорткат:
 ssh server1

17. Подключаемся к удаленной машине через другую машину

Например, у вас есть доступ к host1, но вы не имеете доступа к host2 (он за файрволом), но доступ к host2 имеется у host1. В итоге вы можете подключиться к host2 вот так:
 ssh -t user@host1 ssh user@host2

18. Копиpуем файлы с удаленной машины на другую машину через свою

Примерно такая же история как и при подключении к удаленной машине через другой компьютер. У вас есть файл который необходимо скопировать с host1 на host2, но они не могут друг с другом общаться. В данном случае, вы можете скопировать файл используя локальную машину:
 ssh root@host1 "cd /копируемый/каталог/ && tar -cf - ." | ssh root@host2 "cd /куда/копировать/ && tar -xf -"

19. Запуск графических приложений

Linux/BSD используют ту же клиент-серверную оконную систему X Window System, которая изначально разрабатывалась для запуска графических приложений на мейнфрейме с выводом изображения на экран клиента. Поэтому она из коробки позволяет запускать приложения на удаленной машине так, чтобы их вывoд был перенаправлен на локальную. SSH умеет форвардить протокол X, так что его можно использовать для запуска не только консольных, но графических приложений:
 ssh -X user@host firefox

20. Прослушивание музыки с удаленной машины

Немного надуманный, но в целом довольно интересный трюк:
 ssh user@host "cat /home/user/music/*.mp3" | mpg123 -
Своего рода интернет-радио для одного.

Выводы

SSH - это сложная и очень развитая штука. Все двадцать советов, что описаны выше - это всего лишь часть, на что способен этот инструмент.
Источник: xakep.ru

воскресенье, 25 декабря 2016 г.

Настройка swap в Ubuntu 16.04

Оперативная память имеет очень важное значение для нормальной работы сервера. В ней размещаются все программы и их данные, когда память переполняется, программы могут выдавать различные ошибки или даже прекращать работу. Время отклика системы увеличивается настолько, что работать с ней становиться невозможным.
Самый простой способ увеличить количество оперативной памяти и защитить систему от переполнение памяти, это добавить раздел swap ubuntu. В этой статье будет рассмотрено как выполняется настройка swap Ubuntu 16.04. Мы рассмотрим вариант с добавлением раздела подкачки для обычных компьютеров, а также файла подкачки для серверов.

Обратите внимание

Хотя использование раздела подкачки на жестком диске HDD это привычное явление, применение такого метода для SSD может вызвать проблемы. SSD имеет ограниченное количество перезаписей одного сектора, а область swap постоянно перезаписывается, это очень сильно снизит срок службы вашего диска. Поэтому использование swap пространства на SSD строго не рекомендуется.

Что такое Swap?

Swap - это пространство подкачки это область на жестком диске, которая используется для временного хранения данных из оперативной памяти, для которых там больше нет места. Это позволяет увеличить объем информации, которую система может хранить в рабочей памяти. Пространство подкачки используется только тогда, когда память уже полностью занята, и туда будут помещаться только данные, которые давно использовались.
Работа с информацией будет выполняться намного медленнее, чем в оперативной памяти, но операционная система будет продолжать работать и использовать swap только для старых данных. В целом, это может быть отличной защитой от переполнения оперативной памяти. Пространство подкачки можно настроить двумя способами, добавив раздел подкачки ubuntu на диске или создать файл подкачки.

Проверка Swap

Перед тем как перейти к настройке давайте посмотрим не подключены ли другие разделы подкачки к системе. Для этого выполните:
$ sudo swapon --show
Если ничего не будет выведено, значит в вашей системе swap ubuntu не настроен. Вы также можете убедиться, что нет активного swap с помощью утилиты free:
$ free -h

Строка Swap пуста, значит раздела swap пока еще не подключен.

Настройка файла подкачки в Ubuntu 16.04

На серверах часто используется файл подкачки, такой способ применяется потому что не всегда есть возможность менять разметку диска.

Проверка места на диске

Теперь убедитесь, что на диске есть достаточно свободного места. Самый простой способ узнать свободное место в терминале - это утилита df:
$ df -h

В нашем случае есть достаточно места для размещения пространства подкачки. Размер swap Ubuntu 16.04 зависит от ваших потребностей. Обычно рекомендуют использовать объем в два раза больше чем реальный размер оперативной памяти. Но больше 4 Гб использовать не нужно. Если вы планируете использовать гибернацию на персональном компьютере, то нужно использовать объем, равный объему ОЗУ.

Создание файла подкачки в Ubuntu 16.04

Самый быстрый способ создать swap файл ubuntu такой файл, это использовать утилиту fallocate, она создает файл нужного размера мгновенно. Поскольку у нас 1 Гб оперативной памяти, добавим раздел подкачки ubuntu на 2 Гб. Для этого выполните:
$ sudo fallocate -l 1G /swapfile

Посмотрите, действительно ли зарезервировано нужное количество памяти:
$ ls -lh /swapfile

Активация swap

Когда файл готов, нам нужно превратить его в файл swap Ubuntu. Сначала нужно заблокировать доступ к нему всем кроме суперпользователя. Для этого выполните:
$ sudo chmod 600 /swapfile
Теперь только root может читать и изменить этот файл:
$ ls -lh /swapfile
Затем создайте файловую систему swap командой:
$ sudo mkswap /swapfile
Когда файл будет размещен и промаркирован вы можете включить файл подкачки чтобы начать его использовать:
$ sudo swapon /swapfile
Вы можете убедиться что все работает с помощью команды:
$ sudo swapon --show
И еще раз смотрим вывод утилиты free:
$ free -h
Как видите, файл подкачки был успешно создан и активирован. Теперь памяти намного больше и система не зависнет. Но он будет работать только до перезагрузки.

Постоянный файл подкачки

Как я уже сказал, этот swap ubuntu будет работать только до перезагрузки сервера или компьютера. Чтобы настройка Swap Ubuntu 16.04 сохранялся после перезагрузки нужно отредактировать файл /etc/fstab. Вы можете вручную добавить строку в файл, но вы можете использовать такую команду:
$ echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Настройка раздела подкачки в Ubuntu

Я не буду писать много про то, как выполняется настройка swap Ubuntu 16.04 в виде раздела. Все действия аналогичны тем, которые применяются для файла, только вместо файла используется раздел. Допустим, мы хотим использовать раздел /dev/sda2. Сначала создать swap Ubuntu из обычного раздела:
$ sudo mkswap /dev/sda2
Затем активируйте раздел подкачки:
$ sudo swapon /dev/sda2
И проверьте все ли прошло правильно:
$ sudo swapon --show
Если да, то в списке подключенных разделов вы увидите нужный. Осталось добавить строку в /etc/fstab для автоматической активации после перезагрузки:
$ echo '/dev/sda2 none swap sw 0 0' | sudo tee -a /etc/fstab

Дополнительные настройки

Вы можете контролировать интенсивность использования пространства подкачки в Ubuntu с помощью параметра ядра swappiness:
$ cat /proc/sys/vm/swappiness
По умолчанию установлено значение 60. Если это значение ближе к 100, система будет пытаться поместить в подкачку больше данных и сберечь память, при значениях близких к нулю, ядро не переносит данные на диск, если в этом нет крайней необходимости. Этот вариант может сделать систему быстрее, особенно актуально для домашних компьютеров.
Чтобы установить значение 10 выполните:
$ sudo sysctl vm.swappiness=10
А для сохранения этой настройки после перезагрузки:
$ sudo sysctl -w vm.swappiness=10
Другой параметр, который влияет на количество используемой памяти - это vfs_cache_pressure. Он указывает системе какое время нужно хранить открытые файлы в кэше оперативной памяти. Значение 100 заставляет систему удалять такие файлы очень быстро, 0 - держать их в памяти как можно дольше. Посмотрите текущее состояние:
$ cat /proc/sys/vm/vfs_cache_pressure
Чтобы хранить файлы дольше, можно установить значение в 50:
$ sudo sysctl -w vm.vfs_cache_pressure=50

Выводы

С помощью этой инструкции вы можете на время решить проблему с пространством подкачки если серверу недостаточно памяти, или поможет предотвратить компьютер от зависания. Настройка swap Ubuntu 16.04 выполняется очень просто. Если у вас остались вопросы, спрашивайте в комментариях!

суббота, 17 декабря 2016 г.

Установка ssl сертификата Apache от Lets Encrypt

В самом начале развития интернета все данные между сайтом и компьютером пользователя передавались открыто по протоколу HTTP, без шифрования, а это означает, что любой пользователь, находящийся между сервером и компьютером может прочитать эти данные или даже изменить. По такой схеме даже сейчас работает много сайтов. Но в нашем мире это не безопасно, поэтому был разработан протокол HTTPS, который позволяет шифровать данные для передачи между устройствами.
Для шифрования данных в этом протоколе используются сертификаты SSL. Сейчас HTTPS набирает большую популярность, такие компании, как Google пытаются заставить все больше сайтов интернета использовать SSL для защиты своих данных и организации более безопасного соединения. С другой стороны появился сервис Lets Encrypt, который позволяет получить SSL сертификат каждому полностью бесплатно. В этой статье мы рассмотрим как выполняется установка ssl сертификата Apache от Lets Encrypt.

Установка SSL сертификата Lets Encrypt в Apache

Я буду предполагать, что Apache у вас уже установлен и настроен для работы по протоколу http. Если это не так посмотрите статью установка и настройка Apache. Перед тем как переходить к самой настройке веб сервера нам нужно получить ssl сертификат, а для этого нужно установить клиент сервиса в систему.

Шаг 1. Установка клиента Lets Encrypt

Мы будем выполнять установку клиента Lets Encrypt из официальных репозиториев. Официальный клиент от Lets Encrypt называется certbot, в репозиториях Ubuntu 16.04 есть упрощенная версия - Letsencrypt. Нам полностью хватит ее функциональности. Для установки выполните команды:
$ sudo apt update
$ sudo apt install python-letsencrypt-apache
После этого клиент будет готов к использованию.

Шаг 2. Настройка Apache

Если Apache настроен на работу по http, то перед тем как идти дальше, должна быть выполнена настройка ssl apache. Нам нужно активировать модуль ssl и включить использование ssl по умолчанию.
Для активации модуля наберите:
$ sudo a2enmod ssl
Для использования SSL по умолчанию включаем конфигурационный файл:
$ sudo a2ensite default-ssl.conf
Осталось перезапустить веб-сервер для применения изменений:
$ sudo systemctl restart apache2

Шаг 3. Получение SSL сертификата

Установка ssl сертификата с помощью клиента Lets Encrypt выполняется очень просто. Клиент автоматически запросит и установит новый сертификат для принадлежащего вам домена.
Чтобы получить сертификат для одного домена, достаточно передать этот домен в параметрах команды:
$ sudo letsencrypt --apache -d example.com
Если нужно сделать сертификат действительным для нескольких доменов или субдоменов вы можете передать их в дополнительных параметрах. Первое доменное имя будет основным, поэтому рекомендуется передавать первым домен верхнего уровня, а уже потом субдомены:
$ sudo letsencrypt --apache -d example.com -d www.example.com
Дальше нужно будет ввести несколько настроек для сертификата, сначала укажите адрес электронной почты, который будет использоваться для восстановления утерянного ключа или отправки уведомлений:
Затем примите лицензионное соглашение Lets Encrypt:
Утилита сама выполнит настройку веб-сервера Apache, вам только нужно будет выбрать надо ли разрешать http трафик или сразу перенаправлять все на https. Безопаснее и более правильно перенаправлять весь входящий трафик на https.
Когда установка SSL сертификата Apache ubuntu будет завершена, вы найдете созданные файлы сертификатов в папке /etc/letsencrypt/live. В этой папке будут четыре файла:
  • cert.pem - ваш сертификат домена;
  • chain.pem - сертификат цепочки Let's Encrypt;
  • fullchain.pem - cert.pem и chain.pem вместе;
  • privkey.pem - секретный ключ вашего сертификата.
Теперь вы можете зайти на сайт по https. Чтобы проверить как работает SSL и правильно ли выполнена установка ssl сертификата на сайт, вы можете открыть в браузере такую ссылку:
https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest

Шаг 4. Автопродление сертификата

Настройка ssl Apache завершена. Но есть один минус, все сертификаты, полученные от Lets Encrypt действительны только на протяжении 90 дней и рекомендуется продлевать и срок действия каждые 60 дней. Клиент letsecnrypt имеет команду renew, которая позволяет проверить установленные сертификаты и обновить их если до истечения срока осталось меньше 30 дней.
Чтобы запустить процесс обновления для всех настроенных доменов выполните:
$ sudo letsencrypt renew
Если сертификат был выдан недавно, то команда проверит его дату истечения и выдаст сообщение, что продление пока не требуется. Если вы создали сертификат для нескольких доменов, то в выводе будет показан только основной домен. Но обновление будет актуально для всех.
Самый простой способ автоматизировать этот процесс - добавить вызов утилиты в планировщик corn. Для этого выполните команду:
$ crontab -e
Затем, в открывшемся текстовом редакторе добавьте строку и сохраните изменения:
30 2 * * 1 /usr/bin/letsencrypt renew >> /var/log/le-renew.log
Таким образом, мы создали задачу, которая будет выполнять команду обновления каждый понедельник, в 2:30 утра. Информация про результат выполнения будет сохранятся в файл /var/log/le-renewal.log.

Выводы

В этой статье мы рассмотрели как выполняется установка ssl сертификата apache lets encrypt. Это поможет защитить ваш сайт от MITM атак, подслушивания и модификации трафика, а также благодаря тенденциям поощрения перехода на https может положительно сказаться на росте трафика.

вторник, 13 декабря 2016 г.

Бесплатные публичные DNS серверы

Обычно DNS-серверы предоставляются провайдером при подключении или при конфигурации хостинга. Однако в некоторых случаях могут потребоваться дополнительные серверы или взамен предоставляемых. В этом случае могут пригодиться публичные серверы DNS. 
Еще одной причиной поиска бесплатных публичных DNS серверов стала возможность фильтрации спама на серверах с помощью RBL, правда, некоторые из служб черных списков перестали отвечать популярным бесплатным DNS серверам. Так, например, SpamHaus не работает, если на сервере используются DNS серверы Google или OpenDNS.
В первую очередь это конечно Google Public DNS— экспериментальный альтернативный DNS-сервер с закрытым исходным кодом, разрабатываемый корпорацией Google. Google Public DNS предоставляет следующие адреса публичных серверов для DNS-запросов: 8.8.8.8 и 8.8.4.4. Также серверы имеют IPV6-адреса 2001:4860:4860::8888и 2001:4860:4860::8844.
opendns-common-logoOpenDNS предоставляет следующие адреса серверов для публичного использования: 208.67.222.222(resolver1.opendns.com) и 208.67.220.220(resolver2.opendns.com). Из особенностей надо отметить редирект на страницы с поиском и рекламой в случае набора неправильных запросов, отключение страницы с поиском и рекламой исключительно платное.
Из русских проектов надо отметить Яндекс.DNS — это более 80 DNS-серверов, расположенных в разных городах и странах. Предлагается 3 уровня:
  1. Базовый — быстрый и надежный DNS: 77.88.8.8 и 77.88.8.1
  2. Безопасный — без мошеннических сайтов и вирусов: 77.88.8.88 и 77.88.8.2
  3. Семейный — без сайтов для взрослых: 77.88.8.7 и 77.88.8.3
SkyDNS — еще один российский облачный интернет-сервис, предоставляющий услуги контент-фильтрации и защиты от сетевых угроз. В настоящее время работает как в бесплатном режиме, так и предлагает коммерческие продукты для частных лиц, организаций, образовательных учреждений и операторов связи. Для публичного использования предоставляется адрес 193.58.251.251.
SmartViper Public DNS предоставляет бесплатные DNS серверы для разрешения только IPv4 адресов. Для использования необходимо настроить на компьютере или сервере следующие DNS серверы — 208.76.50.50и 208.76.51.51.
Norton DNS — интернет-сервис компании Symantec Corporation, предоставляющий общедоступные DNS-серверы. Опять же на выбор предоставляется несколько уровней защиты:
  1. Без блокировки: 198.153.192.1 и 198.153.194.1
  2. С блокировкой вредоносных сайтов: 198.153.192.40 и 198.153.194.40
  3. С блокировкой вредоносных сайтов и сайтов для взрослых: 198.153.192.50 и 198.153.194.50
  4. С блокировкой вредоносных сайтов, сайтов для взрослых и сайтов распространяющих файлы: 198.153.192.60 и 198.153.194.60
comodo-logo-mainComodo Secure DNS предоставляет следующие адреса публичных DNS-серверов: 8.26.56.26 и 8.20.247.20. Comodo Secure DNS использует список блокировки в режиме реального времени (RBL) вредных веб-сайтов и предупреждает вас, когда вы пытаетесь получить доступ к сайтам, содержащим потенциально опасный контент.
Список DNS-серверов, предоставляемых Verizon / Level 3 Communications своим подписчикам и не только, является самым длинным: 4.2.2.14.2.2.24.2.2.34.2.2.44.2.2.5 и 4.2.2.6.
Список рекурсивных бесплатных DNS-серверов DNS Advantage (они же UltraDNS): 156.154.70.1 и 156.154.71.1.
freednsСерверы FreeDNSрасположены в Австрии, их адреса 37.235.1.174и 37.235.1.177. Заявлено, что нет никакой регистрации, нет ведения статистики запросов, отсутствуют какие-либо ограничения.
Alternate DNS предоставляют серверы 198.101.242.72 и 23.253.163.53. Сервис не хранит статистику запросов и блокирует «нежелательную рекламу».
Серверы GreenTeamDNS 81.218.119.11и 209.88.198.133, согласно ответам на часто задаваемые вопросы на сайте, предотвращают доступ к опасным и незащищенным сайтам. Владельцы премиум аккаунтов могут менять политику фильтрации на свое усмотрение