Сегодня я расскажу как довольно просто поднять и настроить свой собственный сервер карт (тайловый сервер) на основе Ubuntu Server 14.04 LTS и OpenStreetMap.
Итак начнём. Из Википедии:
OpenStreetMap (дословно «открытая карта улиц»), сокращённо OSM — некоммерческий веб-картографический проект по созданию силами сообщества участников-пользователей Интернета подробной свободной и бесплатной географической карты мира.
Есть довольно подробная официальная статья об установке и настройке tile-сервера, но есть ещё более простой и быстрый способ.
Читати далі…
- Категорія: Адміністрування
- Теги: apache, gis, mapnik, mod_tile, nginx, openstreetmap, osm, postgis, postgresql, renderd, tile, ubuntu, оптимизация, сервер, тюнинг
Сегодня я расскажу как настроить двухэтапную аутентификацию для пользователя root на вашем сервере по временному одноразовому паролю, что будет генерировать приложение на телефоне или же простая консоль. Смысл в том, что при переходе в суперпользователя на вашем сервере вначале будет запрошен временный (одноразовый) пароль и только затем — пароль рута. Это поможет вам более качественно защитить ваш сервер от несанкционированного доступа.
Начнём с установки OATH Toolkit что уже есть в репозитории Debian.
apt-get install oathtool libpam-oath
Далее нам потребуется сгенерировать случайную строку (секретную фразу) на основе которой и будут генерироваться случайные временные одноразовые ключи. Поэтому стоит держать эту строку в секрете.
head -c 4096 /dev/urandom | md5sum | awk '{print $1}'
6819c89679c56508fec770362e312c4e
В данном примере секретная фраза это 6819c89679c56508fec770362e312c4e.
Теперь нам необходимо создать файл (/etc/users.oath
) с описанием алгоритмов работы, пользователя и его секретной фразы.
echo "HOTP/T30 root - 6819c89679c56508fec770362e312c4e" > /etc/users.oath
chown root:root /etc/users.oath
chmod 600 /etc/users.oath
Далее – редактирование файла /etc/pam.d/su
.
Вам необходимо дописать после
auth sufficient pam_rootok.so
строку
auth requisite pam_oath.so usersfile=/etc/users.oath window=10 digits=6
Где
usersfile
– путь к файлу с описанием пользователей и их секретных фраз,
window
– размер “окна”. Поскольку временный одноразовый ключ создаётся относительно времени, то окно – это расхождение серверного времени от времени клиента/приложения. Одно “окно” – 30 секунд. Т.е. мы задали максимальное расхождение ключей в 5 минут.
digits
– необходимое количество цифр во временном одноразовом ключе.
Теперь пробуем получить одноразовый временный пароль с нашей секретной фразой:
oathtool --verbose --totp 6819c89679c56508fec770362e312c4e
На что получим что-то следующее:
Hex secret: 6819c89679c56508fec770362e312c4e
Base32 secret: NAM4RFTZYVSQR7WHOA3C4MJMJY======
Digits: 6
Window size: 0
Step size (seconds): 30
Start time: 1970-01-01 00:00:00 UTC (0)
Current time: 2014-04-15 05:36:28 UTC (1397540188)
Counter: 0x2C6D360 (46584672)
385762
385762 – это и есть наш одноразовый временный пароль, а вот строку Base32 secret мы будем использовать когда будем настраивать приложение для телефона (только вводить мы будем этот код без знаков “=”, т.е. как NAM4RFTZYVSQR7WHOA3C4MJMJY).
У Google есть отличная программа для генерирования временных (одноразовых) ключей – Google Authenticator
На официальной странице детально расписано как установить это приложение для телефонов на базе Android, iOS, Blackberry и т.п. поэтому на этом шаге я останавливаться не буду.
И наконец тестируем!
Подключаемся к серверу другим соединением (на всякий случай не закрывайте сессию root!) и пробуем сделать su
Система должна нас вначале спросить одноразовый временный пароль.
$ su
One-time password (OATH) for `root':
Генерируем одноразовый временный пароль либо через консоль с помощью команды oathtool
, либо через приложение на вашем телефоне и вводим его.
Если вы всё сделали правильно, то после ввода временного пароля система вам предложит ввести пароль рута.
Это всё. Удачи!
- Категорія: Адміністрування
- Теги: debian, linux, OATH, pam, root, ssh, su, ubuntu, авторизация, аутентификация, безопасность, защита, линукс, сервер
Иногда необходимо подключится к удаленному серверу по протоколу SSH через существующий SOCKS 5 прокси, что может быть создан как из SSH-подключения к другому серверу, так и другими способами.
Сегодня я расскажу об этом.
В этой статье я уже писал как создать SOCKS 5 прокси на сервере имея SSH-доступ к нему. Для примера сделаем SOCKS 5 на одном сервере и подключимся через него к второму.
На сервере с SOCKS 5 прокси (если он создаётся через SSH, а не другими способами) в файле настроек SSH /etc/ssh/sshd_config
должна быть строчка разрешающая пересылку TCP-пакетов:
AllowTcpForwarding yes
Без неё у вас врядли что-то получится.
Итак, используя шаблон
ssh -f -C2qTnN -D <порт> <удаленный_пользователь>@<удаленный_сервер>
запустим прокси на порту 1080
для сервера 8.8.8.8
например так
ssh -f -C2qTnN -D 1080 [email protected]
Теперь сама строчка подключения к второму удаленному серверу по протоколу SSH через SOCKS 5 прокси:
ssh -o ProxyCommand="nc -x 127.0.0.1:1080 %h %p" [email protected]
Где
127.0.0.1:1080
– IP и порт SOCKS 5 прокси
roman
– это ваш логин на сервер
8.8.4.4
– адрес вашего сервера
Это всё.
Удачи!
Если ваши серверные бэкапы могут вместиться в размер виртуального диска Dropbox’a, то думаю что разумным будет бэкапить файлы, помимо другого веника, ещё и в облако.
Начнём.
Читати далі…