>  기사  >  운영 및 유지보수  >  명령줄 도구를 사용하여 Linux 서버 보안 향상

명령줄 도구를 사용하여 Linux 서버 보안 향상

WBOY
WBOY원래의
2023-09-08 16:54:25698검색

명령줄 도구를 사용하여 Linux 서버 보안 향상

명령줄 도구를 사용하여 Linux 서버 보안 향상

요약: 인터넷이 발전하면서 Linux 서버 보안 문제가 점점 더 많은 관심을 받고 있습니다. 이 문서에서는 관리자가 Linux 서버의 보안을 향상시키는 데 도움이 되는 몇 가지 일반적으로 사용되는 명령줄 도구를 소개합니다. 동시에 독자들이 실제 상황에서 더 잘 이해하고 적용할 수 있도록 각 도구에 대한 코드 예제도 제공할 것입니다.

소개:
인터넷의 대중화와 기술의 발전으로 Linux 서버는 많은 기업과 개인이 선택하는 시스템이 되었습니다. 그러나 동시에 서버 보안 문제도 점점 더 두드러지고 있습니다. 해킹 공격, 취약점 악용, 데이터 유출 등은 모두 서버에 심각한 위협이 됩니다. 서버와 데이터를 보호하기 위해 관리자는 Linux 서버의 보안을 개선하기 위한 몇 가지 조치를 취해야 합니다.

1. 올바른 비밀번호 정책 설정
안전한 비밀번호 정책은 서버 보안에 매우 중요합니다. 명령줄 도구를 사용하여 비밀번호 길이, 복잡성 요구 사항 및 만료 날짜를 포함한 비밀번호 정책을 설정할 수 있습니다.

1.1 비밀번호 길이 설정:
명령줄 도구 passwd를 사용하여 /etc/login.defs에서 PASS_MIN_LEN 필드를 수정할 수 있습니다. > 파일을 사용하여 최소 비밀번호 길이를 설정하세요. 다음은 샘플 스크립트입니다. passwd,我们可以修改/etc/login.defs文件中的PASS_MIN_LEN字段来设置密码最小长度。下面是一个示例脚本:

#!/bin/bash
sed -i 's/^PASS_MIN_LEN.*$/PASS_MIN_LEN 8/' /etc/login.defs

1.2 设置密码复杂度:
使用命令行工具pam_pwquality,我们可以修改/etc/security/pwquality.conf文件中的参数来设置密码的复杂度要求。以下是一个示例脚本:

#!/bin/bash
sed -i 's/^minlen.*$/minlen=8/' /etc/security/pwquality.conf
sed -i 's/^dcredit.*$/dcredit=-1/' /etc/security/pwquality.conf
sed -i 's/^ucredit.*$/ucredit=-1/' /etc/security/pwquality.conf
sed -i 's/^ocredit.*$/ocredit=-1/' /etc/security/pwquality.conf
sed -i 's/^lcredit.*$/lcredit=-1/' /etc/security/pwquality.conf

1.3 设置密码有效期限:
使用命令行工具chage,我们可以查看和修改用户的密码有效期。下面是一个示例脚本:

#!/bin/bash
# 查看用户的密码有效期
chage -l username
# 修改用户的密码有效期为30天
chage -M 30 username

二、限制用户远程登录
为了降低服务器被入侵的风险,我们可以限制用户的远程登录权限。具体而言,我们可以使用命令行工具sshd来配置/etc/ssh/sshd_config文件,限制用户的SSH登录。

2.1 禁止root远程登录:
通过修改/etc/ssh/sshd_config文件,将PermitRootLogin字段的值改为no。以下是一个示例脚本:

#!/bin/bash
sed -i 's/^PermitRootLogin.*$/PermitRootLogin no/' /etc/ssh/sshd_config

2.2 限制SSH登录的IP范围:
通过修改/etc/ssh/sshd_config文件,使用AllowUsers字段限制允许SSH登录的IP范围。以下是一个示例脚本:

#!/bin/bash
echo "AllowUsers 192.168.1.0/24" >> /etc/ssh/sshd_config

三、使用防火墙保护服务器
防火墙是保护服务器安全的重要组成部分,我们可以使用命令行工具iptables来配置防火墙规则。

3.1 关闭不必要的端口:
使用iptables命令来关闭服务器上不必要的端口,为服务器提供更好的保护。以下是一个示例脚本:

#!/bin/bash
# 关闭80端口
iptables -A INPUT -p tcp --dport 80 -j DROP

3.2 设置ALLOW/DENY规则:
使用iptables

#!/bin/bash
# 允许192.168.1.100访问80端口
iptables -A INPUT -s 192.168.1.100 -p tcp --dport 80 -j ACCEPT
# 拒绝192.168.1.200访问22端口
iptables -A INPUT -s 192.168.1.200 -p tcp --dport 22 -j DROP

1.2 비밀번호 복잡성 설정:

명령줄 도구 pam_pwquality를 사용하여 /etc/security/pwquality.conf 파일을 수정할 수 있습니다. 비밀번호 복잡성 요구 사항을 설정합니다. 다음은 샘플 스크립트입니다:
rrreee

1.3 비밀번호 유효 기간 설정:

명령줄 도구 chage를 사용하여 사용자의 비밀번호 유효 기간을 보고 수정할 수 있습니다. 다음은 샘플 스크립트입니다.
rrreee

2. 사용자의 원격 로그인 제한 🎜 서버 침입 위험을 줄이기 위해 사용자의 원격 로그인 권한을 제한할 수 있습니다. 특히 명령줄 도구 sshd를 사용하여 /etc/ssh/sshd_config 파일을 구성하여 사용자의 SSH 로그인을 제한할 수 있습니다. 🎜🎜2.1 루트 원격 로그인 비활성화: 🎜 /etc/ssh/sshd_config 파일을 수정하여 PermitRootLogin 필드 값을 no로 변경합니다. . 다음은 샘플 스크립트입니다. 🎜rrreee🎜2.2 SSH 로그인을 위한 IP 범위를 제한합니다. 🎜 /etc/ssh/sshd_config 파일을 수정하여 AllowUsers 필드를 사용하여 허용되는 SSH 로그인 IP 범위를 제한합니다. 다음은 샘플 스크립트입니다. 🎜rrreee🎜 3. 방화벽을 사용하여 서버 보호 🎜 방화벽은 서버 보안 보호의 중요한 부분입니다. 명령줄 도구인 iptables를 사용하여 방화벽 규칙을 구성할 수 있습니다. 🎜🎜3.1 불필요한 포트 닫기: 🎜iptables 명령을 사용하여 서버의 불필요한 포트를 닫아 서버를 더 효과적으로 보호하세요. 다음은 샘플 스크립트입니다. 🎜rrreee🎜3.2 ALLOW/DENY 규칙 설정: 🎜iptables 명령을 사용하여 특정 IP 또는 IP 범위에 대한 액세스를 허용하거나 거부하는 ALLOW/DENY 규칙을 설정합니다. 다음은 샘플 스크립트입니다. 🎜rrreee🎜결론: 🎜이 기사에서는 관리자가 Linux 서버의 보안을 향상시키는 데 도움이 되는 일반적으로 사용되는 몇 가지 명령줄 도구를 소개합니다. 비밀번호 정책을 설정하고 사용자의 원격 로그인을 제한하며 방화벽을 사용함으로써 공격 및 데이터 유출 위험으로부터 서버를 효과적으로 보호할 수 있습니다. 독자들이 이러한 도구를 익히고 실제로 적용하여 서버 보안을 향상할 수 있기를 바랍니다. 🎜🎜참고자료: 🎜없음🎜

위 내용은 명령줄 도구를 사용하여 Linux 서버 보안 향상의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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