security
SSH fingerprint check
В моем не очень продвинутом понимании работы SSH, сервер, при своем первом старте, создает пару ключей, закрытый и открытый. Открытый ключ отсылается клиенту в момент установки соединения. Клиент, в свою очередь, при установки соединения создает отпечаток ключа (fingerprint) и сохраняет его у себя в файле known_hosts.
При каждом новом соединении он проверяет полученный при первом соединении отпечаток с тем. что был передан при новом соединении. Если они не отличаются, то все видимо хорошо. Если же они разные, то с большой вероятностью вы подключаетесь к хосту, который хочет выдать себя за кого-то другого.
В принципе эта проверка очень даже полезна, так как значительно снижает вероятность атаки “человек посередине”, но внутри собственной сети от нее часто больше бед, чем пользы. Уже несколько раз наталкивался в своей практике, как страдали бекапы через ssh от проверки fingerprint хоста. Как правило, такое происходит при переустановки ОС, смене доменного имени, или IP. Если машин немного – проблем особых нет, сам все вовремя отловишь. Но когда число серверов переваливает за второй десяток, да еще серверами и бекапами занимаются разные люди – быть беде.
Решение есть – не проверять fingerprint. Конечно же оно связано с определенным риском получить MITM, так что нужно сперва взвесить все плюсы и минусы. Реализация же очень простая:
ssh -o StrictHostKeyChecking=no host.ru
Можно еще запретить добавление fingerprint в known_hosts
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null host.ru
Источник: http://linuxcommando.blogspot.com
mysql_secure_installation cвоими руками во FreeBSD
В большинстве пакетов mysql-server под Linux входи хороший скрипт mysql_secure_installation, которого очень не хватает в порте mysql во FreeBSD. Сделаем все своими руками!
› Continue reading
mtree на страже вашей FreeBSD
К сожалению в любом программном обеспечение есть уязвимости и дыры, который могут использовать хакеры в свои целях. С момента выхода обновления или security патча до момента исправления в вашей ОС может пройти какое-то время, т.е. это потенциальная возможность получить управление ваши серверов для злоумышленника, который может оставить закладки для будущего использования даже после того, как вы все исправите. Например он может заменить файл su или sudo, даже ps вместе ls могут стать смертельно опасными! Для защиты нужно отслеживать состояние системных файлов (владельцы, права, размер, хеши и т.п.)!
Tripwire – достаточно сложный и тяжелый продукт, конечно можно поставить из портов, но в FreeBSD уже есть утилита, которая прекрасно справится с поставленной задачей. › Continue reading
Bruteforce на SSH по странам
Что сеть полна ботов, пытающихся сделать что-то нехорошее, уже давно не новость. И увидеть в логах попытки отправить письмо через ваш SMTP, попытки пройти аутентификацию у вас на сайте или попытки подобрать пароль от FTP/SSH – обычное дело. Ради интереса решил натравить geoip на логи неудачных попыток входа по ssh.
Смотрите что получилось:
› Continue reading
ipset значительно облегчает жизнь iptables
В iptables мне очень не хватало таблиц PF!
block in quick on $if inet proto tcp from
Как красиво выглядит такое правило в PF по сравнению с ужасным аналогом в iptables:
$IPTABLES -A INPUT -i eth1 -p tcp -m tcp -s 192.168.0.1 -d $me –dport 80 -j DROP
$IPTABLES -A INPUT -i eth1 -p tcp -m tcp -s 192.168.4.1 -d $me –dport 80 -j DROP
$IPTABLES -A INPUT -i eth1 -p tcp -m tcp -s 10.10.0.1 -d $me –dport 80 -j DROP
$IPTABLES -A INPUT -i eth1 -p tcp -m tcp -s 10.0.1.1 -d $me –dport 80 -j DROP
…
И так далее. Более того, проверка каждого нового правила – это лишняя нагрузка на процессор, так что если у вас несколько тысяч правил, то не удивляйтесь idle процессора, равного 0 процентов… В общем такое положение дел в iptables меня долго отпугивало от него. Но не так давно я нашел проект http://ipset.netfilter.org/ , который дает весь функционал таблиц PF и даже больше!
› Continue reading
OpenVPN – простейшая реализация.
OpenVPN – замечательный продукт сообщества OpenSource, позволяющий легки и просто организовать VPN.
Забудьте про PPTP, L2TP и IpSec, для работы OpenVPN нужен только UDP или TCP порт, что значительно упрощает развертывания VPN для клиентов за NAT.
› Continue reading
Использование аутентификации по публичному ключу в SSH.
Вы когда-нибудь смотрели логи попыток аутентификации по ssh? Каждый день сотни ботов рыскают по интернету, пытаясь подобрать пароль и от вашего сервера. Вам не страшно? У вас пароль из двенадцати символов в разном регистре из букв, цифр и специальных символов? Думаю нет, и в один прекрасный день может оказаться, что ваш сервер уже не только ваш.
Есть простой способ оставить ботов с носом, достаточно использовать аутентификацию по публичному ключу.
› Continue reading