Ubuntu 22.04
Sponsored Link

AppArmor : प्रोफ़ाइल बनाएं : aa-genprof2023/09/20

 
[aa-genprof] कमांड के साथ किसी प्रोग्राम के लिए एक प्रोफ़ाइल बनाएं।
[1] उदाहरण के लिए, एक परीक्षण स्क्रिप्ट बनाएं और इसे सामान्य रूप से चलाने के लिए एक प्रोफ़ाइल भी बनाएं।
# एक परीक्षण स्क्रिप्ट बनाएं

root@dlp:~# cat > /usr/local/bin/nodejs_test.js <<'EOF' 
var http = require('http');
var server = http.createServer(function(req, res) {
  res.write("Hello, This is the Node.js Simple Web Server!\n");
  res.end();
}).listen(8080);
EOF 
root@dlp:~#
node /usr/local/bin/nodejs_test.js &

[1] 16817
root@dlp:~#
curl localhost:8080

Hello, This is the Node.js Simple Web Server!
root@dlp:~#
kill 16817

# ऊपर इसके लिए एक प्रोफ़ाइल बनाएं

root@dlp:~#
aa-genprof /usr/bin/node

Updating AppArmor profiles in /etc/apparmor.d.
Writing updated profile for /usr/bin/node.
Setting /usr/bin/node to complain mode.

Before you begin, you may wish to check if a
profile already exists for the application you
wish to confine. See the following wiki page for
more information:
https://gitlab.com/apparmor/apparmor/wikis/Profiles

Profiling: /usr/bin/node

Please start the application to be profiled in
another window and exercise its functionality now.

Once completed, select the "Scan" option below in
order to scan the system logs for AppArmor events.

For each AppArmor event, you will be given the
opportunity to choose whether the access should be
allowed or denied.

[(S)can system log for AppArmor events] / (F)inish
Setting /usr/bin/node to enforce mode.
# स्टडआउट यहीं रुकता है
# इसे किसी अन्य टर्मिनल पर लक्ष्य एप्लिकेशन के लिए सभी आवश्यक संचालन संचालित करने की आवश्यकता है
# लॉगफ़ाइल में आवश्यक संचालन लॉग करने के लिए,
# सभी आवश्यक ऑपरेशन समाप्त करने के बाद, समाप्त करने के लिए [f(F)] कुंजी दबाएँ,
# फिर [aa-genprof] समाप्त होता है

Reloaded AppArmor profiles in enforce mode.

Please consider contributing your new profile!
See the following wiki page for more information:
https://gitlab.com/apparmor/apparmor/wikis/Profiles

Finished generating profile for /usr/bin/node.

# [aa-genprof] के मामले में, लक्ष्य ऐप को [enforce] मोड नियंत्रण में दर्ज किया जाएगा

root@dlp:~#
aa-status

apparmor module is loaded.
14 profiles are loaded.
14 profiles are in enforce mode.
   /usr/bin/man
   /usr/bin/node
   /usr/lib/NetworkManager/nm-dhcp-client.action
.....
.....

# प्रोफ़ाइल बनाई गई

root@dlp:~#
cat /etc/apparmor.d/usr.bin.node

# Last Modified: Fri Dec 16 13:37:55 2022
abi <abi/3.0>,

include <tunables/global>

/usr/bin/node {
  include <abstractions/base>

  /usr/bin/node mr,

}

# एप्लिकेशन प्रारंभ करें
# * यदि सभी आवश्यक संचालन लॉग द्वारा नहीं सीखे जाते हैं, तो कुछ त्रुटियाँ होती हैं

root@dlp:~#
node /usr/local/bin/nodejs_test.js

internal/fs/utils.js:269
    throw err;
.....

# यदि लक्ष्य ऐप सामान्य रूप से नहीं चलता है, तो इसे [complain] मोड में बदलें और सब कुछ जानने के लिए इसे फिर से संचालित करें

root@dlp:~#
aa-complain /usr/bin/node

Setting /usr/bin/node to complain mode.
root@dlp:~#
node /usr/local/bin/nodejs_test.js &

[1] 17083
root@dlp:~#
curl localhost:8080

Hello, This is the Node.js Simple Web Server!
root@dlp:~#
kill 17083
# लॉग में अनधिकृत कार्रवाइयां पढ़ें
# यदि ऑडिट चल रहा है तो लॉग [/var/log/audit/audit.log] में रिकॉर्ड किए जाते हैं
# यदि ऑडिटडी स्थापित नहीं है, तो लॉग [/var/log/syslog] में रिकॉर्ड किए जाते हैं

root@dlp:~#
aa-logprof

Updating AppArmor profiles in /etc/apparmor.d.
Reading log entries from /var/log/syslog.
Complain-mode changes:

Profile:  /usr/bin/node
Path:     /usr/share/zoneinfo-icu/44/le/zoneinfo64.res
New Mode: owner r
Severity: unknown

 [1 - owner /usr/share/zoneinfo-icu/44/le/zoneinfo64.res r,]
(A)llow / [(D)eny] / (I)gnore / (G)lob / Glob with (E)xtension / (N)ew / Audi(t) / (O)wner permissions off / Abo(r)t / (F)inish
# अनधिकृत कार्रवाई के लिए नीति निर्धारित करें
Adding owner /usr/share/zoneinfo-icu/44/le/zoneinfo64.res r, to profile.

Profile:  /usr/bin/node
Path:     /usr/local/bin/nodejs_test.js
New Mode: owner r
Severity: unknown

 [1 - owner /usr/local/bin/nodejs_test.js r,]
(A)llow / [(D)eny] / (I)gnore / (G)lob / Glob with (E)xtension / (N)ew / Audi(t) / (O)wner permissions off / Abo(r)t / (F)inish
# नीचे इसी प्रकार सभी का चयन करें
Adding owner /usr/local/bin/nodejs_test.js r, to profile.

Profile:  /usr/bin/node
Path:     /usr/share/zoneinfo-icu/44/le/timezoneTypes.res
New Mode: owner r
Severity: unknown

 [1 - owner /usr/share/zoneinfo-icu/44/le/timezoneTypes.res r,]
(A)llow / [(D)eny] / (I)gnore / (G)lob / Glob with (E)xtension / (N)ew / Audi(t) / (O)wner permissions off / Abo(r)t / (F)inish
Adding owner /usr/share/zoneinfo-icu/44/le/timezoneTypes.res r, to profile.

Profile:        /usr/bin/node
Network Family: inet6
Socket Type:    stream

 [1 - include <abstractions/apache2-common>]
  2 - include <abstractions/nameservice>
  3 - network inet6 stream,
(A)llow / [(D)eny] / (I)gnore / Audi(t) / Abo(r)t / (F)inish
Adding include <abstractions/apache2-common> to profile.
Enforce-mode changes:

= Changed Local Profiles =

The following local profiles were changed. Would you like to save them?

 [1 - /usr/bin/node]
(S)ave Changes / Save Selec(t)ed Profile / [(V)iew Changes] / View Changes b/w (C)lean profiles / Abo(r)t
Writing updated profile for /usr/bin/node.

# [enforce] मोड पर वापस जाएं और सत्यापित करें कि लक्ष्य ऐप सामान्य रूप से चलता है

root@dlp:~#
aa-enforce /usr/bin/node

root@dlp:~#
node /usr/local/bin/nodejs_test.js &

[1] 17110
root@dlp:~#
curl localhost:8080

Hello, This is the Node.js Simple Web Server!
root@dlp:~#
kill 17110
# ऐप के लिए पूर्ण प्रोफ़ाइल

root@dlp:~#
cat /etc/apparmor.d/usr.bin.node

# Last Modified: Fri Dec 16 13:44:19 2022
abi <abi/3.0>,

include <tunables/global>

/usr/bin/node {
  include <abstractions/apache2-common>
  include <abstractions/base>

  /usr/bin/node mr,
  owner /usr/local/bin/nodejs_test.js r,
  owner /usr/share/zoneinfo-icu/44/le/timezoneTypes.res r,
  owner /usr/share/zoneinfo-icu/44/le/zoneinfo64.res r,

}
मिलान सामग्री