Léim go dtí an t-ábhar

Suiteáil an ghníomhaire Linux

Úsáideann CyberElements Bastion an gníomhaire Linux chun an rochtain líonra is féidir ó fhreastalaithe SSH a mbaineann úsáideoirí rochtain astu a theorannú (sainithe sna polasaithe / conarthaí rochtana).

Réamhriachtanais

Tá roinnt réamhriachtanas ann chun go bhfeidhmeoidh an gníomhaire i gceart:

  • Córas oibriúcháin comhoiriúnach: Red Hat 9 agus Debian 12
  • An balla dóiteáin iptables a bheith ann
  • Logáil isteach le cuntas seachas root

Faisnéis

Ní fheidhmíonn an gníomhaire Linux ar an úsáideoir root, mar go mbíonn cearta leordhóthanacha ag an úsáideoir seo i gcónaí chun aon srian a chuirfí air a bhaint.

Ina theannta sin, toisc go n-úsáideann roinnt seirbhísí cearta root, d'fhéadfadh srianta líonra breise na seirbhísí sin a dhéanamh éagobhsaí.

Oibriú

Tá an gníomhaire Linux roinnte ina roinnt codanna:

  • Seirbhís systemd darb ainm cleanroom-filter
  • Modúl PAM darb ainm pam_clr_filter
  • Polasaí SELinux do Red Hat a cheadaíonn don fhreastalaí SSH cumarsáid a dhéanamh leis an tseirbhís cleanroom-filter

Leanann an t-oibriú ginearálta an t-ord seo:

sequenceDiagram
    autonumber
    participant MED as Mediation Controller
    participant GW_SSH as Edge Gateway<br/>Taifeadán SSH
    participant SSH as Sprioc SSH<br/>Freastalaí SSH
    participant PAM as Sprioc SSH<br/>Modúl PAM pam_clr_filter
    participant svc as Sprioc SSH<br/>Seirbhís cleanroom-filter

    MED->>GW_SSH: Iarratas chun<br/>feidhmchlár SSH a oscailt
    GW_SSH->>+MED: Faisnéis scagtha a fháil<br/>don seisiún
    MED->>-GW_SSH: Faisnéis scagtha<br/>líonra á seoladh
    GW_SSH->>+SSH: Ceangal SSH
    SSH-->-PAM: Seisiún SSH á chruthú
    PAM->>+svc: An t-ainm úsáideora á sheoladh
    Note right of svc: Slabhra iptables darb ainm clr-LOGIN <br/>á chruthú don úsáideoir
    svc->>-PAM: Comhartha uathúil á sheoladh
    Note over PAM: An athróg timpeallachta CLR-ID<br/> leis an gcomhartha uathúil<br/> á cur le seisiún an úsáideora
    GW_SSH->>svc: Liosta na líonraí le ceadú á sheoladh
    Note over svc: Riail iptables OUTPUT á cruthú<br/> chun trácht an úsáideora a atreorú chuig an slabhra iptables<br/> a cruthaíodh roimhe seo
    Note over svc: Údaruithe á gcur leis an slabhra iptables<br/> a cruthaíodh don úsáideoir
    break Deireadh an tseisiúin SSH
        SSH->>+GW_SSH: Fógra faoi dheireadh an tseisiúin
        SSH-->svc: Deireadh an tseisiúin SSH aimsithe
        Note over svc: An riail iptables OUTPUT<br/> a cruthaíodh don úsáideoir á scriosadh
        Note over svc: An slabhra iptables<br/> a cruthaíodh don úsáideoir á scriosadh
        GW_SSH->>-MED: Fógra faoi dheireadh<br/> sheisiún SSH an úsáideora
    end
Hold "Ctrl" to enable pan & zoom
  1. Seolann an freastalaí Mediation Controller faisnéis chuig an gcomhpháirt Edge Gateway chun seisiún SSH nua a oscailt.
  2. Iarrann an tseirbhís taifeadta SSH ar an bhfreastalaí Mediation Controller an fhaisnéis scagtha líonra atá le cur i bhfeidhm ar an seisiún SSH.
  3. Freagraíonn an chomhpháirt Mediation Controller le liosta de líonraí údaraithe.
  4. Bunaíonn an tseirbhís taifeadta SSH an ceangal leis an spriocfhreastalaí SSH ansin.
  5. Nuair a cheanglaítear leis an bhfreastalaí SSH, spreagtar an t-ord cruthaithe seisiúin, agus dá bhrí sin an pasáiste trí na modúil PAM atá sannta do sshd.
  6. Seolann modúl PAM pam_clr_filter an ghníomhaire Linux an t-ainm úsáideora chuig an tseirbhís cleanroom-filter, a chruthaíonn ansin slabhra iptables nua darb ainm clr-LOGIN ina gcuirtear an t-ainm úsáideora a fuarthas in ionad LOGIN.
  7. Tar éis an slabhra iptables a chruthú, cruthaíonn an tseirbhís cleanroom-filter comhartha randamach agus seolann sí é chuig an modúl PAM pam_clr_filter. Cuireann an modúl sin an comhartha seo leis an athróg timpeallachta CLR-ID de chuid an úsáideora.
  8. Seolann an tseirbhís taifeadta SSH, tríd an gcomhad inrite /usr/local/ipdiva/bin/cleanroom-netfiltersession.py, liosta na líonraí atá le húdarú chuig an tseirbhís cleanroom-filter. Cruthaíonn an tseirbhís ansin riail iptables OUTPUT chun an trácht go léir ón úsáideoir, arna shainaithint de réir UID, a atreorú chuig an slabhra iptables a cruthaíodh i gcéim 6. Cuirtear na sreafaí go léir atá le húdarú don úsáideoir leis an slabhra iptables.
  9. Nuair a spreagtar deireadh an tseisiúin SSH, seoltar an fhaisnéis chuig seirbhís taifeadta SSH na comhpháirte Edge Gateway.
  10. Braitheann an tseirbhís cleanroom-filter deireadh sheisiún an úsáideora agus glanann sí na rialacha iptables a cuireadh leis: scriosann sí an treoir OUTPUT a atreoraíonn trácht an úsáideora chuig slabhra iptables agus scriosann sí an slabhra féin.
  11. Nuair a fhaigheann an chomhpháirt Edge Gateway deireadh an tseisiúin SSH, cuireann sí an fhaisnéis seo ar aghaidh chuig an gcomhpháirt Mediation Controller.

Suiteáil

Ceadanna root riachtanacha

Teastaíonn pribhléidí root chun an gníomhaire a shuiteáil.

Is féidir an pacáiste .deb nó .rpm a íoslódáil ón gconsól riaracháin:

  1. Téigh chuig an spás oibre “Configurations” leis an gcnaipe atá thuas ar chlé:
  2. Oscail an tíl “Toolbox”
  3. Roghnaigh an suiteálaí atá oiriúnach don chóras oibriúcháin atá uait sa chéad chluaisín, “Integration Tools”

Nuair a bheidh an pacáiste faighte agat, seol é chuig an bhfreastalaí Linux sa chomhadlann /tmp/. Ansin lean na treoracha suiteála do do chóras oibriúcháin:

Rith na horduithe seo a leanas leis na ceadanna root cuí:

1
2
dpkg -i /tmp/cleanroom-netfilter_*_amd64.deb
sed -i "s/@include common-session/@include common-session\n\n\# Use the Cleanroom agent to limit network bounces\nsession    optional\tpam_clr_filter.so/g" /etc/pam.d/sshd

Déanann an dara hordú dhá líne a chur leis an gcomhad /etc/pam.d/sshd go huathoibríoch, ach is féidir an oibríocht seo a dhéanamh de láimh freisin:

27
28
29
30
31
32
33
34
35
36
37
# Standard Un*x session setup and teardown.
@include common-session

# Use the Cleanroom agent to limit network bounces
session    optional     pam_clr_filter.so

# Print the message of the day upon successful login.
# This includes a dynamically generated part from /run/motd.dynamic
# and a static (admin-editable) part from /etc/motd.
session    optional     pam_motd.so  motd=/run/motd.dynamic
session    optional     pam_motd.so noupdate

Rith na horduithe seo a leanas le ceadanna root:

1
2
dnf install /tmp/CleanroomFilter-*-Linux.rpm
sed -i "s/revoke$/revoke\n# Use the Cleanroom agent to limit network bounces\nsession    optional\tpam_clr_filter.so/g" /etc/pam.d/sshd

Déanann an dara hordú dhá líne a chur leis an gcomhad /etc/pam.d/sshd go huathoibríoch, ach is féidir an oibríocht seo a dhéanamh de láimh freisin:

11
12
13
14
15
16
17
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    required     pam_namespace.so
session    optional     pam_keyinit.so force revoke
# Use the Cleanroom agent to limit network bounces
session    optional     pam_clr_filter.so
session    optional     pam_motd.so