Установка CentOS 7.x — различия между версиями

Материал из База знаний
Перейти к: навигация, поиск
Строка 77: Строка 77:
 
  wget http://mna.tom.ru/wiki/images/c/c6/Iptables.sh
 
  wget http://mna.tom.ru/wiki/images/c/c6/Iptables.sh
 
  mv Iptables.sh /etc/init.d/iptables
 
  mv Iptables.sh /etc/init.d/iptables
 +
chmod +x /etc/init.d/iptables
  
 +
Добавим в автозапуск:
 +
#chkconfig iptables --add
  
Добавим в автозапуск:
 
chkconfig iptables --add
 
  
 
Настроим fail2ban:
 
Настроим fail2ban:
  sed -i "s/firewallcmd-ipset/iptables-multiport/" /etc/fail2ban/jail.d/00-firewalld.conf  
+
  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 "230a enabled = true" /etc/fail2ban/jail.conf
  sed -i "239a enabled = true" /etc/fail2ban/jail.conf
+
  sed -i "240a enabled = true" /etc/fail2ban/jail.conf
 +
cp /usr/lib/systemd/system/fail2ban.service /etc/systemd/system
 +
sed -i "s/firewalld.service//" /etc/systemd/system/fail2ban.service
 +
systemctl daemon-reload
 +
systemctl disable fail2ban
  
 
Обновимся и перезагрузимся:
 
Обновимся и перезагрузимся:
 
  yum update -y
 
  yum update -y
 
  reboot
 
  reboot

Версия 05:55, 23 ноября 2018

Установка 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
cp /usr/lib/systemd/system/fail2ban.service /etc/systemd/system
sed -i "s/firewalld.service//" /etc/systemd/system/fail2ban.service
systemctl daemon-reload
systemctl disable fail2ban

Обновимся и перезагрузимся:

yum update -y
reboot