Original
– čia pateikiamas tik vertimas!
Jei norite leisti prisijungti root naudotojui per SSH tik iš vieno IP, o kitiems naudotojams iš betkur kitur. Tokį sprendimą galime realizuoti per PAM autentifikacijos modulius. Naudosime pam_access PAM modulį, kuris naudojamas prieigos valdymui. Šis suteikia galimybę kontroliuoti prisijungimus atsižvelgiant į:
- Naudotojo prisijungimo vardą (Login names)
- Kompą ar domeną (Host or domain names)
- IP ar IP tinklas (Internet addresses or network IP numbers)
- Terminal line names etc
Kam naudojam pam_access?
Prie serverio gali reikėti prisijungti iš betkurio tinkle esančio kompiuterio. taigi turime pasirūpinti gera prieigos kontrole, naudojant OpenSSH servisą.
Kaip susikonfiguruoti pam_access?
Reikės keisti šiuos failiukus:
- /etc/pam.d/sshd
- /etc/security/access.conf
Linux PAM konfiguracinis failas.
Taisyklių paėmimui pagal nutylėjimą yra naudojamas šis failas.
Kai kasnors jungiasi, perbėgama per 2 bylos turinį ir jei yra sutapimas įvykdoma taisyklė. Mes galime nurodyti, ar priimti tokį prisijungimą ar atmesti. sintaksė: permission : username: origins
kur:
permission
: Teisių laukelis “+” (prieiga suteikiama) ar “-” (prieiga atšaukiama)
username
: Linux sisteminis naudotojas (username)/login‘as (root ir kiti). Galima nurodyti ir grupės vardą. Arba galima nurodyti specialų trumpinį: ALL
(Jei norime, kad tai būtų skirta visiems).
origins
: Čia pateikiamas sąrašas terminalo langų, kompo vardų, IP adresų, domenų, kurie prasideda . ar specialų trumpinį ALL
ar LOCAL
Visų pirma, kad tolesni pakeitimai veiktų reikia įjungti pam_access palaikymą byloje /etc/pam.d/sshd:
# vi /etc/pam.d/sshd
# Papildome eilute:
account required pam_access.so
Išsaugome ir uždarome.
Tarkime norime leisti naudotojam root ir lpic prisijungti tik iš IP adreso 1.1.1.1.
Atidarome bylą: /etc/security/access.conf su root’o teisėmis:
# vi /etc/security/access.conf
# Papildome eilute:
-: ALL EXCEPT root lpic:1.1.1.1
Išsaugome bylą.
Dabar SSH leis prisijungimus naudotojų root ir lpic tik iš 1.1.1.1 IP adreso. Jei naudotojas root ir lpic bandys jungtis iš kito IP adreso, jiems parašys: ‘Connection closed by xxx.xxx.xxx.xxx’ ir error pranešimu turėtų būti papildytas Jūsų žurnaliukas (log’as):
# tailf /var/log/message
Feb 20 19:02:39 hostname pam_access[2091]: access denied for user `lpic' from `xxx.xxx.xxx.xxx'
Kur, jau kaip ir minėjau xxx.xxx.xxx.xxx ≠ 1.1.1.1.
Beje, jei įrašėte savo naudotojo vardą ir išsaugojote… VISOS TAISYKLĖS taikomos IŠKART po IŠSAUGOJIMO /etc/security/access.conf bylos! Būkite atsargūs!
Daugiau pavyzdukų:
a) Kartais reiktų sukurti taisykles, kurios leistų prisijungti visiems išskyrus root iš betkur, o root tik iš localhost:
-:root:ALL EXCEPT LOCAL
# ar
-:root:ALL EXCEPT localhost
b) Deny network and local login to all users except for user root and vivek:
-:ALL EXCEPT root vivek:ALL
c) Tik iš 192.168.1.0/24 leisti prisijungti root naudotoju:
+ : root : 192.168.1.0/24
Pastebėjimas: taip galime leisti ir drausti jungtis visoms tarnyboms, kurios naudoja PAM, pvz.: ftpd, telnet ir t.t.
P.S. + : root : yyy.yyy.yyy.yyy
- : root : ALL