پدې پوسټ کې ، موږ به د هارډویر امنیت کیلي آفلاین په کارولو سره SSH کوربه ته د بیړني لاسرسي لپاره پروسیجر رامینځته کړو. دا یوازې یوه لاره ده، او تاسو کولی شئ دا د خپلو اړتیاو سره سم تطبیق کړئ. موږ به د هارډویر امنیت کیلي کې زموږ د کوربه لپاره د SSH سند واک ذخیره کړو. دا سکیم به په نږدې هر OpenSSH کې کار وکړي، په شمول SSH د واحد لاسلیک سره.
دا ټول د څه لپاره دي؟ ښه، دا د وروستي ریزورټ اختیار دی. دا یو شاته دروازه ده چې تاسو ته به اجازه درکړي خپل سرور ته لاسرسی ومومئ کله چې د کوم دلیل لپاره بل هیڅ کار نه کوي.
ولې د بیړني لاسرسي لپاره د عامه / خصوصي کیلي پرځای سندونه وکاروئ؟
- د عامه کیلي برخلاف ، سندونه خورا لنډ ژوند لري. تاسو کولی شئ یو سند تولید کړئ چې د 1 دقیقې یا حتی 5 ثانیو لپاره اعتبار لري. د دې مودې وروسته، سند به د نوي اړیکو لپاره د کار وړ نه وي. دا د بیړني لاسرسي لپاره مثالی دی.
- تاسو کولی شئ په خپل کوربه کې د هر حساب لپاره سند رامینځته کړئ او که اړتیا وي ، همکارانو ته ورته "یو ځل" سندونه واستوئ.
تاسو څه ته اړتیا لرئ؟
- د هارډویر امنیت کیلي چې د اوسیدونکي کیلي ملاتړ کوي.
د اوسیدونکي کیلي کریپټوګرافیک کیلي دي چې په بشپړ ډول د امنیت کیلي کې زیرمه شوي. ځینې وختونه دوی د الفانومریک PIN لخوا خوندي کیږي. د اوسیدونکي کیلي عامه برخه د امنیت کیلي څخه صادر کیدی شي ، په اختیاري توګه د شخصي کیلي لاسوند سره. د مثال په توګه، د یوبیکي 5 لړۍ USB کیلي د استوګنې کیلي ملاتړ کوي. دا مشوره ورکول کیږي چې دوی یوازې کوربه ته د بیړني لاسرسي لپاره دي. د دې پوسټ لپاره زه به یوازې یو کیلي وکاروم، مګر تاسو باید د بیک اپ لپاره یو اضافي ولرئ. - د دې کیلي ذخیره کولو لپاره خوندي ځای.
- د OpenSSH نسخه 8.2 یا لوړ ستاسو په محلي کمپیوټر او سرورونو کې چې تاسو غواړئ عاجل لاسرسی ولرئ. اوبنټو 20.04 د OpenSSH 8.2 سره کښتۍ.
- (اختیاري، مګر وړاندیز شوی) د سندونو چک کولو لپاره د CLI وسیله.
د چمتو کولو لپاره
لومړی ، تاسو اړتیا لرئ د تصدیق کولو واک رامینځته کړئ چې د هارډویر امنیت کیلي کې موقعیت ولري. کیلي دننه کړئ او چل کړئ:
$ ssh-keygen -t ecdsa-sk -f sk-user-ca -O resident -C [security key ID]
د تبصرې په توګه (-C) ما اشاره وکړه [ایمیل خوندي شوی]نو تاسو دا مه هیروئ چې د دې سند واک کومې امنیتي کلیدي پورې اړه لري.
یوبیکي ته د کیلي اضافه کولو سربیره ، دوه فایلونه به په ځایی توګه رامینځته شي:
- sk-user-ca، یو کلیدي لاسوند چې په امنیتي کیلي کې زیرمه شوي شخصي کیلي ته اشاره کوي،
- sk-user-ca.pub، کوم چې ستاسو د سند واک لپاره عامه کلیدي وي.
مګر اندیښنه مه کوئ ، یوبیکي یو بل شخصي کیلي ذخیره کوي چې نشي ترلاسه کیدی. له همدې امله، دلته هر څه د باور وړ دي.
په کوربه کې، د روټ په توګه، ستاسو د SSHD ترتیب (/etc/ssh/sshd_config) کې لاندې اضافه کړئ (که تاسو مخکې نه لرئ):
TrustedUserCAKeys /etc/ssh/ca.pub
بیا په کوربه کې، عامه کیلي (sk-user-ca.pub) ته اضافه کړئ /etc/ssh/ca.pub
ډیمون بیا پیل کړئ:
# /etc/init.d/ssh restart
اوس موږ کولی شو کوربه ته د لاسرسي هڅه وکړو. مګر لومړی موږ یو سند ته اړتیا لرو. یوه کلیدي جوړه جوړه کړئ چې د سند سره تړاو ولري:
$ ssh-keygen -t ecdsa -f emergency
سندونه او SSH جوړه
ځینې وختونه دا د عامه / خصوصي کلیدي جوړه لپاره د بدیل په توګه د سند کارولو لپاره لیوالتیا ده. مګر یوازې یو سند د کارونکي تصدیق کولو لپاره کافي ندي. هر سند هم د هغې سره تړلی شخصي کیلي لري. له همدې امله موږ باید دا "اضطراري" کلیدي جوړه جوړه کړو مخکې لدې چې موږ خپل ځان ته سند صادر کړو. مهمه خبره دا ده چې موږ سرور ته لاسلیک شوی سند ښکاره کوو، هغه کلیدي جوړه په ګوته کوي چې موږ یې شخصي کیلي لرو.نو د عامه کلیدي تبادله لاهم ژوندی او ښه ده. دا حتی د سندونو سره کار کوي. سندونه په ساده ډول د عامه کیلي ذخیره کولو لپاره د سرور اړتیا له مینځه وړي.
بیا، پخپله سند جوړ کړئ. زه په 10 دقیقو وقفه کې د اوبنټو کارونکي اجازه ته اړتیا لرم. تاسو کولی شئ دا په خپله طریقه ترسره کړئ.
$ ssh-keygen -s sk-user-ca -I test-key -n ubuntu -V -5m:+5m emergency
تاسو څخه به وغوښتل شي چې ستاسو د ګوتو د نښان په کارولو سره سند لاسلیک کړئ. تاسو کولی شئ د کوما لخوا جلا شوي اضافي کارونکي نومونه اضافه کړئ، د مثال په توګه -n ubuntu,carl,ec2-user
دا دی، اوس تاسو یو سند لرئ! بیا تاسو اړتیا لرئ سمې اجازې مشخص کړئ:
$ chmod 600 emergency-cert.pub
له دې وروسته، تاسو کولی شئ د خپل سند منځپانګې وګورئ:
$ step ssh inspect emergency-cert.pub
دا هغه څه دي چې زما په څیر ښکاري:
emergency-cert.pub
Type: [email protected] user certificate
Public key: ECDSA-CERT SHA256:EJSfzfQv1UK44/LOKhBbuh5oRMqxXGBSr+UAzA7cork
Signing CA: SK-ECDSA SHA256:kLJ7xfTTPQN0G/IF2cq5TB3EitaV4k3XczcBZcLPQ0E
Key ID: "test-key"
Serial: 0
Valid: from 2020-06-24T16:53:03 to 2020-06-24T17:03:03
Principals:
ubuntu
Critical Options: (none)
Extensions:
permit-X11-forwarding
permit-agent-forwarding
permit-port-forwarding
permit-pty
permit-user-rc
دلته عامه کلیمه هغه بیړنۍ کیلي ده چې موږ جوړه کړې، او sk-user-ca د تصدیق کولو واک سره تړاو لري.
په نهایت کې موږ د SSH کمانډ چلولو ته چمتو یو:
$ ssh -i emergency ubuntu@my-hostname
ubuntu@my-hostname:~$
- تاسو اوس کولی شئ په کوربه کې د هر کارونکي لپاره سندونه رامینځته کړئ چې ستاسو د سند واک باور لري.
- تاسو کولی شئ بیړني حالت لرې کړئ. تاسو کولی شئ sk-user-ca خوندي کړئ، مګر تاسو اړتیا نلرئ ځکه چې دا په امنیتي کیلي کې هم دی. تاسو ممکن دا هم وغواړئ چې اصلي PEM عامه کیلي له خپلو کوربه څخه لرې کړئ (د مثال په توګه د اوبنټو کارونکي لپاره ~/.ssh/authorized_keys کې) که تاسو دا د بیړني لاسرسي لپاره کارولی وي.
بیړني لاسرسي: د عمل پلان
د امنیت کیلي پیسټ کړئ او کمانډ پرمخ وړئ:
$ ssh-add -K
دا به د SSH ایجنټ ته د سند واک عامه کیلي او کلیدي توضیحات اضافه کړي.
اوس د سند جوړولو لپاره عامه کیلي صادر کړئ:
$ ssh-add -L | tail -1 > sk-user-ca.pub
د پای نیټې سره یو سند جوړ کړئ، د بیلګې په توګه، د یو ساعت څخه زیات نه:
$ ssh-keygen -t ecdsa -f emergency
$ ssh-keygen -Us sk-user-ca.pub -I test-key -n [username] -V -5m:+60m emergency
$ chmod 600 emergency-cert.pub
او اوس SSH بیا:
$ ssh -i emergency username@host
که ستاسو .ssh/config فایل د نښلولو په وخت کې ځینې ستونزې رامینځته کوي، تاسو کولی شئ ssh د -F هیڅ اختیار سره پرمخ نه کړئ ترڅو دا یې پریږدي. که تاسو اړتیا لرئ یو همکار ته سند ولیږئ ، ترټولو اسانه او خورا خوندي اختیار دی
هغه څه چې زه د دې طریقې په اړه خوښوم د هارډویر ملاتړ دی. تاسو کولی شئ خپلې امنیتي کیلي په خوندي ځای کې واچوئ او دوی به هیڅ ځای ته نه ځي.
د اعلاناتو حقونه
ایپیک سرورونه دی
سرچینه: www.habr.com