운영 및 유지보수 리눅스 운영 및 유지 관리 Linux 및 Unix 서버의 보안을 강화하는 방법

Linux 및 Unix 서버의 보안을 강화하는 방법

May 19, 2023 pm 02:43 PM
linux unix

1. 시스템 보안 기록 파일

운영 체제 내부의 기록 파일은 네트워크 침입 여부를 탐지하는 중요한 단서입니다. 시스템이 인터넷에 직접 연결되어 있고 시스템에 telnet/ftp 로그인을 시도하는 사람이 많은 경우 "#more /var/log/secure grep 거부됨"을 실행하여 시스템에 대한 공격을 확인할 수 있습니다. SSH를 사용하여 Telnet/rlogin을 대체하는 등의 대응 조치를 취할 수 있습니다.

2. 시작 및 로그인 보안

1. BIOS 보안

플로피 디스크에서 시스템을 부팅하지 못하도록 BIOS 비밀번호를 설정하고 부팅 순서를 수정하세요.

2. 사용자 비밀번호

사용자 비밀번호는 Linux 보안의 기본 시작점입니다. 많은 사람들이 너무 단순한 사용자 비밀번호를 사용하므로, 이론적으로는 충분한 시간과 리소스가 있는 한 침입자가 발생할 수 있습니다. 해독할 수 없는 사용자 비밀번호는 없지만 잘 선택한 비밀번호는 해독하기 어렵습니다. 더 나은 사용자 비밀번호는 해당 사용자만이 쉽게 기억하고 이해할 수 있는 문자열이며, 어디에도 적어서는 안 됩니다.

3. 기본 계정

은 운영 체제 자체에서 시작되는 불필요한 계정을 모두 금지해야 합니다. 이는 시스템을 처음 설치할 때 수행되어야 하며, 계정이 많을수록 시스템이 더 쉽게 공격받을 수 있습니다.

다음 명령을 사용하여 계정을 삭제할 수 있습니다.

# userdel用户名
로그인 후 복사

또는 다음 명령을 사용하여 그룹 사용자 계정을 삭제하세요.

rreee

4. 비밀번호 파일

chattr 명령은 무단 사용자가 권한을 얻지 못하도록 다음 파일에 변경할 수 없는 속성을 추가합니다.

# groupdel username
로그인 후 복사

5. 컴퓨터를 다시 시작하려면 ctrl+alt+delete 명령을 비활성화하세요

/etc/inittab 파일을 수정하고 "ca::ctrlaltdel:/sbin/shutdown -t3 -r now" 줄을 주석 처리하세요. 그런 다음 /etc/rc.d/init.d/ 디렉터리에 있는 모든 파일의 권한을 재설정하고 다음 명령을 실행합니다: ca::ctrlaltdel:/sbin/shutdown -t3 -r now"一行注释掉。然后重新设置/etc/rc.d/init.d/目录下所有文件的许可权限,运行如下命令:

# chattr +i /etc/passwd

# chattr +i /etc/shadow

# chattr +i /etc/group

# chattr +i /etc/gshadow
로그인 후 복사

这样便仅有root可以读、写或执行上述所有脚本文件。

6.限制su命令

如果您不想任何人能够su作为root,可以编辑/etc/pam.d/su文件,增加如下两行:

# chmod -r 700 /etc/rc.d/init.d/*
로그인 후 복사

这时,仅isd组的用户可以su作为root。此后,如果您希望用户admin能够su作为root,可以运行如下命令:

auth sufficient /lib/security/pam_rootok.so debug

auth required /lib/security/pam_wheel.so group=isd
로그인 후 복사

7.删减登录信息

默认情况下,登录提示信息包括linux发行版、内核版本名和服务器主机名等。对于一台安全性要求较高的机器来说这样泄漏了过多的信息。可以编辑/etc/rc.d/rc.local将输出系统信息的如下行注释掉。

# usermod -g10 admin
로그인 후 복사

然后,进行如下操作:

# this will overwrite /etc/issue at every boot. so, make any changes you

# want to make to /etc/issue here or you will lose them when you reboot.

# echo "" > /etc/issue

# echo "$r" >> /etc/issue

# echo "kernel $(uname -r) on $a $(uname -m)" >> /etc/issue

# cp -f /etc/issue /etc/issue.net

# echo >> /etc/issue
로그인 후 복사

三、限制网络访问

1.nfs访问

如果您使用nfs网络文件系统服务,应该确保您的/etc/exports具有最严格的访问权限设置,也就是意味着不要使用任何通配符、不允许root写权限并且只能安装为只读文件系统。编辑文件/etc/exports并加入如下两行。

# rm -f /etc/issue

# rm -f /etc/issue.net

# touch /etc/issue

# touch /etc/issue.net
로그인 후 복사

/dir/to/export 是您想输出的目录,host.mydomain.com是登录这个目录的机器名,ro意味着mount成只读系统,root_squash禁止root写入该目录。为了使改动生效,运行如下命令。

/dir/to/export host1.mydomain.com(ro,root_squash)

/dir/to/export host2.mydomain.com(ro,root_squash)
로그인 후 복사

2.inetd设置

首先要确认/etc/inetd.conf的所有者是root,且文件权限设置为600。设置完成后,可以使用"stat

# /usr/sbin/exportfs -a
로그인 후 복사

그러면 루트만 위의 모든 스크립트 파일을 읽고, 쓰고, 실행할 수 있습니다.

6. su 명령 제한

누구도 루트로 su할 수 없도록 하려면 /etc/pam.d/su 파일을 편집하고 다음 두 줄을 추가하면 됩니다.

# chmod 600 /etc/inetd.conf
로그인 후 복사

현재는 사용자만 isd 그룹에서는 루트로 su할 수 있습니다. 나중에 사용자 관리자가 루트로 su할 수 있도록 하려면 다음 명령을 실행할 수 있습니다:

ftp telnet shell login exec talk ntalk imap pop-2 pop-3 finger auth
로그인 후 복사

7. 로그인 정보 삭제

기본적으로 로그인 프롬프트 정보에는 Linux 배포 버전, 커널 버전 이름, 서버 호스트 이름 등이 포함됩니다. 보안 요구 사항이 높은 시스템의 경우 너무 많은 정보가 누출됩니다. /etc/rc.d/rc.local을 편집하여 시스템 정보를 출력하는 다음 줄을 주석 처리할 수 있습니다.

#killall -hup inetd
로그인 후 복사

그런 다음 다음을 수행하세요.

# tcpdchk 
로그인 후 복사

3. 네트워크 액세스를 제한하세요

1. nfs 액세스

nfs 네트워크 파일 시스템 서비스를 사용하는 경우 /etc/exports에 가장 제한적인 액세스 설정이 있는지 확인해야 합니다. 즉, 와일드카드를 사용하지 않고 루트 쓰기 액세스를 허용하지 않으며 다음으로만 마운트할 수 있음을 의미합니다. 읽기 전용 파일 시스템. /etc/exports 파일을 편집하고 다음 두 줄을 추가합니다.

# tty1

# tty2

# tty3

# tty4

# tty5

# tty6
로그인 후 복사

/dir/to/export는 내보내려는 디렉터리이고, host.mydomain.com은 이 디렉터리에 로그인된 컴퓨터의 이름이며, ro는 읽기 전용 시스템으로 마운트를 의미하고, root_squash는 루트가 해당 디렉터리에 쓰는 것을 금지합니다. 예배 규칙서. 변경 사항을 적용하려면 다음 명령을 실행하십시오.

telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -
로그인 후 복사
2. inetd 설정

먼저 /etc/inetd.conf의 소유자가 루트이고 파일 권한이 600으로 설정되어 있는지 확인하세요. 설정이 완료되면 "stat" 명령을 사용하여 확인할 수 있습니다.

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
로그인 후 복사

그런 다음 /etc/inetd.conf를 편집하여 다음 서비스를 비활성화하세요.

order bind,hosts

multi off

nospoof on 
로그인 후 복사
로그인 후 복사

ssh/scp가 설치되어 있으면 telnet/ftp도 비활성화할 수 있습니다. 변경 사항을 적용하려면 다음 명령을 실행하세요. 🎜
session required /lib/security/pam_limits.so
로그인 후 복사
로그인 후 복사
🎜기본적으로 대부분의 Linux 시스템은 모든 요청을 허용하며 tcp_wrappers를 사용하여 시스템 보안을 강화하는 것은 매우 쉽습니다. /etc /hosts.deny 및 /etc/hosts.allow는 액세스 제한을 강화합니다. 예를 들어, /etc/hosts.deny를 "all: all"로 설정하면 기본적으로 모든 액세스가 거부됩니다. 그런 다음 /etc/hosts.allow 파일에 허용된 액세스를 추가합니다. 예를 들어, "sshd: 192.168.1.10/255.255.255.0 Gate.openarch.com"은 IP 주소 192.168.1.10 및 호스트 이름 Gate.openarch.com이 ssh를 통해 연결할 수 있음을 의미합니다. 🎜🎜구성이 완료된 후 tcpdchk로 확인할 수 있습니다. 🎜rrreee🎜tcpchk는 tcp 래퍼 구성을 확인하고 발견된 모든 잠재적/기존 문제를 보고하는 tcp_wrapper 구성 확인 도구입니다. 🎜🎜3. 로그인 터미널 설정 🎜🎜/etc/securetty 파일은 루트 로그인을 허용하는 tty 장치를 지정합니다. 이 파일은 /bin/login 프로그램에서 읽혀지며 허용되는 이름 목록입니다. 다음 OK. 🎜rrreee🎜현재 루트는 tty1 터미널에서만 로그인이 가능합니다. 🎜🎜4. 시스템 및 버전 정보를 표시하지 마십시오. 🎜🎜원격 로그인 사용자가 시스템 및 버전 정보를 볼 수 없도록 하려면 다음 작업을 통해 /etc/inetd.conf 파일을 변경할 수 있습니다. 🎜rrreee🎜 -h를 추가하면 텔넷이 시스템 정보를 표시하지 않지만 "로그인:"을 표시합니다. 🎜🎜🎜4. 공격 방지🎜🎜🎜1. 핑 차단 아무도 시스템을 핑할 수 없으면 보안은 자연스럽게 강화됩니다. 이렇게 하려면 /etc/rc.d/rc.local 파일에 다음 줄을 추가하면 됩니다: 🎜rrreee🎜2. IP 스푸핑 방지🎜

编辑host.conf文件并增加如下几行来防止ip欺骗攻击。

order bind,hosts

multi off

nospoof on 
로그인 후 복사
로그인 후 복사

3.防止dos攻击

对系统所有的用户设置资源限制可以防止dos类型攻击。如最大进程数和内存使用数量等。例如,可以在/etc/security/limits.conf中添加如下几行:

  • * hard core 0

  • * hard rss 5000

  • * hard nproc 20

然后必须编辑/etc/pam.d/login文件检查下面一行是否存在。

session required /lib/security/pam_limits.so
로그인 후 복사
로그인 후 복사

上面的命令禁止调试文件,限制进程数为50并且限制内存使用为5mb。

위 내용은 Linux 및 Unix 서버의 보안을 강화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

C 언어로 멀티 스레딩을 구현하는 4 가지 방법 C 언어로 멀티 스레딩을 구현하는 4 가지 방법 Apr 03, 2025 pm 03:00 PM

언어의 멀티 스레딩은 프로그램 효율성을 크게 향상시킬 수 있습니다. C 언어에서 멀티 스레딩을 구현하는 4 가지 주요 방법이 있습니다. 독립 프로세스 생성 : 여러 독립적으로 실행되는 프로세스 생성, 각 프로세스에는 자체 메모리 공간이 있습니다. 의사-다일리트 레딩 : 동일한 메모리 공간을 공유하고 교대로 실행하는 프로세스에서 여러 실행 스트림을 만듭니다. 멀티 스레드 라이브러리 : PTHREADS와 같은 멀티 스레드 라이브러리를 사용하여 스레드를 만들고 관리하여 풍부한 스레드 작동 기능을 제공합니다. COROUTINE : 작업을 작은 하위 작업으로 나누고 차례로 실행하는 가벼운 다중 스레드 구현.

Web.xml을 열는 방법 Web.xml을 열는 방법 Apr 03, 2025 am 06:51 AM

Web.xml 파일을 열려면 다음 방법을 사용할 수 있습니다. 텍스트 편집기 (예 : 메모장 또는 문자 메시지)를 사용하여 통합 개발 환경 (예 : Eclipse 또는 NetBeans)을 사용하여 명령을 편집하십시오 (Windows : Notepad Web.xml; Mac/Linux : Open -A Texted web.xml).

Linux 시스템에서 Python 통역사를 삭제할 수 있습니까? Linux 시스템에서 Python 통역사를 삭제할 수 있습니까? Apr 02, 2025 am 07:00 AM

Linux 시스템과 함께 제공되는 Python 통역사를 제거하는 문제와 관련하여 많은 Linux 배포판이 설치 될 때 Python 통역사를 사전 설치하고 패키지 관리자를 사용하지 않습니다 ...

가장 잘 사용되는 Linux는 무엇입니까? 가장 잘 사용되는 Linux는 무엇입니까? Apr 03, 2025 am 12:11 AM

Linux는 서버 관리, 임베디드 시스템 및 데스크탑 환경으로 사용되는 것이 가장 좋습니다. 1) 서버 관리에서 Linux는 웹 사이트, 데이터베이스 및 응용 프로그램을 호스팅하는 데 사용되어 안정성과 안정성을 제공합니다. 2) 임베디드 시스템에서 Linux는 유연성과 안정성으로 인해 스마트 홈 및 자동차 전자 시스템에서 널리 사용됩니다. 3) 데스크탑 환경에서 Linux는 풍부한 응용 프로그램과 효율적인 성능을 제공합니다.

데비안 하프 (Debian Hadoop)의 호환성은 어떻습니까? 데비안 하프 (Debian Hadoop)의 호환성은 어떻습니까? Apr 02, 2025 am 08:42 AM

Debianlinux는 안정성과 보안으로 유명하며 서버, 개발 및 데스크탑 환경에서 널리 사용됩니다. 현재 Debian 및 Hadoop과 직접 호환성에 대한 공식 지침이 부족하지만이 기사에서는 Debian 시스템에 Hadoop를 배포하는 방법을 안내합니다. 데비안 시스템 요구 사항 : Hadoop 구성을 시작하기 전에 Debian 시스템이 Hadoop의 최소 작동 요구 사항을 충족하는지 확인하십시오. 여기에는 필요한 JAVA 런타임 환경 (JRE) 및 Hadoop 패키지 설치가 포함됩니다. Hadoop 배포 단계 : 다운로드 및 unzip hadoop : 공식 Apachehadoop 웹 사이트에서 필요한 Hadoop 버전을 다운로드하여 해결하십시오.

데비안 문자열은 여러 브라우저와 호환됩니다 데비안 문자열은 여러 브라우저와 호환됩니다 Apr 02, 2025 am 08:30 AM

"Debiantrings"는 표준 용어가 아니며 구체적인 의미는 여전히 불분명합니다. 이 기사는 브라우저 호환성에 직접 언급 할 수 없습니다. 그러나 "Debiantrings"가 Debian 시스템에서 실행되는 웹 응용 프로그램을 지칭하는 경우 브라우저 호환성은 응용 프로그램 자체의 기술 아키텍처에 따라 다릅니다. 대부분의 최신 웹 응용 프로그램은 크로스 브라우저 호환성에 전념합니다. 이는 웹 표준에 따라 웹 표준과 잘 호환 가능한 프론트 엔드 기술 (예 : HTML, CSS, JavaScript) 및 백엔드 기술 (PHP, Python, Node.js 등)을 사용하는 데 의존합니다. 응용 프로그램이 여러 브라우저와 호환되도록 개발자는 종종 브라우저 크로스 테스트를 수행하고 응답 성을 사용해야합니다.

GO를 사용하여 Oracle 데이터베이스에 연결할 때 Oracle 클라이언트를 설치해야합니까? GO를 사용하여 Oracle 데이터베이스에 연결할 때 Oracle 클라이언트를 설치해야합니까? Apr 02, 2025 pm 03:48 PM

GO를 사용하여 Oracle 데이터베이스에 연결할 때 Oracle 클라이언트를 설치해야합니까? GO에서 개발할 때 Oracle 데이터베이스에 연결하는 것이 일반적인 요구 사항입니다 ...

See all articles