Навіщо нам потрібен брандмауер, якщо жодна програма не працює на ваших портах?


14

Коли я намагаюся перенести telnet до порту на сервері, і якщо немає програми прослуховування на цьому порту, telnet вмирає з помилкою "Не вдається підключитися ...". Я розумію, що. Але, для чого нам потрібен брандмауер, якщо в жодному порті немає програми прослуховування?


Відповіді:


31

Можливо, зараз не працює служба, але як щодо завтра? У вас їх усі вимкнено, але як бути з вашими користувачами? Будь-хто у системі unix / windows / mac може відкрити порт> 1024 на будь-якій машині, до якої має доступ. А що з шкідливим програмним забезпеченням? А що з вірусом? Вони також можуть відкривати порти та починати подавати інформацію у світ, або починати слухати з'єднання з мережі.

Основна мета брандмауера - не блокувати порти для служб, про які ви знаєте, відключені, це блокувати порти для служб, про які ви можете не знати. Подумайте про це як заперечення за замовчуванням, у якому лише авторизовані певні дірки для авторизованих служб. Будь-який користувач або програма, запущена користувачем, може запустити сервер у системі, до якої вони мають доступ, брандмауер не дозволяє комусь іншому підключитися до цієї послуги.

Хороший адміністратор знає, які служби потрібно виставляти, і може їх включити. Брандмауер здебільшого зменшує ризик роботи невідомих серверів у вашій системі чи вашій мережі, а також для управління тим, що дозволено в мережі з центрального місця.

Важливо знати, що працює на вашій машині / сервері, і вмикати лише те, що вам потрібно, але брандмауер забезпечує додатковий захист від речей, про які ви не знаєте.


1
> "Будь-який користувач або програма, запущена користувачем, може запустити сервер у системі, до якої вони мають доступ. Брандмауер не дозволяє комусь іншим підключатися до цієї послуги." Але хіба це не зробить послугу непридатною?
Khaja Minhajuddin

5
@KhajaMinhajuddin так! Саме в цьому і полягає. (-:
gabe.

2
@KhajaMinhajuddin Ви хочете, щоб лише сервіси, які ви налаштували, були доступні світові. Ви не хочете, щоб сервер smtp, на якому запустився super_spam_virus.exe, поки ви не шукали прослуховування з'єднань з інших заражених систем. Брандмауер запобіжить цьому, хоча це не панацея.
габе.

super_spam_virus.exe не схоже на Unix & Linux :)
користувач невідомо

@userunknown true ... як щодо a.out, або компрометованої версії / bin / ls, яка була скопійована у вашу систему. Або якщо ви розробник, hg serveякий запускає веб-сервер на вашій машині. Справа в тому, що запускати сервер на будь-якій машині неважливо, незалежно від того, використовується він як "робочий стіл" або "сервер", не має значення. І як тільки цей сервер запускається, і ви про нього не знаєте ... ну, ось тоді починаються забави.
габе.

3

Якщо на будь-якому порту немає програми для прослуховування, вам не потрібен брандмауер, але ви також не можете підключитися до свого сервера, оскільки він "запечатаний" від решти країн світу.

З іншого боку ... скажімо, на вашому сервері немає жодної локально запущеної програми для прослуховування на будь-якому порті, але він служить шлюзом для інших комп'ютерів за ним. У цьому випадку ви використовуєте брандмауер для управління маскарадінгом (NAT) і, за бажанням, можете відфільтрувати деякі речі для переадресації пакетів.


Це хороший момент, але якщо я хочу, щоб сервер робив речі (я зазвичай ставлю openssh і веб-сервер). Навіть із брандмауером я маю відкривати порти, щоб зробити такі запущені програми, як openssh та веб-сервери корисні. Отже, я думаю, що я запитую, чи є програми, які відкривають порти для зовнішнього світу, які повинні бути заблоковані брандмауером і які все-таки будуть корисні.
Khaja Minhajuddin

1
Так, є. Не обов’язково приклад для сервера, але припустимо, у вас встановлена ​​машина Linux із встановленим X, а X працює на мережевому порту. Ви хочете дозволити своєму комп'ютеру, можливо, деяким іншим комп'ютерам з локальної мережі підключитися до вашого X. Однак ви не хочете, щоб Джо з Франції підключався до нього. Ще один приклад, скажімо, ви налаштували кілька серверів VPN на своєму сервері і вам потрібно контролювати, які мережі можуть бачити інші мережі (чи не бачити). Скажімо, у вас є OpenSSH, але ви хочете дозволити з'єднання лише з домашнього комп'ютера. Є багато інших прикладів.
Patkos Csaba

1
@KhajaMinhajuddin: Для SSH слід використовувати /etc/ssh/sshd_configзахист машини. PermitRootLoginслід встановити значення Ні, ви повинні використовувати захищений пароль і підтримувати апарат із sudo (ви можете використовувати sudo після входу в систему з обліковим записом з дозволами sudo). Встановлення обмежень за допомогою брандмауера - це лише неправильний інструмент для роботи. Те саме стосується postgresqlбази даних: Використовуйте конфігурацію бази даних, щоб встановити та скасувати дозволи.
користувач невідомий

3

Власне кажучи, це може і не бути необхідним, майте на увазі, що брандмауер може забезпечити більше функціональних можливостей, ніж просто відмова від з'єднань через мережеві порти. Наприклад, DROP проти поведінки REJECT.


1
Яка перевага DROP перед REJECT?
користувач невідомий

Я не впевнений, але я вважаю, що DROP просто не відповідає, тому запитувач навіть не знає, чи отримано запит чи ваша машина існує. REJECT каже, що ви точно там, і просто не хочете про це говорити. І якщо щось стоїть за замкненими дверима, можливо, варто спробувати знайти спосіб, щоб дізнатися, що варто захистити.
Джо

-5

Але, для чого нам потрібен брандмауер, якщо в жодному порті немає програми прослуховування?

Якщо у вас робочий стіл для одного користувача , а не сервер, вам не потрібен брандмауер, якщо не працює служба, як при встановленні Ubuntu за замовчуванням.

У деяких випадках Windows, після того, як вона могла працювати в мережі, деякі сервіси за замовчуванням працювали на технічне обслуговування, оновлення, передачу внутрішніх повідомлень тощо. Ви не можете їх зупинити, не припиняючи роботи вікон, але вони там, де вони вразливі для зовнішніх атак. Тож користувачі Windows потребували брандмауера, і мем, що всім потрібен брандмауер, швидко поширюється.

Коли вони зустрілися з людьми в Linux, які часто були адміністраторами сервера, вони не сказали, що "вам не потрібен брандмауер на Linux", але "у нас є безкоштовні брандмауери, такі як iptables протягом майже десятиліття".

А Персональний міжмережевий екран , сидячи на системі він повинен захищати, не найкраща ідея небудь.

У єдиній користувальницькій настільній системі вам не потрібен персональний брандмауер.


3
Подивіться на відповідь від Gabe та передумайте. Особливо клієнти Desktop вразливі до атак.
Нілс

1
@userunknown: вірус може бути користувачем вашого робочого столу. Демон, який ви встановите і не зможете налаштувати, теж є.
Андре Парамес

1
Я багато років проводив тестування безпеки, і доступ через настільні комп’ютери - дуже корисний шлях для поширення атаки. Не має значення, чи це Windows, Linux, Solaris. Заблокуйте його або втратіть зловмиснику. Правильна фраза повинна бути, якщо вам може знадобитися брандмауер на робочому столі - повністю оцініть ризики у вашому оточенні
Rory Alsop

2
@userunknown тільки тому, що ви використовуєте комп'ютер як desktopне означає, що це все ще serverне просто слова. У вас desktopє багато того, serversщо потенційно може працювати на ньому, а можливо, це вже є.
габе.

1
Подумайте про CUPS (будь-який Linux), SLPD (SuSE) та інші речі (KDE-віддалений, iSCSI-сервер / клієнт), які можуть працювати на Linux після оновлення. Навіть якщо ви перевірили, перш ніж ці речі можуть з’явитися. Якщо вони це роблять, добре блокувати їх. BTW - активуйте брандмауер через GUI (don t allow anything) on RedHat, start CUPS and see if you can connect to it from outside. Then look at iptables-save`: Voila - порт CUPS відкритий, не з'являючись у gui ...
Nils
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.