Keycyte PAM 3.2 · Yönetici Kılavuzu
Komut Filtreleri
Komut filtresi, bir aksiyona sahip komut desenleri kümesidir. Keycyte PAM, kullanıcının çalıştırdığı her komutu oturuma uygulanan filtrelerle karşılaştırır ve komuta ne olacağına eşleşen ilk filtre karar verir.
Komut filtreleri şunlara uygulanır:
- Keycyte PAM SSH proxy üzerinden kurulan SSH oturumları;
- ağ cihazlarının Keycyte TACACS+ sunucusu üzerinden yetkilendirdiği komutlar.
Komut filtreleri yalnızca MASTER kullanıcıları tarafından kullanılabilir. Sayfayı açmak için Erişim Kontrol > Komut Filtreleri öğesini seçin.
Filtre Aksiyonları
| Aksiyon | SSH oturumunda | TACACS+ üzerinden |
|---|---|---|
accept | Komut çalışır. Bu komut için daha yüksek öncelik numarasına sahip filtreler denetlenmez. | İzin verilir. |
warning | Komut çalışır ve komut geçmişine uyarı seviyesiyle kaydedilir. | İzin verilir ve uyarı olarak kaydedilir. |
notify_and_warn | Kullanıcı komut çalışmadan önce bir uyarı görür ve komut uyarı seviyesiyle kaydedilir. | İzin verilir ve uyarı olarak kaydedilir. |
reject | Komut engellenir ve sunucuya ulaşmaz. | Reddedilir. |
Eşleşen komutlar, eşleştikleri filtreyle birlikte kaydedilir. Bkz. Oturumlar > Komut Geçmişi.
Filtrelerin Değerlendirilmesi
Bir oturum başladığında Keycyte PAM, kullanıcıya ve sunucuya uygulanan etkin filtreleri toplar ve bunları Priority değerine göre, en düşük numara önce olacak şekilde sıralar. Her komut için filtrelerin desenleri bu sırayla denetlenir ve eşleşen ilk desen aksiyonu belirler. Hiçbir desenle eşleşmeyen komut normal şekilde çalışır.
Deseni olmayan bir filtrenin etkisi yoktur.
Komut Filtresi Oluşturma
Bir komut filtresi oluşturmak için:
-
Erişim Kontrol > Komut Filtreleri öğesini seçin.
-
Araç çubuğunda Create düğmesine tıklayın. Create Command Filter iletişim kutusu General sekmesinde açılır.
-
General sekmesinde alanları doldurun:
Alan Açıklama Name Filtrenin adı, en fazla 128 karakter. Zorunludur. Description Serbest metin not. Priority 0ile9999arasında değerlendirme sırası. Düşük numaralar önce denetlenir. Varsayılan:100.Action accept,warning,notify_and_warnveyareject. Varsayılan:warning.Ignore case (default for items) Desenleri büyük/küçük harf ayrımı yapmadan eşleştirir. Her desen bu ayarı geçersiz kılabilir. Enabled Filtreyi etkinleştirir. Varsayılan olarak seçilidir. -
Patterns sekmesinde Add Pattern düğmesine tıklayın ve bir veya daha fazla desen tanımlayın. Bkz. Desenler.
-
Kaydet düğmesine tıklayın.
Filtre kaydedilir ve siz bağlama ekleyene kadar tüm oturumlara uygulanır. Bindings ve Test sekmeleri, kaydedilen filtreyi Edit ile açtığınızda kullanılabilir hale gelir.
Desenler
Patterns sekmesindeki her satır bir desen öğesidir:
| Sütun | Açıklama |
|---|---|
| Type | command veya regex. |
| Pattern (one per line) | Eşleştirilecek metin. |
| Ignore case | Yes, No ya da filtrenin Ignore case (default for items) ayarını kullanmak için boş. |
İki tür farklı şekilde eşleşir:
| Tür | Eşleşme şekli | Örnek |
|---|---|---|
command | Desenin her satırı düz bir metindir. Komut, satırlardan herhangi birini herhangi bir yerinde içeriyorsa eşleşir. | rm -rf / ve mkfs satırları sudo rm -rf /tmp/x ve mkfs.ext4 /dev/sdb1 ile eşleşir. |
regex | Desen bir düzenli ifadedir (Go sözdizimi). İfade komutun herhangi bir yerinde boş olmayan bir eşleşme bulursa komut eşleşir. | ^\s*(shutdown|reboot)\b, shutdown veya reboot ile başlayan komutlarla eşleşir. |
Önemli
command deseni alt dizelerle eşleşir; bu nedenle kısa bir desen amaçlanandan fazlasıyla eşleşebilir. Örneğin rm, perform ile de eşleşir. Tam bir komut gerektiğinde sözcük sınırları içeren bir regex deseni kullanın.
Geçerli olmayan bir düzenli ifade hiçbir şeyle eşleşmez. Yeni desenleri Test sekmesinde test edin.
Bir deseni kaldırmak için satırındaki silme düğmesine tıklayın.
Bağlamalar
Bağlamalar, bir filtrenin hangi oturumlara uygulanacağını belirler. Bağlaması olmayan bir filtre tüm oturumlara uygulanır.
Bir bağlama eklemek için:
- Filtreyi Edit ile açın ve Bindings sekmesini seçin.
- Add Binding düğmesine tıklayın. Add Binding iletişim kutusu açılır.
- Scope Type alanında Server Role, User Role, Server veya User seçeneğini belirleyin.
- Target alanında rolü, sunucuyu veya kullanıcıyı seçin.
- Add düğmesine tıklayın.
Bağlamalar iki eksende çalışır:
- kullanıcı ekseni: User ve User Role bağlamaları;
- sunucu ekseni: Server ve Server Role bağlamaları.
Bir filtre, her iki eksen de eşleştiğinde oturuma uygulanır. Bağlaması olmayan bir eksen her şeyle eşleşir. Örneğin yalnızca Production Linux sunucu rolüne bağlanan bir filtre bu sunuculardaki tüm kullanıcılara uygulanır; Contractors kullanıcı rolüne ve Production Linux sunucu rolüne bağlanan bir filtre ise yalnızca bu sunuculardaki yüklenicilere uygulanır.
Bir bağlamayı kaldırmak için satırındaki silme düğmesine tıklayın ve işlemi onaylayın.
Filtreleri rol tarafından da ilişkilendirebilirsiniz: Bir sunucu rolünün veya kullanıcı rolünün düzenleme panelinde Attach Filter düğmesini içeren bir Linked Command Filters bölümü bulunur. Bkz. Sunucu Rolleri ve Kullanıcı Rolleri.
Komutu Test Etme
Test sekmesi, bir komutu filtrenin kaydedilmiş desenleriyle, oturumların kullandığı eşleştirme motorunun aynısını kullanarak karşılaştırır.
Bir komutu test etmek için:
- Filtreyi Edit ile açın ve Test sekmesini seçin.
- Bir komut yazın, örneğin
rm -rf /, ve Run düğmesine tıklayın.
Sonuç ya No match — this command would pass through ya da desen öğesi ve eşleşen metinle birlikte Match — action aksiyon would fire olarak gösterilir. Test yalnızca bu filtreyi kapsar; diğer filtrelerin önceliğini dikkate almaz.
Filtreleri Yönetme
Filtre listesi her filtrenin Name, Action, Priority, Description, Updated zamanı ve Enabled anahtarını gösterir.
- Bir filtreyi kapatmak veya açmak için Enabled anahtarını kullanın.
- Bir filtreyi değiştirmek için Edit düğmesine tıklayın. General ve Patterns sekmelerindeki değişiklikler Kaydet ile kaydedilir; bağlamalar anında kaydedilir.
- Bir filtreyi desenleri ve bağlamalarıyla birlikte silmek için Delete düğmesine tıklayın ve işlemi onaylayın.
- Listeyi filtrelemek için Gelişmiş Filtre düğmesine tıklayın ve Name Contains, Action veya Status (Enabled veya Disabled) değerini ayarlayın.
Not
Oturumlar filtrelerini başladıklarında okur. Değişiklikler, sonrasında başlayan oturumlara uygulanır.