Установка CentOS 7.x
Установка Centos (мой дополняемый вариант:)
Открываем консоль и смотрим ip адрес (ну, нету утилиты ifconfig :) ):
ip address show
Если адреса нет, скорее всего интерфейс не поднят - поднимаем (наверное это фича, а не баг):
ifup <имя интерфейса>
Далее можно все делать по ssh.
Установим минимальный набор ПО:
yum install -y epel-release yum install -y net-tools bind-utils mc tcpdump fail2ban wget
Пропишем нормальные обозначения для интерфейсов:
ifconfig |grep ether|grep "thernet"|awk -F " " 'BEGIN {i=0}{print "SUBSYSTEM==\"net\", ACTION==\"add\", DRIVERS==\"?*\", ATTR{address}==\"" $2'\ '"\", ATTR{type}==\"1\", NAME=\"eth" i "\"";i++ }' >> /etc/udev/rules.d/70-persistent-net.rules
Сделаем файлики для каждого интерфейса по образу и подобию этого:
echo "DEVICE=eth0 TYPE=Ethernet ONBOOT=yes BOOTPROTO=dhcp #BOOTPROTO=static #IPADDR=10.0.0.1 #NETMASK=255.255.255.248 #GATEWAY=10.0.0.2 ARPCHECK=no" > /etc/sysconfig/network-scripts/ifcfg-eth0
Удалим там же старые файлики для "кривых" интерфейсов
Выключаем selinux!!! (ну... как-то так :)
sed -i "s/^SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config setenforce 0
Выключаем и выкашиваем из автозагрузки ненавистный firewalld:
systemctl stop firewalld systemctl disable firewalld yum remove -y firewalld firewalld-filesystem
Пишем правила для iptables: vi /etc/sysconfig/iptables
*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :SSH-ALLOW - [0:0] # -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT # -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT # -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT ## ** разрешим отвечать на запрос ** ## -A INPUT -p icmp --icmp-type echo-request -j ACCEPT # -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j SSH-ALLOW -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT # -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited # # ----- SSH Allow ------- # Разрешенные адреса для SSH клиентов -A SSH-ALLOW -s 111.111.111.111 -j ACCEPT -A SSH-ALLOW -s 222.222.222.222 -j ACCEPT #-A SSH-ALLOW -s 0.0.0.0/0 -j ACCEPT # ----------------------- # COMMIT
Уберем сохранялку iptables, от греха подальше, чтобы не затерла нам наш только что сделанный файлик с комментариями:
unlink /usr/sbin/iptables-save
Скинуть этот Файл:Iptables.sh в /etc/init.d/ с переименованием:
wget http://mna.tom.ru/wiki/images/c/c6/Iptables.sh mv Iptables.sh /etc/init.d/iptables chmod +x /etc/init.d/iptables
Добавим в автозапуск:
chkconfig iptables --add
Настроим fail2ban:
echo -e "[DEFAULT]\nbanaction = iptables-multiport">/etc/fail2ban/jail.d/00-firewalld.conf #sed -i "s/firewallcmd-ipset/iptables-multiport/" /etc/fail2ban/jail.d/00-firewalld.conf sed -i "230a enabled = true" /etc/fail2ban/jail.conf sed -i "240a enabled = true" /etc/fail2ban/jail.conf systemctl disable fail2ban cp /usr/lib/systemd/system/fail2ban.service /etc/systemd/system sed -i "s/^After=.*$/After=network.target sshd.service/" /etc/systemd/system/fail2ban.service systemctl daemon-reload systemctl enable fail2ban
Поправим Grub:
sed -i "s/^GRUB_TIMEOUT=.*$/GRUB_TIMEOUT=1/" /etc/default/grub grub2-mkconfig -o /boot/grub2/grub.cfg
Настроим имя хоста:
echo -e "127.0.0.1\tlocalhost localhost.localdomain">/etc/hosts vi /etc/hostname
Обновимся и перезагрузимся:
yum update -y reboot