И так сегодня я раскажу как можно поставить связку Iptables + GeoIP.
- А для чего это нужно спросите вы?
Отвечу - Данная связка позволяет защитится от спамеров и ботов брутфорсеров + позволяет блокировать целые диапазоны ip адресов нужных нам стран. Например таких как Китай откудава на ваш сервер прутся каждый день сотни ботов брутфорсеров котрые в свою очередь пытаются подобрать пароли ко всем возможным открытым портам. Например перебор паролей от phpmyadmin от ssh и.т.д.
Данная связка имееет огромное преимущество тем, что не нужно сидеть высчитывать диапазоны страны, они уже вбиты в базу Geoip вам лишь останется вбить в правило iptables окет нужной страны(Буквенное сокращение.)
И так приступим.
Для начала стваим необходимые пакеты для сборки.
apt-get install xtables-addons-common xtables-addons-source module-assistant libtext-csv-xs-perl
Далее поставим нужные модули для perl и unzip:
apt-get install libtext-csv-xs-perl libxml-csv-perl libtext-csv-perl unzip
Далее скомпилируем сам модуль:
module-assistant auto-install xtables-addons-source
Собственно, проблема в том, что автособиралка модулей для дебиана не создаёт базу GeoIP для iptables. Но никто не мешает создать нам её руками. Идем за исходниками и распаковываем оттуда архив.
Качаем исходники:
wget https://kent.dl.sourceforge.net/project/xtables-addons/Xtables-addons/1.28/xtables-addons-1.28.tar.xz
Распаковываем
После распаковки переходим в нужный каталог
cd xtables-addons-1.28/geoip/
Соберем базу:
./geoip_download.sh
mkdir -p /usr/share/xt_geoip/LE
./geoip_build_db.pl -D /usr/share/xt_geoip/LE < GeoIPCountryWhois.csv
На этом сборка окончена.
Теперь остается только написать правило
Забаним китай совсем:
iptables -I INPUT ! -i lo -m geoip --src-cc CN -j DROP
Ниже приведу полный список сокращенных обозначений стран.
403 ranges for AE United Arab Emirates
212 ranges for AF Afghanistan
118 ranges for AG Antigua and Barbuda
20 ranges for AI Anguilla
208 ranges for AL Albania
103 ranges for AM Armenia
91 ranges for AN Netherlands Antilles
139 ranges for AO Angola
187 ranges for AP Asia/Pacific Region
34 ranges for AQ Antarctica
754 ranges for AR Argentina
27 ranges for AS American Samoa
1908 ranges for AT Austria
3443 ranges for AU Australia
29 ranges for AW Aruba
83 ranges for AX Aland Islands
92 ranges for AZ Azerbaijan
173 ranges for BA Bosnia and Herzegovina
78 ranges for BB Barbados
328 ranges for BD Bangladesh
4388 ranges for BE Belgium
33 ranges for BF Burkina Faso
632 ranges for BG Bulgaria
101 ranges for BH Bahrain
24 ranges for BI Burundi
41 ranges for BJ Benin
2 ranges for BL Saint Barthelemy
88 ranges for BM Bermuda
22 ranges for BN Brunei Darussalam
74 ranges for BO Bolivia
743 ranges for BR Brazil
53 ranges for BS Bahamas
12 ranges for BT Bhutan
18 ranges for BV Bouvet Island
40 ranges for BW Botswana
112 ranges for BY Belarus
96 ranges for BZ Belize
8048 ranges for CA Canada
3 ranges for CC Cocos (Keeling) Islands
204 ranges for CD Congo, The Democratic Republic of the
17 ranges for CF Central African Republic
42 ranges for CG Congo
3079 ranges for CH Switzerland
55 ranges for CI Cote D'Ivoire
8 ranges for CK Cook Islands
369 ranges for CL Chile
82 ranges for CM Cameroon
2661 ranges for CN China
396 ranges for CO Colombia
137 ranges for CR Costa Rica
21 ranges for CU Cuba
14 ranges for CV Cape Verde
3 ranges for CX Christmas Island
336 ranges for CY Cyprus
1222 ranges for CZ Czech Republic
13793 ranges for DE Germany
12 ranges for DJ Djibouti
1374 ranges for DK Denmark
31 ranges for DM Dominica
111 ranges for DO Dominican Republic
58 ranges for DZ Algeria
201 ranges for EC Ecuador
252 ranges for EE Estonia
311 ranges for EG Egypt
4 ranges for EH Western Sahara
14 ranges for ER Eritrea
4063 ranges for ES Spain
17 ranges for ET Ethiopia
3631 ranges for EU Europe
1215 ranges for FI Finland
29 ranges for FJ Fiji
7 ranges for FK Falkland Islands (Malvinas)
8 ranges for FM Micronesia, Federated States of
17 ranges for FO Faroe Islands
9103 ranges for FR France
51 ranges for GA Gabon
15609 ranges for GB United Kingdom
31 ranges for GD Grenada
147 ranges for GE Georgia
17 ranges for GF French Guiana
95 ranges for GG Guernsey
146 ranges for GH Ghana
61 ranges for GI Gibraltar
14 ranges for GL Greenland
12 ranges for GM Gambia
67 ranges for GN Guinea
51 ranges for GP Guadeloupe
25 ranges for GQ Equatorial Guinea
642 ranges for GR Greece
2 ranges for GS South Georgia and the South Sandwich Islands
114 ranges for GT Guatemala
36 ranges for GU Guam
7 ranges for GW Guinea-Bissau
15 ranges for GY Guyana
950 ranges for HK Hong Kong
1 ranges for HM Heard Island and McDonald Islands
117 ranges for HN Honduras
244 ranges for HR Croatia
40 ranges for HT Haiti
629 ranges for HU Hungary
850 ranges for ID Indonesia
1594 ranges for IE Ireland
798 ranges for IL Israel
133 ranges for IM Isle of Man
1938 ranges for IN India
6 ranges for IO British Indian Ocean Territory
424 ranges for IQ Iraq
437 ranges for IR Iran, Islamic Republic of
112 ranges for IS Iceland
3896 ranges for IT Italy
161 ranges for JE Jersey
94 ranges for JM Jamaica
128 ranges for JO Jordan
1785 ranges for JP Japan
193 ranges for KE Kenya
61 ranges for KG Kyrgyzstan
99 ranges for KH Cambodia
4 ranges for KI Kiribati
8 ranges for KM Comoros
64 ranges for KN Saint Kitts and Nevis
6 ranges for KP Korea, Democratic People's Republic of
692 ranges for KR Korea, Republic of
212 ranges for KW Kuwait
32 ranges for KY Cayman Islands
222 ranges for KZ Kazakhstan
17 ranges for LA Lao People's Democratic Republic
262 ranges for LB Lebanon
31 ranges for LC Saint Lucia
96 ranges for LI Liechtenstein
93 ranges for LK Sri Lanka
92 ranges for LR Liberia
24 ranges for LS Lesotho
583 ranges for LT Lithuania
426 ranges for LU Luxembourg
375 ranges for LV Latvia
76 ranges for LY Libyan Arab Jamahiriya
131 ranges for MA Morocco
53 ranges for MC Monaco
170 ranges for MD Moldova, Republic of
46 ranges for ME Montenegro
8 ranges for MF Saint Martin
24 ranges for MG Madagascar
7 ranges for MH Marshall Islands
99 ranges for MK Macedonia
26 ranges for ML Mali
12 ranges for MM Myanmar
52 ranges for MN Mongolia
26 ranges for MO Macau
7 ranges for MP Northern Mariana Islands
39 ranges for MQ Martinique
25 ranges for MR Mauritania
17 ranges for MS Montserrat
141 ranges for MT Malta
60 ranges for MU Mauritius
16 ranges for MV Maldives
47 ranges for MW Malawi
620 ranges for MX Mexico
515 ranges for MY Malaysia
53 ranges for MZ Mozambique
175 ranges for NA Namibia
31 ranges for NC New Caledonia
43 ranges for NE Niger
5 ranges for NF Norfolk Island
1054 ranges for NG Nigeria
73 ranges for NI Nicaragua
8623 ranges for NL Netherlands
1333 ranges for NO Norway
58 ranges for NP Nepal
5 ranges for NR Nauru
4 ranges for NU Niue
624 ranges for NZ New Zealand
44 ranges for OM Oman
191 ranges for PA Panama
144 ranges for PE Peru
13 ranges for PF French Polynesia
27 ranges for PG Papua New Guinea
450 ranges for PH Philippines
304 ranges for PK Pakistan
4830 ranges for PL Poland
6 ranges for PM Saint Pierre and Miquelon
2 ranges for PN Pitcairn Islands
423 ranges for PR Puerto Rico
75 ranges for PS Palestinian Territory, Occupied
1011 ranges for PT Portugal
5 ranges for PW Palau
40 ranges for PY Paraguay
51 ranges for QA Qatar
11 ranges for RE Reunion
1349 ranges for RO Romania
399 ranges for RS Serbia
5539 ranges for RU Russian Federation
22 ranges for RW Rwanda
515 ranges for SA Saudi Arabia
7 ranges for SB Solomon Islands
78 ranges for SC Seychelles
69 ranges for SD Sudan
2757 ranges for SE Sweden
897 ranges for SG Singapore
3 ranges for SH Saint Helena
502 ranges for SI Slovenia
4 ranges for SJ Svalbard and Jan Mayen
430 ranges for SK Slovakia
57 ranges for SL Sierra Leone
25 ranges for SM San Marino
26 ranges for SN Senegal
48 ranges for SO Somalia
30 ranges for SR Suriname
6 ranges for ST Sao Tome and Principe
90 ranges for SV El Salvador
67 ranges for SY Syrian Arab Republic
30 ranges for SZ Swaziland
19 ranges for TC Turks and Caicos Islands
26 ranges for TD Chad
2 ranges for TF French Southern Territories
19 ranges for TG Togo
407 ranges for TH Thailand
36 ranges for TJ Tajikistan
6 ranges for TK Tokelau
5 ranges for TL Timor-Leste
13 ranges for TM Turkmenistan
23 ranges for TN Tunisia
6 ranges for TO Tonga
965 ranges for TR Turkey
40 ranges for TT Trinidad and Tobago
3 ranges for TV Tuvalu
421 ranges for TW Taiwan
166 ranges for TZ Tanzania, United Republic of
2854 ranges for UA Ukraine
103 ranges for UG Uganda
11 ranges for UM United States Minor Outlying Islands
23554 ranges for US United States
76 ranges for UY Uruguay
68 ranges for UZ Uzbekistan
26 ranges for VA Holy See (Vatican City State)
20 ranges for VC Saint Vincent and the Grenadines
274 ranges for VE Venezuela
110 ranges for VG Virgin Islands, British
138 ranges for VI Virgin Islands, U.S.
223 ranges for VN Vietnam
10 ranges for VU Vanuatu
3 ranges for WF Wallis and Futuna
21 ranges for WS Samoa
24 ranges for YE Yemen
5 ranges for YT Mayotte
724 ranges for ZA South Africa
78 ranges for ZM Zambia
92 ranges for ZW Zimbabwe