Привет, я настроил полупараноидальную (но легко реализуемую) конфигурацию для PVE на публичном IP. отключи NFS: Код: #vi "/etc/default/nfs-common" NEED_STATD=no Код: #update-rc.d rpcbind disable отключи IPv6: Код: #vi /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="nomodeset ipv6.disable=1 quiet"
#vi /etc/postfix/main.cf inet_protocols = ipv4 fail2ban Код: #aptitude install fail2ban базовые правила файервола Код: #vi /etc/network/if-up.d/firewall
#!/bin/bash
# локально iptables -C INPUT -i lo -j ACCEPT 2> /dev/null || iptables -A INPUT -i lo -j ACCEPT
# установленный iptables -C INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 2> /dev/null || iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# icmp iptables -C INPUT -p icmp --icmp-type echo-request -j ACCEPT 2> /dev/null || iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
# ssh iptables -C INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT 2> /dev/null || iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
# блокировка iptables -C INPUT -j DROP 2> /dev/null || iptables -A INPUT -j DROP доступ к серверу с логином root через ssh Код: cat .bash_profile |tail -n5 #############################################################################
# исключение из файервола iptables -C INPUT -s ${SSH_CLIENT%% *}/32 -j ACCEPT 2> /dev/null || iptables -I INPUT -s ${SSH_CLIENT%% *}/32 -j ACCEPT #############################################################################
cat .bash_logout ######################################################## # удаление исключения из файервола test $(netstat -an|grep ":22 " | grep ${SSH_CLIENT%% *} | wc -l) -le 1 && iptables -D INPUT -s ${SSH_CLIENT%% *}/32 -j ACCEPT ######################################################## вывод С этой конфигурацией у тебя будет работать только SSH с защитой от брутфорса (fail2ban) на публике. Чтобы управлять своим сервером, тебе нужно открыть сессию SSH под root. Не отключай NFS или IPv6, если они тебе нужны. советы для более параноидальной конфигурации: - отключи вход по паролю для SSH - используй VPN - используй порт-нокинг - измени порт SSH - расширь правила файервола
#vi /etc/postfix/main.cf inet_protocols = ipv4 fail2ban Код: #aptitude install fail2ban базовые правила файервола Код: #vi /etc/network/if-up.d/firewall
#!/bin/bash
# локально iptables -C INPUT -i lo -j ACCEPT 2> /dev/null || iptables -A INPUT -i lo -j ACCEPT
# установленный iptables -C INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 2> /dev/null || iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# icmp iptables -C INPUT -p icmp --icmp-type echo-request -j ACCEPT 2> /dev/null || iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
# ssh iptables -C INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT 2> /dev/null || iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
# блокировка iptables -C INPUT -j DROP 2> /dev/null || iptables -A INPUT -j DROP доступ к серверу с логином root через ssh Код: cat .bash_profile |tail -n5 #############################################################################
# исключение из файервола iptables -C INPUT -s ${SSH_CLIENT%% *}/32 -j ACCEPT 2> /dev/null || iptables -I INPUT -s ${SSH_CLIENT%% *}/32 -j ACCEPT #############################################################################
cat .bash_logout ######################################################## # удаление исключения из файервола test $(netstat -an|grep ":22 " | grep ${SSH_CLIENT%% *} | wc -l) -le 1 && iptables -D INPUT -s ${SSH_CLIENT%% *}/32 -j ACCEPT ######################################################## вывод С этой конфигурацией у тебя будет работать только SSH с защитой от брутфорса (fail2ban) на публике. Чтобы управлять своим сервером, тебе нужно открыть сессию SSH под root. Не отключай NFS или IPv6, если они тебе нужны. советы для более параноидальной конфигурации: - отключи вход по паролю для SSH - используй VPN - используй порт-нокинг - измени порт SSH - расширь правила файервола
