Nuntempe, levi servilon en gastigado estas demando de kelkaj minutoj kaj kelkaj musklakoj. Sed tuj post lanĉo, li trovas sin en malamika medio, ĉar li estas malfermita al la tuta Interreto kiel senkulpa knabino en rokmuzika diskoteko. Skaniloj rapide trovos ĝin kaj detektos milojn da aŭtomate skriptitaj robotoj, kiuj traserĉas la reton serĉante vundeblecojn kaj misagordojn. Estas kelkaj aferoj, kiujn vi devus fari tuj post lanĉo por certigi bazan protekton.
La unua paŝo estas krei ne-radikan uzanton por vi mem. La punkto estas ke la uzanto root absolutaj privilegioj en la sistemo, kaj se vi permesas al li fora administrado, tiam vi faros duonon de la laboro por la retpirato, lasante validan uzantnomon por li.
Sekve, vi devas krei alian uzanton, kaj malŝalti foran administradon per SSH por radiko.
Nova uzanto estas komencita per la komando useradd:
useradd [options] <username>
Tiam pasvorto estas aldonita por ĝi kun la komando passwd:
passwd <username>
Fine, ĉi tiu uzanto devas esti aldonita al grupo, kiu havas la rajton efektivigi altigitajn komandojn sudo. Depende de la Linukso-distribuo, ĉi tiuj povas esti malsamaj grupoj. Ekzemple, en CentOS kaj Red Hat, la uzanto estas aldonita al la grupo wheel:
usermod -aG wheel <username>
En Ubuntu ĝi estas aldonita al la grupo sudo:
usermod -aG sudo <username>
Ŝlosiloj anstataŭ SSH-pasvortoj
Bruta forto aŭ pasvortfuĝoj estas norma atakvektoro, do plej bone estas malŝalti pasvortan aŭtentigon en SSH (Secure Shell) kaj uzi ŝlosilan aŭtentikigon anstataŭe.
Ekzistas diversaj programoj por efektivigi la SSH-protokolon, kiel ekzemple lsh и gutoportisto, sed la plej populara estas OpenSSH. Instalante la OpenSSH-klienton sur Ubuntu:
sudo apt install openssh-client
Instalado de servilo:
sudo apt install openssh-server
Lanĉante la SSH-demonon (sshd) sur la Ubuntu-servilo:
sudo systemctl start sshd
Aŭtomate lanĉu la demonon ĉe ĉiu ekkuro:
sudo systemctl enable sshd
Oni devas rimarki, ke la servila parto de OpenSSH inkluzivas la klientparton. Tio estas, tra openssh-server vi povas konektiĝi al aliaj serviloj. Plie, de via klienta maŝino, vi povas komenci SSH-tunelon de fora servilo al triaparta gastiganto, kaj tiam la triaparta gastiganto konsideros la foran servilon kiel la fonton de petoj. Tre oportuna funkcio por maski vian sistemon. Vidu artikolon por detaloj "Praktikaj Konsiloj, Ekzemploj, kaj SSH-Tuneloj".
Sur klienta maŝino, kutime ne havas sencon instali plenrajtan servilon por malhelpi la eblecon de fora konekto al komputilo (por sekurecaj celoj).
Do, por via nova uzanto, vi unue devas generi SSH-ŝlosilojn en la komputilo, de kiu vi aliros la servilon:
ssh-keygen -t rsa
La publika ŝlosilo estas konservita en dosiero .pub kaj aspektas kiel ĉeno de hazardaj signoj, kiu komenciĝas per ssh-rsa.
Poste, de sub radiko, kreu SSH-dosierujon sur la servilo en la hejma dosierujo de la uzanto kaj aldonu la publikan ŝlosilon SSH al la dosiero. authorized_keys, uzante tekstredaktilon kiel Vim:
Ĉe la kliento, vi devas specifi la lokon de la sekreta ŝlosilo por aŭtentigo:
ssh-add DIR_PATH/keylocation
Nun vi povas ensaluti al la servilo sub la uzantnomo uzante ĉi tiun ŝlosilon:
ssh [username]@hostname
Post rajtigo, vi povas uzi la komandon scp por kopii dosierojn, la ilon sshfs por malproksime munti dosiersistemon aŭ dosierujojn.
Estas konsilinde fari plurajn sekurkopiojn de la privata ŝlosilo, ĉar se vi malŝaltas pasvortan aŭtentikigon kaj perdos ĝin, tiam vi tute ne havos manieron ensaluti en vian propran servilon.
Kiel menciite supre, en SSH vi devas malŝalti aŭtentikigon por radiko (tio estas la kialo, ke ni komencis novan uzanton).
Sur CentOS/Red Hat ni trovas la linion PermitRootLogin yes en la agorda dosiero /etc/ssh/sshd_config kaj ŝanĝu ĝin:
PermitRootLogin no
En Ubuntu aldonu la linion PermitRootLogin no al la agorda dosiero 10-my-sshd-settings.conf:
Post kontroli, ke la nova uzanto aŭtentikigas per sia ŝlosilo, vi povas malŝalti pasvortan aŭtentikigon por forigi la riskon de pasvortfuĝo aŭ krudforto. Nun, por aliri la servilon, atakanto devos akiri privatan ŝlosilon.
Sur CentOS/Red Hat ni trovas la linion PasswordAuthentication yes en la agorda dosiero /etc/ssh/sshd_config kaj ŝanĝu ĝin jene:
PasswordAuthentication no
En Ubuntu aldonu la linion PasswordAuthentication no arkivi 10-my-sshd-settings.conf:
Por instrukcioj pri ebligado de dufaktora aŭtentigo per SSH, vidu tie.
fajroŝirmilo
La fajroŝirmilo certigas, ke nur la trafiko sur la havenoj, kiujn vi rekte permesas, iros al la servilo. Ĉi tio protektas kontraŭ ekspluatado de havenoj kiuj estas hazarde ebligitaj kun aliaj servoj, kio multe reduktas la ataksurfacon.
Antaŭ ol instali fajroŝirmilon, vi devas certigi, ke SSH estas inkluzivita en la ekskludlisto kaj ne estos blokita. Alie, post komenci la fajroŝirmilon, ni ne povos konektiĝi al la servilo.
Ubuntu-distribuo venas kun Senkomplika fajroŝirmilo (Ŭaŭ), kaj kun CentOS/Red Hat - fajroŝirmilo.
servo Fail2Ban analizas protokolojn sur la servilo kaj kalkulas la nombron da alirprovoj de ĉiu IP-adreso. La agordoj specifas la regulojn por kiom da alirprovoj estas permesitaj por certa intervalo - post kio ĉi tiu IP-adreso estas blokita dum difinita tempodaŭro. Ekzemple, ni permesu 5 malsukcesajn SSH-aŭtentikigprovojn ene de 2 horoj, tiam bloku la donitan IP-adreson dum 12 horoj.
La programo havas du agordajn dosierojn: /etc/fail2ban/fail2ban.conf и /etc/fail2ban/jail.conf. Malpermesaj limigoj estas specifitaj en la dua dosiero.
Malliberejo por SSH estas ebligita defaŭlte kun defaŭltaj agordoj (5 provoj, intervalo 10 minutoj, malpermeso dum 10 minutoj).
Krom SSH, Fail2Ban povas protekti aliajn servojn sur la retservilo nginx aŭ Apache.
Aŭtomataj sekurecaj ĝisdatigoj
Kiel vi scias, novaj vundeblecoj estas konstante trovitaj en ĉiuj programoj. Post kiam la informoj estas publikigitaj, ekspluataĵoj estas aldonitaj al popularaj ekspluatpakaĵoj, kiuj estas amase uzataj de retpiratoj kaj adoleskantoj dum skanado de ĉiuj serviloj en vico. Tial, estas tre grave instali sekurecajn ĝisdatigojn tuj kiam ili aperas.
Sur la Ubuntu-servilo, aŭtomataj sekurecaj ĝisdatigoj estas ebligitaj defaŭlte, do ne necesas plua ago.
Sur CentOS/Red Hat vi devas instali la aplikaĵon dnf-aŭtomata kaj ŝaltu la tempigilon:
SSH estis evoluigita en 1995 por anstataŭigi telnet (haveno 23) kaj ftp (haveno 21), do la verkinto de la programo, Tatu Iltonen elektita haveno 22 defaŭlte, kaj estis aprobita de IANA.
Kompreneble, ĉiuj atakantoj konscias pri kiu haveno SSH funkcias - kaj skanu ĝin kune kun la ceteraj normaj havenoj por ekscii la programaran version, por kontroli normajn radikajn pasvortojn ktp.
Ŝanĝi normajn havenojn - malklarigado - plurfoje reduktas la kvanton de rubotrafiko, la grandeco de la ŝtipoj kaj la ŝarĝo sur la servilo, kaj ankaŭ reduktas la ataksurfacon. Kvankam iuj kritiku ĉi tiun metodon de "protekto per obskureco" (sekureco per obskureco). La kialo estas, ke ĉi tiu tekniko estas kontraŭa al la fundamenta arkitektura protekto. Tial, ekzemple, la Usona Nacia Instituto pri Normoj kaj Teknologio en "Gvidilo pri Sekureca Servilo" indikas la bezonon de malferma servila arkitekturo: "La sekureco de sistemo ne devus fidi je la sekreteco de la efektivigo de ĝiaj komponantoj," diras la dokumento.
Teorie, ŝanĝi la defaŭltajn havenojn estas kontraŭ la praktiko de malferma arkitekturo. Sed praktike, la kvanto de malica trafiko efektive malpliiĝas, do ĉi tio estas simpla kaj efika mezuro.
La havena numero povas esti agordita ŝanĝante la direktivon Port 22 en la agorda dosiero / etc / ssh / sshd_config. Ĝi ankaŭ estas indikita per la parametro -p <port> в ssh. SSH-kliento kaj programoj sftp ankaŭ subtenu la opcion -p <port>.
Parametro -p <port> uzeblas por specifi la pordan numeron kiam konekto kun la komando ssh en linukso. EN sftp и scp parametro estas uzata -P <port> (P majusklo). Komandlinia instrukcio superregas ajnan valoron en agordaj dosieroj.
Se estas multaj serviloj, preskaŭ ĉiuj ĉi tiuj agoj por protekti la Linuksan servilon povas esti aŭtomatigitaj en skripto. Sed se ekzistas nur unu servilo, tiam estas pli bone kontroli la procezon permane.
Pri la Rajtoj de Reklamado
Mendu kaj komencu tuj! Kreado de VDS ajna agordo kaj kun ajna operaciumo ene de minuto. La maksimuma agordo permesos vin plene - 128 CPU-kernoj, 512 GB RAM, 4000 GB NVMe. Epopeo 🙂