목차
1. 계정 및 비밀번호
1.1 쓸모없는 계정 비활성화 또는 삭제
1.2 检查特殊账号
1.3 添加口令策略
1.4 限制用户su
1.4 禁止root用户直接登录
2. 服务
2.1 关闭不必要的服务
2.2 SSH服务安全
3. 文件系统
3.1 设置umask值
3.2 设置登录超时
4. Log
4.1 syslogd log
4.2 모든 사용자의 로그인 및 작업 로그를 기록합니다.
운영 및 유지보수 리눅스 운영 및 유지 관리 Linux 서버 운영 체제를 강화하는 방법

Linux 서버 운영 체제를 강화하는 방법

Feb 24, 2018 am 09:57 AM
linux 운영 체제 섬기는 사람

이 문서는 주로 Linux 서버 운영 체제를 강화하는 방법을 공유합니다. 이 도움말 매뉴얼은 시스템 관리자 또는 보안 검사자가 보안 준수 검사를 수행하도록 안내하고 Linux 운영 체제를 강화하는 데 도움이 될 수 있도록 설계되었습니다. 모두에게 도움이 되기를 바랍니다.

1. 계정 및 비밀번호

1.1 쓸모없는 계정 비활성화 또는 삭제

시스템에서 쓸모없는 계정을 줄이고 보안 위험을 줄입니다.

작업 단계

  • 불필요한 계정을 삭제하려면 userdel <username> 명령을 사용하세요. userdel <用户名> 删除不必要的账号。

  • 使用命令 passwd -l <用户名> 锁定不必要的账号。

  • 使用命令 passwd -u <用户名> 解锁必要的账号。

1.2 检查特殊账号

检查是否存在空口令和root权限的账号。

操作步骤

  1. 查看空口令和root权限账号,确认是否存在异常账号:

  • 使用命令 awk -F: '(=="")' /etc/shadow 查看空口令账号。

  • 使用命令 awk -F: '(==0)' /etc/passwd 查看UID为零的账号。

  • 加固空口令账号:

    • 使用命令 passwd <用户名> 为空口令账号设定密码。

    • 确认UID为零的账号只有root账号。

    1.3 添加口令策略

    加强口令的复杂度等,降低被猜解的可能性。

    操作步骤

    1. 使用命令 vi /etc/login.defs 修改配置文件。

    • PASS_MAX_DAYS 90 #新建用户的密码最长使用天数

    • PASS_MIN_DAYS 0 #新建用户的密码最短使用天数

    • PASS_WARN_AGE 7 #新建用户的密码到期提前提醒天数

  • 使用chage命令修改用户设置。
     例如,chage -m 0 -M 30 -E 2000-01-01 -W 7 <用户名>表示将此用户的密码最长使用天数设为30,最短使用天数设为0,密码2000年1月1日过期,过期前七天警告用户。

  • 设置连续输错三次密码,账号锁定五分钟。使用命令 vi /etc/pam.d/common-auth修改配置文件,在配置文件中添加 auth required pam_tally.so onerr=fail deny=3 unlock_time=300

  • 1.4 限制用户su

    限制能su到root的用户。

    操作步骤

    使用命令 vi /etc/pam.d/su修改配置文件,在配置文件中添加行。例如,只允许test组用户su到root,则添加 auth required pam_wheel.so group=test

    1.4 禁止root用户直接登录

    限制root用户直接登录。

    操作步骤

    1. 创建普通权限账号并配置密码,防止无法远程登录;

    2. 使用命令 vi /etc/ssh/sshd_config修改配置文件将PermitRootLogin的值改成no,并保存,然后使用service sshd restart重启服务。

    2. 服务

    2.1 关闭不必要的服务

    关闭不必要的服务(如普通服务和xinetd服务),降低风险。

    操作步骤

    使用命令 chkconfig --level <init级别> <服务名> on|off|reset 设置服务在指定init级别下开机是否启动。

    2.2 SSH服务安全

    对SSH服务进行安全加固,防止暴力破解成功。

    操作步骤

    使用命令 vim /etc/ssh/sshd_config 编辑配置文件。

    • 不允许root账号直接登录系统。
       设置 PermitRootLogin 的值为 no。

    • 修改SSH使用的协议版本。
       设置 Protocol 的版本为 2。

    • 修改允许密码错误次数(默认6次)。
       设置 MaxAuthTries 的值为 3。

    配置文件修改完成后,重启sshd服务生效。

    3. 文件系统

    3.1 设置umask值

    设置默认的umask值,增强安全性。

    操作步骤

    使用命令 vi /etc/profile 修改配置文件,添加行 umask 027, 即新创建的文件属主拥有读写执行权限,同组用户拥有读和执行权限,其他用户无权限。

    3.2 设置登录超时

    设置系统登录后,连接超时时间,增强安全性。

    操作步骤

    使用命令 vi /etc/profile 修改配置文件,将以 TMOUT= 开头的行注释,设置为TMOUT=180

    🎜 불필요한 계정을 잠그려면 passwd -l <username> 명령을 사용하세요. 🎜🎜🎜 passwd -u <username> 명령을 사용하여 필요한 계정을 잠금 해제하세요. 🎜🎜1.2 특수 계정 확인🎜🎜비밀번호가 비어 있고 루트 권한이 있는 계정이 있는지 확인하세요. 🎜🎜🎜작업 단계🎜🎜
      🎜🎜 빈 비밀번호와 루트 권한 계정을 확인하여 비정상적인 계정이 있는지 확인하세요. 🎜🎜🎜🎜 명령을 사용하세요 awk - F: '($2=="")' /etc/shadow 비밀번호가 비어 있는 계정을 확인하세요. 🎜🎜🎜UID가 0인 계정을 보려면 awk -F: '($3==0)' /etc/passwd 명령을 사용하세요. 🎜🎜🎜빈 비밀번호 계정 강화: 🎜🎜🎜🎜빈 비밀번호 계정의 비밀번호를 설정하려면 passwd <username> 명령을 사용하세요. 🎜🎜🎜UID가 0인 계정이 루트 계정인지 확인하세요. 🎜
    🎜1.3 비밀번호 전략 추가🎜🎜 비밀번호의 복잡성을 높이고 추측 가능성을 줄입니다. 🎜🎜🎜작업 단계🎜🎜
      🎜🎜구성 파일을 수정하려면 vi /etc/login.defs 명령을 사용하세요. 🎜🎜🎜🎜PASS_MAX_DAYS 90 #신규 사용자의 비밀번호 최대 일수🎜🎜🎜PASS_MIN_DAYS 0 #최소 사용자 비밀번호 일수 새 사용자의 비밀번호 🎜🎜🎜PASS_WARN_AGE 7 #새 사용자에게 비밀번호 만료를 미리 알리는 일수🎜🎜🎜사용 사용자 설정을 수정하는 chage 명령. 🎜 예를 들어, chage -m 0 -M 30 -E 2000-01-01 -W 7 <Username>은 이 사용자 비밀번호의 최대 일수가 30일로 설정되고 최소 일수가 30으로 설정되었음을 의미합니다. 일수는 30으로 설정됩니다. 0인 경우 비밀번호는 2000년 1월 1일에 만료되며 만료되기 7일 전에 사용자에게 경고가 표시됩니다. 🎜🎜🎜비밀번호를 3번 연속 잘못 입력하시면 5분간 계정이 잠깁니다. vi /etc/pam.d/common-auth 명령을 사용하여 구성 파일을 수정하고 구성 파일 . 🎜
    🎜1.4 사용자 su 제한🎜🎜 루트로 su할 수 있는 사용자를 제한합니다. 🎜🎜🎜작업 단계🎜🎜🎜 vi /etc/pam.d/su 명령을 사용하여 구성 파일을 수정하고 구성 파일에 줄을 추가합니다. 예를 들어, 테스트 그룹의 사용자만 루트로 su할 수 있도록 허용하려면 auth require pam_wheel.so group=test를 추가하세요. 🎜🎜1.4 루트 사용자가 직접 로그인하는 것을 금지합니다🎜🎜루트 사용자가 직접 로그인하는 것을 제한합니다. 🎜🎜🎜작업 단계🎜🎜
      🎜🎜일반 권한 계정을 생성하고 원격 로그인을 방지하기 위한 비밀번호를 구성하세요. 🎜🎜🎜 vi / 명령을 사용하세요. etc/ ssh/sshd_config구성 파일을 수정하여 PermitRootLogin 값을 no로 변경하고 저장한 후 service sshd restart를 사용하여 서비스를 다시 시작하세요. 🎜
    🎜2. 서비스🎜🎜2.1 불필요한 서비스 종료🎜🎜위험을 줄이기 위해 불필요한 서비스(예: 일반 서비스, xinetd 서비스)를 종료합니다. 🎜🎜🎜작업 단계🎜🎜🎜서비스가 지정된 init 수준에서 시작되는지 여부를 설정하려면 chkconfig --level <init level> <service name> on|off|reset 명령을 사용하세요. 🎜🎜2.2 SSH 서비스 보안🎜🎜 성공적인 무차별 대입 크래킹을 방지하기 위해 SSH 서비스의 보안 강화. 🎜🎜🎜작업 단계🎜🎜🎜 vim /etc/ssh/sshd_config 명령을 사용하여 구성 파일을 편집하세요. 🎜🎜🎜🎜루트 계정은 시스템에 직접 로그인할 수 없습니다. 🎜 PermitRootLogin 값을 no로 설정합니다. 🎜🎜🎜SSH에서 사용하는 프로토콜 버전을 수정하세요. 🎜 프로토콜 버전을 2로 설정합니다. 🎜🎜🎜허용되는 비밀번호 오류 수를 수정합니다(기본값 6). 🎜 MaxAuthTries 값을 3으로 설정합니다. 🎜🎜구성 파일 수정이 완료된 후 sshd 서비스를 다시 시작하면 적용됩니다. 🎜🎜3. 파일 시스템🎜🎜3.1 umask 값 설정🎜🎜보안 강화를 위해 기본 umask 값을 설정하세요. 🎜🎜🎜작업 단계🎜🎜🎜vi /etc/profile 명령을 사용하여 구성 파일을 수정하고 umask 027 줄, 즉 새로의 소유자를 추가합니다. 생성된 파일에는 읽기, 쓰기 및 실행 권한이 있으며, 동일한 그룹의 사용자는 읽기 및 실행 권한이 있지만 다른 사용자에게는 권한이 없습니다. 🎜🎜3.2 로그인 시간 초과 설정🎜🎜보안 강화를 위해 시스템 로그인 후 연결 시간 초과를 설정하세요. 🎜🎜🎜작업 단계🎜🎜🎜vi /etc/profile 명령을 사용하여 구성 파일을 수정합니다. TMOUT=로 시작하는 줄을 주석 처리하고 로 설정합니다. TMOUT=180 , 즉 시간 초과 기간은 3분입니다. 🎜

    4. Log

    4.1 syslogd log

    로깅 기능을 활성화하고 로깅을 구성합니다.

    작업 단계

    Linux 시스템은 기본적으로 다음 유형의 로그를 활성화합니다.

    • 시스템 로그(기본값)/var/log/messages

    • cron 로그(기본값)/var/log/cron

    • 보안 로그(기본값) /var/log/secure

    참고: 일부 시스템에서는 syslog-ng 로그를 사용할 수 있으며 구성 파일은 /etc/syslog-ng/syslog-ng.conf입니다.

    필요에 따라 세부 로그를 구성할 수 있습니다.

    4.2 모든 사용자의 로그인 및 작업 로그를 기록합니다.

    모든 사용자의 로그인 작업 로그를 스크립트 코드를 통해 기록하여 보안 사고가 방치되는 것을 방지합니다.

    작업 단계

    1. [root@xxx /]# vim /etc/profile을 실행하여 구성 파일을 엽니다.

    2. 구성 파일에 다음 내용을 입력합니다.


    history
    USER=`whoami`
    USER_IP=`who -u am i 2>/dev/null| awk &#39;{print $NF}&#39;|sed -e &#39;s/[()]//g&#39;`
    if [ "$USER_IP" = "" ]; then
    USER_IP=`hostname`
    fi
    if [ ! -d /var/log/history ]; then
    mkdir /var/log/history
    chmod 777 /var/log/history
    fi
    if [ ! -d /var/log/history/${LOGNAME} ]; then
    mkdir /var/log/history/${LOGNAME}
    chmod 300 /var/log/history/${LOGNAME}
    fi
    export HISTSIZE=4096
    DT=`date +"%Y%m%d_%H:%M:%S"`
    export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT"
    chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null
    로그인 후 복사

    3. [root@xxx /]# source /etc/profile을 실행하여 구성을 로드하고 적용합니다.
    참고: /var/log/history는 로그 저장 위치이며 사용자 정의할 수 있습니다.

    위 단계를 통해 /var/log/history 디렉터리에 각 사용자 이름 아래에 새 폴더를 만들 수 있습니다. 사용자가 로그아웃할 때마다 사용자 이름, 로그인 IP 및 시간이 포함된 로그 파일이 생성됩니다. 사용자의 ID를 포함한 모든 작업(루트 사용자 제외)이 생성됩니다.

    동시에 OSS 서비스를 사용하여 스토리지 로그를 수집하는 것이 좋습니다.

    관련 권장사항:

    php 서버 운영체제 정보를 얻기 위한 가장 완벽한 기본 명령에 대한 자세한 설명

    php 서버 운영체제 관련 정보를 얻기 위한 방법

    php 서버 운영체제 유형 결정_PHP 튜토리얼

    위 내용은 Linux 서버 운영 체제를 강화하는 방법의 상세 내용입니다. 자세한 내용은 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. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
    4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. 최고의 그래픽 설정
    4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
    4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. 채팅 명령 및 사용 방법
    4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

    뜨거운 도구

    메모장++7.3.1

    메모장++7.3.1

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

    SublimeText3 중국어 버전

    SublimeText3 중국어 버전

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

    스튜디오 13.0.1 보내기

    스튜디오 13.0.1 보내기

    강력한 PHP 통합 개발 환경

    드림위버 CS6

    드림위버 CS6

    시각적 웹 개발 도구

    SublimeText3 Mac 버전

    SublimeText3 Mac 버전

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

    Centos와 Ubuntu의 차이 Centos와 Ubuntu의 차이 Apr 14, 2025 pm 09:09 PM

    Centos와 Ubuntu의 주요 차이점은 다음과 같습니다. Origin (Centos는 Red Hat, Enterprise의 경우, Ubuntu는 Debian에서 시작하여 개인의 경우), 패키지 관리 (Centos는 안정성에 중점을 둡니다. Ubuntu는 APT를 사용하여 APT를 사용합니다), 지원주기 (Ubuntu는 5 년 동안 LTS 지원을 제공합니다), 커뮤니티에 중점을 둔다 (Centos Conciors on ubuntu). 튜토리얼 및 문서), 사용 (Centos는 서버에 편향되어 있으며 Ubuntu는 서버 및 데스크탑에 적합), 다른 차이점에는 설치 단순성 (Centos는 얇음)이 포함됩니다.

    Docker 원리에 대한 자세한 설명 Docker 원리에 대한 자세한 설명 Apr 14, 2025 pm 11:57 PM

    Docker는 Linux 커널 기능을 사용하여 효율적이고 고립 된 응용 프로그램 실행 환경을 제공합니다. 작동 원리는 다음과 같습니다. 1. 거울은 읽기 전용 템플릿으로 사용되며, 여기에는 응용 프로그램을 실행하는 데 필요한 모든 것을 포함합니다. 2. Union 파일 시스템 (Unionfs)은 여러 파일 시스템을 스택하고 차이점 만 저장하고 공간을 절약하고 속도를 높입니다. 3. 데몬은 거울과 컨테이너를 관리하고 클라이언트는 상호 작용을 위해 사용합니다. 4. 네임 스페이스 및 CGroup은 컨테이너 격리 및 자원 제한을 구현합니다. 5. 다중 네트워크 모드는 컨테이너 상호 연결을 지원합니다. 이러한 핵심 개념을 이해 함으로써만 Docker를 더 잘 활용할 수 있습니다.

    Docker Desktop을 사용하는 방법 Docker Desktop을 사용하는 방법 Apr 15, 2025 am 11:45 AM

    Docker Desktop을 사용하는 방법? Docker Desktop은 로컬 머신에서 Docker 컨테이너를 실행하는 도구입니다. 사용 단계는 다음과 같습니다. 1. Docker Desktop 설치; 2. Docker Desktop을 시작하십시오. 3. Docker 이미지를 만듭니다 (Dockerfile 사용); 4. Docker Image 빌드 (Docker 빌드 사용); 5. 도커 컨테이너를 실행하십시오 (Docker Run 사용).

    Centos는 유지 보수를 중지합니다. 2024 Centos는 유지 보수를 중지합니다. 2024 Apr 14, 2025 pm 08:39 PM

    Centos는 2024 년에 상류 분포 인 RHEL 8이 종료 되었기 때문에 폐쇄 될 것입니다. 이 종료는 CentOS 8 시스템에 영향을 미쳐 업데이트를 계속받지 못하게합니다. 사용자는 마이그레이션을 계획해야하며 시스템을 안전하고 안정적으로 유지하기 위해 Centos Stream, Almalinux 및 Rocky Linux가 포함됩니다.

    Centos를 설치하는 방법 Centos를 설치하는 방법 Apr 14, 2025 pm 09:03 PM

    CentOS 설치 단계 : ISO 이미지를 다운로드하고 부팅 가능한 미디어를 실행하십시오. 부팅하고 설치 소스를 선택하십시오. 언어 및 키보드 레이아웃을 선택하십시오. 네트워크 구성; 하드 디스크를 분할; 시스템 시계를 설정하십시오. 루트 사용자를 만듭니다. 소프트웨어 패키지를 선택하십시오. 설치를 시작하십시오. 설치가 완료된 후 하드 디스크에서 다시 시작하고 부팅하십시오.

    Centos 후해야 할 일은 유지 보수를 중단합니다 Centos 후해야 할 일은 유지 보수를 중단합니다 Apr 14, 2025 pm 08:48 PM

    Centos가 중단 된 후 사용자는 다음과 같은 조치를 취할 수 있습니다. Almalinux, Rocky Linux 및 Centos 스트림과 같은 호환되는 분포를 선택하십시오. Red Hat Enterprise Linux, Oracle Linux와 같은 상업 분포로 마이그레이션합니다. Centos 9 Stream : 롤링 분포로 업그레이드하여 최신 기술을 제공합니다. Ubuntu, Debian과 같은 다른 Linux 배포판을 선택하십시오. 컨테이너, 가상 머신 또는 클라우드 플랫폼과 같은 다른 옵션을 평가하십시오.

    VSCODE는 확장자를 설치할 수 없습니다 VSCODE는 확장자를 설치할 수 없습니다 Apr 15, 2025 pm 07:18 PM

    VS 코드 확장을 설치하는 이유는 다음과 같습니다. 네트워크 불안정성, 불충분 한 권한, 시스템 호환성 문제, C 코드 버전은 너무 오래된, 바이러스 백신 소프트웨어 또는 방화벽 간섭입니다. 네트워크 연결, 권한, 로그 파일, 업데이트 대 코드 업데이트, 보안 소프트웨어 비활성화 및 대 코드 또는 컴퓨터를 다시 시작하면 점차 문제를 해결하고 해결할 수 있습니다.

    유지 보수를 중단 한 후 Centos의 선택 유지 보수를 중단 한 후 Centos의 선택 Apr 14, 2025 pm 08:51 PM

    Centos는 중단되었으며 대안은 다음과 같습니다. 1. Rocky Linux (Best Compatibility); 2. Almalinux (Centos와 호환); 3. Ubuntu 서버 (구성 필수); 4. Red Hat Enterprise Linux (상업용 버전, 유료 라이센스); 5. Oracle Linux (Centos 및 Rhel과 호환). 마이그레이션시 고려 사항은 호환성, 가용성, 지원, 비용 및 커뮤니티 지원입니다.

    See all articles