Advertisement
load-net

iptables

Apr 8th, 2024 (edited)
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.82 KB | None | 0 0
  1. timedatectl set-timezone Asia/Yekaterinburg
  2. apt-get update && apt-get upgrade
  3. dpkg-reconfigure tzdata
  4. mcedit /etc/default/locale
  5. # File generated by update-locale
  6. LANG=ru_RU.UTF-8
  7. dpkg-reconfigure locales
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14. apt-get remove --auto-remove nftables -y
  15. apt-get purge nftables -y
  16. apt-get update
  17. apt-get install iptables iptables-persistent -y
  18. iptables -L -v
  19.  
  20.  
  21. netfilter-persistent save
  22. cat /etc/iptables/rules.v4
  23.  
  24. #netfilter-persistent save
  25. #apt install fail2ban
  26. #apt enable fail2ban
  27. #apt start fail2ban
  28. #apt status fail2ban
  29.  
  30. #iptables -nL --line-numbers
  31.  
  32. #iptables -D f2b-asterisk-udp 5
  33. #iptables -D fail2ban-SSH 1
  34. #fail2ban-client unban 91.24.222.116
  35.  
  36. #iptables -A chain_name [options] -j action
  37. #iptables -A f2b-asterisk-udp 80.91.26.21 -j action DROP
  38.  
  39. #iptables -I f2b-asterisk-udp 1 -p all -s 80.91.26.21 -j REJECT
  40. #iptables -I f2b-asterisk-tcp 1 -p all -s 80.91.26.21 -j REJECT
  41. #fail2ban-client status asterisk
  42.  
  43. #netfilter-persistent save
  44. #cat /etc/iptables/rules.v4
  45.  
  46.  
  47. # ssh
  48. # apt install -y rsyslog
  49.  
  50. asterisk добавить
  51. mcedit /etc/fail2ban/filter.d/asterisk.conf
  52.  
  53. #######################################################################################
  54.  
  55. [INCLUDES]
  56. before = common.conf
  57.  
  58. [Definition]
  59. _daemon = asterisk
  60. __pid_re = (?:\s*\[\d+\])
  61. iso8601 = \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d+[+-]\d{4}
  62. # All Asterisk log messages begin like this:
  63. log_prefix= (?:NOTICE|SECURITY|WARNING)%(__pid_re)s:?(?:\[C-[\da-f]*\])?:? [^:]+:\d*(?:(?: in)? [^:]+:)?
  64.  
  65. prefregex = ^%(__prefix_line)s%(log_prefix)s <F-CONTENT>.+</F-CONTENT>$
  66.  
  67. 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)$
  68. ^Call from '[^']*' \(<HOST>:\d+\) to extension '[^']*' rejected because extension not found in context
  69. ^(?:Host )?<HOST> (?:failed (?:to authenticate\b|MD5 authentication\b)|tried to authenticate with nonexistent user\b)
  70. ^No registration for peer '[^']*' \(from <HOST>\)$
  71. ^hacking attempt detected '<HOST>'$
  72. ^SecurityEvent="(?:FailedACL|InvalidAccountID|ChallengeResponseFailed|InvalidPassword)"(?:(?:,(?!RemoteAddress=)\w+="[^"]*")*|.*?),RemoteAddress="IPV[46]/[^/"]+/<HOST>/\d+"(?:,(?!RemoteAddress=)\w+="[^"]*")*$
  73. ^"Rejecting unknown SIP connection from <HOST>(?::\d+)?"$
  74. ^Request (?:'[^']*' )?from '(?:[^']*|.*?)' failed for '<HOST>(?::\d+)?'\s\(callid: [^\)]*\) - (?:No matching endpoint found|Not match Endpoint(?: Contact)? ACL|(?:Failed|Error) to authenticate)\s*$
  75.  
  76. ignoreregex =
  77. datepattern = {^LN-BEG}
  78. journalmatch = _SYSTEMD_UNIT=asterisk.service
  79.  
  80. [lt_journal]
  81.  
  82. # asterisk can log timestamp if logs into systemd-journal (optional part matching this timestamp, gh-2383):
  83. __extra_timestamp = (?:\[[^\]]+\]\s+)?
  84. __prefix_line = %(known/__prefix_line)s%(__extra_timestamp)s
  85.  
  86.  
  87.  
  88. #######################################################################################
  89.  
  90.  
  91.  
  92.  
  93. mcedit /etc/fail2ban/jail.conf
  94. sshd заменить
  95. [sshd]
  96. enabled = true
  97. port = ssh
  98. filter = sshd
  99. logpath = /var/log/auth.log
  100. maxretry = 3
  101.  
  102.  
  103. ########Установка действия по умолчанию для стандартной цепочки:#################
  104. /sbin/iptables -P INPUT DROP
  105. /sbin/iptables -P FORWARD ACCEPT
  106. /sbin/iptables -P OUTPUT ACCEPT
  107.  
  108. ###* здесь мы сначала удаляем все правила (-F)#####################
  109. /sbin/iptables -F
  110. /sbin/iptables -F INPUT
  111. /sbin/iptables -F OUTPUT
  112. /sbin/iptables -F FORWARD
  113. /sbin/iptables -F FORWARD -t mangle
  114. /sbin/iptables -F POSTROUTING -t nat
  115. /sbin/iptables -F PREROUTING -t nat
  116. /sbin/iptables -F PREROUTING -t mangle
  117. /sbin/iptables -F OUTPUT -t nat
  118.  
  119. ###########Создание цепочки:####################
  120. /sbin/iptables -N Country-Russia
  121. /sbin/iptables -N SIP-Operators
  122.  
  123. ######## здесь мы сначала удаляем все правила chain (-F)#########
  124. /sbin/iptables -F Country-Russia
  125. /sbin/iptables -F SIP-Operators
  126.  
  127. #########RETURN означает прекратить обход этой цепочки и возобновить выполнение следующего правила в предыдущей (вызывающей) цепочке. Если достигнут конец встроенной цепочки или соответствие правилу встроенной цепочки с целью RETURN, цель, заданная политикой цепочки, определяет судьбу пакета.###########
  128. /sbin/iptables -A Country-Russia -j RETURN
  129. /sbin/iptables -A SIP-Operators -j RETURN
  130.  
  131.  
  132. #################Добавить правило в конец списка:##############
  133. /sbin/iptables -A INPUT -p all -j Country-Russia
  134. /sbin/iptables -A INPUT -p all -j SIP-Operators
  135.  
  136. ########### Black List ########################
  137. #/etc/rc.d/IP_Russia.sh
  138. ############ Сброс недействительных пакетов######################
  139.  
  140. /sbin/iptables -A INPUT -m state --state INVALID -j DROP
  141. /sbin/iptables -A OUTPUT -m state --state INVALID -j DROP
  142. /sbin/iptables -A FORWARD -m state --state INVALID -j DROP
  143.  
  144. ##############icmp-host-prohibitedпросто сообщение об отклонении, с которым пакет отклоняется. Это означает, что ваш сервер уведомит отправителя о том, что пакет был отклонен этим сообщением.###################
  145. /sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 4 -j REJECT --reject-with icmp-host-prohibited
  146. /sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 5 -j REJECT --reject-with icmp-host-prohibited
  147. /sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 9 -j REJECT --reject-with icmp-host-prohibited
  148. /sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 10 -j REJECT --reject-with icmp-host-prohibited
  149. /sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 11 -j REJECT --reject-with icmp-host-prohibited
  150. /sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 12 -j REJECT --reject-with icmp-host-prohibited
  151. /sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
  152.  
  153. ###################Разрешаем loopback. В IPv4 это сеть с префиксом 127.0.0.0/8#######
  154. /sbin/iptables -A INPUT -i lo -j ACCEPT
  155. #/sbin/iptables -A INPUT -i enp0s3 -j ACCEPT
  156.  
  157. ##################### И конкретно от какой сети ##############################
  158.  
  159. /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
  160.  
  161. ############ Адреса через тире дипазон если у вас ######################################
  162. /sbin/iptables -I INPUT -m iprange --src-range 109.105.164.0-109.105.167.255 -p all -j ACCEPT #HOME
  163.  
  164. ############## -s означает Адрес источника, -p all все порты, ACCEPT разрешить ####################
  165. /sbin/iptables -I INPUT -s 10.0.0.0/8 -p all -j ACCEPT #HOME
  166. /sbin/iptables -I INPUT -s 176.58.0.0/15 -p all -j ACCEPT #tele2
  167.  
  168. ############ Для удобства вы будите подключать SIP аккаунты и в этой цепочке указывать с каких IP разрешить ###############
  169. ############ Здесь мы разрешаем принимать на порт udp 5060 ###############
  170. ############ -j, --jump цель Определяет цель правила; т.е., что делать, когда пакет попадает под условия правила. ACCEPT -разрешить ###############
  171. /sbin/iptables -I SIP-Operators -s 37.139.38.0/24 -p udp --dport 5060 -j ACCEPT #zadarma
  172. /sbin/iptables -I SIP-Operators -s 185.45.152.128/28 -p udp --dport 5060 -j ACCEPT #zadarma
  173. /sbin/iptables -I SIP-Operators -s 185.45.152.160/27 -p udp --dport 5060 -j ACCEPT #zadarma
  174.  
  175. ################### Блокируем известные SIP сканеры ########################
  176. /sbin/iptables -A INPUT -p udp --dport 5060 -m string --string "friendly-scanner" --algo bm -j DROP
  177. /sbin/iptables -A INPUT -p udp --dport 5060 -m string --string "sip-scan" --algo bm -j DROP
  178. /sbin/iptables -A INPUT -p udp --dport 5060 -m string --string "sundayddr" --algo bm -j DROP
  179. /sbin/iptables -A INPUT -p udp --dport 5060 -m string --string "iWar" --algo bm -j DROP
  180. /sbin/iptables -A INPUT -p udp --dport 5060 -m string --string "sipsak" --algo bm -j DROP
  181. /sbin/iptables -A INPUT -p udp --dport 5060 -m string --string "sipvicious" --algo bm -j DROP
  182. /sbin/iptables -A INPUT -p udp --dport 5060 -m string --string "sipcli" --algo bm -j DROP
  183. /sbin/iptables -A INPUT -p udp --dport 5060 -m string --string "VaxSIPUserAgent" --algo bm -j DROP
  184.  
  185. ###### Имя интерфейса, через который должен быть получен обрабатываемый пакет только для пакетов входящих в цепочки- ############
  186. ############INPUT, FORWARD и PREROUTING узнать имя интерфейса ip addr show ############
  187. ###### здесь мы разрешаем входящий трафик на сетевую карту для этих портов ############
  188.  
  189. /sbin/iptables -A INPUT -i enp0s3 -p tcp -m tcp --dport 443 -j ACCEPT
  190. /sbin/iptables -A INPUT -i enp0s3 -p tcp -m tcp --dport 22 -j ACCEPT
  191. /sbin/iptables -A INPUT -i enp0s3 -p udp -m udp --dport 5060 -j ACCEPT
  192. /sbin/iptables -A INPUT -i enp0s3 -p tcp -m tcp --dport 5060 -j ACCEPT
  193. /sbin/iptables -A INPUT -i enp0s3 -p udp -m udp --dport 10000:50000 -j ACCEPT
  194. /sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  195.  
  196.  
  197.  
  198.  
  199. /sbin/iptables -A FORWARD -j DROP
  200. /sbin/iptables -A INPUT -j DROP
  201.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement