Установка 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