Linux sudo権限管理プロジェクト実戦


  • 企業生産環境ユーザー権限集中管理プロジェクト方案
  • 問題現状当社ではサーバーが100台以上あり、各サーバーの管理者が多い(開発+運営+アーキテクチャDBA+製品+市場).よくファイルなどのわけのわからない紛失を招き、ベテランと初心者の従業員のサーバーに対する熟知度も異なり、このように会社のサーバーの安全に大きな不安定性、操作の安全上の危険性が存在し、企業のサーバー環境を調査したところ、50%以上の安全問題は外部ではなく内部から来ている.以上の問題を解決するために,単一ユーザ管理権限が大きすぎる現状において,Linuxサーバのユーザ権限集中管理に対する解決策を提案する.
  • プロジェクトのニーズスーパーユーザーrootパスワードが少数または唯一の管理者の手に握られることを望んでいるだけでなく、複数のシステム管理者または関連する権限のある人員が、より複雑な自分の職能に関する仕事を完成することができ、権限を越えた操作がシステムのセキュリティ上の危険性を招くことはありません.最小化:1)ソフトウェアの最小化をインストールします.2)ディレクトリファイル権限の最小化.3)ユーザ権限の最小化.4)プログラム実行権限の最小化.では、複数のシステム管理者がスーパー権限を氾濫させないようにシステムを管理できるようにするにはどうすればいいのでしょうか.これは、suコマンドまたは結婚suコマンドの代わりにsudo管理が必要であり、このような過酷で必要なエンタープライズサーバユーザ管理ニーズを達成するために必要である.3.具体的な実現は会社の異なる部門に対して、従業員の具体的な仕事職能(例えば:開発、運営、データベース管理者)によって、等級別にLinuxサーバー管理に対する権限を最小化、規範化する.これにより、メンテナンス管理コストを削減し、安全上の危険性を解消し、仕事の効率を高め、高品質で迅速なプロジェクトの進捗状況、日常システムのメンテナンスを実現した.4.実施案4.1情報収集関連各部門の指導者を集めて会議討論或いは各グループの指導者と交流して権限管理案の実行可能性を確定する.サポートが必要な人員:運営管理者または総監、CTOサポート、各部門グループのリーダー.4.2方案の実行可能性を確定した後、会議責任者はすべての関連従業員のLinuxサーバーに対する権限需要をまとめ、提出、審査する.5.必要に応じて実行するLinuxコマンドプログラムと会社の業務サービスによって権限と人員の対応配置を計画する.###権限管理実戦プロジェクト#####1、ユーザーfor user in chuji 001 chuji 002 chuji 003 net 001 senior 001 manager 001 do useradd$userecho"111111"|passwd--stdin$userdone 2、5人の開発者を設立するphpersグループgroupadd-g 999 phpersfor n in seq 5 douseradd-g phpers php 00$ndonefor user in kaifamanager 001 seniorphpersdouseradd$userecho"111111"|passwd--stdin$userdone 3に属し、visudoを使用してvi/etc/sudoersを編集します.
    Defaults logfile=/var/log/sudo.log##Cmnd_Alias by Tim##2018/01/16Cmnd_Alias CY_CMD_1 =/usr/bin/free,/usr/bin/iostat,/usr/bin/top,/usr/bin/iostat,/bin/ifconfig,/bin/netstat,\/bin/hostname,/bin/routeCmnd_Alias GY_CMD_1 =/usr/bin/free,/usr/bin/iostat,/usr/bin/top,/bin/hostname,/sbin/ifconfig,/bin/netstat,\/sbin/route,/sbin/iptables,/etc/init.d/network,/bin/nice,/bin/kill,/usr/bin/kill,/usr/bin/killall,/bin/rpm,\/usr/bin/up2date,/usr/bin/yum,/sbin/fdisk,/sbin/sfdisk,/sbin/parted,/sbin/partprobe,/bin/mount,/bin/umountCmnd_Alias CK_CMD_1 =/usr/bin/tail/app/log,/bin/grep/app/log,/bin/cat,/bin/isCmnd_Alias GK_CMD_1 =/sbin/service,/sbin/chkconfig,/bin/tail/app/log,/bin/grep/app/log,/bin/cat,/bin/ls,\/bin/sh ~/scripts/deploy.shCmnd_Alias GW_CMD_1 =/sbin/route,/sbin/ifconfig,/bin/ping,/sbin/dhclient,\/usr/bin/net,/sbin/iptables,/usr/bin/rfcomm,/usr/bin/wvdial,/sbin/iwconfig,\/sbin/mii-tool,/bin/cat/var/log/#####################################################################################User_Alias by Tim##2018/01/16User_Alias CHUJIADMINS = chuji001,chuji002,chuji003User_Alias GWNETADMINS = net001User_Alias CHUJI_KAIFA = %phpers##Runas_Alias by Tim##2018/01/16Runas_Alias OP = root#pri configsenior001 ALL=(OP) GY_CMD_1manager001 ALL=(ALL) NOPASSWD:ALLkaifamanager001 ALL=(ALL) ALL,(ALL)/usr/bin/passwd [A-Za-z],(ALL) !/usr/bin/passwd root,\(ALL) !/usr/sbin/visudo, (ALL) !/usr/bin/vim, (ALL) !/usr/bin/vi sudoer, (ALL) !/usr/bin/sudo su -, (ALL) !/bin/suseniorphpers ALL=(OP) GK_CMD_1CHUJIADMINS ALL=(OP) CY_CMD_1GWNETADMINS ALL=(OP) GW_CMD_1CHUJI_KAIFA ALL=(OP) CK_CMD_1
  • が成功した後、メールですべての人に権限構成の有効化を通知し、必要に応じて操作説明を添付します.
  • 権限申請プロセス及びプロセス表を制定する.個別文書
  • 参照