Ръководство за защита на VPS сървър с Linux

Съдържание

А VPS сървър (виртуален частен сървър), Това е логически дял на твърд диск през виртуална машина, vps ни дава по -голям контрол върху управлението на ресурсите в сравнение със споделената сървърна услуга.

VPS е идеален за тези, които искат да използват сървър професионално, но на по -ниска цена от специалния, а също и за тези, които искат да стартират и правят тестове в администрацията на сървъри, но не са сигурни за техническите аспекти, VPS сървърът е добър вариант за стартиране. Може да се използва за тестване на инструменти и умения, без да се харчат твърде много пари и да се изложи на риск производствен сървър.

Можем да създадем VPS, както се вижда в урока:

  • Създайте локален VPS сървър

Или използвайте някои плащания, има много компании, които предлагат VPS сървър на месец или на ден, като DigitalOcean, за да тестват конфигурации в реална среда.

Най -важното, когато трябва да администрираме сървър, е да решим кои мерки за сигурност, които ще приемем, ще бъдат необходими. Въпреки че има много мерки и инструменти за сигурност, те също могат да бъдат контрапродуктивни, тъй като консумират ресурси и може да не позволят на някои приложения да работят добре, така че трябва да сме наясно с рисковете, с необходимостта да можем да решим баланса между лекотата, производителност и безопасност на сървъра.

В този урок ще дам серия от препоръчителни конфигурации за сигурен VPS

Блокиране на достъпа с защитни стени
Защитните стени действат като бариера между общия интернет трафик и сървъра. Важно е да прегледате, филтрирате и блокирате вътрешния и външния трафик.

Чрез набор от правила, конфигурирани от администратора, сървърът ще използва само определени мрежови портове за оторизирани услуги. Останалите пристанища не са използвани и трябва да бъдат защитени безопасно зад защитна стена, за да се откаже целият трафик, предназначен за тези места.

За този урок ще приемем, че управляваме Linux VPS сървър, за да приемем мерки за сигурност. За да установим основни правила на защитната стена, първо трябва да проследим кои портове имаме отворени, за това използваме командата:

 ifconfig
Определяме ip:
 nmap -sT -O 192.168.0.11

Това ви позволява да знаете кои портове слушат и да обуславяте използването на услуги в някои случаи. Конфигурирането на правилата на нашата защитна стена е добра основа за сигурността на сървъра и мрежата.

Налични са много защитни стени, някои са:

  • IPCop защитна стена
  • Защита и защитна стена на ConfigServer

Най -използваната защитна стена е Iptables, която вече се предлага с Linux, но няма графичен интерфейс, от терминалния прозорец (свързан чрез SSH) можем да използваме следните команди:

Блокиране на даден входящ IP адрес:

 sudo iptables -A INPUT -s 190.160.45.60 -j DROP
Блокирайте входящ IP и порт чрез мрежов интерфейс на Ethernet или кабелна мрежа:
 iptables -A INPUT -i eth0 -s 190.160.45.60 -дестинация -порт 25 -j DROP
Блокирам входящ IP, но чрез WiFi:
 iptables -A INPUT -i wlan0 -s 190.160.45.60 -j DROP
Ако премахна параметъра -s IP и напусна порта, блокирам порта за всеки IP

Iptables е инструментът, използван за управление на защитната стена на netfilter, включена в ядрото на Linux. Предимството на Iptables е, че той е преминал много дълбоки одити за сигурност, за да се увери, че работи и е полезен.

Друг интересен аспект е, че можем да създадем скрипт или интерфейс за определяне на правилата за iptables, въпреки че вече има много налични, които могат да ви позволят да конфигурирате с набори от правила по много гъвкав начин.

Използвайте безопасно SSH за дистанционно администриране
Когато трябва да управляваме сървър, до който нямаме локален достъп, трябва да го направим отдалечено. За тази цел услугата се използва чрез протокол, наречен SSH, което означава Secure Shell, което позволява на сървъра да се управлява напълно чрез команден интерпретатор,

SSH предоставя възможност за създаване и поддържане на тунел за трафик между компютъра и сървъра, така че да се установи защитена връзка, тъй като тунелът предава данни по криптирана връзка.

Докато самият протокол е много защитен и е обстойно анализиран и тестван за сигурност, можем да добавим някои опции за конфигуриране, за да го направим по -сигурен, като например променете порта, тъй като по подразбиране портът за SSH връзка е порт 22, за това се свързваме чрез SSH и след това редактираме файла:

 / etc / ssh / sshd_config
Свързваме се със следната команда:
 ssh потребител @ ip

След това редактираме файла и променяме порта към друг по наш вкус, който не пречи на никаква услуга, например 9200:

 nano / etc / ssh / sshd_config

Записваме и рестартираме SSH така че да приеме новата конфигурация, според дистрибуцията на Linux:

Fedora, Centos

 sbin / услуга sshd рестартиране
Debian, Ubuntu
 /etc/init.d/sshd рестартиране
След това ще трябва да имаме достъп отново, ще го направим, както следва:
 ssh потребител @ ip -p 9200
След това блокираме порт 22 по този начин, те няма да могат да ни сканират и да опитат атака с груба сила.
 iptables -A ИЗХОД -p tcp --dport 22 -j DROP
Инсталирайте IPS или система за предотвратяване на проникване
Система за предотвратяване на проникване е софтуер, който ви позволява да наблюдавате и контролирате достъпа в компютърна мрежа, за да защитите ресурси или сървър от атаки и прониквания. Технологията за предотвратяване на проникване е жизненоважно допълнение към системата за откриване на проникване (IDS), докато IPS работи като защитна стена, докато IDS анализира какъв тип трафик циркулира в мрежата, но също така проверява съдържанието и какво прави това съдържание.

Пример за това е Fail2Ban, това е приложение, разработено под Python за предотвратяване на проникване, това е IPS, който автоматично действа, като анализира и блокира отдалечени връзки, които се опитват за груб достъп.

Fail2ban не само използва свой собствен дневник за опити за достъп, той също използва регистрационни файлове от друг софтуер, като iptables, които определят правилата, за да може да се приложи заключване.

Можете да използвате правила, създадени от администратора, или да създадете нови според вашата собствена конфигурация, например да блокирате IP, който не е имал достъп 3 пъти.

Можем от прозорец на SSH или да го изтеглите от официалния му уебсайт, ако той се намира в хранилищата на нашия дистрибутор, ние го инсталираме.

 apt-get install fail2ban
След това го конфигурираме, като редактираме следния файл:
 nano /etc/fail2ban/jail.conf

Тук редактираме някои от най -важните параметри

  • ignoreip: ip, който никога няма да бъде блокиран.
  • bantime: време в секунди, през което IP блокът ще продължи.
  • maxretry: максимален брой неуспешни опити за достъп, преди да бъдат блокирани.

След това можем да създадем филтри за различни приложения, които можем да намерим в директорията:

 cd /etc/fail2ban/filter.d

Тази система за предотвратяване на проникване ще ни позволи да смекчим много атаки и по този начин да увеличим общата сигурност на нашата VPS конфигурация.

Fail2ban е услуга, която следи регистрационните файлове, за да определи дали достъпът е легитимен потребител и ако не временно да блокира трафика от IP адреса, свързан с потребителя, който възнамерява да получи достъп до някои услуги, било то ftp, ssh, имейл, уеб и др.

Това е лесен начин за автоматично блокиране на методите за груба сила, тъй като блокирането му ще доведе до спиране на работата на атаката, докато посочим. Обикновено това е достатъчно, за да попречи на по -нататъшните опити за груба сила.

Изпълнете а система за откриване на проникване или IDS
Системата за откриване на проникване или IDS е задължителното допълнение към системата за предотвратяване на проникване. IDS открива модификации на файл или запис чрез стартиране на сравнения Срещу тези предварително регистрирани състояния, за да знаете дали файловете са били променени или някаква конфигурация е променена и да запишете кой потребител го е направил.

Има много IDS като Snort, които видяхме в урока:

  • Инструменти за предотвратяване и сигурност на хакери
Meerkat, който видяхме в урока:
  • Система за откриване на нарушители в Суриката
Tripwire, който видяхме в урока:
  • Укрепване на сигурността на сървърите и операционните системи.

Тези инструменти използват база данни със системни файлове и защитават конфигурационните файлове. Чрез конфигуриране на правила и изключения, вие определяте кои файлове да защитавате и какво трябва да се докладва, така че когато започнете да наблюдавате системата, можете да преглеждате изпълненията и всякакви модификации на файловете, които се наблюдават.

Всички инструменти могат да бъдат конфигурирани да проверяват автоматично от cronjob от време на време и дори да изпълняват известия по имейл в случай на необичайна дейност.

Ако вземем Snort например, инсталираме го от хранилищата:

 apt-get install snort

След това отиваме в директорията, където са файловете с правила:

 cd / etc / snort / rules

Например нека да разгледаме файла mysql.rules

 nano mysql.rules
Където виждаме посочено, че всеки външен или root достъп на потребител до услугата MySQL трябва да бъде информиран.

Друг пример е например наблюдение на програми за чат както от сървъра, така и от компютър в мрежата или от външен компютър, който използва нашия сървър.

 nano chat.rules 

Можем също така да конфигурираме всеки файл с правила за откриване на изтегляния от браузър или достъп до услуга, промяна на файл или конкретна уеб страница.

Suricata е по -модерна от Snort и Tripwire, тъй като работи като търсачка за анализ на входящия и изходящия трафик на мрежова система. Въпреки това е много ресурсно да се анализират и откриват прониквания, като се изпълняват двойни задължения като IDS и IPS.

Той също така има приставки за задаване на правила и анализ на много приложения и програми. Suricata работи върху всички слоеве на модела OSI.

Проверете за вируси и злонамерен софтуер с Linux Malware Detect или ClamAV
Въпреки че Linux е по -малко податлив на този тип атаки, той не е имунизиран от злонамерен софтуер. Инструментите на система за сигурност, заедно с внедряването на IPS и IDS за откриване на опити за проникване, изисква софтуер, способен да търси и открива зловреден софтуер, за да идентифицира следи от активност, които показват, че в системата е инсталиран някакъв опасен софтуер.

В урока по Linux Malware Detect (LMD) за защита на Linux беше обяснено инсталирането и използването на този инструмент за откриване на зловреден софтуер, не го пропускайте.

Налични са редица скенери за злонамерен софтуер за Linux системи, които могат да се използват за периодична проверка на целостта на сървърите. Linux Malware Detect, известен също като maldet или LCD, е популярна опция, която може да бъде инсталирана и конфигурирана за сканиране за известни подписи на зловреден софтуер въз основа на нейната база данни.

Може да се стартира ръчно за еднократни сканирания, а също и чрез cronjob, за да се изпълняват редовни превантивни сканирания и търсения, особено за проверка на имейли и файлове, които могат да бъдат качени чрез ftp на сървъра. Докладите от тези сканирания могат да бъдат изпращани по имейл до администраторите на сървъра.

Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка
wave wave wave wave wave