Второй из четырёх чисто технических постов. Здесь речь пойдет про первичную настройку установленной Linux-системы.
- Безопасность и удобство — прежде всего. В своем домашнем каталоге создаем поддиректорию ".ssh", в нее кладем файл "authorized_keys" со своим открытым SSH-ключом.
- Пробуем войти по ключу. Если заходит, то в /etc/ssh/sshd_config меняем:PermitRootLogin no
PasswordAuthentication no
Особо параноидальные могут дописать еще и "AllowUsers". Перезапускаем SSH-демона. Брутфорсеры и частично сканеры портов дружно идут за клинским. - Проверяем /etc/network/interfaces . При необходимости заменяем "allow-hotplug" на "auto". В случае, если машина будет multihomed, то создаем необходимые таблицы маршрутизации для iproute2 что-то вроде.auto eth1
iface eth1 inet static
address 192.168.1.13
netmask 255.255.255.0
up ip route add default via 192.168.1.1 table internal
up ip rule add from 192.168.1.13 lookup internal - Настраиваем apt.
В conf.d :APT::Install-Recommends "0";
APT::Install-Suggests "0";
Нечего нам всякие "рекомендации" всучивать. Заодно проверяем список зеркал. - Если сеть конфигурируется статически, то сносим за ненадобностью DHCP-клиентаapt-get purge isc-dhcp-client isc-dhcp-common
- Баним ненужные модули, в частности pcspkr, чтоб не ругалось при загрузке
/etc/modprobe.d/pcspkr.confblacklist pcspkr - Устанавливаем fail2ban.apt-get install fail2ban
Можно оставить и в дефолтной конфигурации, но лучше всё же прописать внутренние сети в исключения, чтоб не искать лихорадочно доступ в консоль, если таки где-то ошибёмся. - Если задействован rpcbind (NFS client), то привязать его к нужному IP-адресу.
Для этого дописать в /etc/init.d/rpcbind что-то вроде.OPTIONS="-w -h 192.168.1.13"
Также в /etc/default/nfs-common прописываем что-нибудь вродеSTATDOPTS="--port 10002"
для удобства последующей настройки Firewall-ов. - Если машина "светит" каким-либо из интерфейсов в WAN, то на всякий случай закрываем её простеньким файрволлом.
iptables -A INPUT -i eth0 -p icmp -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -j REJECT --reject-with tcp-reset
iptables -A INPUT -i eth0 -p udp -j DROP - Сохраняем правила, с тем чтобы они восстановились после перезагрузки
/etc/init.d/fail2ban stop
iptables-save > /etc/network/iptables
/etc/init.d/fail2ban start
Добавляем на какой-нибудь интерфейс строчку
up iptables-restore /etc/network/iptables
(Я обычно прописываю её на lo-интерфейс) - Устанавливаем и настраиваем NTP-демона.
- Отключаем в kbd гашение экрана по неактивности. В /etc/kbd/config задаем
BLANK_TIME=0 - Говорим линуксу, чтобы он не сваповался почём зря по каждому чиху.
В /etc/sysctl.d/swapiness.conf пишем
vm.swappiness = 0 - Если машина multihomed, то имеет смысл включить ARP Filter, это предотвращает ряд весьма странных и трудно отлаживаемых проблем в дальнейшем.
net.ipv4.conf.all.arp_filter=1
net.ipv4.conf.default.arp_filter=1 - Особо педантичные могут поменять /etc/motd , чисто ради фана.