Category: Security

Апр 08 2009

Блокируем подбор паролей(bruteforce ssh) c помощью bruteblock(IPFW)

За последнее время черви подбирающие пароли по ssh, расплодились в невероятном количестве. Я до сих пор не понимаю политику большинства разработчиков Linux дистрибутивов, которые оставляют открытым доступ rootа по ssh. Что бы его отключить достаточно в sshd_config поставить:

PermitRootLogin no

Read more »

Ноя 05 2008

Подбор паролей ssh

За последнее время, количество атак на ssh, возросло, просто катастрофически. И хотя, любой, нормальный человек, понимает, что нормальный, правильный пароль подобрать по словарю почти не реально, количество записей в auth.log, таково, что нормально найти интересующую нас запись, без использования grep, почти не реально. Для защиты от этих атак, в последнее время появилась масса утилит. Я пользуюсь bruteforceblockerом. При выборе я руководствовался, тем, что во первых, bruteforceblocker, использует pf, во вторых, присутствует база ip адресов нарушителей, которые уже были занесены в базу проэкта, другими пользователями. Для меня это плюс.
Read more »

Окт 25 2008

SSH, безпарольный доступ

Иногда бывает так, что надо что бы при входе на сервер, не требовалось набирать пароль, но надо, что бы при этом не уменьшалась безопасность ssh. В пакете ssh обязательно присутствует утилита ssh-keygen, которая генерирует пару ключей: один публичный, который вы можете разместить на том сервере на который необходимо заходить по ssh без пароля(id_rsa.pub) и приватный(id_rsa).

ssh-keygen достаточно запустить без всяких ключей что бы сгенерировались ключи для протокола ssh2, на данный момент времени самый безопасный протокол.

Предшествует генерации ключей небольшой диалог:

1. Enter file in which to save the key (/home/user/.ssh/id_rsa): — предлагается изменить имя по умолчанию файла ключа, как правило не надо менять

2. Enter passphrase (empty for no passphrase): — предлагается ввести ключевую фразу, дополнительную защиту авторизации по ключу. В том случае если злоумышленник похитит ключ, без ключевой фразы он не сможет им воспользоваться. Если мы оставим эту строку пустой — защита ключа будет отключена.

3. Enter same passphrase again: — просят повторить ключевую фразу

На этом вопросы окончены, ssh-keygen выводит фингерпринт ключа и в домашнем каталоге, в подкаталоге .ssh размещаются файлы с ключами.

Теперь id_rsa.pub необходимо скопировать на тот хост на который вы будете заходить без пароля и сохранить его в домашнем каталоге в подкаталог .ssh в файл authorized_keys, в этом файле может находится несколько публичных ключей, по тому количеству приватных ключей — которое у вас есть.

Побочным эффектом, на который стоит обратить внимание всем системным администраторам, является то что даже если вы заменили кому нибудь пароль(поставили звезду в master.passwd) авторизация по ключу все равно будет работать.

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

Окт 20 2008

Строим тунель

Понадобилось как то поднять туннель между двумя сетями, выбрал я vtun, он есть в портах.
Ставим из /usr/ports/net/vtun , после чего приступаем к конфигурированию.
На первом сервере устанавливаем vtun в режиме сервера, пример vtund.conf:

options {
# Listen on this port.
port 5000;
 
# Syslog facility
syslog        daemon;
 
# Path to various programs
ppp           /usr/sbin/pppd;
ifconfig      /sbin/ifconfig;
route         /sbin/route;
}
 
# Default session options
default {
compress no;          # Compression is off by default
speed 0;              # By default maximum speed, NO shaping
}
 
#Пример настройки
hilik {
#Пароль на сессию
passwd  hilik;  # Password
#Используем интерфейс tun
type  tun;              # IP tunnel
#Устанавливаем максимальное сжатие lzo
compress  lzo:9;        # LZO compression level 9
#Включаем шифрацию данных
encrypt  yes;           # Encryption
keepalive yes;  # Keep connection alive
 
up {
# Соединение установлено:
# Ктнфигурируем интерфейс
# 10.3.0.1 - локальный адрем, 10.3.0.2 - удаленная сторона
ifconfig "%% 10.3.0.1 10.3.0.2 netmask 255.255.255.255 mtu 1450";
#Устанавливаем маршрут к сети 192.168.1.0/24 через тунель
route "add -net 192.168.1.0/24 10.3.0.2";
};
 
down {
 
#Тут можно вставить действия которые будут
#выполняться при разрушении туннеля
};
}

После того как создали конфигурационный файл, вносим в /etc/rc.conf строку:
vtund_enable=»YES»
и делаем:
/usr/local/etc/rc.d/vtund start

Конфигурирование сервера окончено, приступаем к конфигурирования клиента.
Клиент устанавливается из того же порта /usr/ports/net/vtun, только создаем такой конфигурационный файл:

#Настройки по умолчанию
default {
compress no;
speed 0;
}
 
options {
port 5000;
timeout 60;
ppp           /usr/sbin/pppd;
ifconfig      /sbin/ifconfig;
route         /sbin/route;
}
 
hilik {
passwd  hilik;        # Password
#Указываем использовать интерфейс tun1
device tun1;          # Device tun1
#Повторять попытки соединения при разрыве связи
persist yes;          # Persist mode
up {
#Действия при соединении
#Поднимаем интерфейс
ifconfig "%% 10.3.0.2 10.3.0.1 netmask 255.255.255.255 mtu 1450";
#Устанавливаем маршрут к удаленной сети
route "add -net 192.168.2.0/24 10.3.0.1";
};
 
}

После того как конфигурирование клиента окончено, необходимо добавить в /etc/rc.conf:
vtunclient_enable=»YES»
vtunclient_flags=»hilik 89.252.34.107″

Можно запускать.


Украинская Баннерная Сеть