коргоо Linux-серверлер. Алгач эмне кылуу керек

коргоо Linux-серверлер. Алгач эмне кылуу керек
Хабиб М'хенни/Wikimedia Commons, CC BY-SA

Бүгүнкү күндө хостингге серверди орнотуу бир нече мүнөт жана чычкандын бир нече чыкылдатуу маселеси. Бирок ишке киргенден кийин дароо эле ал душмандык чөйрөгө туш болот, анткени ал рокер дискотекасындагы бейкүнөө кыздай бүт Интернетке ачык. Сканерлор аны бат эле таап, аялуу жерлерди жана туура эмес конфигурацияларды издөө үчүн тармакты текшерген миңдеген автоматтык түрдө жазылган ботторду табышат. Негизги коргоону камсыз кылуу үчүн ишке киргенден кийин дароо кылышыңыз керек болгон бир нече нерселер бар.

Ыраазы

Root эмес колдонуучу

Сиз эмне кылышыңыз керек болгон биринчи нерсе - тамыр эмес колдонуучуну түзүү. Кеп бул колдонуучу root тутумдагы абсолюттук артыкчылыктарга ээ жана эгер сиз ага алыстан башкарууга уруксат берсеңиз, анда ага жарактуу колдонуучу атын калтырып, хакердин жарымын жасайсыз.

Ошондуктан, сиз башка колдонуучуну түзүп, тамыр үчүн SSH аркылуу алыстан башкарууну өчүрүшүңүз керек.

Жаңы колдонуучу буйрук менен түзүлөт useradd:

useradd [options] <username>

Андан кийин буйрук менен ага сырсөз кошулат passwd:

passwd <username>

Акыр-аягы, бул колдонуучуну жогорку артыкчылыктар менен буйруктарды аткарууга укугу бар топко кошуу керек sudoБөлүштүрүүгө жараша Linux, булар ар кандай топтор болушу мүмкүн. Мисалы, CentOS жана Red Hat колдонуучулары топко кошулат wheel:

usermod -aG wheel <username>

В Ubuntu ал топко кошулду sudo:

usermod -aG sudo <username>

SSH сырсөздөрүнүн ордуна ачкычтар

Оор күч же сырсөздү сыртка чыгаруу стандарттык чабуул вектору, ошондуктан SSH (Secure Shell) ичинде сырсөздүн аутентификациясын өчүрүп, анын ордуна ачкычтын аутентификациясын колдонгон жакшы.

сыяктуу SSH протоколун ишке ашыруу үчүн ар кандай программалар бар лш и dropbear, бирок эң популярдуусу - OpenSSH. OpenSSH кардарын орнотуу Ubuntu:

sudo apt install openssh-client

Серверди орнотуу:

sudo apt install openssh-server

Серверде SSH демонун (sshd) иштетүү Ubuntu:

sudo systemctl start sshd

Ар бир жүктөөдө демонду автоматтык түрдө баштоо:

sudo systemctl enable sshd

Белгилей кетсек, OpenSSH сервер бөлүгү кардар бөлүгүн камтыйт. Башкача айтканда, аркылуу openssh-server башка серверлерге туташа аласыз. Андан тышкары, кардар машинаңыздан SSH туннелин алыскы серверден үчүнчү тараптын хостуна ишке киргизе аласыз, андан кийин үчүнчү тараптын хосту алыскы серверди суроо-талаптардын булагы деп эсептейт. Системаңызды маскалоо үчүн абдан ыңгайлуу функция. Көбүрөөк маалымат алуу үчүн, макаланы карагыла. "Практикалык кеңештер, мисалдар жана SSH туннелдери".

Эреже катары, компьютерге алыстан кошулуу мүмкүнчүлүгүн алдын алуу үчүн (коопсуздук үчүн) кардар машинасына толук кандуу серверди орнотуунун эч кандай мааниси жок.

Ошентип, жаңы колдонуучуңуз үчүн, адегенде серверге кире турган компьютерде SSH ачкычтарын түзүшүңүз керек:

ssh-keygen -t rsa

Ачык ачкыч файлда сакталат .pub менен башталган кокустук белгилердин саптарына окшош ssh-rsa.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP username@hostname

Андан кийин, тамыр катары, колдонуучунун үй каталогунда серверде SSH каталогун түзүп, файлга SSH коомдук ачкычын кошуңуз authorized_keysVim сыяктуу текст редакторун колдонуу:

mkdir -p /home/user_name/.ssh && touch /home/user_name/.ssh/authorized_keys

vim /home/user_name/.ssh/authorized_keys

Акырында, файл үчүн туура уруксаттарды орнотуңуз:

chmod 700 /home/user_name/.ssh && chmod 600 /home/user_name/.ssh/authorized_keys

жана бул колдонуучуга менчик укугун өзгөртүү:

chown -R username:username /home/username/.ssh

Кардар тарабында аутентификация үчүн жашыруун ачкычтын жайгашкан жерин көрсөтүшүңүз керек:

ssh-add DIR_PATH/keylocation

Эми сиз бул ачкычты колдонуу менен серверге кире аласыз:

ssh [username]@hostname

Авторизациядан кийин, файлдарды, утилитаны көчүрүү үчүн scp буйругун колдоно аласыз sshfs файл тутумун же каталогдорду алыстан орнотуу үчүн.

Жеке ачкычтын бир нече резервдик көчүрмөсүн жасоо сунушталат, анткени эгер сиз паролдун аутентификациясын өчүрүп, аны жоготуп алсаңыз, өзүңүздүн сервериңизге такыр кирүү мүмкүнчүлүгүңүз болбойт.

Жогоруда айтылгандай, SSHде сиз тамыр үчүн аутентификацияны өчүрүшүңүз керек (ошондуктан биз жаңы колдонуучуну түздүк).

боюнча CentOS/Кызыл шляпа сызыкты табыңыз PermitRootLogin yes конфигурация файлында /etc/ssh/sshd_config жана аны өзгөртүү:

PermitRootLogin no

боюнча Ubuntu сап кошуу PermitRootLogin no конфигурация файлына 10-my-sshd-settings.conf:

sudo echo "PermitRootLogin no" >> /etc/ssh/sshd_config.d/10-my-sshd-settings.conf

Жаңы колдонуучу анын ачкычы аркылуу аутентификациядан өткөнүн текшергенден кийин, сырсөздү агып кетүү же орой күч колдонуу коркунучун жок кылуу үчүн сырсөз аутентификациясын өчүрө аласыз. Эми серверге кирүү үчүн чабуулчу купуя ачкычты алышы керек.

боюнча CentOS/Кызыл шляпа сызыкты табыңыз PasswordAuthentication yes конфигурация файлында /etc/ssh/sshd_config жана аны төмөнкүдөй өзгөртүңүз:

PasswordAuthentication no

боюнча Ubuntu сап кошуу PasswordAuthentication no файлга 10-my-sshd-settings.conf:

sudo echo "PasswordAuthentication no" >> /etc/ssh/sshd_config.d/10-my-sshd-settings.conf

SSH аркылуу эки фактордук аутентификацияны кантип иштетүү керектиги боюнча көрсөтмөлөрдү караңыз бул жерде.

Firewall

Firewall сиз түздөн-түз уруксат берген порттордогу трафик гана серверге өтүшүн камсыздайт. Бул кокусунан башка кызматтар тарабынан иштетилген порттордун эксплуатациясынан коргойт, бул чабуулдун бетин бир топ кыскартат.

Брандмауэрди орнотуудан мурун, сиз SSH чыгарып салуулар тизмесине киргизилгендигин жана бөгөттөлбөй турганын текшеришиңиз керек. Болбосо, брандмауэрди иштеткенден кийин, серверге туташа албай калабыз.

Бөлүштүрүү менен Ubuntu Татаал эмес брандмауэр келе жатат (wow), жана менен CentOS/Кызыл шляпа — Firewalld.

Брандмауэрде SSH уруксаты берилип жатат Ubuntu:

sudo ufw allow ssh

боюнча CentOS/Red Hat командасын колдонуңуз firewall-cmd:

sudo firewall-cmd --zone=public --add-service=ssh --permanent

Бул процедурадан кийин сиз брандмауэрди баштасаңыз болот.

боюнча CentOS/Red Hat firewalld үчүн systemd кызматын иштетет:

sudo systemctl start firewalld
sudo systemctl enable firewalld

боюнча Ubuntu биз бул буйрукту колдонобуз:

sudo ufw enable

Fail2Ban

кызмат Fail2Ban сервер журналдарын талдайт жана ар бир IP даректен кирүү аракеттеринин санын эсептейт. Орнотуулар белгилүү бир аралыкта канча кирүү аракетине уруксат берилген эрежелерди аныктайт - андан кийин бул IP дарек белгилүү бир убакытка бөгөттөлөт. Мисалы, биз 5 сааттын ичинде SSH аркылуу 2 ийгиликсиз аутентификация аракетине уруксат беребиз, андан кийин бул IP даректи 12 саатка бөгөттөйбүз.

Fail2Ban орнотулууда CentOS жана Кызыл Шляпа:

sudo yum install fail2ban

Орнотуу күйүк Ubuntu и Debian:

sudo apt install fail2ban

Ишке киргизүү:

systemctl start fail2ban
systemctl enable fail2ban

Программанын эки конфигурация файлы бар: /etc/fail2ban/fail2ban.conf и /etc/fail2ban/jail.conf. Тыюу чектөөлөрү экинчи файлда көрсөтүлгөн.

SSH үчүн түрмө демейки боюнча демейки жөндөөлөр менен иштетилген (5 аракет, интервал 10 мүнөт, 10 мүнөткө тыюу салуу).

[DEFAULT] ignorecommand = bantime = 10м издөө = 10m maxretry = 5

SSHдан тышкары, Fail2Ban nginx же Apache веб сервериндеги башка кызматтарды коргой алат.

Автоматтык коопсуздук жаңыртуулары

Белгилүү болгондой, бардык программаларда дайыма жаңы кемчиликтер табылып турат. Маалымат жарыялангандан кийин, эксплоиттер популярдуу эксплуат топтомдоруна кошулат, аларды хакерлер жана өспүрүмдөр катары менен бардык серверлерди сканерлөөдө кеңири колдонушат. Ошондуктан, коопсуздук жаңыртууларын алар жеткиликтүү болоору менен орнотуу абдан маанилүү.

Серверде Ubuntu Автоматтык коопсуздук жаңыртуулары конфигурацияда демейки шартта иштетилген, андыктан эч кандай кошумча аракет талап кылынбайт.

боюнча CentOS/Red Hat тиркемесин орнотушу керек dnf-автоматтык жана таймерди күйгүзүңүз:

sudo dnf upgrade
sudo dnf install dnf-automatic -y
sudo systemctl enable --now dnf-automatic.timer

Таймер текшерүү:

sudo systemctl status dnf-automatic.timer

Демейки портторду өзгөртүү

SSH 1995-жылы telnet (23-порт) жана ftp (21-порт) алмаштыруу үчүн иштелип чыккан, ошондуктан программанын автору Тату Илтонен демейки боюнча 22 портту тандады, жана ал IANA тарабынан бекитилген.

Албетте, бардык чабуулчулар SSH кайсы портто иштеп жатканын билишет жана программалык камсыздоонун версиясын билүү, стандарттык тамыр сырсөздөрүн текшерүү жана башкалар үчүн аны башка стандарттуу порттор менен бирге сканерлешет.

Стандарттык портторду өзгөртүү - бүдөмүктөө - керексиз трафиктин көлөмүн, журналдардын өлчөмүн жана серверге жүктөөнү бир нече эсеге азайтат, ошондой эле чабуулдун бетин азайтат. Кээ бир болсо да бул "караңгылык аркылуу коргонуу" ыкмасын сынга алуу (караңгылык аркылуу коопсуздук). Себеби, бул техника негизги карама-каршы келет архитектуралык коргоо. Ошондуктан, мисалы, АКШнын Улуттук стандарттар жана технология институту "Сервер коопсуздук колдонмосу" ачык сервер архитектурасынын зарылдыгын көрсөтөт: "Системанын коопсуздугу анын компоненттерин ишке ашыруунун сырына таянбашы керек", - деп айтылат документте.

Теориялык жактан алганда, демейки портторду өзгөртүү ачык архитектуралык практикага карама-каршы келет. Бирок иш жүзүндө зыяндуу трафиктин көлөмү азаят, ошондуктан бул жөнөкөй жана натыйжалуу чара.

Порт номерин директиваны өзгөртүү менен конфигурациялоого болот Port 22 конфигурация файлында / Ж.б. / SSH / sshd_config. Бул параметр менен да көрсөтүлөт -p <port> в sshd. SSH кардары жана программалары sftp параметрин да колдойт -p <port>.

параметр -p <port> буйругун колдонуу менен туташтырууда порт номерин көрсөтүү үчүн колдонулушу мүмкүн ssh в Linux. The sftp и scp параметр колдонулат -P <port> (башкы P). Аны буйрук сабынан көрсөтүү конфигурация файлдарындагы каалаган маанини жокко чыгарат.

Эгерде серверлер көп болсо, анда бул коопсуздук иш-аракеттеринин дээрлик бардыгы LinuxСерверлерди скрипт аркылуу автоматташтырууга болот. Бирок эгер бир гана сервер болсо, процессти кол менен башкаруу жакшы.

жарнама катары

Заказ берип, дароо иштей баштаңыз! VDS түзүү бир мүнөт ичинде каалаган конфигурация жана каалаган операциялык система менен. Максималдуу конфигурация сизге жарылууга мүмкүндүк берет - 128 CPU өзөгү, 512 ГБ оперативдүү эстутум, 4000 ГБ NVMe. Абдан эпикалык :)

коргоо Linux-серверлер. Алгач эмне кылуу керек

Source: www.habr.com

DDoS коргоосу, VPS VDS серверлери бар сайттар үчүн ишенимдүү хостинг сатып алыңыз 🔥 DDoS коргоосу, VPS VDS серверлери бар ишенимдүү веб-сайт хостингин сатып алыңыз | ProHoster