Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- timedatectl set-timezone Asia/Yekaterinburg
- apt-get update && apt-get upgrade
- dpkg-reconfigure tzdata
- mcedit /etc/default/locale
- # File generated by update-locale
- LANG=ru_RU.UTF-8
- dpkg-reconfigure locales
- apt-get remove --auto-remove nftables -y
- apt-get purge nftables -y
- apt-get update
- apt-get install iptables iptables-persistent -y
- iptables -L -v
- netfilter-persistent save
- cat /etc/iptables/rules.v4
- #netfilter-persistent save
- #apt install fail2ban
- #apt enable fail2ban
- #apt start fail2ban
- #apt status fail2ban
- #iptables -nL --line-numbers
- #iptables -D f2b-asterisk-udp 5
- #iptables -D fail2ban-SSH 1
- #fail2ban-client unban 91.24.222.116
- #iptables -A chain_name [options] -j action
- #iptables -A f2b-asterisk-udp 80.91.26.21 -j action DROP
- #iptables -I f2b-asterisk-udp 1 -p all -s 80.91.26.21 -j REJECT
- #iptables -I f2b-asterisk-tcp 1 -p all -s 80.91.26.21 -j REJECT
- #fail2ban-client status asterisk
- #netfilter-persistent save
- #cat /etc/iptables/rules.v4
- # ssh
- # apt install -y rsyslog
- asterisk добавить
- mcedit /etc/fail2ban/filter.d/asterisk.conf
- #######################################################################################
- [INCLUDES]
- before = common.conf
- [Definition]
- _daemon = asterisk
- __pid_re = (?:\s*\[\d+\])
- iso8601 = \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d+[+-]\d{4}
- # All Asterisk log messages begin like this:
- log_prefix= (?:NOTICE|SECURITY|WARNING)%(__pid_re)s:?(?:\[C-[\da-f]*\])?:? [^:]+:\d*(?:(?: in)? [^:]+:)?
- prefregex = ^%(__prefix_line)s%(log_prefix)s <F-CONTENT>.+</F-CONTENT>$
- failregex = ^Registration from '[^']*' failed for '<HOST>(:\d+)?' - (?:Wrong password|Username/auth name mismatch|No matching peer found|Not a local domain|Device does not match ACL|Peer is not supposed to register|ACL error \(permit/deny\)|Not a local domain)$
- ^Call from '[^']*' \(<HOST>:\d+\) to extension '[^']*' rejected because extension not found in context
- ^(?:Host )?<HOST> (?:failed (?:to authenticate\b|MD5 authentication\b)|tried to authenticate with nonexistent user\b)
- ^No registration for peer '[^']*' \(from <HOST>\)$
- ^hacking attempt detected '<HOST>'$
- ^SecurityEvent="(?:FailedACL|InvalidAccountID|ChallengeResponseFailed|InvalidPassword)"(?:(?:,(?!RemoteAddress=)\w+="[^"]*")*|.*?),RemoteAddress="IPV[46]/[^/"]+/<HOST>/\d+"(?:,(?!RemoteAddress=)\w+="[^"]*")*$
- ^"Rejecting unknown SIP connection from <HOST>(?::\d+)?"$
- ^Request (?:'[^']*' )?from '(?:[^']*|.*?)' failed for '<HOST>(?::\d+)?'\s\(callid: [^\)]*\) - (?:No matching endpoint found|Not match Endpoint(?: Contact)? ACL|(?:Failed|Error) to authenticate)\s*$
- ignoreregex =
- datepattern = {^LN-BEG}
- journalmatch = _SYSTEMD_UNIT=asterisk.service
- [lt_journal]
- # asterisk can log timestamp if logs into systemd-journal (optional part matching this timestamp, gh-2383):
- __extra_timestamp = (?:\[[^\]]+\]\s+)?
- __prefix_line = %(known/__prefix_line)s%(__extra_timestamp)s
- #######################################################################################
- mcedit /etc/fail2ban/jail.conf
- sshd заменить
- [sshd]
- enabled = true
- port = ssh
- filter = sshd
- logpath = /var/log/auth.log
- maxretry = 3
- ########Установка действия по умолчанию для стандартной цепочки:#################
- /sbin/iptables -P INPUT DROP
- /sbin/iptables -P FORWARD ACCEPT
- /sbin/iptables -P OUTPUT ACCEPT
- ###* здесь мы сначала удаляем все правила (-F)#####################
- /sbin/iptables -F
- /sbin/iptables -F INPUT
- /sbin/iptables -F OUTPUT
- /sbin/iptables -F FORWARD
- /sbin/iptables -F FORWARD -t mangle
- /sbin/iptables -F POSTROUTING -t nat
- /sbin/iptables -F PREROUTING -t nat
- /sbin/iptables -F PREROUTING -t mangle
- /sbin/iptables -F OUTPUT -t nat
- ###########Создание цепочки:####################
- /sbin/iptables -N Country-Russia
- /sbin/iptables -N SIP-Operators
- ######## здесь мы сначала удаляем все правила chain (-F)#########
- /sbin/iptables -F Country-Russia
- /sbin/iptables -F SIP-Operators
- #########RETURN означает прекратить обход этой цепочки и возобновить выполнение следующего правила в предыдущей (вызывающей) цепочке. Если достигнут конец встроенной цепочки или соответствие правилу встроенной цепочки с целью RETURN, цель, заданная политикой цепочки, определяет судьбу пакета.###########
- /sbin/iptables -A Country-Russia -j RETURN
- /sbin/iptables -A SIP-Operators -j RETURN
- #################Добавить правило в конец списка:##############
- /sbin/iptables -A INPUT -p all -j Country-Russia
- /sbin/iptables -A INPUT -p all -j SIP-Operators
- ########### Black List ########################
- #/etc/rc.d/IP_Russia.sh
- ############ Сброс недействительных пакетов######################
- /sbin/iptables -A INPUT -m state --state INVALID -j DROP
- /sbin/iptables -A OUTPUT -m state --state INVALID -j DROP
- /sbin/iptables -A FORWARD -m state --state INVALID -j DROP
- ##############icmp-host-prohibitedпросто сообщение об отклонении, с которым пакет отклоняется. Это означает, что ваш сервер уведомит отправителя о том, что пакет был отклонен этим сообщением.###################
- /sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 4 -j REJECT --reject-with icmp-host-prohibited
- /sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 5 -j REJECT --reject-with icmp-host-prohibited
- /sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 9 -j REJECT --reject-with icmp-host-prohibited
- /sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 10 -j REJECT --reject-with icmp-host-prohibited
- /sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 11 -j REJECT --reject-with icmp-host-prohibited
- /sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 12 -j REJECT --reject-with icmp-host-prohibited
- /sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
- ###################Разрешаем loopback. В IPv4 это сеть с префиксом 127.0.0.0/8#######
- /sbin/iptables -A INPUT -i lo -j ACCEPT
- #/sbin/iptables -A INPUT -i enp0s3 -j ACCEPT
- ##################### И конкретно от какой сети ##############################
- /sbin/iptables -I INPUT -m iprange --src-range 83.102.160.65-83.102.160.67 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT #HOME
- ############ Адреса через тире дипазон если у вас ######################################
- /sbin/iptables -I INPUT -m iprange --src-range 109.105.164.0-109.105.167.255 -p all -j ACCEPT #HOME
- ############## -s означает Адрес источника, -p all все порты, ACCEPT разрешить ####################
- /sbin/iptables -I INPUT -s 10.0.0.0/8 -p all -j ACCEPT #HOME
- /sbin/iptables -I INPUT -s 176.58.0.0/15 -p all -j ACCEPT #tele2
- ############ Для удобства вы будите подключать SIP аккаунты и в этой цепочке указывать с каких IP разрешить ###############
- ############ Здесь мы разрешаем принимать на порт udp 5060 ###############
- ############ -j, --jump цель Определяет цель правила; т.е., что делать, когда пакет попадает под условия правила. ACCEPT -разрешить ###############
- /sbin/iptables -I SIP-Operators -s 37.139.38.0/24 -p udp --dport 5060 -j ACCEPT #zadarma
- /sbin/iptables -I SIP-Operators -s 185.45.152.128/28 -p udp --dport 5060 -j ACCEPT #zadarma
- /sbin/iptables -I SIP-Operators -s 185.45.152.160/27 -p udp --dport 5060 -j ACCEPT #zadarma
- ################### Блокируем известные SIP сканеры ########################
- /sbin/iptables -A INPUT -p udp --dport 5060 -m string --string "friendly-scanner" --algo bm -j DROP
- /sbin/iptables -A INPUT -p udp --dport 5060 -m string --string "sip-scan" --algo bm -j DROP
- /sbin/iptables -A INPUT -p udp --dport 5060 -m string --string "sundayddr" --algo bm -j DROP
- /sbin/iptables -A INPUT -p udp --dport 5060 -m string --string "iWar" --algo bm -j DROP
- /sbin/iptables -A INPUT -p udp --dport 5060 -m string --string "sipsak" --algo bm -j DROP
- /sbin/iptables -A INPUT -p udp --dport 5060 -m string --string "sipvicious" --algo bm -j DROP
- /sbin/iptables -A INPUT -p udp --dport 5060 -m string --string "sipcli" --algo bm -j DROP
- /sbin/iptables -A INPUT -p udp --dport 5060 -m string --string "VaxSIPUserAgent" --algo bm -j DROP
- ###### Имя интерфейса, через который должен быть получен обрабатываемый пакет только для пакетов входящих в цепочки- ############
- ############INPUT, FORWARD и PREROUTING узнать имя интерфейса ip addr show ############
- ###### здесь мы разрешаем входящий трафик на сетевую карту для этих портов ############
- /sbin/iptables -A INPUT -i enp0s3 -p tcp -m tcp --dport 443 -j ACCEPT
- /sbin/iptables -A INPUT -i enp0s3 -p tcp -m tcp --dport 22 -j ACCEPT
- /sbin/iptables -A INPUT -i enp0s3 -p udp -m udp --dport 5060 -j ACCEPT
- /sbin/iptables -A INPUT -i enp0s3 -p tcp -m tcp --dport 5060 -j ACCEPT
- /sbin/iptables -A INPUT -i enp0s3 -p udp -m udp --dport 10000:50000 -j ACCEPT
- /sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
- /sbin/iptables -A FORWARD -j DROP
- /sbin/iptables -A INPUT -j DROP
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement