そして、ここでASAを使用してADで直接認証する方法を説明します
ITUでは、特定のリソースへのアクセスを許可する前にユーザーを検証するというタスクがしばしば発生します。 ASAでは、このチェックは「カットスループロキシ」と呼ばれます。
このサービスは、AAAインフラストラクチャ(認証、承認、アカウンティング)を使用します。
注:英語の単語認証では、ロシア語の「認証」に登場する音節「phi」はありません。これは、おそらく「identification」という単語との協和によるものです。 さらに、私たちの強力な言語には「真正性」もあります。 「fi」なしで:)捕まってはいけない!
認証
「そのようなユーザーはいますか?」という質問に答えます。 このユーザーは、ローカル(ローカル)データベースと外部(TACACS +、RADIUS、LDAP経由のAD)の両方で検索できます。
LDAPサーバーの構成には、ASAがLDAP、サーバータイプ、検索ルートなどにログインする際に使用するADからのユーザーアカウントの指定が含まれます。
aaa-server {SERVERNAME} protocol ldap
aaa-server {SERVERNAME} ({interface}) host {IP_SERVER}
ldap-base-dn { }
ldap-scope {subtree|onelevel}
ldap-naming-attribute { }
ldap-login-dn { ASA}
ldap-login-password { ASA}
server-type {Microsoft|Novell|OpenLDAP|sun|auto}
例:
aaa-server AD (dmz) host 172.16.1.100
ldap-base-dn ou=Employers, dc=anticisco, dc=ru
ldap-scope subtree
ldap-naming-attribute sAMAccountName
ldap-login-dn cn=ASA, cn=users, dc=anticisco, dc=ru
ldap-login-password ASALDAPPASS
server-type microsoft
サーバーを構成したら、確認する必要があるトラフィックを判別し、認証なしでスキップしないようにします。 ASAはこれに責任を負います...もちろん、許可行がそのようなトラフィックを示すアクセスリスト。 認証アクセスリスト自体は、コマンドによって適用されます
aaa authentication match {AUTHACL} {interface} {SERVERNAME}
この場合、指定されたインターフェイスの入力に到着するパケットがチェックされます。
たとえば、172.16.1.0 / 24を除くすべてのネットワークに向かうローカルネットワーク10.1.1.0/24(内部インターフェイスの背後)からのすべてのトラフィックをチェックする必要があります。
access-list AUTH deny ip 10.1.1.0 255.255.255.0 172.16.1.0 255.255.255.0
access-list AUTH permit ip 10.1.1.0 255.255.255.0 any
aaa authentication match AUTH inside RAD
しかし、ユーザーにユーザー名/パスワードを尋ねる方法は? 結局、pingはリクエストを開始できませんか?
ASAは、セッションをインターセプトし、http / https、ftp、telnetプロトコルを使用してユーザー名とパスワードを要求できます。 他のトラフィックを認証する必要がある場合は、2つのジェスチャを行う必要があります。指定されたプロトコルのいずれかを使用してASAにアクセスし、ブラウザまたはTelnetまたはFTPウィンドウでログイン/パスワードを入力します。 このようなトラフィックは、対象トラフィックのアクセスリストに表示する必要があることに留意してください。
たとえば、ユーザーがtelnetまたはhttpを介してホスト1.1.1.1にアクセスし、ログインとパスワードの入力を求められるようにします。 次に、このトラフィックをアクセスリストに含める必要があります。 これは適切ではありません、なぜなら telnet上では機能しません。
access-list AUTH permit tcp any any eq 80
access-list AUTH permit udp any any
データが正しい場合、ASAはトラフィックをスキップします。 ただし、指定された時間のみ。 デフォルトでは、タイムアウトは奇妙なことになります:絶対時間の5分、非アクティブタイムアウトは監視されません。 それらを変更することは可能であるだけでなく、必要です:
timeout uauth {HH:MM:SS} {absolute|inactivity}
例:
timeout uauth 0:15:0 inactivity
timeout uauth 20:00:00 absolute
したがって、認証を使用すると、すべてが簡単になります。他に何も指定しなければ、ユーザー、つまりコンピューターのIPアドレスがすべて可能になります。
さらに興味深い点は、 承認 、つまりユーザー権利の制限です。
LDAP認証には、「松葉杖」が必要です。これは、ASAが理解するRADIUS属性にLDAP属性をマッピングする特別な構造です。 このデザインは
ldap attribute-map {MAPNAME}
map-name {LDAPATTRIBUTE} {RADUISATTRIBUTE}
map-value {LDAPATTRIBUTE} {SENDNAME} {TRANSLATENAME}
例。 ADベースのipPhone属性をIETF-Radius-Filter-Id(アクセスリスト)属性に関連付けます。 また、指定された属性に「BUHG」という単語が含まれている場合、ユーザーはBUHアクセスリストを使用することを説明します。BUHアクセスリストは、ASAですでに記述されています。
ldap attribute-map AD
map-name ipPhone IETF-Radius-Filter-Id
map-value ipPhone BUHG BUH
重要:指定された属性で何も受信しなかった場合、それを無視し、この属性の値に記述されていない単語を取得した場合、アクセスは拒否されます。 したがって、AD管理者はアクセス権に影響を与えることができます。 たとえば、ASAに触れることなく、好ましくないユーザーに対してインターネットをブロックできます。
特定のLDAPサーバーでこの属性リストを適用することのみが残ります
aaa-server {SERVERNAME} ({interface}) host {IP_SERVER}
ldap-attribute-map {MAPNAME}
例:
aaa-server AD (dmz) host 172.16.1.100
ldap-attribute-map AD
親愛なるhabiscounters-tsiskolyub :)
PS私自身:「通常のOSでは、これはチームの半分で行われます」:)そのため、「異常」の管理者を支援します:)