Загалом, безпека - це ріпчаста річ, як уже згадувалося. Є причини, що існують міжмережеві стіни, і це не просто всі інші лемінги як дурні дебіли.
Ця відповідь приходить, оскільки пошук "fail2ban" на цій сторінці не дав мені жодних результатів. Тож якщо я подвоюю інший вміст, поводьтеся зі мною. І вибачте, якщо я трохи заїдаю, я надаю звичайний досвід, оскільки це може бути корисним для інших. :)
Міркування щодо мереж, локальні та зовнішні
Це досить специфічно для Linux і зосереджується на хост-файрволі, що зазвичай є випадком використання. Зовнішня брандмауер іде одночасно з належною мережевою структурою, і зазвичай це стосується інших міркувань безпеки. Якщо ви знаєте, що тут мається на увазі, то вам, ймовірно, це повідомлення не знадобиться. Або ні, тоді просто читайте далі.
Запуск брандмауерів зовні та локально може здатися протиінтуїтивно зрозумілим та подвійним. Але це також дає можливість повороту правил на зовнішнє, без шкоди для безпеки для всіх інших хостів, що стоять за ним. Потреба може виникнути з причини налагодження або через те, що хтось щойно трахнув. Інший випадок використання знайдеться там, у розділі «адаптивна глобальна брандмауер», для якого вам також знадобляться як глобальні, так і локальні брандмауери.
Вартість та доступність та та сама історія весь час:
Брандмауер - лише один із аспектів належної захищеної системи. Не встановлюючи брандмауер, оскільки це "коштує" грошей, запроваджує SPOF або все, що це просто фігня, пробачте мою французьку тут. Просто налаштуйте кластер. О, але що робити, якщо пожежна камера має відключення? Потім встановіть кластер на два або більше вогневих відділень.
Але що робити, якщо весь центр обробки даних недоступний, оскільки обидва зовнішні перевізники не працюють (екскаватор вбив ваше волокно)? Просто зробіть кластер, що охоплює кілька центрів обробки даних, а потім.
Це дорого? Кластери занадто складні? Ну, за параноїю треба платити.
Тільки скуготіння щодо SPOF, але не бажаючи платити більше грошей або створювати трохи складніші налаштування - це явний випадок подвійних стандартів або просто невеликий гаманець на стороні компанії чи замовника.
Ця закономірність стосується ВСІХ цих дискусій, незалежно від того, яка служба є поточною справою дня. Незалежно від того, чи це VPN-шлюз, Cisco ASA, що використовується лише для брандмауера, база даних MySQL або PostgreSQL, віртуальна система або серверне обладнання, резервний пристрій для зберігання, комутатори / маршрутизатори, ...
На даний момент ви повинні отримати ідею.
Навіщо турбуватися між брандмауером?
Теоретично ваші міркування є здоровими. (Можна використовувати лише запущені служби.)
Але це лише половина правди. Брандмауер, особливо державний брандмауер, може зробити для вас набагато більше. Брандмауэры без громадянства важливі лише в тому випадку, якщо у вас виникають проблеми з продуктивністю, як і інші згадані.
Простий, центральний, дискретний контроль доступу
Ви згадали обгортки TCP, які реалізують в основному таку ж функціональність для забезпечення вашого. На думку аргументу, припустимо, хтось не знає tcpd
і не любить використовувати мишу? fwbuilder
може прийти до уваги.
Повний доступ з вашої мережі управління - це те, що ви мали б увімкнути, це щось із випадків першого використання вашого брандмауера на базі хоста.
Як щодо налаштування кількох серверів, коли база даних працює десь в іншому місці, і ви не можете з будь-якої причини розмістити обидва / всі машини в спільній (приватній) підмережі? Використовуйте брандмауер, щоб дозволити MySQL доступ до порту 3306 лише для однієї заданої IP-адреси іншого сервера, зроблено просто.
І це також працює бездоганно для UDP. Або будь-який протокол. Брандмауери можуть бути настільки чортово гнучкими. ;)
Пом'якшення наслідків порту
Крім того, за допомогою брандмауера загальні портикани можна виявити та пом'якшити, оскільки кількість з'єднань за часовий проміжок можна відстежувати через ядро та його мережевий стек, і брандмауер може діяти на це.
Також недійсними або незрозумілими пакетами можна обробляти до того, як вони коли-небудь надійдуть до вашої заявки.
Обмеження вихідного трафіку
Фільтрування виїзного руху зазвичай є болем у попці. Але це може бути обов’язково, залежно від договору.
Статистика
Ще одна річ, яку може дати вам брандмауер, - це статистика. (Подумайте watch -n1 -d iptables -vnxL INPUT
, додавши кілька правил для спеціальних IP-адрес прямо вгорі, щоб побачити, чи проходять пакети.)
Ви можете бачити при денному світлі, чи все працює, чи ні. Що ДУЖЕ корисно при усуненні несправностей з підключеннями та у змозі сказати іншій людині по телефону, що ви не отримуєте пакетів, не звертаючись до чатів tcpdump
. Мережа - це весело, більшість людей просто зараз знають, що вони роблять, і часто це просто прості помилки маршрутизації. Чорт, навіть я не завжди знаю, що роблю. Хоча я до цього часу працював з буквально десятками складних систем та приладів, часто і з тунелем.
IDS / IPS
Брандмауер для рівня 7 зазвичай є зміїним маслом (IPS / IDS), якщо він не відвідується належним чином і регулярно оновлюється. Плюс, ліцензії проклято дорогі, тому я б пошкодував отримати їх, якщо у вас немає реальної потреби отримати все, що гроші можуть придбати.
Маскерадінг
Легко, просто спробуйте це з фантиками. : D
Локальне переадресація порту
Дивіться маскування.
Захист каналів доступу до пароля з динамічними IP-адресами
Що робити, якщо клієнти мають динамічні IP-адреси та не розгорнуто налаштування VPN? Або інші динамічні підходи до брандмауера? На це вже натякано в питанні, і тут з’явиться випадок використання для На жаль, я не можу знайти жодного брандмауера, який би це зробив. частина.
Відключення доступу до кореневого облікового запису за допомогою пароля є обов'язковим. Навіть якщо доступ обмежений певними IP-адресами.
Крім того, все ще мати інший обліковий запис blanko, готовий із входом до пароля, якщо ключі ssh загубляться або розгортання не вдається, дуже зручно, якщо щось піде не так (користувач має адміністративний доступ до машини та "все сталося"?). Це та ж сама ідея для доступу до мережі, як це використання режиму однокористування в Linux або використання init=/bin/bash
через grub
для локального доступу дійсно погано і не може використовувати живий диск з будь-якої причини. Не смійтесь, існують продукти, що забороняють це. Навіть якщо функціонал існує, що робити, якщо запущена застаріла версія програмного забезпечення, не вистачає функціональності?
У будь-якому випадку, навіть якщо ви запускаєте ssh-демон на якомусь езотеричному порту, а не на 22, якщо не реалізували такі речі, як стукання портів (щоб відкрити ще один порт і, таким чином, пом'якшити портикани, повільно межуючи з занадто непрактичним), сканування портів виявить ваш обслуговування в підсумку.
Зазвичай ви також налаштовуєте всі сервери з однаковою конфігурацією, з тими ж портами та службами з міркувань ефективності. Ви не можете налаштувати ssh на інший порт на кожній машині. Крім того, ви не можете змінювати його на всіх машинах кожного разу, коли вважаєте, що це "загальнодоступна" інформація, оскільки вона вже є після сканування. Питання щодо nmap
законності чи ні - це не проблема, коли у вашому розпорядженні злому з'єднання Wi-Fi.
Якщо цей обліковий запис не названо "root", люди можуть не в змозі вгадати ім'я облікового запису вашого "backdoor". Але вони будуть знати, якщо вони отримають інший сервер у вашої компанії, або просто куплять якийсь веб-простір, і будуть мати нерозроблений / невикористаний / незабруднений погляд /etc/passwd
.
Для чисто теоретичної ілюстрації зараз вони могли використовувати там зламаний веб-сайт, щоб отримати доступ до вашого сервера та подивитися, як зазвичай вони працюють у вашому місці. Ваші інструменти пошуку зламу можуть не працювати 24/7 (зазвичай вони роблять вночі з причин продуктивності диска для сканування файлової системи?), А ваші сканери вірусів не оновлюються другий. Новий нульовий день побачить світло дня, тож воно буде не виявляйте цих подій одразу, і без інших заходів захисту ви можете ніколи навіть не знати, що сталося. Щоб повернутися до реальності, якщо хтось має доступ до подвигів нульового дня, велика ймовірність, що він все одно не націлиться на ваші сервери, оскільки це просто дорого. Це лише для того, щоб проілюструвати, що завжди існує шлях до системи, якщо виникає «потреба».
Але знову ж таки на тему, просто не використовуйте додатковий парольний обліковий запис і не турбуйтеся? Будь ласка, читайте далі.
Навіть якщо зловмисники отримають ім’я та порт цього додаткового облікового запису, комбінація fail2ban
+ iptables
не зупинить їх, навіть якщо ви використовували лише восьмибуквенний пароль. Плюс fail2ban може бути реалізований і для інших служб, розширюючи горизонт моніторингу!
Що стосується ваших власних служб, якщо у них виникне потреба: в основному кожен сервіс, який не входить в файл, може отримати підтримку fail2ban через надання файлу, який регулярний вирівнювання і скільки пошкоджень дозволено, і брандмауер просто із задоволенням заборонить кожну IP-адресу. сказано.
Я не кажу використовувати 8-значні паролі! Але якщо їм забороняється протягом 24 годин протягом п’яти помилкових спроб пароля, ви можете здогадатися, як довго їм доведеться намагатися, якщо вони не матимуть в своєму розпорядженні ботнету навіть при такій хитрій безпеці. І ви будете здивовані, якими паролями користувачі схильні користуватися, а не тільки ssh
. Переглянувши паролі електронної пошти людей через Плеск, вам повідомляється все, чого ви хотіли б не знати, якщо б ви коли-небудь це робили, але що я, звичайно, тут не маю на увазі. :)
Адаптивна глобальна брандмауер
fail2ban
це лише один додаток, який використовує щось за принципом iptables -I <chain_name> 1 -s <IP> -j DROP
, але ви можете легко створити такі речі самостійно за допомогою магії Bash досить швидко.
Щоб додатково розширити щось подібне, об’єднайте всі IP2 адреси fail2ban з серверів у вашій мережі на додатковому сервері, який очищує всі списки та передає їх по черзі до ваших основних брандмауерів, що блокують увесь трафік вже на краю вашої мережі.
Такий функціонал не можна продати (звичайно, він може бути, але це просто крихка система і смоктання), але він повинен бути переплетений у вашу інфраструктуру.
Перебуваючи в ньому, ви також можете використовувати IP-адреси або списки чорного списку з інших джерел, будь то зведені вами самостійно або зовнішніми.