Собраны типовые изменения стандартной конфигурации Debian 7 Wheezy. Что-то вроде chreck-list.
Обновления безопасности для debian
Как это ни удивительно, но в некоторых реализациях (DigitalOcean) я обнаружил отсутствие этих строк в свежесозданном VPS.
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
joe
Установить редактор joe :
#!bash
aptitude install joe
apt-spy
apt-spy найдёт самые быстрые зеркала. Полностью полагаться на него нельзя.
#!bash
aptitude install apt-spy
apt-spy update
apt-spy -d wheezy -a Europe
# или только для российских:
apt-spy -d wheezy -s ru
postfix
Установить и переправить на себя рутовую почту.
#!bash
aptitude install postfix
joe /etc/aliaces
postalias /etc/aliaces
Установить postgrey (только для серверов, которым действительно может попасть спам) , postfix-pcre
#!bash
aptitude install postgrey postfix-pcre
Добавить в /etc/postfix/main.cf
smtpd_recipient_restrictions =
permit_mynetworks
reject_unauth_destination
check_policy_service inet:127.0.0.1:10023
header_checks = pcre:/etc/postfix/header_checks
/etc/postfix/header_checks содержит шаблоны для выводимых в логи заголовков.
cat /etc/postfix/header_checks
/^subject:/ WARN
/^to:/ WARN
/^from:/ WARN
/^message-id:/ WARN
После всех настроек перезапустить postfix и послать себе почту для проверки:
#!bash
/etc/init.d/postfix restart
mail -s "postfix test from host "\`hostname\` user@examle.com </dev/null
cron-apt
#!bash
aptitude install cron-apt
В /etc/cron-apt/config добавить свой адрес и условия отсылки:
MAILTO=user@example.com
MAILON=changes # error upgrade changes output always
В /etc/cron-apt/action.d/4-upgrade положить:
#!bash
echo "upgrade -y -o quiet=2" >/etc/cron-apt/action.d/4-upgrade
logcheck
#!bash
aptitude install logcheck
/etc/cron.d/logcheck : изменить время на более частую проверку логов. Проверка происходит в течении нескольких секунд, так что отрицательный эффект только больше почты.
#!bash
joe /etc/cron.d/logcheck
@reboot logcheck if [ -x /usr/sbin/logcheck ]; then nice -n10 /usr/sbin/logcheck -R; fi
**0-59/5** * * * * logcheck if [ -x /usr/sbin/logcheck ]; then nice -n10 /usr/sbin/logcheck; fi
Добавить самодельный файл с правилами
Добавить список отслеживаемых логов в /etc/logcheck/logcheck.logfiles (как минимум /var/log/mail.log или mail.err)
logrotate
В /etc/logrotate.d/rsyslog и некоторые другие файлы добавить и заменить стандартные команды на:
maxage 30
maxsize 100000
daily
dateext
olddir olddir
missingok
notifempty
compress
delaycompress
dateext принудит logrotate создавать файлы с именем, включающим текущую дату (типа kern.log-20131206 ), вместо малопонятных kern.log.1 kern.log.2 kern.log.3
minsize принудит ежедневно ротировать только логи больше указанного размера. Если есть способ сохранения ротируемых логов на удалённом сервере, то minsize использовать нельзя во избежание сохранения на сервере-источнике коротких логов навсегда.
Подробности про logrotate — /linux-logrotate.html. После изменения всех настроек надо запустить проверку:
#!bash
logrotate /etc/logrotate.conf
fail2ban
#!bash
aptitude install fail2ban
rkhunter
#!bash
aptitude install rkhunter
rkhunter --update
rkhunter --check
Дописать свою почту в /etc/rkhunter.conf
#!bash
joe */etc/rkhunter.conf*
ssh
В /etc/ssh/sshd_config добавить ограничение поиска в DNS имени хоста и ограничение на подключения:
UseDNS no
AllowUsers \*@10.1.\*.* *@192.168.0.1
mtr-tiny
Просто установить
#!bash
aptitude install mtr-tiny
webmin
Добавить в /etc/apt/sources.list (или в /etc/apt/sources.list.d/webmin.list):
#!bash
deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib
Добавить ключи и установить:
#!bash
wget -O - http://www.webmin.com/jcameron-key.asc | apt-key add -
aptitude update
aptitude install webmin
если установлен webmin, то желательно сделать его не-автозапускаемым:
#!bash
update-rc.d -f webmin remove
zabbix
#!bash
wget -O - http://repo.zabbix.com/zabbix-official-repo.key|apt-key add -
echo "deb http://repo.zabbix.com/zabbix/2.2/debian wheezy main contrib" >/etc/apt/sources.list.d/zabbix.list
echo "deb http://repo.zabbix.com/zabbix/3.2/ubuntu xenial main contrib" >/etc/apt/sources.list.d/zabbix.list
aptitude update
aptitude install zabbix-agent
aptitude install zabbix-server-mysql
monit
#!bash
aptitude install monit
rcconf — редактирование запускаемых при загрузке системы скриптов
#!shell
apt-get install rcconf
locales
#!shell
dpkg-reconfigure locales
Настройка времени
#!shell
dpkg-reconfigure tzdata
и выбираем UTC
swap
Если нужно.
#!shell
dd if=/dev/zero of=/swapfile bs=1M count=500
mkswap /swapfile
swapon /swapfile
chown root:root /swapfile
chmod 0600 /swapfile
echo '/swapfile swap swap defaults 0 0' >> /etc/fstab
Всякие полезные пакеты
#!shell
aptitude install build-essential deborphan htop iftop nmap dig dnsutils netcat lynx wget curl
aptitude install tcpdump mc rcconf ntp monit zabbix-agent mtr-tiny fail2ban cron-apt postfix-pcre postfix
Leave a Reply
You must be logged in to post a comment.