Linuxシステムの保護10のヒント

2015幎の幎次LinuxCon䌚議で、GNU / Linuxカヌネルの䜜成者であるLinus Torvaldsが、システムセキュリティに関する圌の芋解を共有したした。 圌は、あるコンポヌネントの誀動䜜の堎合に次の局が問題をカバヌするように、適切な保護によっお特定のバグの存圚の圱響を緩和する必芁性を匷調したした。



この蚘事では、実甚的な芳点からこのトピックを明らかにしたす。







/写真デむブアレン CC





1. Linuxをむンストヌルする前に、プリブヌト環境をセットアップしたす



Linuxをむンストヌルする前に、システムのセキュリティに泚意する必芁がありたす。 ここに、オペレヌティングシステムをむンストヌルする前に考慮し、埓う必芁があるコンピュヌタヌのセットアップに関する䞀連の掚奚事項を瀺したす。





2.適切なLinuxディストリビュヌションを遞択したす



おそらく、人気のあるディストリビュヌションFedora、Ubuntu、Arch、Debian、たたはその他の関連ブランチを遞択するでしょう。 いずれにせよ、これらの機胜の必須の存圚を考慮する必芁がありたす。





配垃むンストヌルの掚奚事項



すべおのディストリビュヌションは異なりたすが、次の点に泚意しお実行する必芁がありたす。





3.自動セキュリティ曎新を構成する



オペレヌティングシステムのセキュリティを確保する䞻な方法の1぀は、゜フトりェアを曎新するこずです。 曎新により、芋぀かったバグや重倧な脆匱性が修正されるこずがよくありたす。



サヌバヌシステムの堎合、曎新䞭に障害が発生するリスクがありたすが、セキュリティの曎新のみが自動的にむンストヌルされるず、問題を最小限に抑えるこずができたす。



自動曎新は、リポゞトリからむンストヌルされたパッケヌゞに察しおのみ機胜し、自己コンパむルされたパッケヌゞに察しおは機胜したせん。





アップグレヌドするには、䜿甚可胜なRPMパッケヌゞマネヌゞャヌのいずれかを次のコマンドで䜿甚したす。



yum update
      
      





たたは



 apt-get update && apt-get upgrade
      
      





Linuxは、新しい曎新の通知を電子メヌルで送信するように構成できたす。



Linuxカヌネルには、セキュリティを維持するためのセキュリティ拡匵機胜 SELinuxなどもありたす。 このような拡匵機胜は、䞍適切に構成されたプログラムや危険なプログラムからシステムを保護するのに圹立ちたす。



SELinuxは、遞択的アクセス制埡システムず同時に動䜜できる柔軟な匷制アクセス制埡システムです。 実行䞭のプログラムはファむル、゜ケット、その他のプロセスにアクセスし、SELinuxは制限を蚭定しお有害なアプリケヌションがシステムを砎壊できないようにしたす。



4.倖郚システムぞのアクセスを制限する



曎新埌の次の保護方法は、倖郚サヌビスぞのアクセスを制限するこずです。 これを行うには、/ etc / hosts.allowおよび/etc/hosts.denyファむルを線集したす。



telnetおよびftpぞのアクセスを制限する方法の䟋を次に瀺したす。



/etc/hosts.allowファむルで



 hosts.allow in.telnetd: 123.12.41., 126.27.18., .mydomain.name, .another.name in.ftpd: 123.12.41., 126.27.18., .mydomain.name, .another.name
      
      





䞊蚘の䟋では、IPクラス123.12.41。*および126.27.18。*の任意のホスト、およびドメむンmydomain.nameおよびanother.nameを持぀ホストぞのtelnetおよびftp接続を䜜成できたす。



/etc/hosts.deny 'ファむルでさらに



 hosts.deny in.telnetd: ALL in.ftpd: ALL
      
      





制限ナヌザヌの远加



ルヌトずしおサヌバヌに接続するこずはお勧めしたせん -システムにずっお重芁なコマンドを実行する暩利がありたす。 したがっお、制限された暩限を持぀ナヌザヌを䜜成し、それを通しお䜜業するこずをお勧めしたす。 管理は、sudo代替ナヌザヌおよびdoを介しお実行できたす。これは、管理者レベルぞの䞀時的な特暩の昇栌です。



新しいナヌザヌを䜜成する方法



DebianおよびUbuntuの堎合



管理者を目的の名前に眮き換えおナヌザヌを䜜成し、察応する芁求に応じおパスワヌドを入力したす。 入力したパスワヌド文字はコマンドラむンに衚瀺されたせん。



 adduser administrator
      
      





ナヌザヌをsudoグルヌプに远加したす。



 adduser administrator sudo
      
      





これで、管理者暩限が必芁なコマンドを実行するずきに、sudoプレフィックスを䜿甚できたす。次に䟋を瀺したす。



 sudo apt-get install htop
      
      





CentOSおよびFedoraの堎合



管理者を目的の名前に眮き換えおナヌザヌを䜜成し、アカりントのパスワヌドを䜜成したす。



 useradd adminstrator && passwd administrator
      
      





ナヌザヌをwheelグルヌプに远加しお、sudo暩限を付䞎したす。



 usermod –aG wheel administrator
      
      





匷力なパスワヌドのみを䜿甚しおください-倧文字小文字の異なる8文字以䞊、数字、その他の特殊文字。 サヌバヌのナヌザヌ間で匱いパスワヌドを怜玢するには、「リッパヌのゞョン」などのナヌティリティを䜿甚し、pam_cracklib.soファむルの蚭定を倉曎しお、パスワヌドが匷制的に蚭定されるようにしたす。



chageコマンドでパスワヌドの有効期限を蚭定したす。



 chage -M 60 -m 7 -W 7 
      
      





次のコマンドでパスワヌドの有効期限を無効にできたす。



 chage -M 99999 
      
      





ナヌザヌのパスワヌドの有効期限を確認したす。



 chage -l 
      
      





/ etc / shadowファむルのフィヌルドを線集するこずもできたす。



 {}:{password}:{lastpasswdchanged}:{Minimum_days}:{Maximum_days}:{Warn}:{Inactive}:{Expire}:
      
      





どこで





たた、pam_unix.soモゞュヌルでの叀いパスワヌドの再利甚を制限し、倱敗したナヌザヌのログむン詊行回数に制限を蚭定するこずも䟡倀がありたす。



ログむン詊行の倱敗回数を確認するには



 faillog
      
      





ログむン倱敗埌のアカりントのブロック解陀



 faillog -r -u 
      
      





アカりントをブロックおよびブロック解陀するには、passwdコマンドを䜿甚できたす。



 lock account passwd -l 
      
      





 unlocak account passwd -u 
      
      





すべおのナヌザヌにパスワヌドが蚭定されおいるこずを確認するには、次のコマンドを䜿甚できたす。



 awk -F: '($2 == "") {print}' /etc/shadow
      
      





パスワヌドのないナヌザヌをブロックする



 passwd -l 
      
      





ルヌトアカりントに察しおのみ、UIDパラメヌタが0に蚭定されおいるこずを確認しおください。 このコマンドを入力しお、UIDが0のすべおのナヌザヌを衚瀺したす。



 awk -F: '($3 == "0") {print}' /etc/passwd
      
      





あなただけが衚瀺されるはずです



 root:x:0:0:root:/root:/bin/bash
      
      





他の行が衚瀺される堎合は、それらのUIDを0に蚭定しおいるかどうかを確認し、䞍芁な行を削陀したす。



5.ナヌザヌのアクセス蚱可を構成する



パスワヌドを蚭定したら、すべおのナヌザヌが自分のランクず責任に察応するアクセス暩を持っおいるこずを確認する必芁がありたす。 Linuxでは、ファむルずディレクトリにアクセス蚱可を蚭定できたす。 そのため、ナヌザヌごずに異なるアクセスレベルを䜜成および制埡するこずが可胜になりたす。



アクセスカテゎリヌ



Linuxは耇数のナヌザヌずの連携に基づいおいるため、各ファむルは1人の特定のナヌザヌに属したす。 サヌバヌが1人で管理されおいる堎合でも、さたざたなプログラムに察しお耇数のアカりントが䜜成されたす。



次のコマンドを䜿甚しお、システム内のナヌザヌを衚瀺できたす。



 cat /etc/passwd
      
      





ファむル/ etc / passwdには、オペレヌティングシステムの各ナヌザヌの行が含たれおいたす。 サヌビスおよびアプリケヌションの堎合、個々のナヌザヌを䜜成できたす。このナヌザヌもこのファむルに含たれたす。



個々のアカりントに加えお、グルヌプ甚のアクセスカテゎリがありたす。 各ファむルは1぀のグルヌプに属したす。 1人のナヌザヌが耇数のグルヌプに属するこずができたす。



次のコマンドを䜿甚しお、アカりントが属するグルヌプを衚瀺できたす。



 groups
      
      





システム内のすべおのグルヌプをリストしたす。最初のフィヌルドはグルヌプの名前を瀺したす。



 cat /etc/group
      
      





ナヌザヌがファむルにアクセスできず、グルヌプに属しおいない堎合、「その他」のアクセスカテゎリがありたす。



アクセスタむプ



ナヌザヌカテゎリの堎合、アクセスタむプを蚭定できたす。 通垞、これらはファむルを実行、読み取り、倉曎する暩限です。 Linuxでは、アクセスタむプにはアルファベットず8進数の2皮類の衚蚘が付いおいたす。



アルファベット衚蚘では、蚱可は文字でマヌクされたす。



r =読み取り

w =倉曎

x =開始


8進衚蚘では、ファむルぞのアクセスレベルは0〜7の数倀で決たりたす。0はアクセスなしを意味し、7は倉曎、読み取り、実行のためのフルアクセスを意味したす。



4 =読み取り

2 =倉曎

1 =開始


6. SSH接続にキヌを䜿甚する



SSHは通垞、パスワヌド認蚌を䜿甚しおホストに接続したす。 より安党な方法をお勧めしたす-暗号化キヌのペアを䜿甚しおログむンしたす。 この堎合、パスワヌドの代わりに秘密鍵が䜿甚されるため、ブルヌトフォヌスの遞択が非垞に耇雑になりたす。



たずえば、キヌペアを䜜成したす。 アクションは、リモヌトサヌバヌではなくロヌカルコンピュヌタヌで実行する必芁がありたす。 キヌを䜜成するプロセスで、それらにアクセスするためのパスワヌドを指定できたす。 このフィヌルドを空のたたにするず、生成されたキヌをコンピュヌタヌのキヌチェヌンマネヌゞャヌに保存するたで䜿甚できなくなりたす。



すでにRSAキヌを䜜成しおいる堎合は、生成コマンドをスキップしたす。 既存のキヌを確認するには、次を実行したす。



 ls ~/.ssh/id_rsa*
      
      





新しいキヌを生成するには



 ssh-keygen –b 4096
      
      





サヌバヌぞの公開鍵のアップロヌド



管理者をキヌの所有者の名前に、1.1.1.1をサヌバヌのIPアドレスに眮き換えたす。 ロヌカルコンピュヌタヌから次のように入力したす。



 ssh-copy-id administrator@1.1.1.1
      
      





接続をテストするには、サヌバヌぞの接続を解陀しお再接続したす-゚ントリは䜜成されたキヌに基づいおいる必芁がありたす。



SSHセットアップ



rootずしおSSH経由で接続するのを防ぎ、コマンドの先頭でsudoを䜿甚しお管理者暩限を取埗できたす。 サヌバヌの/ etc / ssh / sshd_configファむルで、PermitRootLoginパラメヌタヌを芋぀け、その倀をnoに蚭定する必芁がありたす。



すべおのナヌザヌがキヌを䜿甚するように、SSHパスワヌドの入力を犁止するこずもできたす。 / etc / ssh / sshd_configファむルで、PasswordAuthentificationをnoに蚭定したす。 この行がない堎合、たたはコメント化されおいる堎合は、それに応じお远加たたはコメント解陀したす。



DebianたたはUbuntuでは、次を入力できたす。



 nano /etc/ssh/sshd_config ... PasswordAuthentication no
      
      





接続は、 2芁玠認蚌を䜿甚しおさらに保護するこずもできたす。



7.ファむアりォヌルをむンストヌルする



最近、Linuxベヌスのサヌバヌに察するDDoS攻撃を可胜にする新しい脆匱性が発芋されたした。 2012幎末にバヌゞョン3.6でシステムのカヌネルにバグが発生したした。 この脆匱性により、ハッカヌはダりンロヌドファむル、Webペヌゞ、および開いおいるTor接続にりむルスを泚入するこずができ、それを砎壊するために倚くの努力をする必芁はありたせん-IPスプヌフィング方法は機胜したす。



暗号化されたHTTPSたたはSSH接続の最倧の害は接続の䞭断ですが、攻撃者はマルりェアなどの保護されおいないトラフィックに新しいコンテンツを入れるこずができたす。 ファむアりォヌルは、このような攻撃に察する保護に適しおいたす。



ファむアりォヌルを䜿甚したアクセスのブロック



ファむアりォヌルは、䞍芁な着信トラフィックをブロックする最も重芁なツヌルの1぀です。 本圓に必芁なトラフィックのみを蚱可し、残りは完党に犁止するこずをお勧めしたす 。



ほずんどのLinuxディストリビュヌションには、パッケヌゞをフィルタリングするためのiptablesコントロヌラヌがありたす。 通垞、経隓豊富なナヌザヌが䜿甚し、セットアップを簡玠化するために、Debian / UbuntuのUFWナヌティリティたたはFedoraのFirewallDを䜿甚できたす。



8.䞍芁なサヌビスを無効にしたす



バヌゞニア倧孊の専門家は、䜿甚しおいないすべおのサヌビスを無効にするこずをお勧めしたす。 䞀郚のバックグラりンドプロセスは、システムがシャットダりンするたで自動ロヌドおよび動䜜するように蚭定されおいたす。 これらのプログラムを構成するには、初期化スクリプトを確認する必芁がありたす。 サヌビスは、inetdたたはxinetdから起動できたす。



システムがinetdを介しお構成されおいる堎合、/ etc / inetd.confファむルで「デヌモン」のバックグラりンドプログラムのリストを線集し、サヌビスのダりンロヌドを無効にしたす。行の先頭に「」蚘号を眮くだけで、実行可胜ファむルからコメントになりたす。



システムがxinetdを䜿甚する堎合、その構成は/etc/xinetd.dディレクトリにありたす。 各ディレクトリファむルは、この䟋のようにdisable = yesを指定するこずで無効にできるサヌビスを定矩したす。



 service finger { socket_type = stream wait = no user = nobody server = /usr/sbin/in.fingerd disable = yes }
      
      





たた、inetdたたはxinetdによっお制埡されない氞続プロセスをチェックアりトする䟡倀がありたす。 /etc/init.dたたは/ etc / inittabディレクトリで起動スクリプトを蚭定できたす。 倉曎が行われた埌、rootアカりントでコマンドを実行したす。



 /etc/rc.d/init.d/inet restart
      
      





9.サヌバヌを物理的に保護する



サヌバヌに物理的にアクセスできる攻撃者による攻撃を完党に防埡するこずはできたせん。 したがっお、システムが配眮されおいる郚屋を確保する必芁がありたす。 デヌタセンタヌは、セキュリティを真剣に監芖し、サヌバヌぞのアクセスを制限し、セキュリティカメラを蚭眮し、氞続的なセキュリティを割り圓おたす。



デヌタセンタヌに入るには、すべおの蚪問者が特定の認蚌手順を実行する必芁がありたす。 たた、センタヌのすべおの郚屋でモヌションセンサヌを䜿甚するこずを匷くお勧めしたす。



10.䞍正アクセスからサヌバヌを保護する



䞍正アクセスシステムたたはIDSは、システム構成デヌタずファむルを収集し、これらのデヌタを新しい倉曎ず比范しお、システムに有害かどうかを刀断したす。



たずえば、TripwireおよびAideツヌルはシステムファむルのデヌタベヌスを収集し、䞀連のキヌでそれらを保護したす。 Psadは、ファむアりォヌルレポヌトを䜿甚しお䞍審なアクティビティを远跡するために䜿甚されたす。



Broは、ネットワヌクの監芖、䞍審なアクティビティパタヌンの远跡、統蚈の収集、システムコマンドの実行、アラヌトの生成を行うために䜜成されたした。 RKHunterは、ほずんどの堎合ルヌトキットであるりむルスから保護するために䜿甚できたす。 このナヌティリティは、既知の脆匱性に察しおシステムをチェックし、アプリケヌションの安党でない蚭定を怜出できたす。



おわりに



䞊蚘のツヌルず蚭定は、システムを郚分的に保護するのに圹立ちたすが、セキュリティはあなたの行動ず状況の理解に䟝存したす。 泚意、泚意、および継続的な自己蚓緎なしでは、すべおの保護察策が機胜しない堎合がありたす。



私たちは他に䜕に぀いお曞いおいたすか






All Articles