Когато трябва да отворите нещо в домашната си мрежа към по-големия интернет, е SSH тунел достатъчно сигурен начин да го направите?
Днешната сесия за въпроси и отговори ни идва с любезното съдействие на SuperUser - подразделение на Stack Exchange - обединяване на уеб сайтове с въпроси и отговори.
Reader на SuperUser Алфред М. иска да разбере дали е на прав път със сигурност за връзката:
Наскоро създадох малък сървър с компютър с нисък клас, който работи с debian, с цел да го използва като лично хранилище за git. Позволих на ssh и бях доста изненадан от бързината, с която се сблъскваше с атаки на груба сила и други подобни. След това прочетох, че това е съвсем нормално и научих се за основни мерки за сигурност, за да се предотвратят тези атаки (много въпроси и дублирания при сърфиране, с които може да се справите, вижте например този или този).
Но сега се чудя дали всичко това си заслужава усилието. Реших да създам собствения си сървър предимно за забавление: можех да разчитам само на решения на трети страни като тези, предлагани от gitbucket.org, bettercodes.org и т.н. Докато част от забавлението е за научаване за сигурността в интернет, не съм достатъчно време, за да го посветя, за да стана експерт и да съм почти сигурен, че взех правилните мерки за превенция.
За да реши дали ще продължа да играя с този проект за играчки, бих искал да знам какво наистина рискувам да направите. Например, до каква степен и другите компютри, свързани с моята мрежа, заплашват? Някои от тези компютри се използват от хора с още по-малко познания от моите Windows.
Каква е вероятността да се сблъскам с истински проблеми, ако спазвам основни указания като силна парола, забранен root достъп за ssh, нестандартен порт за ssh и евентуално деактивиране на влизането в парола и използването на някой от правилата fail2ban, denyhosts или iptables?
Поставете друг начин, има ли някои големи лоши вълци, от които се страхувам, или всичко е най-вече за разстрелване на скрипт детски?
Трябва ли Алфред да се придържа към решения на трети страни или да е сигурен неговият разтвор?
Contributor на SuperUser TheFiddlerWins уверява Алфред, че е напълно безопасно:
IMO SSH е едно от най-сигурните неща, които можете да слушате в отворения интернет. Ако наистина сте загрижени да го слушате на нестандартно високо крайно порт. Все още ще има защитна стена (на ниво устройство) между кутията и действителния интернет и просто използвайте препращането на портове за SSH, но това е предпазна мярка срещу други услуги. Самият SSH е доста тъжен.
азимам хората са ударили домашния ми SSH сървър от време на време (отворен за Time Warner Cable). Никога не е имало реално въздействие.
Друг сътрудник, Стефан, подчертава колко лесно е да се осигури SSH:
Настройването на система за удостоверяване с SSH с публичен ключ е наистина тривиално и отнема около 5 минути за настройка.
Ако принудите цялата SSH връзка да го използвате, то ще направи вашата система почти толкова устойчива, колкото можете да се надявате, без да инвестирате LOT в инфраструктура за сигурност. Честно казано, това е толкова просто и ефективно (стига да нямате 200 сметки - тогава става разхвърляно), че да не го използвате трябва да бъде обществено престъпление.
И накрая, Крейг Уотсън предлага още един съвет, който да минимизира опитите за проникване:
Аз също работя с личен сървър на GIT, който е отворен за света на SSH, и аз също имам същите проблеми като груба сила като вас, за да мога да симпатизирам на вашето положение.
TheFiddlerWins вече се занимава с основните последици от сигурността при откриването на SSH на публично достъпна IP, но най-добрият инструмент IMO в отговор на опитите за груба сила е Fail2Ban - софтуер, който следи вашите файлове с журнали за удостоверяване, открива опити за проникване и добавя правила за защитна стена към машината е локална
IPTABLES
защитна стена. Можете да конфигурирате както много опити преди забрана, така и продължителността на забраната (моето по подразбиране е 10 дни).
Имате ли нещо, което да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други потребители на Stack Exchange? Вижте цялата тема на дискусията тук.