Dedikuoti serveriai, VDS hostingas, debesų kompiuterija
Interneto vizija
Karjera El. paštas

Grįžti   Dedikuoti.lt forumas > Bendruomenės diskusijos > Pamokos > Serverių saugumas

Atsakyti
 
Temos įrankiai Ieškoti šioje temoje
  #1  
Senas 2012-01-25, 15:57
IV_RomanL avataras
IV_RomanL IV_RomanL neprisijungęs
Interneto vizija
 
Prisiregistravo: 2011 11
Vieta: Vilnius
Žinutės: 648
Arrow OpenSSH (SSH) saugumo didinimas

Šioje pamokoje pateikiami būdai kaip suteikti papildomo saugumo serveryje naudojamai OpenSSH programai. Ši programa suteikia galimybę prisijungti prie serverio nuotoliniu būdu ir jį valdyti, tad šiuo atveju nepasirūpinus SSH saugumu išlieka pakankamai didelė rizika jog į jūsų serverį bus įsibrauta trečiųjų asmenų.
Straipsnis sukurtas naudojantis CentOs 6 operacine sistema.

1. Slaptažodis.

Visuomet naudokite sudėtingus slaptažodžius. Keletas patarimų:

  • Naudokite mažiausiai 8 simbolių kombinaciją
  • Naudokite didžiūjų ir mažūjų raidžių kombinacijas
  • Naudokite raides ir skaičius
  • Naudokite simbolius, pvz.: ! " £ $ % ^
Pravartus įrankis slaptažodžio generavimui - http://freepasswordgenerator.com/

2. Išjungiame root vartotoją
.

root vartotojas dedikuotame serveryje turi visas teises operuoti serveryje vykstančiais procesais. Daugeliu atveju root vartotojas nėra reikalingas, norint vykdyti komandą root vartotojo teisėmis tiesiog naudojama komanda su ( pvz.: su yum install nano ). Sukurkime pradžiai vartotoją ir pašalinkime galimybę prisijungti prie serverio root vartotojo teisėmis:

Kodas:
adduser petras
passwd petras
Nurodykite slaptažodį, nepamirškite rekomendacijų pirmąjame punkte.

Serverio SSH konsolėje vykdome komandas:

Kodas:
cd /etc/ssh/
nano sshd_config
raskite eilutę PermitRootLogin pakeiskite į: PermitRootLogin no

Po šių pakeitimų perkrauname SSH programą:

Kodas:
service sshd restart
3. Apribojame prisijungimą vartotojams.

Šiuo apribojimu nurodysime SSH programai priimti tik tam tikrų vartotojų vardus mėginant jungtis prie SSH konsolės. Redaguojame sshd_config failą prisijungę prie serverio SSH konsolės vykdome komandas:

Kodas:
nano /etc/ssh/sshd_config
randame eilutę AllowUsers ir ties ja nurodome vartotojo vardą ar vardus. Pavyzdys: AllowUsers petras jonas antanas

Atlikus pakeitimus, perkrauname SSH tarnybą:
Kodas:
service sshd restart
4. Keičiame SSH prievadą.

Pagal nutylėjimą SSH naudoją 22 prievadą (port) įeinančių susijungimų palaikymui. Dažniausias įsibrovėlių taikinys būna serveriai kurių prievadas yra standartinis. Pakeiskime standartinį prievadą nestandartiniu:

Kodas:
nano /etc/ssh/sshd_config
Randame eilutę #Port 22 ir keičiame ją į: Port XXXX (čia: XXXX - bet kokie 4 skaičiai, pvz.: 2322)

Atlikus pakeitimus, perkrauname SSH programą.

5. Apribojame priėjimą ugniasienėje prie SSH specifiniams IP adresams.

Šis nustatymas blokuos ir fiksuos bet kokius mėginimus kreiptis nurodytu prievadu iš nekorektiško IP adreso. Vykdome šią komandą SSH konsolėje:

Kodas:
iptables -A INPUT -p tcp -s jūsų_IP_adresas --dport nustatytas_prievadas -j ACCEPT
Čia:

Jūsų_IP_adresas - įrašykite IP adresą kuriam pageidauajte suteikti leidimą kreiptis nurodytu prievadu. Pavyzdys: 79.98.25.55

nustatytas_prievadas - įrašykite SSH programos pasirinktą prievadą (port). Pavyzdys.: 2322

Tuomet apsaugome prievadą nuo Brute force atakos įvykdydami komandas:

Kodas:
iptables -A INPUT -p tcp --dport nustatytas_prievadas -m recent --set --name ssh --rsource
iptables -A INPUT -p tcp --dport nustatytas_prievadas -m recent ! --rcheck --seconds 60 --hitcount 4 --name ssh --rsource -j ACCEPT
Čia:

nustatytas_prievadas - įrašykite SSH programos pasirinktą prievadą (port). Pavyzdys.: 2322

Tuomet apribojame prisijungimų skaičių per minutę prie specifinio prievado:

Kodas:
iptables -A INPUT -p tcp --dport nustatytas_prievadas --syn -m limit --limit 1/m --limit-burst 3 -j ACCEPT
iptables -A INPUT -p tcp --dport nustatytas_prievadas --syn -j DROP
Čia:

nustatytas_prievadas - įrašykite SSH programos pasirinktą prievadą (port). Pavyzdys.: 2322

6. Viešo ir privataus SSH rakto naudojimas autentikacijai.

Šio būdo naudojimas autentikacijai turi du pagrindinius privalumus. Pirmasis, prisijungimui Jums nebereikalingas slaptažodis (jei nesate nustatę, jog rakto šifravimui būtų reikalingas slaptažodis). Antrais, naudojant viešąjį ir privatų raktą serveryje galima visiškai išjungti prisijungimą prie serverio naudojant slaptažodžius, tad visiškai nebėra galimybės prie serverio prisijungti nulaužus (crack, brute force ir pan.) slaptažodį.

1. Sukuriame viešąjį ir privatų raktą kliento pusėje iš kurios jungsitės prie serverio (tai reikia atlikti kiekviename kompiuteryje iš kurio norėsite jungtis):

Kodas:
ssh-keygen -t rsa
Tai sukurs du failus kataloge (hidden) ~/.ssh directory pavadintus id_rsa ir id_rsa.pub. Pirmasis yra Jūsų privatus raktas, o antrasis viešas.

Jei norite, jog jungiantis nebūtų prašomas viešojo ir privataus SSH rakto slaptažodis, kai bus prašome įvesti slaptažodį (passphrase), tiesiog paspauskite "Enter".

2. Nustatome privataus rakto teises:

Kodas:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
3. Nukopijuojame viešą raktą (id_rsa.pub) į serverį įdiegiame jį į "authorized_keys" sąrašą:

Kodas:
cat id_rsa.pub >> ~/.ssh/authorized_keys
4. Nustatome failų teises serveryje:

Kodas:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Tai reikalinga, jei "StrictModes" nustatytas "yes" konfiguracineme faile "/etc/ssh/sshd_config". Šis nustatymas yra standartinis.

5. Dabar prisijungiant prie serverio Jūsų jau neprašys slaptažodžio (jei nesate jo nustatę viešam ir privačiam raktui). Jei šis autentifikacijos būdas nepavyktu serveris automatiškai grįš prie senojo, tai yra slaptažodžio prašymo. Tačiau prisijungimą su slaptažodžiu galima visiškai išjungti. Tai atlikti galite faile "/etc/ssh/sshd_config" pakeitus į šiuos nustatymus:

Kodas:
# Disable password authentication forcing use of keys
PasswordAuthentication no
=========
Pastaba:

Iptables taisyklių išvalymą atlikti galite sekdami šiomis instrukcijomis:
  • Prisijunkite prie mūsų klientų sistemos:
    https://klientams.iv.lt/services.php
  • Pasirinkite pageidaujamą serverio nuomos paslaugą;
  • Naujai atsidariusiame lange pasirinkite "Išvalyti iptables";
  • Naujai atsidariusiame lange ties klausimu "Ar tikrai pageidaujate išvalyti serverio <hostname> iptables?" pasirinkite "Taip" ir nuspauskite "Toliau >>".
Atlikus šiuos veiksmus serverio <hostname> iptables taisyklių valymo komanda bus sėkmingai išsiųsta ir įvykdyta per 5-10 min.
Atsakyti su citata
  #2  
Senas 2012-02-20, 22:41
stauga stauga neprisijungęs
Naujokas (-ė)
 
Prisiregistravo: 2012 02
Žinutės: 30
Pagrindinis Ats: OpenSSH (SSH) saugumo didinimas

Dar vienas variantas - vieši ir privatūs raktai. Galimybę prisijungti su slaptažodžiu atjungiu visai. Aišku nereikia pamiršti raktų keisti kas kažkiek laiko. Jei raktas užkoduotas slaptažodžiu - tuomet dar geriau, nes panaudojami du identifikacijos budai iš trijų ("what you have" ir "what you know")
Atsakyti su citata
Atsakyti

Žymės
centos, centos 6, iptables, php, root, slaptažodis, ssh, ssh saugumas, ssh security, yum

Temos įrankiai Ieškoti šioje temoje
Ieškoti šioje temoje:

Detali paieška

Žinučių rašymo taisyklės
Jūs negalite kurti naujų temų
Jūs negalite rašyti žinučių
Jūs negalite įkelti failų
Jūs negalite redaguoti savo įrašų

BB kodas yra Įjungtas
Šypsenos yra Įjungtas
[IMG] kodas yra Įjungtas
HTML kodas yra Išjungtas

Greita navigacija

Panašios temos
Tema Temą sukūrė Forumas Atsakymai Paskutinė žinutė
VNC serverio saugumo didinimas naudojant SSH tuneliavimą‏ IV_VygandasS Serverių saugumas 0 2013-06-10 00:55
Mysql spartos didinimas xgame Pagalba 1 2012-11-14 08:47
RAM didinimas GodPlay Klausimai, pastabos, pasiūlymai 2 2012-11-10 15:14


Visi laikai yra GMT +3. Šiuo metu yra 22:41.


Powered by vBulletin®
Copyright ©2000 - 2018, vBulletin Solutions, Inc.