Her şimdi ve sonra Linux sistemlerinde uzaktan destek, sorun giderme ve / veya performans ayarlaması gibi tuhaf bir istek alıyorum.
Büyük şirketler genellikle satıcılara / tedarikçilere uzaktan erişim sağlamak için iyi kurulmuş prosedürlere sahiptir ve sadece bunlara uymam gerekiyor. (Daha iyi veya daha kötüsü için.)
Öte yandan, küçük şirketler ve bireyler her zaman, beni kurmak için ne yapmaları gerektiğini onlara bildirmek için bana sürekli yöneliyorlar. Genellikle sunucuları doğrudan internete bağlanır ve mevcut güvenlik önlemleri, Linux dağıtımları ne olursa olsun varsayılan değerlerden oluşur.
Neredeyse her zaman kök düzeyinde erişime ihtiyacım olacak ve kim benim için erişim ayarlayacak olursa uzman bir sysadmin değil. Kök şifrelerini istemiyorum ve eylemlerimin kötü niyetli olmayacağından da eminim , ancak ne kadar basit talimatlar vermeliyim:
- Bir hesap oluşturmak ve güvenli bir şekilde kimlik bilgileri alışverişi yapmak
- root (sudo) erişimini ayarla
- hesabıma erişimi kısıtla
- denetim izi sağlamak
(Evet, farkındayım ve bu müşterileri her zaman, herhangi bir kötü amaçlı eylemi gizlemek için yönetici erişimine sahip olmadığımda önemsiz olduğunu, ancak bir denetim izi oluşturmak için gizlenecek ve aktif olarak katılmayacak bir şeyim olmadığını varsayalım.)
Aşağıdaki adımlarda neler geliştirilebilir?
Mevcut talimat setim:
Bir hesap oluşturmak ve güvenli bir şekilde kimlik bilgileri alışverişi yapmak
Bir şifre sağlama sağlıyorum ve hesabımın şifrelenmiş şifreyle ayarlandığını soruyorum, bu yüzden açık bir metin şifresi iletmemize gerek kalmayacak, şifreyi bilen tek kişi olacağım ve başlamayız tahmin edilebilir bir zayıf şifre.
sudo useradd -p '$1$********' hbruijn
Bir genel anahtar SSH (müşteri başına belirli bir anahtar çifti) sağlıyorum ve hesabımı şu anahtarla kurmasını istiyorum:
sudo su - hbruijn
mkdir -p ~/.ssh
chmod 0700 ~/.ssh
echo 'from="10.80.0.0/14,192.168.1.2" ssh-rsa AAAAB3NzaC1y***...***== hbruijn@serverfault' >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
root (sudo) erişimini ayarla
Müşteriden benim için sudo kurmasını sudo sudoedit
ya da en sevdikleri editörünü kullanarak eklemelerini rica ediyorum /etc/sudoers
:
hbruijn ALL=(ALL) ALL
hesabıma erişimi kısıtla
Genellikle müşteri hala parola tabanlı girişlere izin verir ve ondan /etc/ssh/sshd_config
hesabımı yalnızca SSH anahtarlarıyla sınırlandırmak için aşağıdaki iki satırı eklemelerini isterim:
Match user hbruijn
PasswordAuthentication no
Müşteriye bağlı olarak, her zaman tek bir statik IP adresi (örneğin, 192.168.1.2) sağlamak ve / veya ISS'imin kullandığı IP adresi aralığını sağlamak için (örneğin, 10.80) tüm SSH erişimimi tek bir ana bilgisayar ana bilgisayarından yönlendireceğim. 0.0 / 14). SSH erişimi kısıtlıysa, istemcinin güvenlik duvarı beyaz listesine bu bilgileri eklemesi gerekebilir (ssh'nin filtrelenmemesinden daha sık olsa da).
Bu ip adreslerini, anahtarlarımın sistemlerine erişmek için kullanılabileceği ana bilgisayarları sınırlayan dosyadaki from=
kısıtlama olarak zaten görmüştünüz ~.ssh/authorized_keys
.
denetim izi sağlamak
Şimdiye kadar hiçbir müşteri benden bunu istememişti ve kıçımı kapsayacak şekilde aşağıdakilerin ötesinde özel bir şey yapmadım:
sudo
Bireysel komutlarla tutarlı bir şekilde kullanmaya ve sudo -i
ya da kullanmamaya çalışıyorum sudo su -
. Kullanmamayı sudo vim /path/to/file
ama kullanmaya çalışıyorum sudoedit
.
Varsayılan olarak, ayrıcalıklı eylemlerin tümü syslog'a (ve /var/log/secure
) kaydedilir:
Sep 26 11:00:03 hostname sudo: hbruijn : TTY=pts/0 ; PWD=/home/hbruijn ; USER=jboss ; COMMAND=sudoedit /usr/share/jbossas/domain/configuration/domain.xml
Sep 26 11:00:34 hostname sudo: hbruijn : TTY=pts/0 ; PWD=/home/hbruijn ; USER=root ; COMMAND=/usr/bin/tail -n 5 /var/log/messages
Çalışma ortamlarımı kişiselleştirmek için çoğunlukla pes ettim, gerçekten yaptığım tek şey ~/.bash_profile
bash tarihimi arttırmak ve zaman damgalarını eklemek için aşağıdakileri koymak :
export HISTSIZE=99999999999
export HISTFILESIZE=99999999999
export HISTIGNORE="w:ls:ls -lart:dmesg:history:fg"
export HISTTIMEFORMAT='%F %H:%M:%S '
shopt -s histappend
screen
durumdan sonra kolayca değiştirilebilir) ve hatta oturumları paylaşabilirsiniz , böylece aşırı durumlarda müşteriniz ne yaptığınızı canlı izleyebilir.