11 SSL сертификаты
SSL — Secure Socket Layer, криптографический протокол, использующий шифрование открытым ключем, для защиты передаваемых по сети данных. Протокол SSL, является важным элементом политики безопасности системы. SSL сертификат — электронный документ, используемый для подтверждения принадлежности транзакции тому или иному серверу и установления защищенного соединения между клиентом и сервером с шифрованием трафика. Часто используется на защищенных Веб серверах (https) или Mail серверах (imaps)
11.1 Процедура создания SSL сертификата
* Клиент должен создать сертификат, со всеми необходимыми данными.
* Отправить запрос на сертификацию в один из «центров сертификации» ( далее ЦС ). Так-же на данном этапе, беднт создан приватный ключ на локальной машине.
* После обработки запроса, сертификат подписывается секретным ключем ЦС. Клиент имея публичный ключ ЦС, проверяет подлинность сертификата и далее может использовать его.
* Если необходимо, можно объединить сертификат и ключ в один файл.
11.2 Конфигурация OpenSSL
Читать далее…
10 Шифрование разделов
Имейте в виду, автор данного труда рассказывает о методах шифрования разделов диска, которые использует сам, при администрировании Unix систем.
10.1 Linux
В данном руководстве используется Linux dm-crypt ( device-mapper ) на ядре 2.6. Шифровать будем раздел /dev/sdc1, это может быть любой раздел, диск, USB или файл, созданный losetup. Здесь мы будем использовать /dev/loop0, смотрите Файловая система. Device mapper использует метку для идентификации раздела, в данном примере sdc1, но это может быть любая другая строка.
Шифрование разделов диска с помощью LUKS
LUKS с dm-crypt очень удобен для шифрования разделов диска, он позволяет иметь несколько паролей для одного раздела а так-же с легкостью менять их. Что-бы проверить доступно-ли у вас использование LUKS, наберите: cryptsetup —help, если насчет LUKS ничего не появилось, читайте ниже «dm-crypt без LUKS». Для начала создайте раздел, если необходимо fdisk /dev/sdc.
Читать далее…
9 Шифрование файлов
9.1 OpenSSL
Шифрование отдельного файла
# openssl aes-128-cbc -salt -in file -out file.aes # зашифровать файл
# openssl aes-128-cbc -d -salt -in file.aes -out file # расшифровать файл
Естественно файл может быть и архивом.
Архивирование и шифрование директории
Читать далее…
8. SUDO
Sudo — стандартное средство для того чтоб наделить пользователя некоторыми административными правами доступа, без выдачи ему пароля на root. Sudo весьма полезна, когда на удаленном сервере работает много пользователей. Вызывается она просто:
Читать далее…
7. RSYNC
Программа Rsync ( во FreeBSD есть в портах ), используется для удаленного копирования (резервного копирования ) или синхронизации файлов и каталогов, с минимальными затратами трафика. Может практически целиком заменить cp и scp, умеет кодировать данные, поддерживает сжатие и рекурсию, кроме того, прерванные передачи можно с легкостью перезапустить. На страницах руководства, все описано довольно подробно.
Вот несколько примеров:
Читать далее…
VPN через SSH
С версии 4.3, OpenSSH поддерживает устройства tun/tap, позволяющие создавать шифрованный туннель, что может быть весьма полезно в случае удаленного администрирования. Это очень похоже на OpenVPN, основанный на TLS. Плюс протокола SSH в том, что для реализации не нужно устанавливать и настраивать дополнительный софт. Из минусов, низкая производительность на медленных линиях.
Шифрованный туннель создается на основе одного TCP соединения, что весьма удобно, для быстрого поднятия простого VPN, на IP.
В конфигурационном файле sshd_conf, должны стоять следующие опции:
PermitRootLogin yes
PermitTunnel yes
Читать далее…
SSH
5.1 Public key — Публичный ключ
При удаленном администрировании серверов, очень удобно использовать авторизацию по паре ключей, что-бы не вводить пароль при каждом соединении с удаленной машиной.
Для соединения с удаленным хостом без ввода пароля, можно использовать так называемый Public key (публичный ключ). Нужно добавить запись о публичном ключе в файл ~/.ssh/authorized_keys на удаленном SSH сервере. В данном случае для подключения используются ключи сгенерированные на стороне клиента. В cygwin создать директорию /home и .csh в ней, можно с помощью # mkdir -p /home/USER/.ssh
* Используя ssh-keygen, генерируем пару ключей. ~/.ssh/id_dsa-приватный ключ, ~/.ssh/id_dsa.pub-публичный ключ.
* Копируем только публичный ключ на сервер и добавляем его в файл ~/.ssh/authorized_keys2, ~/ -домашняя директория.
Читать далее…
4.1 Отладка
Linux
# ethtool eth0 # Показать Ethernet статус интерфейса eth0
# ethtool -s eth0 speed 100 duplex full # Принудительная установка режима 100Mbit Full duplex
# ethtool -s eth0 autoneg off # Отключить автоопределение
# ethtool -p eth1 # Мигать индикатором сетевой карты - если поддерживается
# ip link show # Список сетевых интерфейсов в Linux (подобна ifconfig)
# ip link set eth0 up # Активировать сетевой интерфейс (или отключить). Аналог "ifconfig eth0 up"
# ip addr show # Список всех IP адресов в Linux ( аналог ifconfig)
# ip neigh show # Тоже что и arp -a
Читать далее…
3.1 Права доступа к файлам и каталогам
Менять права доступа и владельца файлов и каталогов в Unix подобных операционных системах, можно с помощью команд chmod и chown. Маску для установки прав на создаваемые файлы, можно изменить глобально, в /etc/profile для Linux и в /etc/login.conf для FreeBSD. Обычно, маска по-умолчанию 022. Значение umask вычитается из 777, таким образом права доступа будут иметь значение 755.
exec — разрешено выполнение
read — право на чтение
write — право на запись
SUID bit — атрибут файла, в совокупности с атрибутом исполняемого файла, позволяет запускаемому файлу выполняться с эффективным UID владельца файла, а не того, кто запускает файл
Читать далее…
2.1 Список процессов и PID
Каждая запущеная программа в операциооных системах Unix ( и не только ), имеет уникальный номер, PID процесса. Список всех запущенных процессов можно получить утилитой ps.
# ps -auxefw # Полный список всех запущеных процессов
Однако, зачастую, целесообразней использовать эту команду с выводом на grep:
# ps axww | grep cron
586 ?? Is 0:01.48 /usr/sbin/cron -s
# ps axjf # Все процессы в виде дерева (Linux)
# ps aux | grep 'ss[h]' # Найти все PID процесса ssh, исключая PID процесса grep
# pgrep -l sshd # Найти PID процесса по имени(или по его части)
# echo $$ # PID процесса текушей оболочки
# fuser -va 22/tcp # Список процессов использующих порт 22 (Linux)
# pmap PID # Карта памяти процессов (выявление утечек памяти) (Linux)
# fuser -va /home # Список процессов, имеющих доступ в раздел /home
# strace df # Отслеживать(Trace) системные вызовы и сигналы
# truss df # Тоже что и выше, но на FreeBSD/Solaris/Unixware
Читать далее…